@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
@@ -0,0 +1,590 @@
1
+ openapi: 3.2.0
2
+ info:
3
+ version: 1.0.0
4
+ title: MCP OAuth Providers
5
+ description: API for managing Celigo MCP OAuth providers — reusable OAuth 2.0 token-validation configurations referenced by MCP servers.
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: MCP OAuth Providers
19
+ description: |-
20
+ MCP OAuth providers are reusable OAuth 2.0 configurations referenced by
21
+ MCP servers. Each provider holds an issuer URL, audience, optional scopes,
22
+ and optional introspection settings. Multiple MCP servers can reference
23
+ the same provider via `_mcpOAuthProviderId`, avoiding duplicated OAuth
24
+ configuration.
25
+
26
+ Providers support two token validation modes: JWT validation against the
27
+ issuer's JWKS endpoint (default), or RFC 7662 introspection for opaque
28
+ tokens when `useIntrospection` is enabled with `clientId`/`clientSecret`.
29
+
30
+ ## MCP OAuth provider schema
31
+
32
+ {% openapi-schemas spec="mcp-oauth-provider" schemas="MCPOAuthProvider" grouped="true" %}
33
+ paths:
34
+ /v1/mcpoauthproviders:
35
+ get:
36
+ x-internal: false
37
+ summary: List MCP OAuth providers
38
+ description: Returns all MCP OAuth providers in the account.
39
+ operationId: listMcpOauthProviders
40
+ tags:
41
+ - MCP OAuth Providers
42
+ parameters:
43
+ - $ref: '#/components/parameters/Include'
44
+ - $ref: '#/components/parameters/Exclude'
45
+ responses:
46
+ '200':
47
+ description: Provider list.
48
+ content:
49
+ application/json:
50
+ schema:
51
+ type: array
52
+ items:
53
+ $ref: '#/components/schemas/MCPOAuthProvider'
54
+ examples:
55
+ default:
56
+ value:
57
+ - _id: 69fcae29459e338098b54257
58
+ _userId: 624cb0346309dc3a543733a2
59
+ name: auth.example.com
60
+ description: Production Auth0 tenant
61
+ issuerURL: https://auth.example.com
62
+ audience: https://mcp.example.com
63
+ scopes:
64
+ - mcp:read
65
+ - mcp:write
66
+ useIntrospection: true
67
+ clientId: my-client-id
68
+ clientSecret: '******'
69
+ createdAt: '2026-05-07T15:22:16.998Z'
70
+ lastModified: '2026-05-07T15:22:16.998Z'
71
+ '204':
72
+ description: No providers exist in the account.
73
+ '401':
74
+ $ref: '#/components/responses/401-unauthorized'
75
+ post:
76
+ x-internal: false
77
+ summary: Create an MCP OAuth provider
78
+ description: |-
79
+ Creates a reusable OAuth provider that MCP servers can reference via
80
+ `_mcpOAuthProviderId`. `name`, `issuerURL`, and `audience` are
81
+ required. Set `useIntrospection: true` with `clientId`/`clientSecret`
82
+ to support opaque (non-JWT) tokens.
83
+ operationId: createMcpOauthProvider
84
+ tags:
85
+ - MCP OAuth Providers
86
+ requestBody:
87
+ required: true
88
+ content:
89
+ application/json:
90
+ schema:
91
+ $ref: '#/components/schemas/Request'
92
+ examples:
93
+ jwt_only:
94
+ summary: JWT-only validation
95
+ value:
96
+ name: auth.example.com
97
+ issuerURL: https://auth.example.com
98
+ audience: https://mcp.example.com
99
+ scopes:
100
+ - mcp:read
101
+ - mcp:write
102
+ with_introspection:
103
+ summary: With opaque token introspection
104
+ value:
105
+ name: auth.example.com
106
+ issuerURL: https://auth.example.com
107
+ audience: https://mcp.example.com
108
+ scopes:
109
+ - mcp:read
110
+ useIntrospection: true
111
+ clientId: my-client-id
112
+ clientSecret: my-client-secret
113
+ responses:
114
+ '201':
115
+ description: Created provider.
116
+ content:
117
+ application/json:
118
+ schema:
119
+ $ref: '#/components/schemas/MCPOAuthProvider'
120
+ examples:
121
+ created:
122
+ summary: Created provider with introspection (secret masked, description defaults to empty)
123
+ value:
124
+ _id: 69fcae29459e338098b54257
125
+ _userId: 624cb0346309dc3a543733a2
126
+ name: auth.example.com
127
+ description: ''
128
+ issuerURL: https://auth.example.com
129
+ audience: https://api.example.com
130
+ useIntrospection: true
131
+ clientId: cid123
132
+ clientSecret: '******'
133
+ createdAt: '2026-05-07T15:22:16.998Z'
134
+ lastModified: '2026-05-07T15:22:16.998Z'
135
+ '400':
136
+ $ref: '#/components/responses/400-bad-request'
137
+ '401':
138
+ $ref: '#/components/responses/401-unauthorized'
139
+ '422':
140
+ $ref: '#/components/responses/422-unprocessable-entity'
141
+ /v1/mcpoauthproviders/{_id}:
142
+ get:
143
+ x-internal: false
144
+ summary: Get an MCP OAuth provider
145
+ description: Returns the full configuration of an MCP OAuth provider.
146
+ operationId: getMcpOauthProviderById
147
+ tags:
148
+ - MCP OAuth Providers
149
+ parameters:
150
+ - name: _id
151
+ in: path
152
+ description: Provider ID.
153
+ required: true
154
+ schema:
155
+ type: string
156
+ format: objectId
157
+ x-celigo-refModel: mcpoauthproviders
158
+ examples:
159
+ - 69fcae29459e338098b54257
160
+ responses:
161
+ '200':
162
+ description: Provider configuration.
163
+ content:
164
+ application/json:
165
+ schema:
166
+ $ref: '#/components/schemas/MCPOAuthProvider'
167
+ examples:
168
+ default:
169
+ summary: Provider with introspection and scoped access
170
+ value:
171
+ _id: 69fcae29459e338098b54257
172
+ _userId: 624cb0346309dc3a543733a2
173
+ name: auth.example.com
174
+ description: Production Auth0 tenant
175
+ issuerURL: https://auth.example.com
176
+ audience: https://mcp.example.com
177
+ scopes:
178
+ - mcp:read
179
+ - mcp:write
180
+ useIntrospection: true
181
+ clientId: my-client-id
182
+ clientSecret: '******'
183
+ createdAt: '2026-05-07T15:22:16.998Z'
184
+ lastModified: '2026-05-07T15:22:16.998Z'
185
+ '401':
186
+ $ref: '#/components/responses/401-unauthorized'
187
+ '404':
188
+ $ref: '#/components/responses/404-not-found'
189
+ put:
190
+ x-internal: false
191
+ summary: Update an MCP OAuth provider
192
+ description: |-
193
+ Full replacement of an MCP OAuth provider's configuration --
194
+ include all fields, not just the ones you want to change. Send
195
+ `clientSecret: "******"` to preserve the existing secret. Changes
196
+ propagate to all MCP servers referencing this provider.
197
+ operationId: updateMcpOauthProvider
198
+ tags:
199
+ - MCP OAuth Providers
200
+ parameters:
201
+ - name: _id
202
+ in: path
203
+ description: Provider ID.
204
+ required: true
205
+ schema:
206
+ type: string
207
+ format: objectId
208
+ x-celigo-refModel: mcpoauthproviders
209
+ examples:
210
+ - 69fcae29459e338098b54257
211
+ requestBody:
212
+ required: true
213
+ content:
214
+ application/json:
215
+ schema:
216
+ $ref: '#/components/schemas/Request'
217
+ examples:
218
+ add_scope:
219
+ summary: Add the mcp:write scope (send masked secret to preserve it)
220
+ value:
221
+ name: auth.example.com
222
+ description: Production Auth0 tenant
223
+ issuerURL: https://auth.example.com
224
+ audience: https://mcp.example.com
225
+ scopes:
226
+ - mcp:read
227
+ - mcp:write
228
+ useIntrospection: true
229
+ clientId: my-client-id
230
+ clientSecret: '******'
231
+ responses:
232
+ '200':
233
+ description: Updated provider.
234
+ content:
235
+ application/json:
236
+ schema:
237
+ $ref: '#/components/schemas/MCPOAuthProvider'
238
+ examples:
239
+ updated:
240
+ summary: Provider with mcp:write scope added
241
+ value:
242
+ _id: 69fcae29459e338098b54257
243
+ _userId: 624cb0346309dc3a543733a2
244
+ name: auth.example.com
245
+ description: Production Auth0 tenant
246
+ issuerURL: https://auth.example.com
247
+ audience: https://mcp.example.com
248
+ scopes:
249
+ - mcp:read
250
+ - mcp:write
251
+ useIntrospection: true
252
+ clientId: my-client-id
253
+ clientSecret: '******'
254
+ createdAt: '2026-05-07T15:22:16.998Z'
255
+ lastModified: '2026-05-08T10:02:44.310Z'
256
+ '400':
257
+ $ref: '#/components/responses/400-bad-request'
258
+ '401':
259
+ $ref: '#/components/responses/401-unauthorized'
260
+ '404':
261
+ $ref: '#/components/responses/404-not-found'
262
+ '422':
263
+ $ref: '#/components/responses/422-unprocessable-entity'
264
+ delete:
265
+ x-internal: false
266
+ summary: Delete an MCP OAuth provider
267
+ description: |-
268
+ Deletes an MCP OAuth provider. MCP servers referencing this
269
+ provider via `_mcpOAuthProviderId` will lose their OAuth
270
+ configuration.
271
+ operationId: deleteMcpOauthProvider
272
+ tags:
273
+ - MCP OAuth Providers
274
+ parameters:
275
+ - name: _id
276
+ in: path
277
+ description: Provider ID.
278
+ required: true
279
+ schema:
280
+ type: string
281
+ format: objectId
282
+ x-celigo-refModel: mcpoauthproviders
283
+ examples:
284
+ - 69fcae29459e338098b54257
285
+ responses:
286
+ '204':
287
+ description: Deleted.
288
+ '401':
289
+ $ref: '#/components/responses/401-unauthorized'
290
+ '404':
291
+ $ref: '#/components/responses/404-not-found'
292
+ components:
293
+ securitySchemes:
294
+ bearerAuth:
295
+ type: http
296
+ scheme: bearer
297
+ parameters:
298
+ Include:
299
+ name: include
300
+ in: query
301
+ required: false
302
+ description: |-
303
+ Comma-separated list of fields to project into each returned record.
304
+ Triggers summary projection: the response contains a minimal identity
305
+ set (`_id`, `name`, plus resource-specific fields) with the requested
306
+ fields added on top. Supports dot notation for nested fields.
307
+ Mutually exclusive with `exclude`.
308
+ schema:
309
+ type: string
310
+ example: _integrationId,disabled,lastModified
311
+ Exclude:
312
+ name: exclude
313
+ in: query
314
+ required: false
315
+ description: |-
316
+ Comma-separated list of fields to strip from the default response.
317
+ Unlike `include`, does not trigger summary projection — returns the
318
+ full record with the named fields removed. Protected identity fields
319
+ (e.g. `name`) cannot be stripped. Mutually exclusive with `include`.
320
+ schema:
321
+ type: string
322
+ example: createdAt,lastModified
323
+ schemas:
324
+ MCPOAuthProviderBase:
325
+ type: object
326
+ description: Writable MCP OAuth provider fields shared by the request and response schemas.
327
+ properties:
328
+ name:
329
+ type: string
330
+ minLength: 1
331
+ maxLength: 150
332
+ description: Display name for the OAuth provider.
333
+ examples:
334
+ - auth.example.com
335
+ description:
336
+ type: string
337
+ description: Description of the provider's purpose.
338
+ examples:
339
+ - Production Auth0 tenant for MCP servers
340
+ issuerURL:
341
+ type: string
342
+ format: uri
343
+ description: |-
344
+ OAuth 2.0 issuer URL. Must include `http://` or `https://` scheme.
345
+ Bare hostnames are rejected.
346
+ examples:
347
+ - https://auth.example.com
348
+ audience:
349
+ type: string
350
+ description: Expected `aud` claim on incoming access tokens.
351
+ examples:
352
+ - https://mcp.example.com
353
+ scopes:
354
+ type: array
355
+ description: Required OAuth scopes. Incoming tokens must carry every listed scope.
356
+ items:
357
+ type: string
358
+ enum:
359
+ - mcp:read
360
+ - mcp:write
361
+ x-enumDescriptions:
362
+ mcp:read: Grants read-only access to MCP server resources.
363
+ mcp:write: Grants write access to MCP server resources.
364
+ examples:
365
+ - - mcp:read
366
+ - mcp:write
367
+ useIntrospection:
368
+ type: boolean
369
+ default: false
370
+ description: |-
371
+ When `true`, opaque access tokens are validated via the issuer's
372
+ RFC 7662 introspection endpoint using `clientId`/`clientSecret`.
373
+ When `false`, only JWT tokens validated against JWKS are accepted.
374
+ clientId:
375
+ type:
376
+ - string
377
+ - 'null'
378
+ description: |-
379
+ OAuth client ID for token introspection. Required when
380
+ `useIntrospection` is `true`.
381
+ examples:
382
+ - my-client-id
383
+ clientSecret:
384
+ type:
385
+ - string
386
+ - 'null'
387
+ description: |-
388
+ OAuth client secret for introspection. Masked as `"******"` in
389
+ responses; sending the masked value on PUT leaves it unchanged.
390
+ ResourceResponse:
391
+ type: object
392
+ description: Response
393
+ x-celigo-ai-guidance:
394
+ - Core response fields shared by all Celigo resources
395
+ properties:
396
+ _id:
397
+ type: string
398
+ format: objectId
399
+ readOnly: true
400
+ description: Unique identifier for the resource. Format is a 24-character hexadecimal string.
401
+ x-celigo-ai-guidance:
402
+ - |-
403
+ The _id is used in:
404
+ - API endpoints that operate on a specific resource (e.g., GET, PUT, DELETE)
405
+ - References from other resources (e.g., flows that use this resource)
406
+ - Job history and error tracking
407
+ examples:
408
+ - 5f8d43a1b9e5a80011a35f2c
409
+ createdAt:
410
+ type: string
411
+ format: date-time
412
+ readOnly: true
413
+ description: Timestamp when the resource was created. Set automatically and cannot be modified.
414
+ x-celigo-ai-guidance:
415
+ - Recorded in ISO 8601 with a UTC timezone (Z suffix).
416
+ examples:
417
+ - '2023-04-01T09:15:32Z'
418
+ lastModified:
419
+ type: string
420
+ format: date-time
421
+ readOnly: true
422
+ description: Timestamp when the resource was last updated. Changes whenever any property is modified.
423
+ x-celigo-ai-guidance:
424
+ - Recorded in ISO 8601 with a UTC timezone (Z suffix); always equal to or later than `createdAt`.
425
+ examples:
426
+ - '2023-04-15T14:30:15Z'
427
+ deletedAt:
428
+ type:
429
+ - string
430
+ - 'null'
431
+ format: date-time
432
+ readOnly: true
433
+ description: Timestamp when the resource was soft-deleted. When null or absent, the resource is active.
434
+ x-celigo-ai-guidance:
435
+ - Non-null means the resource is soft-deleted (in the recycle bin) — recoverable within the retention period before permanent removal.
436
+ examples:
437
+ - '2023-05-20T11:45:32Z'
438
+ required:
439
+ - _id
440
+ MCPOAuthProvider:
441
+ type: object
442
+ required:
443
+ - _id
444
+ - name
445
+ - issuerURL
446
+ - audience
447
+ - createdAt
448
+ - lastModified
449
+ description: MCP OAuth provider object as returned by the API.
450
+ allOf:
451
+ - $ref: '#/components/schemas/MCPOAuthProviderBase'
452
+ - $ref: '#/components/schemas/ResourceResponse'
453
+ - type: object
454
+ properties:
455
+ _userId:
456
+ type: string
457
+ format: objectId
458
+ readOnly: true
459
+ x-celigo-refModel: users
460
+ description: Owning user ID.
461
+ examples:
462
+ - 624cb0346309dc3a543733a2
463
+ Request:
464
+ type: object
465
+ description: |-
466
+ Request body for creating or updating an MCP OAuth provider. On PUT,
467
+ this is a full replacement; include all fields you want to keep because
468
+ omitted optional fields are cleared.
469
+ required:
470
+ - name
471
+ - issuerURL
472
+ - audience
473
+ allOf:
474
+ - $ref: '#/components/schemas/MCPOAuthProviderBase'
475
+ Error:
476
+ type: object
477
+ description: Standard error response envelope returned by integrator.io APIs.
478
+ properties:
479
+ errors:
480
+ type: array
481
+ description: List of errors that occurred while processing the request.
482
+ items:
483
+ type: object
484
+ properties:
485
+ code:
486
+ oneOf:
487
+ - type: string
488
+ - type: integer
489
+ description: |-
490
+ Machine-readable error code. Usually a string like
491
+ `invalid_ref`, `missing_required_field`, or `unauthorized`;
492
+ may be an **integer** when the error mirrors an upstream HTTP
493
+ status (e.g. `500`) — most commonly returned by connection-ping
494
+ and adaptor-proxy responses.
495
+ message:
496
+ type: string
497
+ description: Human-readable description of the error.
498
+ field:
499
+ type: string
500
+ description: |-
501
+ Optional pointer to the document field that caused the error.
502
+ Used by structural validation errors (`missing_required_field`,
503
+ `invalid_ref`) to indicate which field is at fault
504
+ (e.g. `_id`, `type`, `http.baseURI`).
505
+ source:
506
+ type: string
507
+ description: |-
508
+ Optional origin layer for the error — e.g. `application` when
509
+ the error came from the remote system the adaptor called,
510
+ `connector` when the adaptor itself rejected the request.
511
+ required:
512
+ - message
513
+ required:
514
+ - errors
515
+ responses:
516
+ 401-unauthorized:
517
+ description: |-
518
+ Unauthorized. The request lacks a valid bearer token, or the provided token
519
+ failed to authenticate.
520
+
521
+ Note: the 401 response is produced by the auth middleware **before** the
522
+ request reaches the endpoint handler, so it does **not** follow the
523
+ standard `{errors: [...]}` envelope. Instead the body is a bare
524
+ `{message: string}` object with no `code`, no `errors` array. Callers
525
+ handling 401s should key off the HTTP status and the `message` string,
526
+ not try to destructure an `errors[]`.
527
+ content:
528
+ application/json:
529
+ schema:
530
+ type: object
531
+ properties:
532
+ message:
533
+ type: string
534
+ description: |-
535
+ Human-readable description of the auth failure. Known values:
536
+ - `"Unauthorized"` — no `Authorization` header on the request.
537
+ - `"Bearer Authentication Failed"` — header present but token
538
+ is invalid, revoked, or expired.
539
+ required:
540
+ - message
541
+ examples:
542
+ missing_token:
543
+ summary: No Authorization header sent
544
+ value:
545
+ message: Unauthorized
546
+ invalid_token:
547
+ summary: Bearer token invalid or revoked
548
+ value:
549
+ message: Bearer Authentication Failed
550
+ 400-bad-request:
551
+ description: |
552
+ Bad request. The server could not understand the request because of malformed syntax or invalid parameters.
553
+ content:
554
+ application/json:
555
+ schema:
556
+ $ref: '#/components/schemas/Error'
557
+ examples:
558
+ default:
559
+ value:
560
+ errors:
561
+ - code: invalid_request
562
+ message: The request body failed validation.
563
+ 422-unprocessable-entity:
564
+ description: |
565
+ Unprocessable entity. The request was well-formed but was unable to be followed due to semantic errors.
566
+ content:
567
+ application/json:
568
+ schema:
569
+ $ref: '#/components/schemas/Error'
570
+ examples:
571
+ default:
572
+ value:
573
+ errors:
574
+ - code: unprocessable_entity
575
+ message: The request could not be processed due to a semantic error.
576
+ 404-not-found:
577
+ description: |
578
+ Not found. The requested resource does not exist or is not visible to the caller.
579
+ content:
580
+ application/json:
581
+ schema:
582
+ $ref: '#/components/schemas/Error'
583
+ examples:
584
+ default:
585
+ value:
586
+ errors:
587
+ - code: not_found
588
+ message: The requested resource was not found.
589
+ x-enable-proxy: true
590
+ x-internal: false