@celigo/api-specs 0.2.1

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.
Files changed (48) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +119 -0
  3. package/dist/account.yml +592 -0
  4. package/dist/agent.yml +908 -0
  5. package/dist/ai-agent.yml +5471 -0
  6. package/dist/api.yml +4140 -0
  7. package/dist/apim.yml +1286 -0
  8. package/dist/asynchelper.yml +3391 -0
  9. package/dist/audit.yml +2006 -0
  10. package/dist/connection.yml +8665 -0
  11. package/dist/connector.yml +1406 -0
  12. package/dist/ediprofile.yml +911 -0
  13. package/dist/editransaction.yml +1210 -0
  14. package/dist/enduser.yml +1724 -0
  15. package/dist/environment.yml +568 -0
  16. package/dist/eventreport.yml +692 -0
  17. package/dist/export.yml +17610 -0
  18. package/dist/filedefinition.yml +1396 -0
  19. package/dist/filestorage.yml +3102 -0
  20. package/dist/flow.yml +7928 -0
  21. package/dist/guardrail.yml +2763 -0
  22. package/dist/httpconnector.yml +2277 -0
  23. package/dist/httpconnectorendpoint.yml +722 -0
  24. package/dist/httpconnectorresource.yml +396 -0
  25. package/dist/iclient.yml +4452 -0
  26. package/dist/import.yml +15381 -0
  27. package/dist/integration.yml +4406 -0
  28. package/dist/job.yml +2014 -0
  29. package/dist/lookupcache.yml +1325 -0
  30. package/dist/marketplace.yml +685 -0
  31. package/dist/mcp-oauth-provider.yml +590 -0
  32. package/dist/mcp-server.yml +2656 -0
  33. package/dist/notification.yml +488 -0
  34. package/dist/processor.yml +1253 -0
  35. package/dist/profile.yml +455 -0
  36. package/dist/recyclebin.yml +768 -0
  37. package/dist/script.yml +1128 -0
  38. package/dist/stack.yml +1291 -0
  39. package/dist/state.yml +894 -0
  40. package/dist/subscription.yml +1405 -0
  41. package/dist/sync.yml +4857 -0
  42. package/dist/tag.yml +553 -0
  43. package/dist/template.yml +897 -0
  44. package/dist/tool.yml +33656 -0
  45. package/dist/tradingpartnerconnector.yml +1490 -0
  46. package/dist/user.yml +831 -0
  47. package/package.json +41 -0
  48. package/schemas.json +8420 -0
package/dist/apim.yml ADDED
@@ -0,0 +1,1286 @@
1
+ openapi: 3.2.0
2
+ info:
3
+ version: 1.0.0
4
+ title: APIM
5
+ description: API for managing Celigo API Management (APIM) — publishing integrator.io resources and configuring APIM account settings.
6
+ servers:
7
+ - url: https://api.integrator.io
8
+ description: Production (US / default region)
9
+ - url: https://api.eu.integrator.io
10
+ description: Production (EU region)
11
+ - url: https://api.au.integrator.io
12
+ description: Production (AU region)
13
+ - url: https://api.ca.integrator.io
14
+ description: Production (CA region)
15
+ security:
16
+ - bearerAuth: []
17
+ tags:
18
+ - name: APIM
19
+ description: |-
20
+ APIM management endpoints for publishing integrator.io APIs, exports, and
21
+ imports to the APIM platform, retrieving console
22
+ redirect URLs, and configuring APIM account settings.
23
+
24
+ Most routes require the `apim:operations` permission and an enabled APIM
25
+ license. Setup, validate, HRID validate, and resume routes are
26
+ production-environment only.
27
+
28
+ ## APIM schema
29
+
30
+ {% openapi-schemas spec="apim" schemas="ManageApiResponse" grouped="true" %}
31
+ paths:
32
+ /v1/apim/redirect:
33
+ get:
34
+ x-internal: false
35
+ summary: Get APIM console redirect URL
36
+ description: Returns a signed URL that opens the APIM console home page for the account.
37
+ operationId: getApimRedirect
38
+ tags:
39
+ - APIM
40
+ responses:
41
+ '200':
42
+ description: Redirect URL.
43
+ content:
44
+ application/json:
45
+ schema:
46
+ $ref: '#/components/schemas/RedirectUrl'
47
+ examples:
48
+ default:
49
+ value:
50
+ url: https://subdomain.apim.integrator.io/management/auth/external?token=eyJhbGciOiJSUzI1NiJ9...
51
+ '401':
52
+ $ref: '#/components/responses/401-unauthorized'
53
+ '403':
54
+ $ref: '#/components/responses/403-forbidden'
55
+ '404':
56
+ $ref: '#/components/responses/404-not-found'
57
+ '500':
58
+ description: Failed to generate APIM console JWT token.
59
+ content:
60
+ application/json:
61
+ schema:
62
+ $ref: '#/components/schemas/Error'
63
+ /v1/apim/redirect/analytics:
64
+ get:
65
+ x-internal: false
66
+ summary: Get APIM analytics redirect URL
67
+ description: |-
68
+ Returns a signed URL that opens the APIM analytics dashboard for the account.
69
+ Optionally scope the dashboard to a time range with `from` and `to`.
70
+ operationId: getApimRedirectAnalytics
71
+ tags:
72
+ - APIM
73
+ parameters:
74
+ - name: from
75
+ in: query
76
+ description: Start timestamp in milliseconds for the analytics window.
77
+ schema:
78
+ type: number
79
+ examples:
80
+ - 1763023108167
81
+ - name: to
82
+ in: query
83
+ description: End timestamp in milliseconds for the analytics window.
84
+ schema:
85
+ type: number
86
+ examples:
87
+ - 1763023408167
88
+ responses:
89
+ '200':
90
+ description: Redirect URL.
91
+ content:
92
+ application/json:
93
+ schema:
94
+ $ref: '#/components/schemas/RedirectUrl'
95
+ examples:
96
+ default:
97
+ value:
98
+ url: https://subdomain.console.apim.integrator.io/#!/production/analytics/dashboard?from=1763023108167&to=1763023408167
99
+ '401':
100
+ $ref: '#/components/responses/401-unauthorized'
101
+ '403':
102
+ $ref: '#/components/responses/403-forbidden'
103
+ /v1/apim/{apiId}/{modelPlural}/{_id}/view:
104
+ get:
105
+ x-internal: false
106
+ summary: Get APIM resource view URL
107
+ description: Returns a signed URL that opens a published resource in the APIM console.
108
+ operationId: getApimResourceView
109
+ tags:
110
+ - APIM
111
+ parameters:
112
+ - name: apiId
113
+ in: path
114
+ description: APIM API identifier.
115
+ required: true
116
+ schema:
117
+ type: string
118
+ examples:
119
+ - 123e4567-e89b-12d3-a456-426614174000
120
+ - name: modelPlural
121
+ in: path
122
+ description: Integrator.io resource collection name.
123
+ required: true
124
+ schema:
125
+ type: string
126
+ enum:
127
+ - exports
128
+ - imports
129
+ - apis
130
+ x-enumDescriptions:
131
+ exports: Export resource published to APIM
132
+ imports: Import resource published to APIM
133
+ apis: Builder-mode API resource published to APIM
134
+ examples:
135
+ - exports
136
+ - name: _id
137
+ in: path
138
+ description: Integrator.io resource identifier.
139
+ required: true
140
+ schema:
141
+ type: string
142
+ format: objectId
143
+ examples:
144
+ - 6756aceea7929d3f29126e6e
145
+ responses:
146
+ '200':
147
+ description: Redirect URL.
148
+ content:
149
+ application/json:
150
+ schema:
151
+ $ref: '#/components/schemas/RedirectUrl'
152
+ examples:
153
+ default:
154
+ value:
155
+ url: https://subdomain.console.apim.integrator.io/#!/production/apis/6a6201f6-9142-4137-a201-f69142f137f8
156
+ '400':
157
+ description: Resource is not published to APIM.
158
+ content:
159
+ application/json:
160
+ schema:
161
+ $ref: '#/components/schemas/Error'
162
+ '401':
163
+ $ref: '#/components/responses/401-unauthorized'
164
+ '403':
165
+ $ref: '#/components/responses/403-forbidden'
166
+ '404':
167
+ $ref: '#/components/responses/404-not-found'
168
+ '422':
169
+ $ref: '#/components/responses/422-unprocessable-entity'
170
+ /v1/apim/apis:
171
+ get:
172
+ x-internal: false
173
+ summary: List APIM APIs
174
+ description: |-
175
+ Returns APIs published in the APIM platform for the account.
176
+ Results are paginated with `page` and `perPage`.
177
+ operationId: listApimApis
178
+ tags:
179
+ - APIM
180
+ parameters:
181
+ - name: page
182
+ in: query
183
+ description: Page number for APIM API search results.
184
+ schema:
185
+ type: integer
186
+ default: 1
187
+ examples:
188
+ - 1
189
+ - name: perPage
190
+ in: query
191
+ description: Number of APIs to return per page.
192
+ schema:
193
+ type: integer
194
+ default: 10
195
+ examples:
196
+ - 10
197
+ responses:
198
+ '200':
199
+ description: Paginated APIM API list.
200
+ content:
201
+ application/json:
202
+ schema:
203
+ $ref: '#/components/schemas/ApimApisListResponse'
204
+ examples:
205
+ default:
206
+ value:
207
+ apis:
208
+ data:
209
+ - id: 6a6201f6-9142-4137-a201-f69142f137f8
210
+ name: my-export
211
+ description: Customer data export API
212
+ apiVersion: 1.0.0
213
+ definitionVersion: V4
214
+ state: STARTED
215
+ deploymentState: DEPLOYED
216
+ visibility: PUBLIC
217
+ lifecycleState: PUBLISHED
218
+ createdAt: '2026-04-24T16:52:05.607Z'
219
+ updatedAt: '2026-05-07T15:22:16.985Z'
220
+ pagination:
221
+ page: 1
222
+ perPage: 10
223
+ pageCount: 1
224
+ pageItemsCount: 1
225
+ totalCount: 1
226
+ links:
227
+ self: https://subdomain.apim.integrator.io/apis/_search?page=1&perPage=10
228
+ '401':
229
+ $ref: '#/components/responses/401-unauthorized'
230
+ '403':
231
+ $ref: '#/components/responses/403-forbidden'
232
+ /v1/apim/{modelPlural}/{_id}/manageAPI:
233
+ post:
234
+ x-internal: false
235
+ summary: Publish resource to new APIM API
236
+ description: |-
237
+ Publishes an integrator.io resource to APIM as a new API.
238
+
239
+ Requires `apim:operations` permission and an enabled APIM license.
240
+ Custom webhooks (non-integrator-extension) are rejected with 400.
241
+ Upstream API management errors may be returned with the upstream HTTP status.
242
+ operationId: publishResourceToApim
243
+ tags:
244
+ - APIM
245
+ parameters:
246
+ - name: modelPlural
247
+ in: path
248
+ description: Integrator.io resource collection name.
249
+ required: true
250
+ schema:
251
+ type: string
252
+ enum:
253
+ - exports
254
+ - imports
255
+ - apis
256
+ x-enumDescriptions:
257
+ exports: Export resource published to APIM
258
+ imports: Import resource published to APIM
259
+ apis: Builder-mode API resource published to APIM
260
+ examples:
261
+ - exports
262
+ - name: _id
263
+ in: path
264
+ description: Integrator.io resource identifier.
265
+ required: true
266
+ schema:
267
+ type: string
268
+ format: objectId
269
+ examples:
270
+ - 6756aceea7929d3f29126e6e
271
+ requestBody:
272
+ required: true
273
+ content:
274
+ application/json:
275
+ schema:
276
+ $ref: '#/components/schemas/ManageApiCreateRequest'
277
+ examples:
278
+ default:
279
+ value:
280
+ contextPath: my-export
281
+ flowName: my-flow
282
+ method: POST
283
+ definitionVersion: v4
284
+ responses:
285
+ '200':
286
+ description: Published APIM API.
287
+ content:
288
+ application/json:
289
+ schema:
290
+ $ref: '#/components/schemas/ManageApiResponse'
291
+ examples:
292
+ default:
293
+ value:
294
+ id: 123e4567-e89b-12d3-a456-426614174000
295
+ environmentId: 123e4567-e89b-12d3-a456-426614174001
296
+ name: my-export
297
+ version: 1.0.0
298
+ context_path: /my-export
299
+ state: STARTED
300
+ visibility: PUBLIC
301
+ '400':
302
+ $ref: '#/components/responses/400-bad-request'
303
+ '401':
304
+ $ref: '#/components/responses/401-unauthorized'
305
+ '403':
306
+ $ref: '#/components/responses/403-forbidden'
307
+ '404':
308
+ $ref: '#/components/responses/404-not-found'
309
+ put:
310
+ x-internal: false
311
+ summary: Publish resource to existing APIM API
312
+ description: |-
313
+ Publishes an integrator.io resource to an existing APIM API.
314
+
315
+ Requires `apim:operations` permission and an enabled APIM license.
316
+ Upstream API management errors may be returned with the upstream HTTP status.
317
+ operationId: updateResourceInApim
318
+ tags:
319
+ - APIM
320
+ parameters:
321
+ - name: modelPlural
322
+ in: path
323
+ description: Integrator.io resource collection name.
324
+ required: true
325
+ schema:
326
+ type: string
327
+ enum:
328
+ - exports
329
+ - imports
330
+ - apis
331
+ x-enumDescriptions:
332
+ exports: Export resource published to APIM
333
+ imports: Import resource published to APIM
334
+ apis: Builder-mode API resource published to APIM
335
+ examples:
336
+ - exports
337
+ - name: _id
338
+ in: path
339
+ description: Integrator.io resource identifier.
340
+ required: true
341
+ schema:
342
+ type: string
343
+ format: objectId
344
+ examples:
345
+ - 6756aceea7929d3f29126e6e
346
+ requestBody:
347
+ required: true
348
+ content:
349
+ application/json:
350
+ schema:
351
+ $ref: '#/components/schemas/ManageApiUpdateRequest'
352
+ examples:
353
+ default:
354
+ value:
355
+ apiId: 123e4567-e89b-12d3-a456-426614174000
356
+ flowName: my-flow
357
+ method: POST
358
+ responses:
359
+ '200':
360
+ description: Updated APIM API.
361
+ content:
362
+ application/json:
363
+ schema:
364
+ $ref: '#/components/schemas/ManageApiResponse'
365
+ examples:
366
+ default:
367
+ value:
368
+ id: 123e4567-e89b-12d3-a456-426614174000
369
+ environmentId: 123e4567-e89b-12d3-a456-426614174001
370
+ name: my-export
371
+ version: 1.0.0
372
+ context_path: /my-export
373
+ state: STARTED
374
+ visibility: PUBLIC
375
+ '400':
376
+ $ref: '#/components/responses/400-bad-request'
377
+ '401':
378
+ $ref: '#/components/responses/401-unauthorized'
379
+ '403':
380
+ $ref: '#/components/responses/403-forbidden'
381
+ '404':
382
+ $ref: '#/components/responses/404-not-found'
383
+ /v1/apim/{apiId}/{modelPlural}/{_id}/openAPIspec:
384
+ post:
385
+ x-internal: false
386
+ summary: Publish OpenAPI spec to APIM API
387
+ description: |-
388
+ Publishes an OpenAPI specification to an existing APIM API.
389
+
390
+ When a signed URL is not required for the resource type, the server
391
+ generates the OpenAPI document from the resource. The resource must
392
+ already be published to the given `apiId` (400 if not).
393
+
394
+ Upstream API management errors may be returned with the upstream HTTP status.
395
+ operationId: publishOpenApiSpecToApim
396
+ tags:
397
+ - APIM
398
+ parameters:
399
+ - name: apiId
400
+ in: path
401
+ description: APIM API identifier.
402
+ required: true
403
+ schema:
404
+ type: string
405
+ examples:
406
+ - 123e4567-e89b-12d3-a456-426614174000
407
+ - name: modelPlural
408
+ in: path
409
+ description: Integrator.io resource collection name.
410
+ required: true
411
+ schema:
412
+ type: string
413
+ enum:
414
+ - exports
415
+ - imports
416
+ - apis
417
+ x-enumDescriptions:
418
+ exports: Export resource published to APIM
419
+ imports: Import resource published to APIM
420
+ apis: Builder-mode API resource published to APIM
421
+ examples:
422
+ - exports
423
+ - name: _id
424
+ in: path
425
+ description: Integrator.io resource identifier.
426
+ required: true
427
+ schema:
428
+ type: string
429
+ format: objectId
430
+ examples:
431
+ - 6756aceea7929d3f29126e6e
432
+ requestBody:
433
+ required: true
434
+ content:
435
+ application/json:
436
+ schema:
437
+ $ref: '#/components/schemas/OpenApiSpecPublishRequest'
438
+ examples:
439
+ signedUrl:
440
+ summary: Publish from a signed S3 URL
441
+ value:
442
+ signedUrl: https://s3.amazonaws.com/bucket/spec.yml?signature=...
443
+ autoGenerated:
444
+ summary: Auto-generated spec (no signed URL)
445
+ value: {}
446
+ responses:
447
+ '200':
448
+ description: Published OpenAPI document.
449
+ content:
450
+ application/json:
451
+ schema:
452
+ $ref: '#/components/schemas/OpenApiSpecPublishResponse'
453
+ examples:
454
+ default:
455
+ value:
456
+ id: 123e4567-e89b-12d3-a456-426614174000
457
+ name: openapi-spec
458
+ type: SWAGGER
459
+ '400':
460
+ $ref: '#/components/responses/400-bad-request'
461
+ '401':
462
+ $ref: '#/components/responses/401-unauthorized'
463
+ '403':
464
+ $ref: '#/components/responses/403-forbidden'
465
+ '404':
466
+ $ref: '#/components/responses/404-not-found'
467
+ /v1/apim/setup:
468
+ post:
469
+ x-internal: false
470
+ summary: Set up APIM account
471
+ description: |-
472
+ Provisions APIM for the account with a subdomain and service account email.
473
+ Processing is asynchronous and returns `202 Accepted` with an empty body.
474
+
475
+ Production environment only. Requires `apim:operations` permission.
476
+ operationId: setupApim
477
+ tags:
478
+ - APIM
479
+ requestBody:
480
+ required: true
481
+ content:
482
+ application/json:
483
+ schema:
484
+ $ref: '#/components/schemas/ApimSetupRequest'
485
+ examples:
486
+ default:
487
+ value:
488
+ subdomain: production-subdomain
489
+ serviceAccountEmail: apim-service@example.com
490
+ responses:
491
+ '202':
492
+ $ref: '#/components/responses/202-accepted'
493
+ '400':
494
+ $ref: '#/components/responses/400-bad-request'
495
+ '401':
496
+ $ref: '#/components/responses/401-unauthorized'
497
+ '403':
498
+ $ref: '#/components/responses/403-forbidden'
499
+ '404':
500
+ $ref: '#/components/responses/404-not-found'
501
+ '409':
502
+ $ref: '#/components/responses/409-conflict'
503
+ '422':
504
+ $ref: '#/components/responses/422-unprocessable-entity'
505
+ put:
506
+ x-internal: false
507
+ summary: Update APIM account settings
508
+ description: |-
509
+ Updates the service account email for an existing APIM account configuration.
510
+
511
+ Production environment only. Requires `apim:operations` permission.
512
+ operationId: updateApimSetup
513
+ tags:
514
+ - APIM
515
+ requestBody:
516
+ required: true
517
+ content:
518
+ application/json:
519
+ schema:
520
+ $ref: '#/components/schemas/ApimSetupUpdateRequest'
521
+ examples:
522
+ default:
523
+ value:
524
+ serviceAccountEmail: apim-service@example.com
525
+ responses:
526
+ '200':
527
+ description: Updated service account email.
528
+ content:
529
+ application/json:
530
+ schema:
531
+ $ref: '#/components/schemas/ApimSetupUpdateResponse'
532
+ examples:
533
+ default:
534
+ value:
535
+ serviceAccountEmail: apim-service@example.com
536
+ '400':
537
+ $ref: '#/components/responses/400-bad-request'
538
+ '401':
539
+ $ref: '#/components/responses/401-unauthorized'
540
+ '403':
541
+ $ref: '#/components/responses/403-forbidden'
542
+ '404':
543
+ $ref: '#/components/responses/404-not-found'
544
+ '422':
545
+ $ref: '#/components/responses/422-unprocessable-entity'
546
+ /v1/apim/validate:
547
+ put:
548
+ x-internal: false
549
+ summary: Validate APIM subdomain
550
+ description: |-
551
+ Checks whether a subdomain is available for APIM account setup.
552
+
553
+ Production environment only.
554
+ operationId: validateApimSubdomain
555
+ tags:
556
+ - APIM
557
+ requestBody:
558
+ required: true
559
+ content:
560
+ application/json:
561
+ schema:
562
+ type: object
563
+ required:
564
+ - subdomain
565
+ properties:
566
+ subdomain:
567
+ type: string
568
+ description: Subdomain to validate.
569
+ examples:
570
+ - production-subdomain
571
+ examples:
572
+ default:
573
+ value:
574
+ subdomain: production-subdomain
575
+ responses:
576
+ '200':
577
+ description: Subdomain is available.
578
+ content:
579
+ application/json:
580
+ schema:
581
+ $ref: '#/components/schemas/ValidationResult'
582
+ examples:
583
+ default:
584
+ value:
585
+ valid: true
586
+ '400':
587
+ description: Invalid subdomain format.
588
+ content:
589
+ application/json:
590
+ schema:
591
+ $ref: '#/components/schemas/ApimValidationFailure'
592
+ '401':
593
+ $ref: '#/components/responses/401-unauthorized'
594
+ '403':
595
+ $ref: '#/components/responses/403-forbidden'
596
+ '409':
597
+ description: Subdomain is not available.
598
+ content:
599
+ application/json:
600
+ schema:
601
+ $ref: '#/components/schemas/ApimValidationFailure'
602
+ /v1/apim/hrid/validate:
603
+ put:
604
+ x-internal: false
605
+ summary: Validate APIM environment HRID
606
+ description: |-
607
+ Checks whether an environment HRID is available for APIM configuration.
608
+
609
+ Production environment only.
610
+ operationId: validateApimEnvironmentHrid
611
+ tags:
612
+ - APIM
613
+ requestBody:
614
+ required: true
615
+ content:
616
+ application/json:
617
+ schema:
618
+ type: object
619
+ required:
620
+ - environmentHRID
621
+ properties:
622
+ environmentHRID:
623
+ type: string
624
+ description: Environment HRID to validate.
625
+ examples:
626
+ - production
627
+ examples:
628
+ default:
629
+ value:
630
+ environmentHRID: production
631
+ responses:
632
+ '200':
633
+ description: Environment HRID is available.
634
+ content:
635
+ application/json:
636
+ schema:
637
+ $ref: '#/components/schemas/ValidationResult'
638
+ examples:
639
+ default:
640
+ value:
641
+ valid: true
642
+ '400':
643
+ description: Invalid environment HRID format.
644
+ content:
645
+ application/json:
646
+ schema:
647
+ $ref: '#/components/schemas/ApimValidationFailure'
648
+ '401':
649
+ $ref: '#/components/responses/401-unauthorized'
650
+ '403':
651
+ $ref: '#/components/responses/403-forbidden'
652
+ '409':
653
+ description: Environment HRID is not available.
654
+ content:
655
+ application/json:
656
+ schema:
657
+ $ref: '#/components/schemas/ApimValidationFailure'
658
+ /v1/apim/settings:
659
+ get:
660
+ x-internal: false
661
+ summary: Get APIM settings
662
+ description: Returns the APIM subdomain and service account email configured for the account.
663
+ operationId: getApimSettings
664
+ tags:
665
+ - APIM
666
+ responses:
667
+ '200':
668
+ description: APIM settings.
669
+ content:
670
+ application/json:
671
+ schema:
672
+ $ref: '#/components/schemas/ApimSettings'
673
+ examples:
674
+ default:
675
+ value:
676
+ subdomain: production-subdomain
677
+ serviceAccountEmail: apim-service@example.com
678
+ '401':
679
+ $ref: '#/components/responses/401-unauthorized'
680
+ '403':
681
+ $ref: '#/components/responses/403-forbidden'
682
+ /v1/resumeAPIM:
683
+ put:
684
+ x-internal: false
685
+ summary: Resume APIM
686
+ description: |-
687
+ Resumes APIM for the account after it has been paused or suspended.
688
+
689
+ Production environment only. Requires `manage:license` permission (not
690
+ `apim:operations`). Returns `204` even when APIM is not yet provisioned
691
+ (no `orgId` on the user).
692
+ operationId: resumeApim
693
+ tags:
694
+ - APIM
695
+ responses:
696
+ '204':
697
+ description: APIM resumed successfully, or APIM was not provisioned.
698
+ '400':
699
+ $ref: '#/components/responses/400-bad-request'
700
+ '401':
701
+ $ref: '#/components/responses/401-unauthorized'
702
+ '403':
703
+ $ref: '#/components/responses/403-forbidden'
704
+ components:
705
+ securitySchemes:
706
+ bearerAuth:
707
+ type: http
708
+ scheme: bearer
709
+ schemas:
710
+ RedirectUrl:
711
+ type: object
712
+ description: Signed redirect URL for the APIM console.
713
+ required:
714
+ - url
715
+ properties:
716
+ url:
717
+ type: string
718
+ description: Fully qualified URL to open in the APIM console.
719
+ examples:
720
+ - https://subdomain.console.apim.integrator.io/#!/production/home/overview
721
+ Error:
722
+ type: object
723
+ description: Standard error response envelope returned by integrator.io APIs.
724
+ properties:
725
+ errors:
726
+ type: array
727
+ description: List of errors that occurred while processing the request.
728
+ items:
729
+ type: object
730
+ properties:
731
+ code:
732
+ oneOf:
733
+ - type: string
734
+ - type: integer
735
+ description: |-
736
+ Machine-readable error code. Usually a string like
737
+ `invalid_ref`, `missing_required_field`, or `unauthorized`;
738
+ may be an **integer** when the error mirrors an upstream HTTP
739
+ status (e.g. `500`) — most commonly returned by connection-ping
740
+ and adaptor-proxy responses.
741
+ message:
742
+ type: string
743
+ description: Human-readable description of the error.
744
+ field:
745
+ type: string
746
+ description: |-
747
+ Optional pointer to the document field that caused the error.
748
+ Used by structural validation errors (`missing_required_field`,
749
+ `invalid_ref`) to indicate which field is at fault
750
+ (e.g. `_id`, `type`, `http.baseURI`).
751
+ source:
752
+ type: string
753
+ description: |-
754
+ Optional origin layer for the error — e.g. `application` when
755
+ the error came from the remote system the adaptor called,
756
+ `connector` when the adaptor itself rejected the request.
757
+ required:
758
+ - message
759
+ required:
760
+ - errors
761
+ ApimApiSummary:
762
+ type: object
763
+ description: An API record returned by the APIM platform.
764
+ properties:
765
+ id:
766
+ type: string
767
+ description: APIM API identifier.
768
+ examples:
769
+ - 6a6201f6-9142-4137-a201-f69142f137f8
770
+ crossId:
771
+ type: string
772
+ description: Identifier that links the same API across environments.
773
+ examples:
774
+ - df83b2a4-cc3e-3f80-9f0d-c138c106c076
775
+ name:
776
+ type: string
777
+ description: API display name.
778
+ examples:
779
+ - my-export
780
+ description:
781
+ type: string
782
+ description: Short description of the API.
783
+ examples:
784
+ - Customer data export API
785
+ apiVersion:
786
+ type: string
787
+ description: API version label shown in the developer portal.
788
+ examples:
789
+ - 1.0.0
790
+ definitionVersion:
791
+ type: string
792
+ enum:
793
+ - V1
794
+ - V2
795
+ - V4
796
+ - FEDERATED
797
+ x-enumDescriptions:
798
+ V1: Legacy v1 API definition format
799
+ V2: v2 API definition format
800
+ V4: v4 API definition format
801
+ FEDERATED: Federated API definition
802
+ description: API definition format version.
803
+ examples:
804
+ - V4
805
+ state:
806
+ type: string
807
+ enum:
808
+ - CLOSED
809
+ - INITIALIZED
810
+ - STARTED
811
+ - STOPPED
812
+ - STOPPING
813
+ x-enumDescriptions:
814
+ CLOSED: API is closed
815
+ INITIALIZED: API is initialized but not started
816
+ STARTED: API is running on the gateway
817
+ STOPPED: API is stopped
818
+ STOPPING: API is stopping
819
+ description: Runtime state of the API on the gateway.
820
+ examples:
821
+ - STARTED
822
+ deploymentState:
823
+ type: string
824
+ enum:
825
+ - DEPLOYED
826
+ - NEED_REDEPLOY
827
+ x-enumDescriptions:
828
+ DEPLOYED: Latest changes are deployed
829
+ NEED_REDEPLOY: There are undeployed changes
830
+ description: Deployment state relative to the gateway.
831
+ examples:
832
+ - DEPLOYED
833
+ visibility:
834
+ type: string
835
+ enum:
836
+ - PUBLIC
837
+ - PRIVATE
838
+ x-enumDescriptions:
839
+ PUBLIC: Visible to all users
840
+ PRIVATE: Visible only to members
841
+ description: Visibility of the API in the developer portal.
842
+ examples:
843
+ - PUBLIC
844
+ lifecycleState:
845
+ type: string
846
+ enum:
847
+ - CREATED
848
+ - PUBLISHED
849
+ - UNPUBLISHED
850
+ - DEPRECATED
851
+ - ARCHIVED
852
+ x-enumDescriptions:
853
+ CREATED: Created but not published
854
+ PUBLISHED: Published to the portal
855
+ UNPUBLISHED: Removed from the portal
856
+ DEPRECATED: Marked as deprecated
857
+ ARCHIVED: Archived
858
+ description: Portal lifecycle state of the API.
859
+ examples:
860
+ - PUBLISHED
861
+ groups:
862
+ type: array
863
+ description: Group identifiers granting team access to the API.
864
+ items:
865
+ type: string
866
+ labels:
867
+ type: array
868
+ description: Free-form labels associated with the API.
869
+ items:
870
+ type: string
871
+ tags:
872
+ type: array
873
+ description: Sharding tags associated with the API.
874
+ items:
875
+ type: string
876
+ deployedAt:
877
+ type: string
878
+ format: date-time
879
+ description: Timestamp when the API was last deployed.
880
+ createdAt:
881
+ type: string
882
+ format: date-time
883
+ description: Timestamp when the API was created.
884
+ updatedAt:
885
+ type: string
886
+ format: date-time
887
+ description: Timestamp when the API was last updated.
888
+ additionalProperties: true
889
+ ApimApisPagination:
890
+ type: object
891
+ description: Pagination metadata for an APIM API search result.
892
+ properties:
893
+ page:
894
+ type: integer
895
+ description: The current page number.
896
+ examples:
897
+ - 1
898
+ perPage:
899
+ type: integer
900
+ description: The number of items requested per page.
901
+ examples:
902
+ - 10
903
+ pageCount:
904
+ type: integer
905
+ description: The total number of pages.
906
+ examples:
907
+ - 1
908
+ pageItemsCount:
909
+ type: integer
910
+ description: The number of items on the current page.
911
+ examples:
912
+ - 1
913
+ totalCount:
914
+ type: integer
915
+ format: int64
916
+ description: The total number of matching APIs.
917
+ examples:
918
+ - 1
919
+ ApimApisLinks:
920
+ type: object
921
+ description: Pagination links for an APIM API search result.
922
+ properties:
923
+ self:
924
+ type: string
925
+ description: Link to the current page.
926
+ first:
927
+ type: string
928
+ description: Link to the first page.
929
+ last:
930
+ type: string
931
+ description: Link to the last page.
932
+ previous:
933
+ type: string
934
+ description: Link to the previous page; absent on the first page.
935
+ next:
936
+ type: string
937
+ description: Link to the next page; absent on the last page.
938
+ ApimApisListResponse:
939
+ type: object
940
+ description: Paginated list of APIs published in the APIM platform.
941
+ properties:
942
+ apis:
943
+ type: object
944
+ description: APIM API search result.
945
+ properties:
946
+ data:
947
+ type: array
948
+ description: APIM API records for the current page.
949
+ items:
950
+ $ref: '#/components/schemas/ApimApiSummary'
951
+ pagination:
952
+ $ref: '#/components/schemas/ApimApisPagination'
953
+ links:
954
+ $ref: '#/components/schemas/ApimApisLinks'
955
+ ManageApiUpdateRequest:
956
+ type: object
957
+ description: Payload for publishing an integrator.io resource to an existing APIM API.
958
+ required:
959
+ - apiId
960
+ - flowName
961
+ properties:
962
+ apiId:
963
+ type: string
964
+ description: APIM API identifier to publish the resource into.
965
+ examples:
966
+ - 123e4567-e89b-12d3-a456-426614174000
967
+ flowName:
968
+ type: string
969
+ description: Flow name to associate with the published API.
970
+ examples:
971
+ - my-flow
972
+ method:
973
+ type: string
974
+ description: HTTP method exposed by the published API endpoint.
975
+ examples:
976
+ - POST
977
+ ManageApiResponse:
978
+ type: object
979
+ description: API object returned after publishing a resource to APIM.
980
+ properties:
981
+ id:
982
+ type: string
983
+ description: APIM API identifier.
984
+ examples:
985
+ - 123e4567-e89b-12d3-a456-426614174000
986
+ environmentId:
987
+ type: string
988
+ description: APIM environment identifier.
989
+ examples:
990
+ - 123e4567-e89b-12d3-a456-426614174001
991
+ name:
992
+ type: string
993
+ description: API display name in APIM.
994
+ examples:
995
+ - my-export
996
+ version:
997
+ type: string
998
+ description: API version string.
999
+ examples:
1000
+ - 1.0.0
1001
+ description:
1002
+ type: string
1003
+ description: API description in APIM.
1004
+ context_path:
1005
+ type: string
1006
+ description: Published context path.
1007
+ examples:
1008
+ - /my-export
1009
+ state:
1010
+ type: string
1011
+ description: Runtime state of the API in APIM.
1012
+ examples:
1013
+ - STARTED
1014
+ visibility:
1015
+ type: string
1016
+ description: API visibility in APIM.
1017
+ examples:
1018
+ - PUBLIC
1019
+ additionalProperties: true
1020
+ ManageApiCreateRequest:
1021
+ type: object
1022
+ description: Payload for publishing an integrator.io resource to APIM as a new API.
1023
+ required:
1024
+ - contextPath
1025
+ - flowName
1026
+ properties:
1027
+ contextPath:
1028
+ type: string
1029
+ description: Context path for the new APIM API (without leading slash).
1030
+ examples:
1031
+ - my-export
1032
+ flowName:
1033
+ type: string
1034
+ description: Flow name to associate with the published API.
1035
+ examples:
1036
+ - my-flow
1037
+ method:
1038
+ type: string
1039
+ description: HTTP method exposed by the published API endpoint. Defaults to POST.
1040
+ examples:
1041
+ - POST
1042
+ definitionVersion:
1043
+ type: string
1044
+ enum:
1045
+ - v2
1046
+ - v4
1047
+ x-enumDescriptions:
1048
+ v2: Legacy v2 API definition format
1049
+ v4: Version 4 API definition format
1050
+ description: API definition version; omit for legacy v2 behavior.
1051
+ examples:
1052
+ - v4
1053
+ OpenApiSpecPublishRequest:
1054
+ type: object
1055
+ description: Payload for publishing an OpenAPI specification to an APIM API.
1056
+ properties:
1057
+ signedUrl:
1058
+ type: string
1059
+ description: Signed S3 URL containing the OpenAPI specification to publish.
1060
+ examples:
1061
+ - https://s3.amazonaws.com/bucket/spec.yml?signature=...
1062
+ x-celigo-ai-guidance:
1063
+ - |-
1064
+ `signedUrl` is required only when the resource type needs a signed S3 URL:
1065
+ integrator-extension webhooks, imports, untyped exports, and builder-mode APIs.
1066
+ For other resources, omit `signedUrl` — the server generates the OpenAPI document
1067
+ from the resource. Requiredness depends on path `modelPlural` and the resource
1068
+ document shape, not the request body alone.
1069
+ OpenApiSpecPublishResponse:
1070
+ type: object
1071
+ description: APIM document record created after publishing an OpenAPI specification.
1072
+ properties:
1073
+ id:
1074
+ type: string
1075
+ description: APIM document identifier.
1076
+ examples:
1077
+ - 123e4567-e89b-12d3-a456-426614174000
1078
+ name:
1079
+ type: string
1080
+ description: Document name in APIM.
1081
+ examples:
1082
+ - openapi-spec
1083
+ type:
1084
+ type: string
1085
+ description: Document type in APIM.
1086
+ examples:
1087
+ - SWAGGER
1088
+ content:
1089
+ type: string
1090
+ description: OpenAPI specification content uploaded to APIM.
1091
+ additionalProperties: true
1092
+ ApimSetupUpdateRequest:
1093
+ type: object
1094
+ description: Update payload for an existing APIM account configuration.
1095
+ required:
1096
+ - serviceAccountEmail
1097
+ properties:
1098
+ serviceAccountEmail:
1099
+ type: string
1100
+ format: email
1101
+ description: Updated service account email for APIM management operations.
1102
+ examples:
1103
+ - apim-service@example.com
1104
+ ApimSetupUpdateResponse:
1105
+ type: object
1106
+ description: Response after updating APIM service account email.
1107
+ required:
1108
+ - serviceAccountEmail
1109
+ properties:
1110
+ serviceAccountEmail:
1111
+ type: string
1112
+ format: email
1113
+ description: Updated service account email for APIM management operations.
1114
+ examples:
1115
+ - apim-service@example.com
1116
+ ApimSetupRequest:
1117
+ type: object
1118
+ description: Initial APIM account setup payload.
1119
+ required:
1120
+ - subdomain
1121
+ - serviceAccountEmail
1122
+ properties:
1123
+ subdomain:
1124
+ type: string
1125
+ description: Requested APIM subdomain for the account.
1126
+ examples:
1127
+ - production-subdomain
1128
+ serviceAccountEmail:
1129
+ type: string
1130
+ format: email
1131
+ description: Service account email for APIM management operations.
1132
+ examples:
1133
+ - apim-service@example.com
1134
+ ValidationResult:
1135
+ type: object
1136
+ description: Result of an APIM subdomain or environment HRID availability check.
1137
+ required:
1138
+ - valid
1139
+ properties:
1140
+ valid:
1141
+ type: boolean
1142
+ description: When true, the submitted value is available for use.
1143
+ ApimValidationFailure:
1144
+ type: object
1145
+ description: Validation failure for APIM subdomain or environment HRID checks.
1146
+ required:
1147
+ - valid
1148
+ - errors
1149
+ properties:
1150
+ valid:
1151
+ type: boolean
1152
+ enum:
1153
+ - false
1154
+ description: Always false when validation failed.
1155
+ errors:
1156
+ type: array
1157
+ description: Validation errors.
1158
+ items:
1159
+ type: object
1160
+ properties:
1161
+ code:
1162
+ type: string
1163
+ description: Machine-readable error code.
1164
+ message:
1165
+ type: string
1166
+ description: Human-readable error message.
1167
+ required:
1168
+ - message
1169
+ ApimSettings:
1170
+ type: object
1171
+ description: APIM account configuration for the current user.
1172
+ properties:
1173
+ subdomain:
1174
+ type: string
1175
+ description: APIM subdomain assigned to the account.
1176
+ examples:
1177
+ - production-subdomain
1178
+ serviceAccountEmail:
1179
+ type: string
1180
+ format: email
1181
+ description: Service account email used for APIM management operations.
1182
+ examples:
1183
+ - apim-service@example.com
1184
+ responses:
1185
+ 401-unauthorized:
1186
+ description: |-
1187
+ Unauthorized. The request lacks a valid bearer token, or the provided token
1188
+ failed to authenticate.
1189
+
1190
+ Note: the 401 response is produced by the auth middleware **before** the
1191
+ request reaches the endpoint handler, so it does **not** follow the
1192
+ standard `{errors: [...]}` envelope. Instead the body is a bare
1193
+ `{message: string}` object with no `code`, no `errors` array. Callers
1194
+ handling 401s should key off the HTTP status and the `message` string,
1195
+ not try to destructure an `errors[]`.
1196
+ content:
1197
+ application/json:
1198
+ schema:
1199
+ type: object
1200
+ properties:
1201
+ message:
1202
+ type: string
1203
+ description: |-
1204
+ Human-readable description of the auth failure. Known values:
1205
+ - `"Unauthorized"` — no `Authorization` header on the request.
1206
+ - `"Bearer Authentication Failed"` — header present but token
1207
+ is invalid, revoked, or expired.
1208
+ required:
1209
+ - message
1210
+ examples:
1211
+ missing_token:
1212
+ summary: No Authorization header sent
1213
+ value:
1214
+ message: Unauthorized
1215
+ invalid_token:
1216
+ summary: Bearer token invalid or revoked
1217
+ value:
1218
+ message: Bearer Authentication Failed
1219
+ 403-forbidden:
1220
+ description: |
1221
+ Forbidden. The authenticated caller does not have permission to perform this operation.
1222
+ content:
1223
+ application/json:
1224
+ schema:
1225
+ $ref: '#/components/schemas/Error'
1226
+ examples:
1227
+ default:
1228
+ value:
1229
+ errors:
1230
+ - code: forbidden
1231
+ message: You do not have permission to access this resource.
1232
+ 404-not-found:
1233
+ description: |
1234
+ Not found. The requested resource does not exist or is not visible to the caller.
1235
+ content:
1236
+ application/json:
1237
+ schema:
1238
+ $ref: '#/components/schemas/Error'
1239
+ examples:
1240
+ default:
1241
+ value:
1242
+ errors:
1243
+ - code: not_found
1244
+ message: The requested resource was not found.
1245
+ 422-unprocessable-entity:
1246
+ description: |
1247
+ Unprocessable entity. The request was well-formed but was unable to be followed due to semantic errors.
1248
+ content:
1249
+ application/json:
1250
+ schema:
1251
+ $ref: '#/components/schemas/Error'
1252
+ examples:
1253
+ default:
1254
+ value:
1255
+ errors:
1256
+ - code: unprocessable_entity
1257
+ message: The request could not be processed due to a semantic error.
1258
+ 400-bad-request:
1259
+ description: |
1260
+ Bad request. The server could not understand the request because of malformed syntax or invalid parameters.
1261
+ content:
1262
+ application/json:
1263
+ schema:
1264
+ $ref: '#/components/schemas/Error'
1265
+ examples:
1266
+ default:
1267
+ value:
1268
+ errors:
1269
+ - code: invalid_request
1270
+ message: The request body failed validation.
1271
+ 202-accepted:
1272
+ description: Request accepted for asynchronous processing. Response has no body.
1273
+ 409-conflict:
1274
+ description: Conflict — the submitted value is already in use.
1275
+ content:
1276
+ application/json:
1277
+ schema:
1278
+ $ref: '#/components/schemas/Error'
1279
+ examples:
1280
+ default:
1281
+ value:
1282
+ errors:
1283
+ - code: apim_subdomain_unavailable
1284
+ message: The requested subdomain is not available.
1285
+ x-enable-proxy: true
1286
+ x-internal: false