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 integration blueprints that create a set of resources (integration, connections, flows, exports, imports, scripts) when installed.
You can preview what a template would create before committing to the install.
Marketplace entry schema
Returns the concrete resource documents a template would create if installed. The response is an envelope {objects, stackRequired} where objects is an array of {model, doc} entries — one per resource that the install step would materialize.
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 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.
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: */*
{
"stackRequired": false,
"objects": [
{
"model": "Integration",
"doc": {
"_id": "6405b9d73496e05ff253d587",
"name": "Shopify - NetSuite",
"description": "Sync Abandoned Checkouts, Collects, … between Shopify and NetSuite.",
"installSteps": [
{
"name": "NetSuite Connection",
"completed": true,
"type": "connection",
"sourceConnection": {
"type": "netsuite",
"name": "NetSuite Connection"
}
}
]
}
},
{
"model": "Connection",
"doc": {
"_id": "61f92026dd053843b5d72350",
"type": "netsuite",
"name": "NetSuite Connection",
"netsuite": {
"wsdlVersion": "2020.2",
"concurrencyLevel": 1
}
}
}
]
}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 entries (Connectors
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.
Sync products, orders, fulfillments, and inventory between Shopify and NetSuite.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.
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 entries (Connectors
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.
Sync products, orders, fulfillments, and inventory between Shopify and NetSuite.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",
"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?