Use API builder to create APIs in a visual, low-code interface. You can customize your API requests and responses, add new or existing lookups and imports from the Celigo platform, and define your business logic. This article shows builders how to create, configure, maintain, sort and filter, clone, and delete APIs, including how an API responds when a connection is offline. For an overview of Celigo's API management capabilities, see Learn more about API Management.
API development capabilities
API builder supports the following development needs:
- Combine operations: Build composite APIs with multiple lookup, import, or processing steps.
- Reuse logic: Use existing lookups, imports, and supported Celigo Tools.
- Validate behavior: Send mock requests and use Test Run and Run Console.
- Handle failures: Define error responses, choose how the API responds when a connection is offline, check requests and responses against your schemas, review request logs, and troubleshoot failed steps.
- Extend the API: Use supported JavaScript development options.
- Manage permission or Administrator role — You must have the Manage permission on the integration or the Administrator role on the account. See Manage account and integration permissions for details.
Where to create an API
You can start a new API from any of these locations:
-
From the Home page, select Create > API.
-
From any page, select Build > APIs.
-
If you haven't created an API, select Create API.
-
If you've already created an API, select Create API above the list.
-
- Select Create API from any of the locations in Where to create an API.
-
Under How would you like to build the API?, select API builder or JavaScript.
Note
This article covers the API builder. To create an API using JavaScript, see Create a JavaScript API.
- Enter a Name for your API. For example, "Get a pet."
- (Optional) Enter a Description.
- Enter the Version. The version defaults to v1, but you can change it. The API's URI includes the version as:
https://api.integrator.io/apis/<version>. - Under Integration, select Create new integration or Add to existing integration. If you add your API to an existing integration, select it in Select integration.
- Select Save & next to create your API.
Select the image to expand it.
| Component | Description |
| (1) Build | The low-code canvas for creating and configuring APIs. Every newly created API includes one API request and two API responses. |
| (2) Request history | Access to request logs and error handling. |
| (3) Connections | Lists all connections and their status. |
| (4) Audit log | Records API resource changes. |
| (5) Run test | Enables API testing functionality. |
| (6) Enable debug mode | Debug an API in test mode. |
| (7) Settings | Configure name, description, version, invoke URL, and OpenAPI specification download. Advanced settings control the timeout, pagination, how the API responds when a connection is offline, and request and response validation. |
| (8) Actions | Opens the actions for the API. See the table after this one. |
| (9) API request | Configure incoming request parameters and structure. |
| (10) Add step | Add a resource to configure your business logic. |
| (11) Add/edit branching | Customize your API with conditional logic. |
| (12) Response picker | A built-in branching router that lets you define multiple response nodes. |
| (13) API success response | Configure a successful response (HTTP 200). |
| (14) API error response | Configure an error response (HTTP 500). |
Select Actions in the upper-right corner of API builder to open these actions:
| Action | Description |
| Change log mode | Sets how much request and response data the API stores. |
| Push to APIM | API Management only. Works the same as it does on the APIs page. |
| View request logs | Opens the API's request logs. |
| Download OAS | Downloads the OpenAPI specification (OAS) for the API. |
| Copy Invoke URL | Copies the API's invoke URL. |
| Disable API | Turns the API off. After the API is off, this action changes to Enable API. |
| Clone API | Clones the API. See Clone an API. |
| Delete API | Deletes the API. Available only when the API is off. See Delete an API. |
Note: The log mode controls what request history and execution logs capture for your API. For how to view and use logs, see View API request and execution logs in API builder and Test and debug your API using API builder.
Group APIs in an integration
You can organize the APIs in an integration into API groups. API groups are available only in an integration.
To create an API group:
- Go to your integration, and then select the APIs tab.
- Select Create > Create API group.
- Enter a Group name.
- (Optional) In APIs, select the APIs to add to the group.
- Select Save.
The API groups panel lists your groups and the Unassigned group, which holds APIs that aren't in a group. To create an API in a group, select the group, and then select Create > API. To change or delete a group, select the group, and then select Edit API group or Delete API group next to Create. Deleting a group doesn't delete its APIs. They move to Unassigned.
Configure advanced API settings
The Advanced section of API settings controls how long an API waits for a request to finish, whether it returns results in pages, what it does when a connection it uses is offline, and whether it checks requests and responses against your schemas. These settings apply only to the API you're editing.
To change advanced settings:
- Go to Build > APIs, select API builder, and then select your API.
- Open API settings, and then go to the Advanced section.
- Change the settings you need. Each setting is described in the following table and sections.
- Select Save.
| Setting | Description |
| Override timeout | The number of seconds this API waits for a request to finish. Overrides your account's organization-wide API timeout. See Set the API timeout. |
| Enable pagination | Returns large result sets in pages instead of a single response. See Paginate API responses. |
| Immediate error for offline connections | Returns HTTP 500 right away when a connection the API uses is offline, instead of waiting for it. See Handle offline connections. |
| Enable request/response validation | Checks every API request and response against the schemas defined for this API. See Validate requests and responses. |
Set the API timeout
By default, an API times out after your account's Organization-wide API timeout limit (Account > Company > API builder), which is 120 seconds unless an account owner or administrator changes it. To use a different timeout for one API, enter a value from 0 to 120 seconds in that API's Override timeout field. The override takes precedence over the organization-wide limit, and it can be longer or shorter.
If a published API is likely to return large result sets, select Enable pagination to return results in pages instead of a single response. Pagination is available for APIs whose first lookup — the lookup that runs earliest in your API's flow — uses HTTP, Salesforce, or NetSuite as its source. If your API's first lookup uses a relational database or other source type, API builder blocks pagination at save with a validation error.
When pagination is on, API consumers can page through the full result set using the token returned with each response, and the API's generated OpenAPI spec is automatically updated to document the pagination contract in both the request and response schemas. Leaving the box cleared uses the API's existing, unpaginated behavior.
When pagination is enabled, the API returns a paginated response envelope:
{
"data": [...],
"pagination": {
"has_more": true,
"next_cursor": "..."
}
}
next_cursor is a token that marks your place in the result set. Pass it back on your next request in the celigo-next-cursor request header to retrieve the next page. Check has_more to see whether more pages are available. If a consumer doesn't pass a cursor, the API returns the first page.
- Cursors expire 24 hours after they're issued.
- Enrichment lookups (secondary lookups in a multi-lookup API) aren't paginated — they run once per row against the current page only.
- Pagination isn't active in API builder's test/run mode. Test pagination against the published endpoint.
Handle offline connections
If a connection your API uses goes offline, the API can fail right away or wait for the connection to come back. The Immediate error for offline connections setting controls which one happens. Select it to turn it on, or clear it to turn it off. The setting applies only to APIs built in API builder. Flows and other run types aren't affected.
- On — The API returns HTTP 500 immediately if any connection the API uses is offline, including connections on branches the current request doesn't run.
- Off — When a request reaches a step that uses an offline connection, the API waits and checks the connection every 60 seconds. The request continues if the connection comes back online before the API times out.
New APIs have the setting turned on. Existing APIs may have it turned off, so check the setting on any API that should fail fast.
When the setting is off, the API waits for an offline connection until the API's timeout runs out. See Set the API timeout.
Choose the right setting
- Turn the setting on when callers need a fast, predictable response, such as a storefront or partner system that can fail over to another path or retry later.
- Leave the setting off if callers should wait out a short outage. The wait never runs longer than the API timeout.
- Remove connections your API no longer uses. With the setting on, an offline connection on an unused branch still fails every request.
Caution: This setting doesn't bring connections back online. integrator.io checks offline connections about once an hour and refreshes tokens when the connection type supports it. After six failed attempts, the connection stays offline until you fix it. Reconnection can take up to an hour, even after a brief outage.
If requests fail because a connection is offline, see Troubleshoot offline connection failures in Troubleshoot APIs.
Validate requests and responses
Select Enable request/response validation to check every API request and response against the schemas defined for this API. Validation is off by default, including for new APIs. While it's off, API builder doesn't reject any request or response. For what validation checks and what callers receive, see Validate API requests and responses in API builder.
The APIs page lists the APIs in your account. Use it to find an API, check its status, and open, change, or remove it. To open the page, select Build > APIs. The API builder list shows APIs built in API builder, and the JavaScript list shows JavaScript APIs. The API builder list in an integration shows the same list for the APIs in that integration.
APIs list columns
| Column | Description |
| Name/Description | The API's name. Select the name to open the API in API builder, or select Description to view the API's description. |
| Integration | The integration the API belongs to. Select the integration name to open it. |
| Version | The API's version. The version is part of the API's URI: https://api.integrator.io/apis/<version>. You can change it in API settings. |
| HTTP method | The HTTP method of the API's request. |
| Relative URI | The path you set in the API's request, relative to https://api.integrator.io/apis/<version>. Query parameters aren't shown. |
| Off / On | Turns the API on or off. An API that's turned off doesn't accept requests. |
| Last updated | The date and time the API was last changed. |
| Actions | Opens the actions for the API. See Actions. |
Note: An API's endpoint URL is publicly accessible and can match an endpoint in another account, but only callers with a valid API token can invoke it. In your account, two APIs that are turned on can't have the same endpoint URL.
Warning: Turning off an API stops it from accepting requests, which can affect the applications that call it.
Sort and filter the APIs list
On the APIs page, the list is sorted by Last updated by default, with the most recent first. To sort by a different column, select its header. Select the header again to reverse the order. You can sort by Name, Relative URI, and Last updated. You can't sort by Integration, Version, HTTP method, Off / On, or Actions. To narrow the list, search by name, or filter by Integration, Off / On, or HTTP method.
Filter by HTTP method
To show only APIs that use one HTTP method:
- In the HTTP method column header, select the filter icon.
- Select GET, POST, PUT, PATCH, or DELETE.
- Select Apply.
The filter shows one method at a time. Selecting a different method replaces the current one. To remove the method filter, select the filter icon, select Clear, and then select Apply. Removing it keeps your search, other filters, and current sort.
Tip: To find a specific endpoint, filter by HTTP method, then sort by Relative URI.
Actions
Select Actions on an API's row to open its actions. API builder has its own Actions menu with a different set of actions. See Build an API.
| Action | Description |
| Edit API | Opens the API in API builder. |
| View request logs | Opens the API's request logs. See View API request and execution logs in API builder. |
| View audit log | Opens the API's audit log. See audit logs. |
| Push to APIM or View in APIM | API Management only. Pushes the API to your API Management console so you can add configurations and publish it. After you push an API, an APIM label appears next to it in the list. See Push your API to your API console. |
| Download OAS | Downloads the OpenAPI specification (OAS) that integrator.io generates for the API. See Download the OpenAPI spec. |
| Download API | Downloads the API's configuration so you can upload it to a different environment or account. |
| Copy cURL | Copies a cURL command that invokes the API. Available only after you configure your API request. |
| Add to MCP server | Adds the API to a new or existing MCP server so AI agents or external tools can use it. Enter a Name and Description, select Create new MCP or Add to existing MCP, and then select Add to MCP server. See MCP servers. |
| Clone API | Clones the API into another integration or environment. See Clone an API. |
| Move to other integration | Moves the API to a new or existing integration. Select Create new integration or Add to existing integration, select the integration if you're adding to an existing one, and then select Save & next. |
| Used by | Lists the resources that use this API. The list shows each resource's Name and Type. |
| Delete API | Sends the API to the Recycle bin for 30 days or until your data retention policy purges it. See Delete an API. |
For example, Copy cURL copies a command like this one:
curl -X GET "https://api.integrator.io/apis/v1/pets/sampleid?microchip_id=true" \
-H "Authorization: Bearer ****"
You can clone an API for versioning, testing, repurposing, or promotion to a new environment.
To clone an API:
-
Go to Build > APIs, and then select API builder.
-
From the API builder list view, find the API you'd like to clone and select Actions > Clone API. The Clone API page opens.
Or:
From the API builder, select Actions > Clone API. The Clone API page opens.
API builder list view
API builder
-
Name — Enter a unique name for your cloned API.
- Description (optional) — Enter a description for your cloned API.
- Environment — Select an environment to clone your API into. This option appears only for accounts with multiple environments. See Use multiple environments.
- Integration — Select the integration to clone your API into.
-
Version — Enter a version for your cloned API.
Note
API builder requires a unique combination of HTTP method, version, and relative URI in each environment when you use multiple environments. With the standard Sandbox and Production setup, the combination must be unique across both environments, because they share API tokens.
-
Review your API resources. The APIs, Lookups, and Connections sections list the resources that are cloned. Your resources (APIs, lookups, and imports), branching, filters, and transformations are all cloned.
- Select Clone API to continue.
- The cloned API opens in API builder. If it uses connections, review them on the Connections tab.
After an API is deleted, it's placed in the Recycle bin and purged according to your organization's data retention period.
If the API has been pushed to the API Management console, deleting it may affect existing API consumers relying on it. You must update the API and the OpenAPI specification in the API Management console.
Delete API is available only when the API is off. To turn an API off, use Off / On in the list or select Actions > Disable API in API builder.
To delete an API from the API builder list view:
- Go to Build > APIs, and then select API builder.
- Find your API in the list and select Actions > Delete API.
To delete an API from the API builder:
- Go to Build > APIs, select API builder, and then select the API you want to delete.
- In the API builder, select Actions > Delete API.
You can invoke an API using a third-party tool, such as Postman, with cURL and an API token. You never need to include any form of authentication in custom headers. All APIs created in the Celigo platform automatically include token authentication and require an API token to be invoked externally. You can use other authentication methods, such as JWT or OAuth 2.0, with API Management, but you must manually update the OpenAPI schema in the API Management console.
Warning
The cURL is only available after you configure your API request.
To copy the cURL command:
- Go to Build > APIs, and then select API builder.
-
Find your API in the list and select Actions > Copy cURL.
To copy only the invoke URL, open your API in API builder, and then select Actions > Copy Invoke URL.
To generate an API token, see Create and manage API and Personal Access tokens. You can create a custom API token that only applies to specific APIs or a token that has full access to your Celigo platform account.
The following limits and requirements apply to requests and responses:
Request content can't exceed 5 MB. If your API is likely to return large result sets, turn on pagination to keep individual responses within this limit. See the Paginate API responses section of this article.
The concurrency level set in your connections doesn't apply to API requests. However, the application you're connecting to may have its own rate limits. You can trigger the same API multiple times in parallel but are restricted by the global rate limit defined in Celigo's APIs. Your APIs can burst up to 1,000 requests, then refill at 300 requests per second, which allows up to approximately 1,080,000 requests per hour.
For example, if you set a connection's concurrency level to five, integrator.io ignores that limit for API requests; however, the application you're connecting to may have a maximum concurrency of 15. This can return an error if the concurrent requests made to that application exceed that limit.
- Manage account and integration permissions
- Build your API – Basics
- Introduction to Celigo tools
- Use multiple environments
- Clone an integration for Integration Lifecycle Management (ILM)
- Integration Lifecycle Management (ILM) overview
- Developing with integration lifecycle management
- Pull changes from one integration to another
- Create and manage API and Personal Access tokens
- Fix an offline connection
- View API request and execution logs in API builder
- Troubleshoot APIs
- Validate API requests and responses in API builder