@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,692 @@
1
+ openapi: 3.2.0
2
+ info:
3
+ version: 1.0.0
4
+ title: Event Reports
5
+ description: API for generating and downloading Celigo event reports — CSV exports of flow execution event data over a time window.
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: Event Reports
19
+ description: |-
20
+ Event reports capture flow execution event data over a time window and
21
+ produce a downloadable CSV once generation completes. Use them for
22
+ compliance auditing, SLA reporting, and bulk error analysis.
23
+
24
+ The typical lifecycle is: create a report with target flow IDs and a
25
+ time range, poll until status reaches `completed`, then download the
26
+ CSV via a time-limited signed URL.
27
+
28
+ ## Event report schema
29
+
30
+ {% openapi-schemas spec="eventreport" schemas="EventReport" grouped="true" %}
31
+ paths:
32
+ /v1/eventreports:
33
+ post:
34
+ x-internal: false
35
+ operationId: createEventReport
36
+ tags:
37
+ - Event Reports
38
+ summary: Create an event report
39
+ description: |-
40
+ Queues generation of a new event report for the specified flows and time window. The report
41
+ is created in `queued` status and transitions through `running` to `completed` (or `canceled`).
42
+
43
+ `startTime` must be within the last 30 days and the span to `endTime` must not exceed 3 days.
44
+ If `endTime` is omitted, the server defaults it to the current time. Poll
45
+ `GET /v1/eventreports/{_id}` until `status` is `completed`, then download the CSV via
46
+ `GET /v1/eventreports/{_id}/signedURL`. The create response includes `_requestedByUserId`;
47
+ subsequent GET responses replace this with the `requestedByUser` object (name + email).
48
+ requestBody:
49
+ required: true
50
+ content:
51
+ application/json:
52
+ schema:
53
+ $ref: '#/components/schemas/EventReportCreateRequest'
54
+ examples:
55
+ single_flow:
56
+ summary: Report for a single flow over two days
57
+ value:
58
+ type: flow_events
59
+ _flowIds:
60
+ - 63a1b2c3d4e5f60011223344
61
+ startTime: '2026-04-27T00:00:00.000Z'
62
+ endTime: '2026-04-29T00:00:00.000Z'
63
+ multiple_flows:
64
+ summary: Report for multiple flows (endTime defaults to now)
65
+ value:
66
+ type: flow_events
67
+ _flowIds:
68
+ - 63a1b2c3d4e5f60011223344
69
+ - 63a1b2c3d4e5f60011223355
70
+ startTime: '2026-04-28T00:00:00.000Z'
71
+ responses:
72
+ '201':
73
+ description: Event report created and queued for generation.
74
+ content:
75
+ application/json:
76
+ schema:
77
+ $ref: '#/components/schemas/EventReport'
78
+ examples:
79
+ created:
80
+ summary: Newly created event report
81
+ value:
82
+ _id: 682278b3e4b0a10012abcdef
83
+ _requestedByUserId: 60f1a2b3c4d5e6f7a8b9c0d1
84
+ type: flow_events
85
+ _flowIds:
86
+ - 63a1b2c3d4e5f60011223344
87
+ startTime: '2026-04-27T00:00:00.000Z'
88
+ endTime: '2026-04-29T00:00:00.000Z'
89
+ status: queued
90
+ reportGenerationErrors: []
91
+ createdAt: '2026-04-29T14:30:00.000Z'
92
+ '400':
93
+ $ref: '#/components/responses/400-bad-request'
94
+ '401':
95
+ $ref: '#/components/responses/401-unauthorized'
96
+ '422':
97
+ $ref: '#/components/responses/422-unprocessable-entity'
98
+ get:
99
+ x-internal: false
100
+ operationId: listEventReports
101
+ tags:
102
+ - Event Reports
103
+ summary: List event reports
104
+ description: |-
105
+ Returns all event report objects for the account. No pagination or
106
+ filtering is supported — query parameters like `eventReportId`,
107
+ `_limit`, and `status` are accepted but silently ignored.
108
+ responses:
109
+ '200':
110
+ description: Array of event report objects.
111
+ content:
112
+ application/json:
113
+ schema:
114
+ type: array
115
+ items:
116
+ $ref: '#/components/schemas/EventReport'
117
+ examples:
118
+ list:
119
+ summary: List with one completed and one queued report
120
+ value:
121
+ - _id: 682278b3e4b0a10012abcdef
122
+ type: flow_events
123
+ _flowIds:
124
+ - 63a1b2c3d4e5f60011223344
125
+ startTime: '2026-04-27T00:00:00.000Z'
126
+ endTime: '2026-04-29T00:00:00.000Z'
127
+ status: completed
128
+ reportGenerationErrors: []
129
+ createdAt: '2026-04-28T14:30:00.000Z'
130
+ startedAt: '2026-04-28T14:30:05.000Z'
131
+ endedAt: '2026-04-28T14:32:00.000Z'
132
+ requestedByUser:
133
+ name: Jane Doe
134
+ email: jane.doe@example.com
135
+ - _id: 682278b3e4b0a10012aaaaaa
136
+ type: flow_events
137
+ _flowIds:
138
+ - 63a1b2c3d4e5f60011223355
139
+ startTime: '2026-04-28T00:00:00.000Z'
140
+ endTime: '2026-04-29T12:00:00.000Z'
141
+ status: queued
142
+ reportGenerationErrors: []
143
+ createdAt: '2026-04-29T15:00:00.000Z'
144
+ requestedByUser:
145
+ name: Jane Doe
146
+ email: jane.doe@example.com
147
+ '401':
148
+ $ref: '#/components/responses/401-unauthorized'
149
+ /v1/eventreports/{_id}:
150
+ get:
151
+ x-internal: false
152
+ operationId: getEventReportById
153
+ tags:
154
+ - Event Reports
155
+ summary: Get an event report
156
+ description: |-
157
+ Returns a single event report by ID. Check `status` for `completed` before attempting to
158
+ download via the signed URL. The `reportGenerationErrors` array may contain per-flow errors
159
+ even when the overall status is `completed`.
160
+ parameters:
161
+ - name: _id
162
+ in: path
163
+ required: true
164
+ description: Event report ID.
165
+ schema:
166
+ type: string
167
+ format: objectId
168
+ x-celigo-refModel: eventreports
169
+ examples:
170
+ - 682278b3e4b0a10012abcdef
171
+ responses:
172
+ '200':
173
+ description: The event report record.
174
+ content:
175
+ application/json:
176
+ schema:
177
+ $ref: '#/components/schemas/EventReport'
178
+ examples:
179
+ completed:
180
+ summary: A completed event report
181
+ value:
182
+ _id: 682278b3e4b0a10012abcdef
183
+ type: flow_events
184
+ _flowIds:
185
+ - 63a1b2c3d4e5f60011223344
186
+ startTime: '2026-04-27T00:00:00.000Z'
187
+ endTime: '2026-04-29T00:00:00.000Z'
188
+ status: completed
189
+ reportGenerationErrors: []
190
+ createdAt: '2026-04-28T14:30:00.000Z'
191
+ startedAt: '2026-04-28T14:30:05.000Z'
192
+ endedAt: '2026-04-28T14:32:00.000Z'
193
+ requestedByUser:
194
+ name: Jane Doe
195
+ email: jane.doe@example.com
196
+ running:
197
+ summary: A report still in progress
198
+ value:
199
+ _id: 682278b3e4b0a10012aaaaaa
200
+ type: flow_events
201
+ _flowIds:
202
+ - 63a1b2c3d4e5f60011223355
203
+ startTime: '2026-04-28T00:00:00.000Z'
204
+ endTime: '2026-04-29T12:00:00.000Z'
205
+ status: running
206
+ reportGenerationErrors: []
207
+ createdAt: '2026-04-29T15:00:00.000Z'
208
+ startedAt: '2026-04-29T15:00:02.000Z'
209
+ requestedByUser:
210
+ name: Jane Doe
211
+ email: jane.doe@example.com
212
+ '400':
213
+ $ref: '#/components/responses/400-bad-request'
214
+ '401':
215
+ $ref: '#/components/responses/401-unauthorized'
216
+ '404':
217
+ $ref: '#/components/responses/404-not-found'
218
+ /v1/eventreports/{_id}/signedURL:
219
+ get:
220
+ x-internal: false
221
+ operationId: getEventReportSignedUrl
222
+ tags:
223
+ - Event Reports
224
+ summary: Get signed URL for an event report
225
+ description: |-
226
+ Returns a pre-signed S3 URL for downloading the completed event report as a CSV file.
227
+ The URL is valid for approximately 15 minutes. Only works when the report `status` is
228
+ `completed` -- requesting it in any other status returns 400. If the URL has expired,
229
+ call this endpoint again to get a fresh one.
230
+ parameters:
231
+ - name: _id
232
+ in: path
233
+ required: true
234
+ description: Event report ID.
235
+ schema:
236
+ type: string
237
+ format: objectId
238
+ x-celigo-refModel: eventreports
239
+ examples:
240
+ - 682278b3e4b0a10012abcdef
241
+ responses:
242
+ '200':
243
+ description: Signed URL for CSV download.
244
+ content:
245
+ application/json:
246
+ schema:
247
+ $ref: '#/components/schemas/EventReportSignedUrlResponse'
248
+ examples:
249
+ signed_url:
250
+ summary: Signed URL response
251
+ value:
252
+ signedURL: https://integrator-event-reports.s3.us-east-1.amazonaws.com/_682278b3e4b0a10012abcdef.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=abc123
253
+ '400':
254
+ description: The report is not in `completed` status.
255
+ content:
256
+ application/json:
257
+ schema:
258
+ $ref: '#/components/schemas/Error'
259
+ examples:
260
+ invalid_status:
261
+ summary: Report not completed
262
+ value:
263
+ errors:
264
+ - code: invalid_status
265
+ message: Event report can be downloaded only if it's in completed status.
266
+ '401':
267
+ $ref: '#/components/responses/401-unauthorized'
268
+ '404':
269
+ $ref: '#/components/responses/404-not-found'
270
+ /v1/eventreports/{_id}/cancel:
271
+ put:
272
+ x-internal: false
273
+ operationId: cancelEventReport
274
+ tags:
275
+ - Event Reports
276
+ summary: Cancel an event report
277
+ description: |-
278
+ Cancels a queued or running event report. The report's `status` transitions to `canceled`.
279
+ No request body is needed. Idempotent for reports already in `canceled` status. A `completed`
280
+ report cannot be canceled, and canceled reports cannot be resumed -- create a new one instead.
281
+ parameters:
282
+ - name: _id
283
+ in: path
284
+ required: true
285
+ description: Event report ID to cancel.
286
+ schema:
287
+ type: string
288
+ format: objectId
289
+ x-celigo-refModel: eventreports
290
+ examples:
291
+ - 682278b3e4b0a10012abcdef
292
+ responses:
293
+ '204':
294
+ description: Event report canceled successfully.
295
+ '401':
296
+ $ref: '#/components/responses/401-unauthorized'
297
+ '404':
298
+ $ref: '#/components/responses/404-not-found'
299
+ '422':
300
+ description: The report is in `completed` status and cannot be canceled.
301
+ content:
302
+ application/json:
303
+ schema:
304
+ $ref: '#/components/schemas/Error'
305
+ examples:
306
+ invalid_status:
307
+ summary: Cannot cancel a completed report
308
+ value:
309
+ errors:
310
+ - field: status
311
+ code: invalid_status
312
+ message: An event report status cannot be modified once its in completed status.
313
+ components:
314
+ securitySchemes:
315
+ bearerAuth:
316
+ type: http
317
+ scheme: bearer
318
+ schemas:
319
+ ResourceResponse:
320
+ type: object
321
+ description: Response
322
+ x-celigo-ai-guidance:
323
+ - Core response fields shared by all Celigo resources
324
+ properties:
325
+ _id:
326
+ type: string
327
+ format: objectId
328
+ readOnly: true
329
+ description: Unique identifier for the resource. Format is a 24-character hexadecimal string.
330
+ x-celigo-ai-guidance:
331
+ - |-
332
+ The _id is used in:
333
+ - API endpoints that operate on a specific resource (e.g., GET, PUT, DELETE)
334
+ - References from other resources (e.g., flows that use this resource)
335
+ - Job history and error tracking
336
+ examples:
337
+ - 5f8d43a1b9e5a80011a35f2c
338
+ createdAt:
339
+ type: string
340
+ format: date-time
341
+ readOnly: true
342
+ description: Timestamp when the resource was created. Set automatically and cannot be modified.
343
+ x-celigo-ai-guidance:
344
+ - Recorded in ISO 8601 with a UTC timezone (Z suffix).
345
+ examples:
346
+ - '2023-04-01T09:15:32Z'
347
+ lastModified:
348
+ type: string
349
+ format: date-time
350
+ readOnly: true
351
+ description: Timestamp when the resource was last updated. Changes whenever any property is modified.
352
+ x-celigo-ai-guidance:
353
+ - Recorded in ISO 8601 with a UTC timezone (Z suffix); always equal to or later than `createdAt`.
354
+ examples:
355
+ - '2023-04-15T14:30:15Z'
356
+ deletedAt:
357
+ type:
358
+ - string
359
+ - 'null'
360
+ format: date-time
361
+ readOnly: true
362
+ description: Timestamp when the resource was soft-deleted. When null or absent, the resource is active.
363
+ x-celigo-ai-guidance:
364
+ - Non-null means the resource is soft-deleted (in the recycle bin) — recoverable within the retention period before permanent removal.
365
+ examples:
366
+ - '2023-05-20T11:45:32Z'
367
+ required:
368
+ - _id
369
+ EventReport:
370
+ type: object
371
+ required:
372
+ - _id
373
+ - type
374
+ - _flowIds
375
+ - startTime
376
+ - status
377
+ - createdAt
378
+ description: |
379
+ An event report captures flow execution event data for a set of flows over
380
+ a specified time window. Once generation completes, the report can be
381
+ downloaded as a CSV via a time-limited signed URL.
382
+
383
+ **Status lifecycle:** `queued` -> `running` -> `completed` | `canceled`
384
+
385
+ The `reportGenerationErrors` array may contain per-flow errors even when the overall status
386
+ is `completed`. The `_requestedByUserId` field only appears on the POST create response;
387
+ GET endpoints return `requestedByUser` (with `name` and `email`) instead.
388
+ allOf:
389
+ - $ref: '#/components/schemas/ResourceResponse'
390
+ - type: object
391
+ properties:
392
+ _requestedByUserId:
393
+ type: string
394
+ format: objectId
395
+ x-celigo-refModel: users
396
+ readOnly: true
397
+ description: The user ID of the person who requested the report.
398
+ examples:
399
+ - 60f1a2b3c4d5e6f7a8b9c0d1
400
+ type:
401
+ type: string
402
+ description: |
403
+ The type of event report. Currently only `flow_events` is supported.
404
+ enum:
405
+ - flow_events
406
+ x-enumDescriptions:
407
+ flow_events: Report capturing flow execution event data.
408
+ examples:
409
+ - flow_events
410
+ _flowIds:
411
+ type: array
412
+ description: |
413
+ Array of flow IDs whose events are included in the report. At least
414
+ one flow ID is required.
415
+ minItems: 1
416
+ items:
417
+ type: string
418
+ format: objectId
419
+ x-celigo-refModel: flows
420
+ examples:
421
+ - - 63a1b2c3d4e5f60011223344
422
+ - 63a1b2c3d4e5f60011223355
423
+ startTime:
424
+ type: string
425
+ format: date-time
426
+ description: |
427
+ Start of the time window for the report. Must be within the last
428
+ 30 days. ISO 8601 format.
429
+ examples:
430
+ - '2026-04-01T00:00:00.000Z'
431
+ endTime:
432
+ type: string
433
+ format: date-time
434
+ description: |
435
+ End of the time window for the report. Defaults to the current time
436
+ if omitted. The span between `startTime` and `endTime` must not
437
+ exceed 3 days.
438
+ examples:
439
+ - '2026-04-03T00:00:00.000Z'
440
+ status:
441
+ type: string
442
+ readOnly: true
443
+ description: Current status of the report generation.
444
+ enum:
445
+ - queued
446
+ - running
447
+ - completed
448
+ - canceled
449
+ x-enumDescriptions:
450
+ queued: Report request accepted and waiting to be processed.
451
+ running: Report generation is in progress.
452
+ completed: Report CSV is ready for download.
453
+ canceled: Report was canceled before completion.
454
+ examples:
455
+ - queued
456
+ reportGenerationErrors:
457
+ type: array
458
+ readOnly: true
459
+ description: |
460
+ Errors encountered during report generation. May contain entries even
461
+ when the overall status is `completed` (e.g. a single flow failed
462
+ while others succeeded).
463
+ items:
464
+ type: object
465
+ properties:
466
+ code:
467
+ type: string
468
+ description: Machine-readable error code.
469
+ examples:
470
+ - flow_not_found
471
+ message:
472
+ type: string
473
+ description: Human-readable error description.
474
+ examples:
475
+ - Flow 63a1b2c3d4e5f60011223344 could not be found.
476
+ examples:
477
+ - []
478
+ startedAt:
479
+ type: string
480
+ format: date-time
481
+ readOnly: true
482
+ description: When report generation began. Present once the report enters `running` status.
483
+ examples:
484
+ - '2026-04-28T14:30:05.000Z'
485
+ endedAt:
486
+ type: string
487
+ format: date-time
488
+ readOnly: true
489
+ description: When report generation finished. Only present on `completed` reports.
490
+ examples:
491
+ - '2026-04-28T14:32:00.000Z'
492
+ requestedByUser:
493
+ type: object
494
+ readOnly: true
495
+ description: |
496
+ The user who requested the report. Present on GET responses
497
+ but not on the POST create response (which returns
498
+ `_requestedByUserId` instead).
499
+ properties:
500
+ name:
501
+ type: string
502
+ description: Display name of the requesting user.
503
+ examples:
504
+ - Tyler Lamparter
505
+ email:
506
+ type: string
507
+ format: email
508
+ description: Email address of the requesting user.
509
+ examples:
510
+ - tyler.lamparter@celigo.com
511
+ EventReportCreateRequest:
512
+ type: object
513
+ description: |
514
+ Request body for creating a new event report. `startTime` must be within the last 30 days
515
+ and the span to `endTime` must not exceed 3 days. If `endTime` is omitted, the server
516
+ defaults it to the current time.
517
+ properties:
518
+ type:
519
+ type: string
520
+ description: |
521
+ The type of event report to generate. Currently only `flow_events`
522
+ is supported.
523
+ enum:
524
+ - flow_events
525
+ x-enumDescriptions:
526
+ flow_events: Report capturing flow execution event data.
527
+ examples:
528
+ - flow_events
529
+ _flowIds:
530
+ type: array
531
+ description: |
532
+ Array of flow IDs whose events should be included in the report.
533
+ At least one flow ID is required.
534
+ minItems: 1
535
+ items:
536
+ type: string
537
+ format: objectId
538
+ x-celigo-refModel: flows
539
+ examples:
540
+ - - 63a1b2c3d4e5f60011223344
541
+ startTime:
542
+ type: string
543
+ format: date-time
544
+ description: |
545
+ Start of the time window. Must be within the last 30 days.
546
+ ISO 8601 format.
547
+ examples:
548
+ - '2026-04-01T00:00:00.000Z'
549
+ endTime:
550
+ type: string
551
+ format: date-time
552
+ description: |
553
+ End of the time window. Defaults to the current time if omitted.
554
+ The total span (`endTime - startTime`) must not exceed 3 days.
555
+ examples:
556
+ - '2026-04-03T00:00:00.000Z'
557
+ required:
558
+ - type
559
+ - startTime
560
+ - _flowIds
561
+ Error:
562
+ type: object
563
+ description: Standard error response envelope returned by integrator.io APIs.
564
+ properties:
565
+ errors:
566
+ type: array
567
+ description: List of errors that occurred while processing the request.
568
+ items:
569
+ type: object
570
+ properties:
571
+ code:
572
+ oneOf:
573
+ - type: string
574
+ - type: integer
575
+ description: |-
576
+ Machine-readable error code. Usually a string like
577
+ `invalid_ref`, `missing_required_field`, or `unauthorized`;
578
+ may be an **integer** when the error mirrors an upstream HTTP
579
+ status (e.g. `500`) — most commonly returned by connection-ping
580
+ and adaptor-proxy responses.
581
+ message:
582
+ type: string
583
+ description: Human-readable description of the error.
584
+ field:
585
+ type: string
586
+ description: |-
587
+ Optional pointer to the document field that caused the error.
588
+ Used by structural validation errors (`missing_required_field`,
589
+ `invalid_ref`) to indicate which field is at fault
590
+ (e.g. `_id`, `type`, `http.baseURI`).
591
+ source:
592
+ type: string
593
+ description: |-
594
+ Optional origin layer for the error — e.g. `application` when
595
+ the error came from the remote system the adaptor called,
596
+ `connector` when the adaptor itself rejected the request.
597
+ required:
598
+ - message
599
+ required:
600
+ - errors
601
+ EventReportSignedUrlResponse:
602
+ type: object
603
+ description: |
604
+ Response containing a pre-signed S3 URL for downloading the completed
605
+ event report CSV. The URL is valid for approximately 15 minutes and
606
+ should be consumed immediately. Only returned when the report `status`
607
+ is `completed`.
608
+ properties:
609
+ signedURL:
610
+ type: string
611
+ format: uri
612
+ description: |
613
+ Pre-signed S3 URL for downloading the report CSV. Valid for
614
+ approximately 15 minutes from generation.
615
+ examples:
616
+ - https://integrator-event-reports.s3.us-east-1.amazonaws.com/_682278b3e4b0a10012abcdef.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900&...
617
+ responses:
618
+ 401-unauthorized:
619
+ description: |-
620
+ Unauthorized. The request lacks a valid bearer token, or the provided token
621
+ failed to authenticate.
622
+
623
+ Note: the 401 response is produced by the auth middleware **before** the
624
+ request reaches the endpoint handler, so it does **not** follow the
625
+ standard `{errors: [...]}` envelope. Instead the body is a bare
626
+ `{message: string}` object with no `code`, no `errors` array. Callers
627
+ handling 401s should key off the HTTP status and the `message` string,
628
+ not try to destructure an `errors[]`.
629
+ content:
630
+ application/json:
631
+ schema:
632
+ type: object
633
+ properties:
634
+ message:
635
+ type: string
636
+ description: |-
637
+ Human-readable description of the auth failure. Known values:
638
+ - `"Unauthorized"` — no `Authorization` header on the request.
639
+ - `"Bearer Authentication Failed"` — header present but token
640
+ is invalid, revoked, or expired.
641
+ required:
642
+ - message
643
+ examples:
644
+ missing_token:
645
+ summary: No Authorization header sent
646
+ value:
647
+ message: Unauthorized
648
+ invalid_token:
649
+ summary: Bearer token invalid or revoked
650
+ value:
651
+ message: Bearer Authentication Failed
652
+ 400-bad-request:
653
+ description: |
654
+ Bad request. The server could not understand the request because of malformed syntax or invalid parameters.
655
+ content:
656
+ application/json:
657
+ schema:
658
+ $ref: '#/components/schemas/Error'
659
+ examples:
660
+ default:
661
+ value:
662
+ errors:
663
+ - code: invalid_request
664
+ message: The request body failed validation.
665
+ 422-unprocessable-entity:
666
+ description: |
667
+ Unprocessable entity. The request was well-formed but was unable to be followed due to semantic errors.
668
+ content:
669
+ application/json:
670
+ schema:
671
+ $ref: '#/components/schemas/Error'
672
+ examples:
673
+ default:
674
+ value:
675
+ errors:
676
+ - code: unprocessable_entity
677
+ message: The request could not be processed due to a semantic error.
678
+ 404-not-found:
679
+ description: |
680
+ Not found. The requested resource does not exist or is not visible to the caller.
681
+ content:
682
+ application/json:
683
+ schema:
684
+ $ref: '#/components/schemas/Error'
685
+ examples:
686
+ default:
687
+ value:
688
+ errors:
689
+ - code: not_found
690
+ message: The requested resource was not found.
691
+ x-enable-proxy: true
692
+ x-internal: false