Marketplace
Browse Celigo marketplace content. The marketplace contains two types of entries:
Integration Apps — licensed, Celigo-built connectors (e.g. Shopify–NetSuite) that install with managed updates.
Templates — reusable blueprints that create a set of resources when installed: an integration with its flows, connections, exports, imports, and scripts (
type: integration), or an MCP server with its tools (type: mcpserver).
You can preview what a template would create before committing to the install.
Marketplace entry schema
Returns the marketplace catalog of published Templates — the Template-only counterpart of GET /v1/published (Integration Apps only). Every entry carries type, which tells you whether the template installs an integration or an MCP server and therefore which install route to call. Entries have no docType.
The whole catalog is returned in one response, sorted by name unless sort_by says otherwise. Templates that reference an application no longer available on the platform are left out, so this list can be shorter than the docType: Template subset of POST /v1/published/combined.
Sort key. The direction is fixed per key — ascending for name,
descending for lastModified.
nameExample: lastModifiedPossible values: Array of Template marketplace entries.
A single marketplace listing — either an Integration App (docType: Connector)
or a Template (docType: Template). docType is only present in
POST /v1/published/combined responses; GET /v1/published (Connectors
only) and GET /v1/templates/published (Templates only) omit the field.
Marketplace entry id. For Templates, use this with /v1/templates/{_id}/preview.
54fa0b38a7044f9252000036Display name of the marketplace entry.
Shopify - NetSuiteMarketing description shown in the marketplace listing. Always set on Integration Apps; a Template publisher can leave it blank, in which case the field is absent.
Sync products, orders, fulfillments, and inventory between Shopify and NetSuite.Kind of resource a Template installs, which decides the install route.
Present on every Template entry (GET /v1/templates/published and
docType: Template entries of POST /v1/published/combined); absent
on Connector entries, which install through their own route.
integrationPossible values: Relative image path (e.g. /images/company-logos/amazon-netsuite.png)
or absolute URL. Not always present on Template entries.
/images/company-logos/amazon-netsuite.pngExternal product page URL. Rare on Template entries.
https://www.celigo.com/products/netsuite-amazon-connector/Systems this marketplace entry bridges. Values are either
well-known application slugs (netsuite, shopify, amazonmws) or
object ids referencing an Application definition.
Whether this entry offers a trial install. Populated on Integration App entries; rarely set on Templates.
When the marketplace entry was last updated.
2026-04-22T07:14:42.124ZLive install counter across all Celigo accounts. Used as the
sort_by=numInstalls key.
3672Discriminator distinguishing Integration Apps from Templates. Only
populated in POST /v1/published/combined responses. Absent in
GET /v1/published (Connectors only).
Integration App framework version. Present only on Connector entries
that use the 2.0 edition-based architecture. When set, the
twoDotZero object contains edition metadata.
No published templates are available.
sort_by is not one of the accepted keys.
Unauthorized. The request lacks a valid bearer token, or the provided token failed to authenticate.
Note: the 401 response is produced by the auth middleware before the
request reaches the endpoint handler, so it does not follow the
standard {errors: [...]} envelope. Instead the body is a bare
{message: string} object with no code, no errors array. Callers
handling 401s should key off the HTTP status and the message string,
not try to destructure an errors[].
GET /v1/templates/published HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"_id": "606e109607404c69e620a938",
"name": "Error automation via integrator.io APIs",
"description": "Automate error management using integrator.io's error APIs, with sample flows that retrieve, classify, and retry errors automatically.",
"websiteURL": "https://www.celigo.com/",
"applications": [
"6384b4ad7fe100355d2bd646"
],
"user": {
"name": "Celigo Product",
"company": "Celigo"
},
"lastModified": "2026-09-20T20:12:07.747Z",
"numInstalls": 1009,
"type": "integration"
},
{
"_id": "6ab129aeb9e4547494c0667f",
"name": "Acumatica",
"description": "Connect an AI agent to Acumatica ERP with a well-described set of tools to read finance, sales, and inventory data and draft documents for review.",
"applications": [
"673706dddd4fd1c46b919e82"
],
"user": {
"name": "Celigo Agents",
"company": "Celigo"
},
"lastModified": "2026-09-22T01:17:47.223Z",
"numInstalls": 5,
"type": "mcpserver"
}
]Returns the concrete resource documents a template would create if installed. The response is an envelope {type, objects, stackRequired} where objects is an array of {model, doc} entries — one per resource that the install step would materialize.
type tells you which install route to use afterwards: POST /v1/integrations/template/{_id} for integration, POST /v1/mcpservers/template/{_templateId} for mcpserver. stackRequired is true when the template includes NetSuite-distributed resources that need a dedicated stack — the installer prompts for one before the install proceeds.
The ID must belong to a Template, not a Connector (Integration App). Connector IDs from /v1/published return 404 here -- pull template IDs from GET /v1/templates/published or the Template-typed entries of POST /v1/published/combined.
Template id from POST /v1/published/combined.
606e109607404c69e620a938Template preview envelope.
Envelope describing what a template's install would produce. objects[]
enumerates each resource doc the installer would create, tagged by
model. The docs are populated with the template's defaults and
placeholder ids that the installer rewrites during the real install.
Kind of resource the template installs. Read it before installing — the two kinds use different install routes, and the integration route rejects MCP server templates.
integrationPossible values: true when the template includes NetSuite-distributed resources
that need a dedicated stack — the installer prompts for one before
the install proceeds. false for Shopify / HTTP / file-only
templates.
Unauthorized. The request lacks a valid bearer token, or the provided token failed to authenticate.
Note: the 401 response is produced by the auth middleware before the
request reaches the endpoint handler, so it does not follow the
standard {errors: [...]} envelope. Instead the body is a bare
{message: string} object with no code, no errors array. Callers
handling 401s should key off the HTTP status and the message string,
not try to destructure an errors[].
No template matched the id. Most commonly: the id belongs to a
Connector (Integration App) rather than a Template — Connectors are
installed via /v1/integrations/<id>/install, not through this
preview endpoint.
GET /v1/templates/{_id}/preview HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"type": "mcpserver",
"stackRequired": false,
"objects": [
{
"model": "McpServer",
"doc": {
"name": "Acumatica",
"description": "Connect an AI agent to Acumatica ERP.",
"relativeURI": "/acumatica",
"disabled": true,
"tools": [
{
"_toolId": "6aa95cff3ec91536beefef18",
"name": "list_bills"
}
],
"prompts": []
}
},
{
"model": "Connection",
"doc": {
"_id": "6aa9baf21ed971fe88759345",
"type": "http",
"name": "Acumatica Connection"
}
},
{
"model": "Tool",
"doc": {
"_id": "6aa95cff3ec91536beefef18",
"name": "[Acumatica Finance] List bills",
"description": "Retrieve Acumatica AP bills, optionally filtered by vendor and status."
}
}
]
}Returns the marketplace catalog of Integration Apps — the Celigo-built, fully-managed connectors that install as a single integration. Roughly 30 entries curated by Celigo.
Each item is a marketplace listing, not an integration instance — _id is the marketplace entry id, the applications array enumerates the systems the connector bridges, and numInstalls is the live install counter across all Celigo accounts.
For a combined list that also includes user-installable Templates, use POST /v1/published/combined instead. Entries here have no docType field -- that discriminator only appears in the combined endpoint's response.
Array of Integration App (Connector) marketplace entries.
A single marketplace listing — either an Integration App (docType: Connector)
or a Template (docType: Template). docType is only present in
POST /v1/published/combined responses; GET /v1/published (Connectors
only) and GET /v1/templates/published (Templates only) omit the field.
Marketplace entry id. For Templates, use this with /v1/templates/{_id}/preview.
54fa0b38a7044f9252000036Display name of the marketplace entry.
Shopify - NetSuiteMarketing description shown in the marketplace listing. Always set on Integration Apps; a Template publisher can leave it blank, in which case the field is absent.
Sync products, orders, fulfillments, and inventory between Shopify and NetSuite.Kind of resource a Template installs, which decides the install route.
Present on every Template entry (GET /v1/templates/published and
docType: Template entries of POST /v1/published/combined); absent
on Connector entries, which install through their own route.
integrationPossible values: Relative image path (e.g. /images/company-logos/amazon-netsuite.png)
or absolute URL. Not always present on Template entries.
/images/company-logos/amazon-netsuite.pngExternal product page URL. Rare on Template entries.
https://www.celigo.com/products/netsuite-amazon-connector/Systems this marketplace entry bridges. Values are either
well-known application slugs (netsuite, shopify, amazonmws) or
object ids referencing an Application definition.
Whether this entry offers a trial install. Populated on Integration App entries; rarely set on Templates.
When the marketplace entry was last updated.
2026-04-22T07:14:42.124ZLive install counter across all Celigo accounts. Used as the
sort_by=numInstalls key.
3672Discriminator distinguishing Integration Apps from Templates. Only
populated in POST /v1/published/combined responses. Absent in
GET /v1/published (Connectors only).
Integration App framework version. Present only on Connector entries
that use the 2.0 edition-based architecture. When set, the
twoDotZero object contains edition metadata.
Unauthorized. The request lacks a valid bearer token, or the provided token failed to authenticate.
Note: the 401 response is produced by the auth middleware before the
request reaches the endpoint handler, so it does not follow the
standard {errors: [...]} envelope. Instead the body is a bare
{message: string} object with no code, no errors array. Callers
handling 401s should key off the HTTP status and the message string,
not try to destructure an errors[].
GET /v1/published HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"_id": "58c90bccc13f547763bf2fc1",
"name": "Amazon - NetSuite",
"description": "Amazon - NetSuite Integration App helps online retailers combine the powerful Amazon Online Marketplace platform with the proven back-office features of NetSuite.",
"imageURL": "/images/company-logos/amazon-netsuite.png",
"websiteURL": "https://www.celigo.com/products/netsuite-amazon-connector/",
"applications": [
"amazonmws",
"netsuite"
],
"user": {
"name": "Celigo Etail",
"company": "Celigo"
},
"trialEnabled": false,
"lastModified": "2026-04-22T14:23:56.528Z",
"numInstalls": 1938
}
]Returns a unified array of all marketplace content — both Integration Apps (docType: Connector) and Templates (docType: Template). Each entry carries the docType discriminator so callers can partition, and every Template entry also carries type (integration or mcpserver), which decides its install route.
Despite being a POST, this is a read-only, safe endpoint — the body is an empty {} in the default CLI invocation. POST is used purely to carry sort and filter parameters that don't fit cleanly in a query string. The route is POST-only.
Always send Content-Type: application/json with at least {} as the body. For Connector-only listings, GET /v1/published is lighter.
Sort key. numInstalls (descending) matches the CLI default.
Omitting sort_by returns results in server-default order.
Body is required (even if empty) because the endpoint is POST
and the server enforces Content-Type: application/json —
otherwise 415. No fields inside the body are currently honored by
the server for filtering.
Array of marketplace entries, both Connectors and Templates.
A single marketplace listing — either an Integration App (docType: Connector)
or a Template (docType: Template). docType is only present in
POST /v1/published/combined responses; GET /v1/published (Connectors
only) and GET /v1/templates/published (Templates only) omit the field.
Marketplace entry id. For Templates, use this with /v1/templates/{_id}/preview.
54fa0b38a7044f9252000036Display name of the marketplace entry.
Shopify - NetSuiteMarketing description shown in the marketplace listing. Always set on Integration Apps; a Template publisher can leave it blank, in which case the field is absent.
Sync products, orders, fulfillments, and inventory between Shopify and NetSuite.Kind of resource a Template installs, which decides the install route.
Present on every Template entry (GET /v1/templates/published and
docType: Template entries of POST /v1/published/combined); absent
on Connector entries, which install through their own route.
integrationPossible values: Relative image path (e.g. /images/company-logos/amazon-netsuite.png)
or absolute URL. Not always present on Template entries.
/images/company-logos/amazon-netsuite.pngExternal product page URL. Rare on Template entries.
https://www.celigo.com/products/netsuite-amazon-connector/Systems this marketplace entry bridges. Values are either
well-known application slugs (netsuite, shopify, amazonmws) or
object ids referencing an Application definition.
Whether this entry offers a trial install. Populated on Integration App entries; rarely set on Templates.
When the marketplace entry was last updated.
2026-04-22T07:14:42.124ZLive install counter across all Celigo accounts. Used as the
sort_by=numInstalls key.
3672Discriminator distinguishing Integration Apps from Templates. Only
populated in POST /v1/published/combined responses. Absent in
GET /v1/published (Connectors only).
Integration App framework version. Present only on Connector entries
that use the 2.0 edition-based architecture. When set, the
twoDotZero object contains edition metadata.
Typically invalid_query_param when sort_by is outside the
accepted enum.
Unauthorized. The request lacks a valid bearer token, or the provided token failed to authenticate.
Note: the 401 response is produced by the auth middleware before the
request reaches the endpoint handler, so it does not follow the
standard {errors: [...]} envelope. Instead the body is a bare
{message: string} object with no code, no errors array. Callers
handling 401s should key off the HTTP status and the message string,
not try to destructure an errors[].
Request lacked Content-Type: application/json. The server refuses
to accept the body and returns this even when the body is an empty
string.
POST /v1/published/combined HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2
{}[
{
"_id": "54fa0b38a7044f9252000036",
"name": "Shopify - NetSuite",
"docType": "Connector",
"description": "Sync products, orders, fulfillments, and inventory between Shopify and NetSuite.",
"applications": [
"netsuite",
"65bb6a09de4fef278556c5fe"
],
"user": {
"name": "Celigo Etail",
"company": "Celigo"
},
"trialEnabled": false,
"lastModified": "2026-04-22T07:14:42.124Z",
"numInstalls": 3672
},
{
"_id": "606e109607404c69e620a938",
"name": "Error automation via integrator.io APIs",
"docType": "Template",
"type": "integration",
"description": "Template that automates flow error handling via integrator.io APIs.",
"applications": [
"integrator.io"
],
"user": {
"name": "Celigo",
"company": "Celigo"
},
"lastModified": "2024-06-17T19:32:04.000Z",
"numInstalls": 12
}
]Last updated
Was this helpful?