@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,722 @@
1
+ openapi: 3.2.0
2
+ info:
3
+ version: 1.0.0
4
+ title: HTTP Connector Endpoints
5
+ description: API for managing Celigo HTTP Connector Endpoints — the individual method + URI operations under an HTTP Connector Resource.
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: HTTP Connector Endpoints
19
+ description: |-
20
+ HTTP Connector Endpoints define the individual API operations (method +
21
+ URI) available under an HTTP Connector Resource. Each endpoint specifies
22
+ its HTTP method, relative URI template, query/path parameter definitions,
23
+ and supported-by rules that control how exports and imports are
24
+ pre-configured when users select this endpoint.
25
+
26
+ Endpoints are classified by `supportedBy.type`:
27
+ - **export** — reads data from the target system.
28
+ - **import** — writes data to the target system.
29
+
30
+ ## HTTP connector endpoint schema
31
+
32
+ {% openapi-schemas spec="httpconnectorendpoint" schemas="HTTPConnectorEndpoint" grouped="true" %}
33
+ paths:
34
+ /v1/httpconnectors/{_httpConnectorId}/{_httpConnectorResourceId}/httpconnectorendpoints:
35
+ get:
36
+ x-internal: false
37
+ operationId: listHttpConnectorEndpoints
38
+ tags:
39
+ - HTTP Connector Endpoints
40
+ summary: List HTTP Connector Endpoints for a connector resource
41
+ description: |-
42
+ Returns all endpoints defined under the given HTTP Connector Resource.
43
+ The list response is abridged — only `_id`, `name`, `createdAt`, and
44
+ `lastModified` are returned. Use the by-ID endpoint for the full object
45
+ including `method`, `relativeURI`, and `supportedBy`.
46
+ parameters:
47
+ - name: limit
48
+ in: query
49
+ description: Maximum number of records to return per page.
50
+ schema:
51
+ type: integer
52
+ minimum: 1
53
+ examples:
54
+ - 100
55
+ - $ref: '#/components/parameters/After'
56
+ - in: path
57
+ name: _httpConnectorId
58
+ required: true
59
+ schema:
60
+ type: string
61
+ format: objectId
62
+ x-celigo-refModel: httpconnectors
63
+ examples:
64
+ - 62a1f2c3b4d5e6f7a8b9c0d1
65
+ description: HTTP Connector ID.
66
+ - in: path
67
+ name: _httpConnectorResourceId
68
+ required: true
69
+ schema:
70
+ type: string
71
+ format: objectId
72
+ examples:
73
+ - 63987132784a39b73aae63e7
74
+ description: HTTP Connector Resource ID.
75
+ - in: query
76
+ name: supportedByType
77
+ schema:
78
+ type: string
79
+ enum:
80
+ - import
81
+ - export
82
+ x-enumDescriptions:
83
+ import: Return only endpoints used as imports (write to target system).
84
+ export: Return only endpoints used as exports (read from target system).
85
+ description: Filter endpoints by their supported-by direction.
86
+ - in: query
87
+ name: publishedOnly
88
+ schema:
89
+ type: boolean
90
+ description: When true, only return published endpoints.
91
+ responses:
92
+ '200':
93
+ description: Successfully retrieved list of HTTP Connector Endpoints.
94
+ headers:
95
+ Link:
96
+ description: |-
97
+ RFC-5988 pagination links. When more pages remain, includes a `<...>; rel="next"` entry;
98
+ absent on the final page.
99
+ schema:
100
+ type: string
101
+ content:
102
+ application/json:
103
+ schema:
104
+ type: array
105
+ items:
106
+ $ref: '#/components/schemas/ListItem'
107
+ examples:
108
+ two_endpoints:
109
+ value:
110
+ - _id: 63987132784a39b73aae63e8
111
+ name: List
112
+ createdAt: '2023-01-17T09:52:06.871Z'
113
+ lastModified: '2024-05-23T07:00:46.308Z'
114
+ - _id: 63987132784a39b73aae63e9
115
+ name: Read
116
+ createdAt: '2023-01-17T09:52:07.219Z'
117
+ lastModified: '2024-05-23T07:00:46.660Z'
118
+ '204':
119
+ description: No endpoints exist for this resource (or none match the filter).
120
+ '401':
121
+ $ref: '#/components/responses/401-unauthorized'
122
+ '404':
123
+ $ref: '#/components/responses/404-not-found'
124
+ /v1/httpconnectors/{_httpConnectorId}/{_httpConnectorResourceId}/{_id}:
125
+ get:
126
+ x-internal: false
127
+ operationId: getHttpConnectorEndpointById
128
+ tags:
129
+ - HTTP Connector Endpoints
130
+ summary: Get an HTTP connector endpoint
131
+ description: |-
132
+ Retrieves the full HTTP Connector Endpoint including `method`,
133
+ `relativeURI`, `queryParameters`, `pathParameters`, and `supportedBy`
134
+ details omitted from the list endpoint.
135
+ parameters:
136
+ - in: path
137
+ name: _httpConnectorId
138
+ required: true
139
+ schema:
140
+ type: string
141
+ format: objectId
142
+ x-celigo-refModel: httpconnectors
143
+ examples:
144
+ - 62a1f2c3b4d5e6f7a8b9c0d1
145
+ description: HTTP Connector ID.
146
+ - in: path
147
+ name: _httpConnectorResourceId
148
+ required: true
149
+ schema:
150
+ type: string
151
+ format: objectId
152
+ examples:
153
+ - 63987132784a39b73aae63e7
154
+ description: HTTP Connector Resource ID.
155
+ - in: path
156
+ name: _id
157
+ required: true
158
+ schema:
159
+ type: string
160
+ format: objectId
161
+ x-celigo-refModel: httpconnectorendpoints
162
+ examples:
163
+ - 63987132784a39b73aae63e8
164
+ description: HTTP Connector Endpoint ID.
165
+ responses:
166
+ '200':
167
+ description: HTTP Connector Endpoint retrieved successfully.
168
+ content:
169
+ application/json:
170
+ schema:
171
+ $ref: '#/components/schemas/HTTPConnectorEndpoint'
172
+ examples:
173
+ export_endpoint:
174
+ value:
175
+ _id: 63987132784a39b73aae63e8
176
+ name: List
177
+ createdAt: '2023-01-17T09:52:06.871Z'
178
+ lastModified: '2024-05-23T07:00:46.308Z'
179
+ published: true
180
+ isBlob: false
181
+ isMappingRequired: false
182
+ mergePostBodyToPagingPostBody: false
183
+ _httpConnectorResourceIds:
184
+ - 63987132784a39b73aae63e7
185
+ method: GET
186
+ relativeURI: /api/public/answer/?page={{{export.http.paging.page}}}
187
+ queryParameters:
188
+ - name: question_id
189
+ label: Question ID
190
+ description: Include only answers for a question with the specified ID.
191
+ required: false
192
+ dataType: input
193
+ supportedBy:
194
+ type: export
195
+ preConfiguredFields:
196
+ - path: response
197
+ values:
198
+ - resourcePath: results
199
+ fieldsUserMustSet:
200
+ - path: type
201
+ values:
202
+ - delta
203
+ - test
204
+ '401':
205
+ $ref: '#/components/responses/401-unauthorized'
206
+ '403':
207
+ $ref: '#/components/responses/403-forbidden'
208
+ '404':
209
+ $ref: '#/components/responses/404-not-found'
210
+ components:
211
+ securitySchemes:
212
+ bearerAuth:
213
+ type: http
214
+ scheme: bearer
215
+ parameters:
216
+ After:
217
+ name: after
218
+ in: query
219
+ required: false
220
+ description: |-
221
+ Opaque cursor for forward pagination. Pass the value from the `Link`
222
+ response header (`rel="next"`) to fetch the next page.
223
+ schema:
224
+ type: string
225
+ schemas:
226
+ ListItem:
227
+ type: object
228
+ description: |-
229
+ Abridged HTTP Connector Endpoint returned in list responses. Only
230
+ includes identity and timestamp fields. Use the by-ID endpoint for
231
+ the full object including method, relativeURI, and supportedBy.
232
+ properties:
233
+ _id:
234
+ type: string
235
+ format: objectId
236
+ readOnly: true
237
+ description: Unique identifier for the resource. Format is a 24-character hexadecimal string.
238
+ x-celigo-refModel: httpconnectorendpoints
239
+ examples:
240
+ - 63987132784a39b73aae63e8
241
+ name:
242
+ type: string
243
+ description: Human-readable name for this endpoint.
244
+ examples:
245
+ - List
246
+ createdAt:
247
+ type: string
248
+ format: date-time
249
+ readOnly: true
250
+ description: Timestamp when the resource was created. Set automatically and cannot be modified.
251
+ examples:
252
+ - '2023-01-17T09:52:06.871Z'
253
+ lastModified:
254
+ type: string
255
+ format: date-time
256
+ readOnly: true
257
+ description: Timestamp when the resource was last updated. Changes whenever any property is modified.
258
+ examples:
259
+ - '2024-05-23T07:00:46.308Z'
260
+ Error:
261
+ type: object
262
+ description: Standard error response envelope returned by integrator.io APIs.
263
+ properties:
264
+ errors:
265
+ type: array
266
+ description: List of errors that occurred while processing the request.
267
+ items:
268
+ type: object
269
+ properties:
270
+ code:
271
+ oneOf:
272
+ - type: string
273
+ - type: integer
274
+ description: |-
275
+ Machine-readable error code. Usually a string like
276
+ `invalid_ref`, `missing_required_field`, or `unauthorized`;
277
+ may be an **integer** when the error mirrors an upstream HTTP
278
+ status (e.g. `500`) — most commonly returned by connection-ping
279
+ and adaptor-proxy responses.
280
+ message:
281
+ type: string
282
+ description: Human-readable description of the error.
283
+ field:
284
+ type: string
285
+ description: |-
286
+ Optional pointer to the document field that caused the error.
287
+ Used by structural validation errors (`missing_required_field`,
288
+ `invalid_ref`) to indicate which field is at fault
289
+ (e.g. `_id`, `type`, `http.baseURI`).
290
+ source:
291
+ type: string
292
+ description: |-
293
+ Optional origin layer for the error — e.g. `application` when
294
+ the error came from the remote system the adaptor called,
295
+ `connector` when the adaptor itself rejected the request.
296
+ required:
297
+ - message
298
+ required:
299
+ - errors
300
+ HTTPConnectorEndpointBase:
301
+ type: object
302
+ description: Writable fields shared by the request and response schemas.
303
+ properties:
304
+ name:
305
+ type: string
306
+ description: Human-readable name for this endpoint
307
+ maxLength: 255
308
+ examples:
309
+ - List
310
+ description:
311
+ type: string
312
+ description: Optional endpoint description
313
+ maxLength: 10240
314
+ examples:
315
+ - Returns all answers for a question.
316
+ published:
317
+ type: boolean
318
+ description: When true, this endpoint is published and available for use.
319
+ isBlob:
320
+ type: boolean
321
+ description: When true, this endpoint handles binary/blob data.
322
+ default: false
323
+ isMappingRequired:
324
+ type: boolean
325
+ description: When true, field mapping is required for this endpoint.
326
+ default: false
327
+ _httpConnectorResourceIds:
328
+ type: array
329
+ description: References to HTTP Connector Resources associated with this endpoint
330
+ items:
331
+ type: string
332
+ format: objectId
333
+ examples:
334
+ - 63987132784a39b73aae63e7
335
+ method:
336
+ type: string
337
+ enum:
338
+ - GET
339
+ - PUT
340
+ - POST
341
+ - PATCH
342
+ - DELETE
343
+ - HEAD
344
+ x-enumDescriptions:
345
+ GET: Retrieve data from the endpoint.
346
+ PUT: Replace data at the endpoint.
347
+ POST: Submit data to the endpoint.
348
+ PATCH: Partially update data at the endpoint.
349
+ DELETE: Remove data at the endpoint.
350
+ HEAD: Probe the endpoint without transferring a response body.
351
+ description: |-
352
+ HTTP method for this endpoint. Required on save; lowercase input is
353
+ uppercased automatically.
354
+ relativeURI:
355
+ type: string
356
+ description: Relative URI template for this endpoint
357
+ examples:
358
+ - /api/public/answer/?page={{{export.http.paging.page}}}
359
+ mergePostBodyToPagingPostBody:
360
+ type: boolean
361
+ description: When true, merges the postBody into pagingPostBody for paginated requests.
362
+ default: false
363
+ queryParameters:
364
+ type: array
365
+ description: Query parameter definitions
366
+ items:
367
+ type: object
368
+ properties:
369
+ name:
370
+ type: string
371
+ description: Parameter name as it appears in the request query string.
372
+ examples:
373
+ - question_id
374
+ label:
375
+ type: string
376
+ description: Label shown to users in the UI for this parameter.
377
+ examples:
378
+ - Question ID
379
+ description:
380
+ type: string
381
+ description: Help text shown to users explaining what this parameter does.
382
+ examples:
383
+ - Include only answers for a question with the specified ID.
384
+ required:
385
+ type: boolean
386
+ description: When true, the user must supply a value for this parameter.
387
+ dataType:
388
+ type: string
389
+ enum:
390
+ - input
391
+ - date
392
+ - select
393
+ - multiselect
394
+ - array
395
+ - number
396
+ x-enumDescriptions:
397
+ input: Free-form text input field.
398
+ date: Date picker input field.
399
+ select: Single-value dropdown selection.
400
+ multiselect: Multi-value dropdown selection.
401
+ array: Array of values.
402
+ number: Numeric input field.
403
+ description: UI input type used to collect the parameter value.
404
+ values:
405
+ type: array
406
+ description: Predefined values offered when `dataType` is `select` or `multiselect`.
407
+ items:
408
+ type: string
409
+ examples:
410
+ - open
411
+ required:
412
+ - name
413
+ - label
414
+ pathParameters:
415
+ type: array
416
+ description: Path parameter definitions
417
+ items:
418
+ type: object
419
+ properties:
420
+ name:
421
+ type: string
422
+ description: Parameter name as it appears in the `relativeURI` template.
423
+ examples:
424
+ - id
425
+ label:
426
+ type: string
427
+ description: Label shown to users in the UI for this parameter.
428
+ examples:
429
+ - Answer ID
430
+ description:
431
+ type: string
432
+ description: Help text shown to users explaining what this parameter does.
433
+ examples:
434
+ - Identifier of the answer to retrieve.
435
+ required:
436
+ type: boolean
437
+ description: When true, the user must supply a value for this parameter.
438
+ dataType:
439
+ type: string
440
+ enum:
441
+ - input
442
+ - date
443
+ - select
444
+ - multiselect
445
+ - array
446
+ - number
447
+ x-enumDescriptions:
448
+ input: Free-form text input field.
449
+ date: Date picker input field.
450
+ select: Single-value dropdown selection.
451
+ multiselect: Multi-value dropdown selection.
452
+ array: Array of values.
453
+ number: Numeric input field.
454
+ description: UI input type used to collect the parameter value.
455
+ values:
456
+ type: array
457
+ description: Predefined values offered when `dataType` is `select` or `multiselect`.
458
+ items:
459
+ type: string
460
+ examples:
461
+ - open
462
+ required:
463
+ - name
464
+ - label
465
+ resourceFields:
466
+ type: array
467
+ description: Resource field definitions for this endpoint
468
+ items:
469
+ type: object
470
+ properties:
471
+ type:
472
+ type: string
473
+ enum:
474
+ - inclusion
475
+ - exclusion
476
+ x-enumDescriptions:
477
+ inclusion: Only the listed fields are included in the resource.
478
+ exclusion: All fields except the listed ones are included in the resource.
479
+ description: Whether `fields` lists the fields to include or to exclude.
480
+ fields:
481
+ type: array
482
+ description: Field names the inclusion or exclusion rule applies to.
483
+ items:
484
+ type: string
485
+ examples:
486
+ - question_id
487
+ _httpConnectorResourceId:
488
+ type: string
489
+ format: objectId
490
+ description: HTTP Connector Resource these field rules apply to.
491
+ examples:
492
+ - 63987132784a39b73aae63e7
493
+ required:
494
+ - type
495
+ - fields
496
+ - _httpConnectorResourceId
497
+ supportedBy:
498
+ type: object
499
+ description: Supported-by configuration for this endpoint (framework-defined)
500
+ properties:
501
+ type:
502
+ type: string
503
+ enum:
504
+ - import
505
+ - export
506
+ x-enumDescriptions:
507
+ import: This endpoint is used as an import (writes data to the target system).
508
+ export: This endpoint is used as an export (reads data from the target system).
509
+ description: Whether this endpoint is consumed as an import or an export.
510
+ conditions:
511
+ type: array
512
+ description: Expression-based filters that control when entries in `preConfiguredFields` and `fieldsUserMustSet` apply.
513
+ items:
514
+ type: object
515
+ additionalProperties: true
516
+ preConfiguredFields:
517
+ type: array
518
+ description: Fields automatically set to predefined values on the generated export or import. Not editable by the user.
519
+ items:
520
+ type: object
521
+ additionalProperties: true
522
+ fieldsUserMustSet:
523
+ type: array
524
+ description: Fields the user must provide values for on the generated export or import.
525
+ items:
526
+ type: object
527
+ additionalProperties: true
528
+ fieldsToUnset:
529
+ type: array
530
+ description: Dot-notation paths of fields to remove from the generated export or import configuration.
531
+ items:
532
+ type: string
533
+ examples:
534
+ - http.paging.method
535
+ pathParameterToIdentifyExisting:
536
+ type: string
537
+ description: Path parameter whose value identifies an existing record in the target application.
538
+ examples:
539
+ - id
540
+ lookupToIdentifyExisting:
541
+ type: object
542
+ description: Lookup used to determine whether a record already exists in the target application.
543
+ properties:
544
+ _httpConnectorEndpointId:
545
+ type: string
546
+ format: objectId
547
+ description: HTTP Connector Endpoint used to perform the lookup.
548
+ x-celigo-refModel: httpconnectorendpoints
549
+ examples:
550
+ - 63987132784a39b73aae63ea
551
+ extract:
552
+ type: string
553
+ description: Path in the lookup response from which to extract the existing record's identifier.
554
+ examples:
555
+ - results.0.id
556
+ ResourceResponse:
557
+ type: object
558
+ description: Response
559
+ x-celigo-ai-guidance:
560
+ - Core response fields shared by all Celigo resources
561
+ properties:
562
+ _id:
563
+ type: string
564
+ format: objectId
565
+ readOnly: true
566
+ description: Unique identifier for the resource. Format is a 24-character hexadecimal string.
567
+ x-celigo-ai-guidance:
568
+ - |-
569
+ The _id is used in:
570
+ - API endpoints that operate on a specific resource (e.g., GET, PUT, DELETE)
571
+ - References from other resources (e.g., flows that use this resource)
572
+ - Job history and error tracking
573
+ examples:
574
+ - 5f8d43a1b9e5a80011a35f2c
575
+ createdAt:
576
+ type: string
577
+ format: date-time
578
+ readOnly: true
579
+ description: Timestamp when the resource was created. Set automatically and cannot be modified.
580
+ x-celigo-ai-guidance:
581
+ - Recorded in ISO 8601 with a UTC timezone (Z suffix).
582
+ examples:
583
+ - '2023-04-01T09:15:32Z'
584
+ lastModified:
585
+ type: string
586
+ format: date-time
587
+ readOnly: true
588
+ description: Timestamp when the resource was last updated. Changes whenever any property is modified.
589
+ x-celigo-ai-guidance:
590
+ - Recorded in ISO 8601 with a UTC timezone (Z suffix); always equal to or later than `createdAt`.
591
+ examples:
592
+ - '2023-04-15T14:30:15Z'
593
+ deletedAt:
594
+ type:
595
+ - string
596
+ - 'null'
597
+ format: date-time
598
+ readOnly: true
599
+ description: Timestamp when the resource was soft-deleted. When null or absent, the resource is active.
600
+ x-celigo-ai-guidance:
601
+ - Non-null means the resource is soft-deleted (in the recycle bin) — recoverable within the retention period before permanent removal.
602
+ examples:
603
+ - '2023-05-20T11:45:32Z'
604
+ required:
605
+ - _id
606
+ HTTPConnectorEndpoint:
607
+ type: object
608
+ required:
609
+ - _id
610
+ - name
611
+ - method
612
+ - relativeURI
613
+ - published
614
+ - createdAt
615
+ - lastModified
616
+ description: HTTP Connector Endpoint object as returned by the detail (by-ID) endpoint.
617
+ allOf:
618
+ - $ref: '#/components/schemas/HTTPConnectorEndpointBase'
619
+ - $ref: '#/components/schemas/ResourceResponse'
620
+ - type: object
621
+ properties:
622
+ _userId:
623
+ type: string
624
+ format: objectId
625
+ description: Owner user id
626
+ readOnly: true
627
+ x-celigo-refModel: users
628
+ examples:
629
+ - 55f9d6e0c1a2b3d4e5f60718
630
+ metadata:
631
+ type: object
632
+ readOnly: true
633
+ description: |-
634
+ Endpoint metadata used by Data Intelligence tooling. Returned
635
+ only by the detail (by-ID) endpoint — list responses omit it.
636
+ properties:
637
+ di:
638
+ type: object
639
+ description: Data Intelligence attributes for this endpoint.
640
+ properties:
641
+ isListEndpoint:
642
+ type: boolean
643
+ description: When true, the endpoint returns a list of records rather than a single record.
644
+ responseFields:
645
+ type: array
646
+ description: Fields Data Intelligence expects in this endpoint's response records.
647
+ items:
648
+ type: object
649
+ properties:
650
+ id:
651
+ type: string
652
+ description: Field path within a response record.
653
+ examples:
654
+ - email
655
+ dataType:
656
+ type: string
657
+ description: Data type of the field.
658
+ examples:
659
+ - string
660
+ responses:
661
+ 401-unauthorized:
662
+ description: |-
663
+ Unauthorized. The request lacks a valid bearer token, or the provided token
664
+ failed to authenticate.
665
+
666
+ Note: the 401 response is produced by the auth middleware **before** the
667
+ request reaches the endpoint handler, so it does **not** follow the
668
+ standard `{errors: [...]}` envelope. Instead the body is a bare
669
+ `{message: string}` object with no `code`, no `errors` array. Callers
670
+ handling 401s should key off the HTTP status and the `message` string,
671
+ not try to destructure an `errors[]`.
672
+ content:
673
+ application/json:
674
+ schema:
675
+ type: object
676
+ properties:
677
+ message:
678
+ type: string
679
+ description: |-
680
+ Human-readable description of the auth failure. Known values:
681
+ - `"Unauthorized"` — no `Authorization` header on the request.
682
+ - `"Bearer Authentication Failed"` — header present but token
683
+ is invalid, revoked, or expired.
684
+ required:
685
+ - message
686
+ examples:
687
+ missing_token:
688
+ summary: No Authorization header sent
689
+ value:
690
+ message: Unauthorized
691
+ invalid_token:
692
+ summary: Bearer token invalid or revoked
693
+ value:
694
+ message: Bearer Authentication Failed
695
+ 404-not-found:
696
+ description: |
697
+ Not found. The requested resource does not exist or is not visible to the caller.
698
+ content:
699
+ application/json:
700
+ schema:
701
+ $ref: '#/components/schemas/Error'
702
+ examples:
703
+ default:
704
+ value:
705
+ errors:
706
+ - code: not_found
707
+ message: The requested resource was not found.
708
+ 403-forbidden:
709
+ description: |
710
+ Forbidden. The authenticated caller does not have permission to perform this operation.
711
+ content:
712
+ application/json:
713
+ schema:
714
+ $ref: '#/components/schemas/Error'
715
+ examples:
716
+ default:
717
+ value:
718
+ errors:
719
+ - code: forbidden
720
+ message: You do not have permission to access this resource.
721
+ x-enable-proxy: true
722
+ x-internal: false