Articles in this section

Create and manage APIs using API builder

 

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, 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, review request logs, and troubleshoot failed steps.
  • Extend the API: Use supported JavaScript development options.

Prerequisites

Where to create an API

You can start a new API from any of these locations:

  • From the Home page, select Create > API.

    Home page with Create > API selected
  • From any page, select Resources > APIs.

    Resources menu with APIs selected
    • If you haven't created an API, select Create API.

      Empty APIs page with the Create API button
    • If you've already created an API, select Create API above the list.

      APIs page with the Create API button in the upper right
  • From any page, select Build > APIs > Create API.

    Build menu with APIs selected

Create an API

  1. Select Create API from any of the locations in Where to create an API.
  2. In the new panel, select API builder or JavaScript.

    Note

    This article covers the API builder. To create an API using JavaScript, see Create a JavaScript API.

  3. Name your API. For example, "Get a pet."
  4. Describe your API.
  5. Add your API 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>.
  6. Create a new integration or add your API to an existing integration.
  7. If you added your API to an existing integration, select a group for your API (optional). The group list shows only groups in the selected integration and refreshes if you change the integration. If you don't select a group, the API is added to the Unassigned group.
  8. Select Next to create your API.
Create API panel with name, description, version, and integration fields

Build an API

The API builder canvas includes the following components:

API builder canvas with numbered components

Select the image to expand it.

Component Description
(1) Build tab  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) Test run 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, and how the API responds when a connection is offline.
(8) Actions menu Change log mode, Push to APIM (API Management), Download OpenAPI spec, Copy invoke URL, Disable API, Clone API, Delete API.
(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).

Paginate API responses

If a published API is likely to return large result sets, you can turn on 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.

Enable pagination

To enable pagination, select Enable pagination in the Advanced section of your API's API settings. API consumers can then page through the full result set using the token returned with each response. Leaving the box cleared uses the API's existing, unpaginated behavior. When you enable pagination, the API's generated OpenAPI spec is automatically updated to document the pagination contract in both the request and response schemas.

Response format

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.

Limitations

  • 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.

Set how an API handles 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. 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. You can change it on any API.

How long the API waits

When the setting is off, an API waits for an offline connection until the API's timeout runs out. By default, the timeout is 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.

Change the setting

  1. Go to Resources → APIs → API builder, and then select your API.
  2. In your API, open API settings and go to the Advanced section.
  3. Check Immediate error for offline connections to turn the setting on, or clear it to turn it off.
  4. Select Save.

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.

Important: 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.

Maintain an API

API builder list view showing API details

The APIs list shows every API you've created in API builder. You see this list on the APIs page (Build > APIs) and on an integration's API builder tab. It includes these details:

  • Name/Description — The name and description you gave your API when you created it.
  • Integration — Your API's integration.
  • Version — The version you gave your API when you created it. This can be changed in the API's settings in the API builder. The version is included in the API's URI as follows: https://api.integrator.io/apis/<version>.
  • HTTP method — The HTTP method you chose when you created your API request.
  • Relative URI — The relative URI you created when configuring your API request. This is relative to https://api.integrator.io/apis/<version>. Query parameters are excluded in this view.

    The API endpoint URL is publicly accessible and may be identical to an existing one in a different account. However, only callers with a valid API token can invoke it. The endpoint URL must be unique within your account, so you can't have two identical endpoint URLs enabled simultaneously in the same account.

  • Off/On — You can disable the API to stop access, for example, while testing or retiring the API.

    Warning

    Disabling an API may affect existing users who are reliant on that service.

  • Last updated — The date and time your API was last updated.
  • Actions overflow (...) — Additional options for managing your API. These are available for every API in the API list view or for a specific API in the API builder.

    • Edit API — Opens the API builder so you can edit your API. You can also select the API's name.
    • View request logs — View and manage your request logs.
    • View audit logs — View and manage your API's audit logs.
    • Push to APIM or View in APIM (API Management only) — Push your API to your API console so you can add additional configurations and publish your APIs. If you've already pushed the API, an APIM label appears next to the API on the API builder list page.
    • Download OpenAPI spec — Download the OpenAPI spec automatically generated by the Celigo platform.
    • Copy cURL — Copy a cURL command to invoke your API. For example:

      curl -X GET "https://api.integrator.io/apis/v1/pets/sampleid?microchip_id=true" \
      -H "Authorization: Bearer ****"

      Warning

      The cURL command is only available after you configure your API request.

    • Add to MCP server — Add this API to an MCP server so it can be used by AI agents or external tools. See MCP servers for details.
    • Clone API — Clone this API into another integration or environment. See Clone an API for instructions.
    • Move to integration — Move your API to a new or existing integration. When you move an API to an existing integration, you can also select a group inside that integration. If you don't select a group, the API is placed in the Unassigned group.
    • Used by — Resources using or used by this API.
    • Delete API — Delete your API. The API is sent to the Recycle bin for 30 days or until your data retention policy purges it.
    Actions overflow menu in the API builder list view

Clone an API

You can clone an API for versioning, testing, repurposing, or promotion to a new environment.

To clone an API:

  1. Go to Resources → APIs → API builder.

    Resources menu with APIs selected
  2. From the API builder list view, find the API you'd like to clone and select Actions overflow (...) > Clone API. A new window opens.

    Or:

    From the API builder, select Actions overflow (...) > Clone API. A new window opens.

    Clone API option in the API builder list view actions menu

    API builder list view

    Clone API option in the API builder actions menu

    API builder

  3. Add a unique name for your cloned API.

    Clone API window with name field
  4. Environment — Select an environment to clone your API into. This option appears only for accounts with multiple environments. See Use multiple environments.
  5. Group (optional) — Select a group within the target integration for your cloned API. If you don't select a group, the cloned API is placed in the Unassigned group.
  6. Version — Add 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.

  7. Description (optional) — Add a description for your cloned API.
  8. Review your API resources. Your resources (APIs, lookups, and imports), branching, filters, and transformations are all cloned.

    Clone API window listing the resources to clone
  9. Select Clone API to continue.
  10. Configure your connection details. You can use existing connections or create a new one.

    Clone API window for configuring connections

Delete an API

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.

To delete an API from the API builder list view:

  1. Go to Resources → APIs → API builder.
  2. Find your API in the list and select Actions overflow (...) > Delete API.

To delete an API from the API builder:

  1. Go to Resources → APIs → API builder.
  2. Select the API you want to delete.
  3. In the API builder, select Actions overflow (...) > Delete API.

Authenticate and invoke an 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 your invoke URL:

  1. Go to Resources → APIs → API builder → <Your API>.
  2. In the API builder, select Actions overflow (...) > Copy cURL Copy icon.

    Actions overflow menu in the API builder

    Actions overflow menu in the API builder

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.

Limits and requirements

The following limits and requirements apply to requests and responses:

Request content size

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.

Concurrency and global rate limit

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.