@celigo/api-specs 0.2.201 → 0.2.203

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.
@@ -182,6 +182,14 @@ paths:
182
182
  - failed
183
183
  limit: 100
184
184
  startDate: 1742774400000
185
+ sorted_by_partner:
186
+ summary: Sorted by trading partner name, Z to A
187
+ value:
188
+ fileType: X12
189
+ sortBy: tradingPartnerName
190
+ order: desc
191
+ limit: 100
192
+ startDate: 1742774400000
185
193
  responses:
186
194
  '200':
187
195
  description: |-
@@ -198,6 +206,13 @@ paths:
198
206
  summary: No matching transactions
199
207
  value:
200
208
  ediTransactions: []
209
+ sorted_empty:
210
+ summary: No matches for a sorted request
211
+ value:
212
+ ediTransactions: []
213
+ sort:
214
+ sortBy: tradingPartnerName
215
+ order: desc
201
216
  x12_record:
202
217
  summary: X12 850 inbound
203
218
  value:
@@ -265,8 +280,249 @@ paths:
265
280
  errors:
266
281
  - code: invalid_date_range
267
282
  message: please provide a valid date range
283
+ unsupported_sort_field:
284
+ value:
285
+ errors:
286
+ - code: unsupported_sort_field
287
+ message: 'sortBy must be one of: lastModified, tradingPartnerName'
288
+ invalid_sort_order:
289
+ value:
290
+ errors:
291
+ - code: invalid_sort_order
292
+ message: order must be asc or desc
268
293
  '401':
269
294
  $ref: '#/components/responses/401-unauthorized'
295
+ /v1/ediTransactions/download:
296
+ post:
297
+ x-internal: false
298
+ operationId: downloadEDITransactions
299
+ tags:
300
+ - EDI Transactions
301
+ summary: Download EDI transactions as CSV
302
+ description: |-
303
+ Exports one EDI standard's transactions, optionally narrowed by a keyword
304
+ and the B2B Manager dashboard filters, to a CSV file and returns a
305
+ pre-signed URL for downloading it.
306
+
307
+ The CSV opens with `#` comment lines that record the source, view mode,
308
+ filters, download time, and total record count (plus the keyword and
309
+ date range when set), followed by the column header row. Columns depend
310
+ on `source`, not on `viewMode`: both standards share the dashboard
311
+ columns (Ref doc, Doc no., Doc type, Direction, ACK status, Partner, Last
312
+ modified, Lifecycle status, File type), then X12 adds ISA no., GS no.,
313
+ ST no., ISA sender, ISA receiver, GS sender, and GS receiver, while
314
+ EDIFACT adds UNB no., UNH no., UNB sender, and UNB receiver; both end
315
+ with ACK details and MDN status.
316
+
317
+ The signed URL expires 15 minutes after generation (S3
318
+ `X-Amz-Expires=900`); fetch it promptly and do not persist it.
319
+ requestBody:
320
+ required: true
321
+ content:
322
+ application/json:
323
+ schema:
324
+ $ref: '#/components/schemas/EDITransactionsDownloadRequest'
325
+ examples:
326
+ list_last_week:
327
+ summary: One week of rejected X12 transactions
328
+ value:
329
+ source: X12
330
+ viewMode: list
331
+ filters:
332
+ faStatus:
333
+ - rejected
334
+ dateRange:
335
+ from: '2026-10-15'
336
+ to: '2026-10-22'
337
+ keyword_lifecycle:
338
+ summary: EDIFACT transactions matching a keyword
339
+ value:
340
+ source: EDIFACT
341
+ viewMode: lifecycle
342
+ keyword: '0032560422'
343
+ responses:
344
+ '200':
345
+ description: |-
346
+ Signed URL for the generated CSV. Returned even when nothing matches;
347
+ the CSV then holds only the comment lines and the header row.
348
+ content:
349
+ application/json:
350
+ schema:
351
+ type: object
352
+ required:
353
+ - url
354
+ properties:
355
+ url:
356
+ type: string
357
+ format: uri
358
+ description: Pre-signed S3 URL for the CSV. Fetch it with a plain GET (no auth headers) within 15 minutes.
359
+ examples:
360
+ default:
361
+ value:
362
+ url: https://integrator-userdata-delete-30.s3.us-east-1.amazonaws.com/ediTransactions/5e58483b68b52e5827d56a86/TransactionSummary_X12_20261028_010402_5e58483b68b52e5827d56a86.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIAEXAMPLE%2F20261028%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20261028T010402Z&X-Amz-Expires=900&X-Amz-Security-Token=EXAMPLE-STS-TOKEN&X-Amz-SignedHeaders=host&X-Amz-Signature=7d0e5a9d2f4b6c8e1a3f7b0c5e9a2d4f8b1c3e7a0d5f2b9c4e6a8d1f3b7c0e5a
363
+ '400':
364
+ description: The request body failed validation.
365
+ content:
366
+ application/json:
367
+ schema:
368
+ $ref: '#/components/schemas/Error'
369
+ examples:
370
+ EDI_DOWNLOAD_SOURCE_REQUIRED:
371
+ summary: source is missing or not X12 or EDIFACT
372
+ value:
373
+ errors:
374
+ - code: EDI_DOWNLOAD_SOURCE_REQUIRED
375
+ message: EDI file type/source (X12/EDIFACT) is missing. Ensure source is included.
376
+ source: resource
377
+ EDI_DOWNLOAD_VIEW_MODE_REQUIRED:
378
+ value:
379
+ errors:
380
+ - code: EDI_DOWNLOAD_VIEW_MODE_REQUIRED
381
+ message: EDI transaction view mode( Lifecycle / List ) is missing. Send viewMode to download the transactions.
382
+ source: resource
383
+ EDI_DOWNLOAD_INVALID_VIEW_MODE:
384
+ value:
385
+ errors:
386
+ - code: EDI_DOWNLOAD_INVALID_VIEW_MODE
387
+ message: The viewMode passed is invalid. The viewMode must be either "lifecycle" or "list".
388
+ source: resource
389
+ EDI_DOWNLOAD_INVALID_KEYWORD:
390
+ value:
391
+ errors:
392
+ - code: EDI_DOWNLOAD_INVALID_KEYWORD
393
+ message: The keyword searched is not within the character limit. It must be a string between 3 to 100 characters.
394
+ source: resource
395
+ EDI_DOWNLOAD_INVALID_SANDBOX:
396
+ value:
397
+ errors:
398
+ - code: EDI_DOWNLOAD_INVALID_SANDBOX
399
+ message: Invalid Sandbox value. Ensure a boolean value is shared for Sandbox field.
400
+ source: resource
401
+ EDI_DOWNLOAD_INVALID_FILTERS:
402
+ value:
403
+ errors:
404
+ - code: EDI_DOWNLOAD_INVALID_FILTERS
405
+ message: Invalid filter key/ fields. Filters are not supported for one or more fields passed. Send valid filter keys to download the EDI transactions.
406
+ source: resource
407
+ EDI_DOWNLOAD_INVALID_DATE_RANGE:
408
+ value:
409
+ errors:
410
+ - code: EDI_DOWNLOAD_INVALID_DATE_RANGE
411
+ message: Invalid date range. The 'to date' must be after 'from date'.
412
+ source: resource
413
+ '401':
414
+ $ref: '#/components/responses/401-unauthorized'
415
+ /v1/ediTransactions/filter-options:
416
+ get:
417
+ x-internal: false
418
+ operationId: getEDITransactionFilterOptions
419
+ tags:
420
+ - EDI Transactions
421
+ summary: Get dashboard filter values
422
+ description: |-
423
+ Returns the values for the B2B Manager dashboard filter dropdowns of one
424
+ EDI standard: the document types and trading partners found in the
425
+ caller's transactions, plus the direction, functional acknowledgment,
426
+ lifecycle, and MDN status values the filters accept.
427
+ parameters:
428
+ - name: source
429
+ in: query
430
+ required: true
431
+ schema:
432
+ type: string
433
+ enum:
434
+ - X12
435
+ - EDIFACT
436
+ x-enumDescriptions:
437
+ X12: Values for the X12 tab.
438
+ EDIFACT: Values for the EDIFACT tab.
439
+ description: EDI standard to return values for. Missing or any other value fails with `invalid_source`.
440
+ - name: sandbox
441
+ in: query
442
+ required: false
443
+ schema:
444
+ type: boolean
445
+ default: false
446
+ description: |-
447
+ When true, returns values from sandbox transactions instead of
448
+ production ones. Anything other than `true` or `false` fails with
449
+ `invalid_sandbox`.
450
+ responses:
451
+ '200':
452
+ description: |-
453
+ Filter dropdown values for the requested source. `documentType` and
454
+ `partner` are empty arrays when the caller has no transactions for
455
+ the source.
456
+ content:
457
+ application/json:
458
+ schema:
459
+ $ref: '#/components/schemas/EDITransactionsFilterOptions'
460
+ examples:
461
+ no_transactions:
462
+ summary: X12 on an account with no X12 transactions (lifecycleStatus shortened)
463
+ value:
464
+ documentType: []
465
+ partner: []
466
+ direction:
467
+ - inbound
468
+ - outbound
469
+ faStatus:
470
+ - notReceived
471
+ - accepted
472
+ - acceptedWithErrors
473
+ - rejected
474
+ - failed
475
+ - notApplicable
476
+ - inProgress
477
+ lifecycleStatus:
478
+ - PO received
479
+ - PO sent
480
+ - PO Ack received
481
+ - PO Ack sent
482
+ - ASN received
483
+ - ASN sent
484
+ - Invoice received
485
+ - Invoice sent
486
+ - Warehouse shipping order received
487
+ - Warehouse shipping order sent
488
+ - Load tender received
489
+ - Load tender sent
490
+ mdnStatus:
491
+ - sent
492
+ - received
493
+ '400':
494
+ description: A query parameter is invalid.
495
+ content:
496
+ application/json:
497
+ schema:
498
+ $ref: '#/components/schemas/Error'
499
+ examples:
500
+ invalid_source:
501
+ summary: source is missing or not X12 or EDIFACT
502
+ value:
503
+ errors:
504
+ - code: invalid_source
505
+ message: source must be X12 or EDIFACT
506
+ invalid_sandbox:
507
+ summary: sandbox is not true or false
508
+ value:
509
+ errors:
510
+ - code: invalid_sandbox
511
+ message: sandbox must be a boolean
512
+ '401':
513
+ $ref: '#/components/responses/401-unauthorized'
514
+ '422':
515
+ description: The account's subscription does not include a B2B / EDI license.
516
+ content:
517
+ application/json:
518
+ schema:
519
+ $ref: '#/components/schemas/Error'
520
+ examples:
521
+ no_edi_license:
522
+ value:
523
+ errors:
524
+ - code: edi_subscription_required
525
+ message: EDI is a premium feature that is not included in your account's current subscription plan. Please upgrade your account to get access to B2B Manager.
270
526
  /v1/ediTransactions/signedURL:
271
527
  get:
272
528
  x-internal: false
@@ -1519,8 +1775,8 @@ components:
1519
1775
  `interchangeReceiverId`, `documentNumber`, `faStatus`, and the
1520
1776
  `startDate`/`endDate` window. `direction`, `documentType`, and
1521
1777
  `_integrationId` are accepted but not applied server-side (filter on those
1522
- client-side). Records come back newest-first by `lastModified` and are
1523
- cursor-paginated via `pageToken`.
1778
+ client-side). Records come back newest-first by `lastModified` unless
1779
+ `sortBy` or `order` is set, and are cursor-paginated via `pageToken`.
1524
1780
  properties:
1525
1781
  fileType:
1526
1782
  type: string
@@ -1644,6 +1900,54 @@ components:
1644
1900
  Opaque cursor from a previous response's `pageToken.next`. Pass
1645
1901
  this value to retrieve the next page of results. Omit on the
1646
1902
  first call.
1903
+ sortBy:
1904
+ type: string
1905
+ enum:
1906
+ - lastModified
1907
+ - tradingPartnerName
1908
+ x-enumDescriptions:
1909
+ lastModified: Sort by last activity. This is the default.
1910
+ tradingPartnerName: Sort by trading partner name.
1911
+ description: |-
1912
+ Sort column. Any other value fails with `unsupported_sort_field`. The
1913
+ response echoes the applied sort in `sort`.
1914
+ order:
1915
+ type: string
1916
+ enum:
1917
+ - asc
1918
+ - desc
1919
+ x-enumDescriptions:
1920
+ asc: Ascending.
1921
+ desc: Descending.
1922
+ description: |-
1923
+ Sort direction. Defaults to `desc` for `lastModified` and `asc` for
1924
+ `tradingPartnerName`. Sending `order` alone sorts by `lastModified`.
1925
+ Any other value fails with `invalid_sort_order`.
1926
+ EDITransactionsQuerySort:
1927
+ type: object
1928
+ required:
1929
+ - sortBy
1930
+ - order
1931
+ description: Sort applied to the results. Present when the request sets `sortBy` or `order`.
1932
+ properties:
1933
+ sortBy:
1934
+ type: string
1935
+ enum:
1936
+ - lastModified
1937
+ - tradingPartnerName
1938
+ x-enumDescriptions:
1939
+ lastModified: Sorted by last activity.
1940
+ tradingPartnerName: Sorted by trading partner name.
1941
+ description: Column the results are sorted by.
1942
+ order:
1943
+ type: string
1944
+ enum:
1945
+ - asc
1946
+ - desc
1947
+ x-enumDescriptions:
1948
+ asc: Ascending.
1949
+ desc: Descending.
1950
+ description: Sort direction applied, including the default when the request set only `sortBy`.
1647
1951
  EDITransactionsQueryResponse:
1648
1952
  type: object
1649
1953
  description: |-
@@ -1654,9 +1958,9 @@ components:
1654
1958
  ediTransactions:
1655
1959
  type: array
1656
1960
  description: |-
1657
- Matching EDI transaction records, newest first by `lastModified`.
1658
- Empty array when no records match — the endpoint does not switch to
1659
- 204 for empty results.
1961
+ Matching EDI transaction records, newest first by `lastModified`
1962
+ unless the request sets `sortBy` or `order`. Empty array when no
1963
+ records match — the endpoint does not switch to 204 for empty results.
1660
1964
  items:
1661
1965
  $ref: '#/components/schemas/EDITransaction'
1662
1966
  pageToken:
@@ -1670,6 +1974,231 @@ components:
1670
1974
  description: |-
1671
1975
  Opaque cursor string. Pass as `pageToken` in the next request
1672
1976
  body to retrieve the next page.
1977
+ sort:
1978
+ $ref: '#/components/schemas/EDITransactionsQuerySort'
1979
+ EDIDashboardDirection:
1980
+ type: string
1981
+ enum:
1982
+ - inbound
1983
+ - outbound
1984
+ x-enumDescriptions:
1985
+ inbound: Documents received from a trading partner.
1986
+ outbound: Documents sent to a trading partner.
1987
+ description: Transaction direction as the dashboard filters spell it.
1988
+ EDIDashboardFAStatus:
1989
+ type: string
1990
+ enum:
1991
+ - inProgress
1992
+ - notApplicable
1993
+ - notReceived
1994
+ - accepted
1995
+ - acceptedWithErrors
1996
+ - rejected
1997
+ - failed
1998
+ x-enumDescriptions:
1999
+ inProgress: Awaiting functional acknowledgment from the trading partner.
2000
+ notApplicable: No functional acknowledgment expected.
2001
+ notReceived: Functional acknowledgment expected but not yet received.
2002
+ accepted: Functional acknowledgment received and the transaction was accepted.
2003
+ acceptedWithErrors: Functional acknowledgment received with errors, but the transaction was accepted.
2004
+ rejected: Functional acknowledgment received and the transaction was rejected.
2005
+ failed: Functional acknowledgment processing failed.
2006
+ description: Functional acknowledgment status of a transaction.
2007
+ EDIDashboardMDNStatus:
2008
+ type: string
2009
+ enum:
2010
+ - sent
2011
+ - received
2012
+ x-enumDescriptions:
2013
+ sent: An AS2 MDN was sent for the document.
2014
+ received: An AS2 MDN was received for the document.
2015
+ description: AS2 MDN status of a transaction.
2016
+ EDIDashboardFilters:
2017
+ type: object
2018
+ description: |-
2019
+ B2B Manager dashboard filter dimensions. An empty object, or one whose
2020
+ arrays are all empty, applies no filter.
2021
+ properties:
2022
+ documentType:
2023
+ type: array
2024
+ items:
2025
+ type: string
2026
+ description: |-
2027
+ Document types to match, as the X12 transaction-set code or the
2028
+ EDIFACT message type (`850`, `ORDERS`). An X12 code labeled with its
2029
+ functional group (`PO 850`) is read as the bare code.
2030
+ examples:
2031
+ - - '850'
2032
+ - PO 810
2033
+ direction:
2034
+ type: array
2035
+ items:
2036
+ $ref: '#/components/schemas/EDIDashboardDirection'
2037
+ description: |-
2038
+ Directions to match. Lowercase here, unlike the capitalized
2039
+ `direction` values on the returned records.
2040
+ faStatus:
2041
+ type: array
2042
+ items:
2043
+ $ref: '#/components/schemas/EDIDashboardFAStatus'
2044
+ description: Functional acknowledgment statuses to match.
2045
+ partner:
2046
+ type: array
2047
+ items:
2048
+ type: string
2049
+ description: |-
2050
+ Trading partner names to match against each record's
2051
+ `tradingPartnerName`. Use the values `GET /v1/ediTransactions/filter-options`
2052
+ returns in `partner`.
2053
+ examples:
2054
+ - - Globex Retail
2055
+ lifecycleStatus:
2056
+ type: array
2057
+ items:
2058
+ type: string
2059
+ description: |-
2060
+ Order-lifecycle steps to match against each record's
2061
+ `lifecycleStatus`. Takes the values
2062
+ `GET /v1/ediTransactions/filter-options` returns in `lifecycleStatus`;
2063
+ anything else is rejected.
2064
+ examples:
2065
+ - - PO received
2066
+ - Invoice sent
2067
+ mdnStatus:
2068
+ type: array
2069
+ items:
2070
+ $ref: '#/components/schemas/EDIDashboardMDNStatus'
2071
+ description: AS2 MDN statuses to match.
2072
+ dateRange:
2073
+ type: object
2074
+ required:
2075
+ - from
2076
+ - to
2077
+ description: Window on each record's `lastModified`.
2078
+ properties:
2079
+ from:
2080
+ type: string
2081
+ format: date
2082
+ description: First day of the window.
2083
+ examples:
2084
+ - '2026-10-01'
2085
+ to:
2086
+ type: string
2087
+ format: date
2088
+ description: Last day of the window. Can equal `from`; a `to` before `from` is rejected.
2089
+ examples:
2090
+ - '2026-10-22'
2091
+ fromTime:
2092
+ type: string
2093
+ pattern: ^([01]\d|2[0-3]):[0-5]\d:[0-5]\d$
2094
+ description: Start time on the `from` day, so the window can begin mid-day.
2095
+ examples:
2096
+ - '08:30:00'
2097
+ toTime:
2098
+ type: string
2099
+ pattern: ^([01]\d|2[0-3]):[0-5]\d:[0-5]\d$
2100
+ description: End time on the `to` day, so the window can end mid-day.
2101
+ examples:
2102
+ - '17:45:00'
2103
+ EDITransactionsDownloadRequest:
2104
+ type: object
2105
+ required:
2106
+ - source
2107
+ - viewMode
2108
+ description: |-
2109
+ Selects the transactions to export as CSV. A filter value outside a
2110
+ dimension's accepted values fails with `EDI_DOWNLOAD_INVALID_FILTERS`,
2111
+ and a malformed or reversed `filters.dateRange` with
2112
+ `EDI_DOWNLOAD_INVALID_DATE_RANGE`. Unknown filter keys and
2113
+ `filters.documentType` values are not checked.
2114
+ properties:
2115
+ source:
2116
+ type: string
2117
+ enum:
2118
+ - X12
2119
+ - EDIFACT
2120
+ x-enumDescriptions:
2121
+ X12: Export ANSI X12 transactions.
2122
+ EDIFACT: Export UN/EDIFACT transactions.
2123
+ description: |-
2124
+ EDI standard to export. Missing or any other value, lowercase
2125
+ included, fails with `EDI_DOWNLOAD_SOURCE_REQUIRED`.
2126
+ viewMode:
2127
+ type: string
2128
+ enum:
2129
+ - lifecycle
2130
+ - list
2131
+ x-enumDescriptions:
2132
+ lifecycle: The export was taken from the lifecycle view.
2133
+ list: The export was taken from the list view.
2134
+ description: |-
2135
+ Dashboard view the export is taken from, recorded in the CSV's
2136
+ comment lines. Missing fails with `EDI_DOWNLOAD_VIEW_MODE_REQUIRED`;
2137
+ any other value, `dual` included, fails with
2138
+ `EDI_DOWNLOAD_INVALID_VIEW_MODE`.
2139
+ keyword:
2140
+ type: string
2141
+ minLength: 3
2142
+ maxLength: 100
2143
+ description: |-
2144
+ Narrows the export to transactions matching this text and is recorded
2145
+ as `Search` in the CSV's comment lines. A shorter or longer value
2146
+ fails with `EDI_DOWNLOAD_INVALID_KEYWORD`.
2147
+ sandbox:
2148
+ type: boolean
2149
+ default: false
2150
+ description: |-
2151
+ When true, exports sandbox transactions instead of production ones.
2152
+ A non-boolean fails with `EDI_DOWNLOAD_INVALID_SANDBOX`.
2153
+ filters:
2154
+ $ref: '#/components/schemas/EDIDashboardFilters'
2155
+ EDITransactionsFilterOptions:
2156
+ type: object
2157
+ required:
2158
+ - documentType
2159
+ - partner
2160
+ - direction
2161
+ - faStatus
2162
+ - lifecycleStatus
2163
+ - mdnStatus
2164
+ description: |-
2165
+ Values for the dashboard filter dropdowns of one EDI standard. Pass them
2166
+ back in `filters` on `POST /v1/ediTransactions/download`.
2167
+ properties:
2168
+ documentType:
2169
+ type: array
2170
+ items:
2171
+ type: string
2172
+ description: Distinct document types among the caller's transactions for the requested source.
2173
+ partner:
2174
+ type: array
2175
+ items:
2176
+ type: string
2177
+ description: Distinct trading partner names among the caller's transactions for the requested source.
2178
+ direction:
2179
+ type: array
2180
+ items:
2181
+ $ref: '#/components/schemas/EDIDashboardDirection'
2182
+ description: Directions the `direction` filter accepts.
2183
+ faStatus:
2184
+ type: array
2185
+ items:
2186
+ $ref: '#/components/schemas/EDIDashboardFAStatus'
2187
+ description: Functional acknowledgment statuses the `faStatus` filter accepts.
2188
+ lifecycleStatus:
2189
+ type: array
2190
+ items:
2191
+ type: string
2192
+ description: |-
2193
+ Order-lifecycle steps the `lifecycleStatus` filter accepts. Besides
2194
+ the order-cycle steps listed under the EDI transaction's
2195
+ `lifecycleStatus`, production lists steps for other document types,
2196
+ such as warehouse, transport, and freight documents.
2197
+ mdnStatus:
2198
+ type: array
2199
+ items:
2200
+ $ref: '#/components/schemas/EDIDashboardMDNStatus'
2201
+ description: AS2 MDN statuses the `mdnStatus` filter accepts.
1673
2202
  EDITransactionsSignedUrlResponse:
1674
2203
  type: object
1675
2204
  description: |-
package/dist/export.yml CHANGED
@@ -491,8 +491,9 @@ paths:
491
491
  returned. Configuration errors in the export doc surface in the
492
492
  `errors[]` and `stages[].errors[]` arrays within a 200 response, but
493
493
  not every failure does: structural validation failures (e.g. missing
494
- `_connectionId`) return 4xx, and so does an output filter that can't
495
- read a record's value (see the 422 response).
494
+ `_connectionId`) return 4xx, and so do an output filter that can't
495
+ read a record's value and a Google Cloud Storage bucket or object that
496
+ doesn't exist (see the 422 response).
496
497
  requestBody:
497
498
  required: true
498
499
  content:
@@ -524,9 +525,9 @@ paths:
524
525
  '200':
525
526
  description: |-
526
527
  Preview envelope for a preview that ran; a valid body can still answer
527
- 422 (see that response). User-error in
528
+ 422 for the failures that response lists. Other user errors in
528
529
  the export config (handlebars template failures, runtime errors)
529
- surfaces in `errors[]` and `stages[].errors[]`; inspect those before
530
+ surface in `errors[]` and `stages[].errors[]`; inspect those before
530
531
  trusting `stages[].data[]`.
531
532
  content:
532
533
  application/json:
@@ -559,7 +560,9 @@ paths:
559
560
  with 422 when a record holds a value its type conversion can't read,
560
561
  such as an empty or non-date string under `epochtime`: the message is
561
562
  "Invalid date. Cannot convert given string or number to date time.",
562
- followed by `; record=` and that record as JSON.
563
+ followed by `; record=` and that record as JSON. A Google Cloud Storage
564
+ read of a bucket or object that doesn't exist fails with 422
565
+ `gcs_bucket_not_found` or `gcs_object_not_found`.
563
566
  content:
564
567
  application/json:
565
568
  schema:
@@ -571,6 +574,13 @@ paths:
571
574
  - code: missing_required_field
572
575
  message: The `_connectionId` field is required for this preview.
573
576
  source: _connectionId
577
+ gcsBucketNotFound:
578
+ summary: Google Cloud Storage bucket that doesn't exist
579
+ value:
580
+ errors:
581
+ - code: gcs_bucket_not_found
582
+ message: The specified Google Cloud Storage bucket was not found. Verify the bucket name and that the service account has access.
583
+ source: resource
574
584
  /v1/integrations/{_integrationId}/flows/{_flowId}/exports/preview:
575
585
  post:
576
586
  x-internal: false
@@ -5841,7 +5851,8 @@ components:
5841
5851
  description: |-
5842
5852
  Provider-native ID of the storage root (e.g. a Google Drive shared-drive ID) the relative
5843
5853
  path resolves against; set when pathMode is relativePath. The provider's own ID, not a Celigo ID.
5844
- For Google Cloud Storage it is the bucket name.
5854
+ For Google Cloud Storage it is the bucket name, and a bucket that doesn't exist fails the
5855
+ export preview with 422 `gcs_bucket_not_found`.
5845
5856
  examples:
5846
5857
  - 1qU1hvFarBFMb4-twqKm1rR5o_6j9vs9g
5847
5858
  - erp-exports