@celigo/api-specs 0.2.39 → 0.2.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1185,6 +1185,13 @@ components:
1185
1185
  description: Display name of the dependent resource.
1186
1186
  examples:
1187
1187
  - Import Orders to NetSuite
1188
+ type:
1189
+ type: string
1190
+ description: |-
1191
+ Sub-type of the dependent resource when its collection distinguishes one, such as
1192
+ `stream` for a listener export. Only present for resource types that carry a `type`.
1193
+ examples:
1194
+ - stream
1188
1195
  paths:
1189
1196
  type: array
1190
1197
  description: |-
@@ -22,9 +22,10 @@ tags:
22
22
 
23
23
  - **Integration Apps** — licensed, Celigo-built connectors (e.g.
24
24
  Shopify–NetSuite) that install with managed updates.
25
- - **Templates** — reusable integration blueprints that create a set of
26
- resources (integration, connections, flows, exports, imports, scripts)
27
- when installed.
25
+ - **Templates** — reusable blueprints that create a set of resources
26
+ when installed: an integration with its flows, connections, exports,
27
+ imports, and scripts (`type: integration`), or an MCP server with its
28
+ tools (`type: mcpserver`).
28
29
 
29
30
  You can preview what a template would create before committing to the
30
31
  install.
@@ -33,6 +34,95 @@ tags:
33
34
 
34
35
  {% openapi-schemas spec="marketplace" schemas="MarketplaceEntry" grouped="true" %}
35
36
  paths:
37
+ /v1/templates/published:
38
+ get:
39
+ x-internal: false
40
+ operationId: listPublishedTemplates
41
+ tags:
42
+ - Marketplace
43
+ summary: List published Templates
44
+ description: |-
45
+ Returns the marketplace catalog of published **Templates** — the
46
+ Template-only counterpart of `GET /v1/published` (Integration Apps only).
47
+ Every entry carries `type`, which tells you whether the template installs
48
+ an integration or an MCP server and therefore which install route to
49
+ call. Entries have no `docType`.
50
+
51
+ The whole catalog is returned in one response, sorted by `name` unless
52
+ `sort_by` says otherwise. Templates that reference an application no
53
+ longer available on the platform are left out, so this list can be
54
+ shorter than the `docType: Template` subset of
55
+ `POST /v1/published/combined`.
56
+ parameters:
57
+ - name: sort_by
58
+ in: query
59
+ required: false
60
+ schema:
61
+ type: string
62
+ enum:
63
+ - name
64
+ - lastModified
65
+ default: name
66
+ x-enumDescriptions:
67
+ name: Sort by name, A→Z (case-sensitive, uppercase first)
68
+ lastModified: Sort by last modification date, newest first
69
+ examples:
70
+ - lastModified
71
+ description: |-
72
+ Sort key. The direction is fixed per key — ascending for `name`,
73
+ descending for `lastModified`.
74
+ responses:
75
+ '200':
76
+ description: Array of Template marketplace entries.
77
+ content:
78
+ application/json:
79
+ schema:
80
+ type: array
81
+ items:
82
+ $ref: '#/components/schemas/MarketplaceEntry'
83
+ examples:
84
+ default:
85
+ summary: One integration template and one MCP server template
86
+ value:
87
+ - _id: 606e109607404c69e620a938
88
+ name: Error automation via integrator.io APIs
89
+ description: Automate error management using integrator.io's error APIs, with sample flows that retrieve, classify, and retry errors automatically.
90
+ websiteURL: https://www.celigo.com/
91
+ applications:
92
+ - 6384b4ad7fe100355d2bd646
93
+ user:
94
+ name: Celigo Product
95
+ company: Celigo
96
+ lastModified: '2026-09-20T20:12:07.747Z'
97
+ numInstalls: 1009
98
+ type: integration
99
+ - _id: 6ab129aeb9e4547494c0667f
100
+ name: Acumatica
101
+ 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.
102
+ applications:
103
+ - 673706dddd4fd1c46b919e82
104
+ user:
105
+ name: Celigo Agents
106
+ company: Celigo
107
+ lastModified: '2026-09-22T01:17:47.223Z'
108
+ numInstalls: 5
109
+ type: mcpserver
110
+ '204':
111
+ description: No published templates are available.
112
+ '400':
113
+ description: '`sort_by` is not one of the accepted keys.'
114
+ content:
115
+ application/json:
116
+ schema:
117
+ $ref: '#/components/schemas/Error'
118
+ examples:
119
+ invalidSortBy:
120
+ value:
121
+ errors:
122
+ - code: invalid_query_param
123
+ message: The query parameter "sort_by" has invalid value.
124
+ '401':
125
+ $ref: '#/components/responses/401-unauthorized'
36
126
  /v1/templates/{_id}/preview:
37
127
  get:
38
128
  x-internal: false
@@ -42,17 +132,21 @@ paths:
42
132
  summary: Preview a template's installed resource docs
43
133
  description: |-
44
134
  Returns the concrete resource documents a template would create if
45
- installed. The response is an envelope `{objects, stackRequired}` where
46
- `objects` is an array of `{model, doc}` entries — one per resource that
47
- the install step would materialize.
135
+ installed. The response is an envelope `{type, objects, stackRequired}`
136
+ where `objects` is an array of `{model, doc}` entries — one per resource
137
+ that the install step would materialize.
48
138
 
139
+ `type` tells you which install route to use afterwards:
140
+ `POST /v1/integrations/template/{_id}` for `integration`,
141
+ `POST /v1/mcpservers/template/{_templateId}` for `mcpserver`.
49
142
  `stackRequired` is `true` when the template includes NetSuite-distributed
50
143
  resources that need a dedicated stack — the installer prompts for one
51
144
  before the install proceeds.
52
145
 
53
146
  The ID must belong to a Template, not a Connector (Integration App).
54
147
  Connector IDs from `/v1/published` return 404 here -- pull template
55
- IDs from the `Template`-typed entries of `POST /v1/published/combined`.
148
+ IDs from `GET /v1/templates/published` or the `Template`-typed entries
149
+ of `POST /v1/published/combined`.
56
150
  parameters:
57
151
  - name: _id
58
152
  in: path
@@ -71,9 +165,36 @@ paths:
71
165
  schema:
72
166
  $ref: '#/components/schemas/TemplatePreviewResponse'
73
167
  examples:
168
+ mcpServer:
169
+ summary: MCP server template preview
170
+ value:
171
+ type: mcpserver
172
+ stackRequired: false
173
+ objects:
174
+ - model: McpServer
175
+ doc:
176
+ name: Acumatica
177
+ description: Connect an AI agent to Acumatica ERP.
178
+ relativeURI: /acumatica
179
+ disabled: true
180
+ tools:
181
+ - _toolId: 6aa95cff3ec91536beefef18
182
+ name: list_bills
183
+ prompts: []
184
+ - model: Connection
185
+ doc:
186
+ _id: 6aa9baf21ed971fe88759345
187
+ type: http
188
+ name: Acumatica Connection
189
+ - model: Tool
190
+ doc:
191
+ _id: 6aa95cff3ec91536beefef18
192
+ name: '[Acumatica Finance] List bills'
193
+ description: Retrieve Acumatica AP bills, optionally filtered by vendor and status.
74
194
  default:
75
195
  summary: Shopify - NetSuite template preview
76
196
  value:
197
+ type: integration
77
198
  stackRequired: false
78
199
  objects:
79
200
  - model: Integration
@@ -174,7 +295,9 @@ paths:
174
295
  description: |-
175
296
  Returns a unified array of **all** marketplace content — both Integration
176
297
  Apps (`docType: Connector`) and Templates (`docType: Template`). Each
177
- entry carries the `docType` discriminator so callers can partition.
298
+ entry carries the `docType` discriminator so callers can partition, and
299
+ every Template entry also carries `type` (`integration` or `mcpserver`),
300
+ which decides its install route.
178
301
 
179
302
  Despite being a POST, this is a **read-only, safe** endpoint — the body
180
303
  is an empty `{}` in the default CLI invocation. POST is used purely to
@@ -245,6 +368,7 @@ paths:
245
368
  - _id: 606e109607404c69e620a938
246
369
  name: Error automation via integrator.io APIs
247
370
  docType: Template
371
+ type: integration
248
372
  description: Template that automates flow error handling via integrator.io APIs.
249
373
  applications:
250
374
  - integrator.io
@@ -290,105 +414,11 @@ components:
290
414
  type: http
291
415
  scheme: bearer
292
416
  schemas:
293
- TemplatePreviewResponse:
294
- type: object
295
- description: |-
296
- Envelope describing what a template's install would produce. `objects[]`
297
- enumerates each resource doc the installer would create, tagged by
298
- `model`. The docs are populated with the template's defaults and
299
- placeholder ids that the installer rewrites during the real install.
300
- properties:
301
- objects:
302
- type: array
303
- description: |-
304
- Resource docs the installer would materialize. Ordering is
305
- typically `Integration` first (exactly one), then `Connection`s,
306
- `Export`s, `Import`s, `Flow`s, `Script`s.
307
- items:
308
- type: object
309
- description: One resource doc tagged with its model type.
310
- properties:
311
- model:
312
- type: string
313
- enum:
314
- - Integration
315
- - Connection
316
- - Export
317
- - Import
318
- - Flow
319
- - Script
320
- - AsyncHelper
321
- x-enumDescriptions:
322
- Integration: Integration workspace resource.
323
- Connection: Connection resource for authenticating to external systems.
324
- Export: Export resource for reading data from a source system.
325
- Import: Import resource for writing data to a destination system.
326
- Flow: Flow resource for data integration pipelines.
327
- Script: Script resource for custom JavaScript hooks.
328
- AsyncHelper: Async helper resource for polling-based connection patterns.
329
- description: Resource class this doc describes.
330
- doc:
331
- type: object
332
- description: |-
333
- The concrete resource document. Shape matches the write shape
334
- of the corresponding resource endpoint (e.g. `POST /v1/flows`,
335
- `POST /v1/exports`, etc.). Fields are populated with the
336
- template's defaults; ids are placeholders that the installer
337
- replaces during the real install.
338
- additionalProperties: true
339
- stackRequired:
340
- type: boolean
341
- description: |-
342
- `true` when the template includes NetSuite-distributed resources
343
- that need a dedicated stack — the installer prompts for one before
344
- the install proceeds. `false` for Shopify / HTTP / file-only
345
- templates.
346
- Error:
347
- type: object
348
- description: Standard error response envelope returned by integrator.io APIs.
349
- properties:
350
- errors:
351
- type: array
352
- description: List of errors that occurred while processing the request.
353
- items:
354
- type: object
355
- properties:
356
- code:
357
- oneOf:
358
- - type: string
359
- - type: integer
360
- description: |-
361
- Machine-readable error code. Usually a string like
362
- `invalid_ref`, `missing_required_field`, or `unauthorized`;
363
- may be an **integer** when the error mirrors an upstream HTTP
364
- status (e.g. `500`) — most commonly returned by connection-ping
365
- and adaptor-proxy responses.
366
- message:
367
- type: string
368
- description: Human-readable description of the error.
369
- field:
370
- type: string
371
- description: |-
372
- Optional pointer to the document field that caused the error.
373
- Used by structural validation errors (`missing_required_field`,
374
- `invalid_ref`) to indicate which field is at fault
375
- (e.g. `_id`, `type`, `http.baseURI`).
376
- source:
377
- type: string
378
- description: |-
379
- Optional origin layer for the error — e.g. `application` when
380
- the error came from the remote system the adaptor called,
381
- `connector` when the adaptor itself rejected the request.
382
- required:
383
- - message
384
- required:
385
- - errors
386
417
  MarketplaceEntry:
387
418
  type: object
388
419
  required:
389
420
  - _id
390
421
  - name
391
- - description
392
422
  - applications
393
423
  - numInstalls
394
424
  - user
@@ -396,8 +426,8 @@ components:
396
426
  description: |-
397
427
  A single marketplace listing — either an Integration App (`docType: Connector`)
398
428
  or a Template (`docType: Template`). `docType` is only present in
399
- `POST /v1/published/combined` responses; `GET /v1/published` entries (Connectors
400
- only) omit the field.
429
+ `POST /v1/published/combined` responses; `GET /v1/published` (Connectors
430
+ only) and `GET /v1/templates/published` (Templates only) omit the field.
401
431
  properties:
402
432
  _id:
403
433
  type: string
@@ -412,9 +442,27 @@ components:
412
442
  - Shopify - NetSuite
413
443
  description:
414
444
  type: string
415
- description: Marketing description shown in the marketplace listing.
445
+ description: |-
446
+ Marketing description shown in the marketplace listing. Always set on
447
+ Integration Apps; a Template publisher can leave it blank, in which
448
+ case the field is absent.
416
449
  examples:
417
450
  - Sync products, orders, fulfillments, and inventory between Shopify and NetSuite.
451
+ type:
452
+ type: string
453
+ enum:
454
+ - integration
455
+ - mcpserver
456
+ x-enumDescriptions:
457
+ integration: Template installs an integration — use `POST /v1/integrations/template/{_id}`
458
+ mcpserver: Template installs an MCP server — use `POST /v1/mcpservers/template/{_templateId}`
459
+ description: |-
460
+ Kind of resource a Template installs, which decides the install route.
461
+ Present on every Template entry (`GET /v1/templates/published` and
462
+ `docType: Template` entries of `POST /v1/published/combined`); absent
463
+ on Connector entries, which install through their own route.
464
+ examples:
465
+ - integration
418
466
  imageURL:
419
467
  type: string
420
468
  description: |-
@@ -646,6 +694,138 @@ components:
646
694
  isParentChild:
647
695
  type: boolean
648
696
  description: When true, this Integration App uses the parent-child model.
697
+ Error:
698
+ type: object
699
+ description: Standard error response envelope returned by integrator.io APIs.
700
+ properties:
701
+ errors:
702
+ type: array
703
+ description: List of errors that occurred while processing the request.
704
+ items:
705
+ type: object
706
+ properties:
707
+ code:
708
+ oneOf:
709
+ - type: string
710
+ - type: integer
711
+ description: |-
712
+ Machine-readable error code. Usually a string like
713
+ `invalid_ref`, `missing_required_field`, or `unauthorized`;
714
+ may be an **integer** when the error mirrors an upstream HTTP
715
+ status (e.g. `500`) — most commonly returned by connection-ping
716
+ and adaptor-proxy responses.
717
+ message:
718
+ type: string
719
+ description: Human-readable description of the error.
720
+ field:
721
+ type: string
722
+ description: |-
723
+ Optional pointer to the document field that caused the error.
724
+ Used by structural validation errors (`missing_required_field`,
725
+ `invalid_ref`) to indicate which field is at fault
726
+ (e.g. `_id`, `type`, `http.baseURI`).
727
+ source:
728
+ type: string
729
+ description: |-
730
+ Optional origin layer for the error — e.g. `application` when
731
+ the error came from the remote system the adaptor called,
732
+ `connector` when the adaptor itself rejected the request.
733
+ required:
734
+ - message
735
+ required:
736
+ - errors
737
+ TemplatePreviewResponse:
738
+ type: object
739
+ description: |-
740
+ Envelope describing what a template's install would produce. `objects[]`
741
+ enumerates each resource doc the installer would create, tagged by
742
+ `model`. The docs are populated with the template's defaults and
743
+ placeholder ids that the installer rewrites during the real install.
744
+ required:
745
+ - objects
746
+ - stackRequired
747
+ - type
748
+ properties:
749
+ type:
750
+ type: string
751
+ enum:
752
+ - integration
753
+ - mcpserver
754
+ x-enumDescriptions:
755
+ integration: Install with `POST /v1/integrations/template/{_id}`; `objects[]` starts with the `Integration` doc
756
+ mcpserver: Install with `POST /v1/mcpservers/template/{_templateId}`; `objects[]` starts with the `McpServer` doc
757
+ description: |-
758
+ Kind of resource the template installs. Read it before installing —
759
+ the two kinds use different install routes, and the integration route
760
+ rejects MCP server templates.
761
+ examples:
762
+ - integration
763
+ objects:
764
+ type: array
765
+ description: |-
766
+ Resource docs the installer would materialize. For an integration
767
+ template the ordering is `Integration` first (exactly one), then
768
+ `Connection`s, `Flow`s, `Export`s, `Import`s, `Script`s and any
769
+ other supporting resources; for an MCP server template it is the
770
+ `McpServer` doc first, then its `Connection`s, `Export`s, `Import`s,
771
+ `Script`s and `Tool`s, then one `Prompt` entry per inline prompt.
772
+ items:
773
+ type: object
774
+ description: One resource doc tagged with its model type.
775
+ properties:
776
+ model:
777
+ type: string
778
+ enum:
779
+ - Integration
780
+ - McpServer
781
+ - Connection
782
+ - Flow
783
+ - Export
784
+ - Import
785
+ - Script
786
+ - AsyncHelper
787
+ - FileDefinition
788
+ - EDIProfile
789
+ - LookupCache
790
+ - Api
791
+ - Tool
792
+ - Prompt
793
+ x-enumDescriptions:
794
+ Integration: Integration workspace resource (integration templates only)
795
+ McpServer: MCP server resource (MCP server templates only)
796
+ Connection: Connection resource for authenticating to external systems
797
+ Flow: Flow resource for data integration pipelines
798
+ Export: Export resource for reading data from a source system
799
+ Import: Import resource for writing data to a destination system
800
+ Script: Script resource for custom JavaScript hooks
801
+ AsyncHelper: Async helper resource for polling-based connection patterns
802
+ FileDefinition: File definition resource for parsing and generating EDI or fixed-width files
803
+ EDIProfile: EDI profile resource describing a trading partner
804
+ LookupCache: Lookup cache resource for key-value lookups during flow runs
805
+ Api: Builder-mode API resource
806
+ Tool: Tool resource invoked by MCP servers, APIs, and flows
807
+ Prompt: Inline prompt definition of the MCP server (MCP server templates only)
808
+ description: |-
809
+ Resource class this doc describes. Which classes appear depends
810
+ on what the template zip contains; `Integration` and `Prompt`
811
+ never appear together because they belong to different template
812
+ kinds.
813
+ doc:
814
+ type: object
815
+ description: |-
816
+ The concrete resource document. Shape matches the write shape
817
+ of the corresponding resource endpoint (e.g. `POST /v1/flows`,
818
+ `POST /v1/exports`, etc.). Fields are populated with the
819
+ template's defaults; ids are placeholders that the installer
820
+ replaces during the real install.
821
+ additionalProperties: true
822
+ stackRequired:
823
+ type: boolean
824
+ description: |-
825
+ `true` when the template includes NetSuite-distributed resources
826
+ that need a dedicated stack — the installer prompts for one before
827
+ the install proceeds. `false` for Shopify / HTTP / file-only
828
+ templates.
649
829
  responses:
650
830
  401-unauthorized:
651
831
  description: |-