# Celigo API

Build, extend, and automate Celigo integrator.io using APIs.

The **Celigo REST API** provides full control over most resources in integrator.io: integrations, flows, exports, imports, connections, scripts, tools, AI agents, and more. Every endpoint in the sidebar is typed and versioned.

## Get started

| If you want to…                              | Go here                                                        |
| -------------------------------------------- | -------------------------------------------------------------- |
| Make your first API call                     | [Getting started](/api/getting-started/getting-started.md)     |
| Understand how auth works and create a token | [Authentication](/api/getting-started/authentication.md)       |
| Connect to the **EU** data center            | [Environments & regions](/api/getting-started/environments.md) |
| Page through large result sets               | [Pagination](/api/using-the-api/pagination.md)                 |
| Know what happens when you get throttled     | [Rate limits](/api/using-the-api/rate-limits.md)               |
| Decode a `422` or `404`                      | [Errors](/api/using-the-api/errors.md)                         |
| Automate from your terminal                  | [CLI Reference](https://developer.celigo.com/cli)              |
| Browse every endpoint                        | See the API Reference in the sidebar                           |

## The integrator.io data model

Everything in Celigo composes out of the same primitives. When you use the API, you're reading and writing these resources directly.

* **Connection** — credentials and configuration for an external system (NetSuite, Salesforce, an HTTP endpoint, an SFTP server, a database, etc.).
* **Export** — the data source step. Fetches records from a connection on a schedule, a webhook, or a lookup call.
* **Import** — the data destination step. Writes records into a connection, with field mappings, lookups, and upsert logic.
* **Flow** — a pipeline that chains exports into imports (or into routers, which branch to more imports). Flows are the unit of scheduled execution.
* **Integration** — a container that groups related flows, settings, and connections. Think "the FTP ↔ NetSuite integration" or "the Shopify ↔ Salesforce integration."
* **Script** — JavaScript hooks (`preSavePage`, `preMap`, `postMap`, `postSubmit`, `postResponseMap`) that run inside flow execution to transform data or make decisions.
* **Tool**, **API**, **AI Agent** — higher-level resources that package flows, exports, and imports behind stable input/output contracts for external callers.

> **Note on MCP servers.** Celigo has an `mcpServers` resource that lets you build your own MCP endpoints exposing your Tools and builder-mode APIs to external AI agents. This is the builder-side primitive and is documented in the API reference. Celigo does **not** currently publish a first-party hosted MCP server that an AI agent can use to act on your account directly.

Connections are the foundation. Build from the bottom up: **Connection → Export + Import → Flow.**

## Conventions

* Base URLs are shown without a trailing slash: `https://api.integrator.io`.
* Paths start with `/v1/...`.
* Examples assume `export CELIGO_API_TOKEN=<your-token>` has been set.
* `{id}` in any path is a 24-character MongoDB ObjectID.
* The JSON examples only include the relevant fields. Complete responses contain `_id`, `createdAt`, `lastModified`, and `lastModifiedBy` on every resource.
* CLI examples use the globally-installed binary name: `celigo`.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.celigo.com/api/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
