@celigo/api-specs 0.2.21 → 0.2.23

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.
package/dist/ai-agent.yml CHANGED
@@ -4951,13 +4951,26 @@ components:
4951
4951
  are re-joined into the record's original shape — the object with its array, or the array of rows —
4952
4952
  carrying any response-mapping enrichment, and that re-joined record is what the next step
4953
4953
  receives. Not for locating records in an export's HTTP response; use
4954
- `http.response.resourcePath` for that.
4954
+ `http.response.resourcePath` for that. Applies to steps that receive a record — imports and
4955
+ lookups (an export referenced as a page processor of a flow, API, or Tool). A standalone export
4956
+ (a flow's page generator) has no incoming record, so the fields are saved but have no effect on
4957
+ the records it produces; to emit one record per array element from a standalone export, use a
4958
+ `hooks.preSavePage` script, or for a file-definition export make the repeating segment the
4959
+ record boundary in the definition's rules.
4955
4960
  x-celigo-ai-guidance:
4956
4961
  - |-
4957
4962
  Two modes, decided by the SHAPE of the record entering the step. Object record with a child
4958
4963
  array under a field → set ``pathToMany`` to that field. Array record (a ``groupByFields``
4959
4964
  export, a CSV/file group, a script that returns an array) → leave ``pathToMany`` blank; each
4960
4965
  element becomes one record. Live-verified 2026-09-10 on flows, Tools, and APIs.
4966
+ - |-
4967
+ Only imports and lookups (exports placed as page processors) fan out. On a standalone export
4968
+ (a flow's page generator) the API saves ``oneToMany`` / ``pathToMany`` and applies neither:
4969
+ the records reach the next step unchanged and no error is raised. Live-verified 2026-09-18 on
4970
+ a flow test run — an order record with three ``lines`` reached the import as ONE record with
4971
+ the setting on the export, and as THREE child records with the same setting on the import.
4972
+ Never propose these fields as the way to split a standalone export's records; that is
4973
+ ``hooks.preSavePage`` work (or, for a file definition, the definition's record boundary).
4961
4974
  - |-
4962
4975
  Blank ``pathToMany`` on an OBJECT record fails every record with code ``oneToMany_error``:
4963
4976
  "Failed to extract child records from oneToMany import data. Record at index 0 was not an
@@ -4987,8 +5000,14 @@ components:
4987
5000
  Path to the array of child records inside an object record when `oneToMany` is true, in dot
4988
5001
  notation (`items`, `lines.lineItems`). Leave blank when the incoming record is itself an array
4989
5002
  (grouped or row-based data) — each element is then a child record. A path that does not resolve
4990
- to an array processes zero records and reports success.
5003
+ to an array processes zero records and reports success. Read only on steps that receive a
5004
+ record (imports, lookup exports); on a standalone export it is saved and ignored — see `oneToMany`.
4991
5005
  x-celigo-ai-guidance:
5006
+ - |-
5007
+ Inert on a standalone export (a flow's page generator) exactly like ``oneToMany`` — the value
5008
+ is saved, the export's records reach the next step unchanged, and nothing errors
5009
+ (live-verified 2026-09-18). Splitting a standalone export's records into one per element is
5010
+ ``hooks.preSavePage`` work, or the file definition's record boundary; never this field.
4992
5011
  - |-
4993
5012
  Set this ONLY when the record entering the step is an object whose children sit under a field.
4994
5013
  On an array record (a ``groupByFields`` export, a CSV/file group, a script returning an array)
package/dist/export.yml CHANGED
@@ -803,13 +803,26 @@ components:
803
803
  are re-joined into the record's original shape — the object with its array, or the array of rows —
804
804
  carrying any response-mapping enrichment, and that re-joined record is what the next step
805
805
  receives. Not for locating records in an export's HTTP response; use
806
- `http.response.resourcePath` for that.
806
+ `http.response.resourcePath` for that. Applies to steps that receive a record — imports and
807
+ lookups (an export referenced as a page processor of a flow, API, or Tool). A standalone export
808
+ (a flow's page generator) has no incoming record, so the fields are saved but have no effect on
809
+ the records it produces; to emit one record per array element from a standalone export, use a
810
+ `hooks.preSavePage` script, or for a file-definition export make the repeating segment the
811
+ record boundary in the definition's rules.
807
812
  x-celigo-ai-guidance:
808
813
  - |-
809
814
  Two modes, decided by the SHAPE of the record entering the step. Object record with a child
810
815
  array under a field → set ``pathToMany`` to that field. Array record (a ``groupByFields``
811
816
  export, a CSV/file group, a script that returns an array) → leave ``pathToMany`` blank; each
812
817
  element becomes one record. Live-verified 2026-09-10 on flows, Tools, and APIs.
818
+ - |-
819
+ Only imports and lookups (exports placed as page processors) fan out. On a standalone export
820
+ (a flow's page generator) the API saves ``oneToMany`` / ``pathToMany`` and applies neither:
821
+ the records reach the next step unchanged and no error is raised. Live-verified 2026-09-18 on
822
+ a flow test run — an order record with three ``lines`` reached the import as ONE record with
823
+ the setting on the export, and as THREE child records with the same setting on the import.
824
+ Never propose these fields as the way to split a standalone export's records; that is
825
+ ``hooks.preSavePage`` work (or, for a file definition, the definition's record boundary).
813
826
  - |-
814
827
  Blank ``pathToMany`` on an OBJECT record fails every record with code ``oneToMany_error``:
815
828
  "Failed to extract child records from oneToMany import data. Record at index 0 was not an
@@ -839,8 +852,14 @@ components:
839
852
  Path to the array of child records inside an object record when `oneToMany` is true, in dot
840
853
  notation (`items`, `lines.lineItems`). Leave blank when the incoming record is itself an array
841
854
  (grouped or row-based data) — each element is then a child record. A path that does not resolve
842
- to an array processes zero records and reports success.
855
+ to an array processes zero records and reports success. Read only on steps that receive a
856
+ record (imports, lookup exports); on a standalone export it is saved and ignored — see `oneToMany`.
843
857
  x-celigo-ai-guidance:
858
+ - |-
859
+ Inert on a standalone export (a flow's page generator) exactly like ``oneToMany`` — the value
860
+ is saved, the export's records reach the next step unchanged, and nothing errors
861
+ (live-verified 2026-09-18). Splitting a standalone export's records into one per element is
862
+ ``hooks.preSavePage`` work, or the file definition's record boundary; never this field.
844
863
  - |-
845
864
  Set this ONLY when the record entering the step is an object whose children sit under a field.
846
865
  On an array record (a ``groupByFields`` export, a CSV/file group, a script returning an array)
@@ -5902,10 +5921,10 @@ components:
5902
5921
  - blob
5903
5922
  - csvstream
5904
5923
  x-enumDescriptions:
5905
- file: Treats the HTTP response as raw file content (PDFs, images, binary data) rather than structured data records.
5924
+ file: Works with files instead of a record endpoint — a raw file download (PDFs, images, binary data), or a file-provider folder whose files the file object parses into records (csv, json, xml, xlsx, filedefinition incl. EDI)
5906
5925
  blob: Transfers the raw response body downstream as a blob without parsing it into records.
5907
5926
  csvstream: Streams a large CSV response, parsing it row-by-row instead of loading the whole body into memory.
5908
- description: Set to `file` only when the endpoint returns raw file content (PDFs, images, binary data) to be saved as a file rather than parsed as records; the `file` object must also be configured. Leave undefined for standard data exports that return structured records (JSON, XML, GraphQL, SOAP responses) — the response is then parsed into records for downstream steps. When set to `file` or `blob`, the export appears as a "Transfer" step in Flow Builder instead of a standard "Export" step.
5927
+ description: 'Set to `file` when the export works with files rather than a record-returning endpoint: raw file downloads (PDFs, images, binary data) and the folder mode of the cloud file providers (Google Drive, Box, Dropbox, Azure Blob, Google Cloud Storage, Celigo Storage), where each file in the folder is parsed by the `file` object''s `type` (csv, json, xml, xlsx, filedefinition — including EDI) into records; the `file` object must also be configured. Leave undefined for standard data exports that return structured records (JSON, XML, GraphQL, SOAP responses) — the response is then parsed into records for downstream steps. When set to `file` or `blob`, the export appears as a "Transfer" step in Flow Builder instead of a standard "Export" step.'
5909
5928
  x-celigo-ai-guidance:
5910
5929
  - |-
5911
5930
  ## IMPORTANT: This field should be LEFT UNDEFINED for the vast majority of HTTP exports.
@@ -5927,18 +5946,24 @@ components:
5927
5946
  - "Export all Shopify Customers" → undefined (returns JSON customer records)
5928
5947
  - "Retrieve orders from custom REST API" → undefined (returns JSON order records)
5929
5948
  - |-
5930
- ## WHEN TO SET THIS FIELD TO 'file' (RARE USE CASE):
5949
+ ## WHEN TO SET THIS FIELD TO 'file' (the export works with FILES, not a record endpoint):
5931
5950
 
5932
- Set this field to 'file' ONLY when the HTTP endpoint is specifically designed to download files:
5933
- - The endpoint returns raw binary file content (PDFs, images, ZIP files, etc.)
5934
- - The endpoint is a file download service (e.g., downloading invoices, reports, attachments)
5935
- - The response body contains file data that needs to be saved as a file, not parsed as records
5936
- - You need to download and process files from a remote server
5951
+ Set this field to 'file' in two situations:
5952
+ - The HTTP endpoint is specifically designed to download files — it returns raw binary
5953
+ file content (PDFs, images, ZIP files) or is a file download service (invoices,
5954
+ reports, attachments) whose body is saved as a file rather than parsed as records
5955
+ - The connection is a cloud file provider used in FOLDER mode (Google Drive, Box, Dropbox,
5956
+ Azure Blob Storage, Google Cloud Storage, Celigo Storage): the export reads the files
5957
+ in a folder and the 'file' object's `type` (csv, json, xml, xlsx, filedefinition)
5958
+ parses each one into records — the same file layer as an FTP or S3 export
5937
5959
 
5938
5960
  Examples of when to set type: "file":
5939
5961
  - "Download PDF invoices from the API" → type: "file"
5940
5962
  - "Retrieve image files from a file server" → type: "file"
5941
- - "Download CSV files from an FTP server via HTTP" → type: "file"
5963
+ - "Read the CSV files dropped in our Google Drive folder" → type: "file", with file.type "csv"
5964
+ - "Parse EDI X12 850 files from a Google Drive / Celigo Storage folder" → type: "file",
5965
+ with file.type "filedefinition" and a top-level _ediProfileId (EDI fields are
5966
+ accepted on HTTP exports only in file mode)
5942
5967
  - |-
5943
5968
  ## IMPLEMENTATION DETAILS
5944
5969
 
@@ -5946,7 +5971,9 @@ components:
5946
5971
  - The 'file' object property MUST also be configured
5947
5972
  - The export appears as a "Transfer" step in the Flow Builder UI
5948
5973
  - The system applies file-specific processing to the HTTP response
5949
- - Downstream steps receive file content rather than record data
5974
+ - Downstream steps receive records when the 'file' object's `type` parses the files
5975
+ (csv, json, xml, xlsx, filedefinition with `file.output: "records"`), or the file
5976
+ content itself when `file.output` is "blobKeys"
5950
5977
 
5951
5978
  When this field is undefined (default for most exports):
5952
5979
  - The export appears as a standard "Export" step in the Flow Builder UI
@@ -5961,6 +5988,9 @@ components:
5961
5988
  → YES: Leave this field undefined
5962
5989
  3. Does the API endpoint return raw file content (PDFs, images, binary data)?
5963
5990
  → YES: Set this field to "file" (and configure the 'file' property)
5991
+ 4. Is the connection a cloud file provider and the export reads a FOLDER of files
5992
+ (CSV, JSON, XML, XLSX, or EDI via a file definition)?
5993
+ → YES: Set this field to "file" (and configure the 'file' property with the parsing type)
5964
5994
 
5965
5995
  Remember: When in doubt, leave this field undefined. Most HTTP exports are standard data exports.
5966
5996
  examples:
@@ -16185,9 +16215,12 @@ components:
16185
16215
  format: objectId
16186
16216
  x-celigo-refModel: ediprofiles
16187
16217
  description: |-
16188
- EDI profile this export uses to parse incoming X12 EDI documents into structured JSON —
16189
- it supplies the envelope qualifiers, delimiters, version, and validation rules. Set it
16190
- when the export parses or validates EDI files; omit it otherwise.
16218
+ EDI profile this export uses to parse incoming X12 or EDIFACT documents into structured
16219
+ JSON — it supplies the envelope qualifiers, delimiters, version, and validation rules.
16220
+ Set it when the export parses or validates EDI files; omit it otherwise. Accepted on the
16221
+ file-reading exports — FTP, AS2, S3 and HTTP file mode (`http.type: "file"`).
16222
+ x-celigo-ai-guidance:
16223
+ - 'An HTTP export accepts this field only in file mode (`http.type: "file"`, the folder mode of file-provider connectors such as Google Drive, Box, Dropbox, Azure Blob, Google Cloud Storage and Celigo Storage). On a REST/records HTTP export the save is rejected with `not_supported`: "EDIProfile can only be associated with the export of type FTP, AS2, S3 or HTTP file."'
16191
16224
  examples:
16192
16225
  - 60a2c4e6f321d800129a1a3c
16193
16226
  _postParseListenerId:
@@ -16197,8 +16230,10 @@ components:
16197
16230
  description: |-
16198
16231
  Webhook export invoked once per file after EDI parsing, on both success and failure
16199
16232
  (errors are included in the payload when parsing fails). Primarily used to send
16200
- functional acknowledgements (997/999) to trading partners. Only supported for
16201
- `AS2Export` and `FTPExport` parsing EDI files.
16233
+ functional acknowledgements (997/999) to trading partners. Accepted on the file-reading
16234
+ exports that parse EDI — FTP, AS2, S3 and HTTP file mode (`http.type: "file"`).
16235
+ x-celigo-ai-guidance:
16236
+ - 'The listener must be an export with `type: "webhook"` and `webhook.provider: "integrator-extension"`; any other export id is rejected with `invalid_post_parse_listener`. On an HTTP export outside file mode the save is rejected with `post_parse_listener_not_supported`: "Listener for functional acknowledgment is only supported for AS2, FTP, S3 and HTTP file export."'
16202
16237
  examples:
16203
16238
  - 60a2c4e6f321d800129a1a3c
16204
16239
  externalId:
package/dist/import.yml CHANGED
@@ -8247,11 +8247,15 @@ components:
8247
8247
  - `S3Import`
8248
8248
  - `FTPImport`
8249
8249
  - `AS2Import`
8250
+ - `HTTPImport` in file mode (`http.type: "file"` — the folder mode of the cloud file
8251
+ providers such as Google Drive, Box, Dropbox, Azure Blob, Google Cloud Storage and Celigo
8252
+ Storage); the same `file` object, including `type: filedefinition` with `_ediProfileId`
8253
+ for EDI, applies as on S3 / FTP
8250
8254
 
8251
8255
  ❌ **DO NOT SET** for non-file-based imports like:
8252
8256
  - `SalesforceImport`
8253
8257
  - `NetSuiteImport`
8254
- - `HTTPImport`
8258
+ - `HTTPImport` in records mode (`http.type` unset — a REST endpoint receiving records)
8255
8259
  - `MongodbImport`
8256
8260
  - `RDBMSImport`
8257
8261
 
@@ -10581,13 +10585,26 @@ components:
10581
10585
  are re-joined into the record's original shape — the object with its array, or the array of rows —
10582
10586
  carrying any response-mapping enrichment, and that re-joined record is what the next step
10583
10587
  receives. Not for locating records in an export's HTTP response; use
10584
- `http.response.resourcePath` for that.
10588
+ `http.response.resourcePath` for that. Applies to steps that receive a record — imports and
10589
+ lookups (an export referenced as a page processor of a flow, API, or Tool). A standalone export
10590
+ (a flow's page generator) has no incoming record, so the fields are saved but have no effect on
10591
+ the records it produces; to emit one record per array element from a standalone export, use a
10592
+ `hooks.preSavePage` script, or for a file-definition export make the repeating segment the
10593
+ record boundary in the definition's rules.
10585
10594
  x-celigo-ai-guidance:
10586
10595
  - |-
10587
10596
  Two modes, decided by the SHAPE of the record entering the step. Object record with a child
10588
10597
  array under a field → set ``pathToMany`` to that field. Array record (a ``groupByFields``
10589
10598
  export, a CSV/file group, a script that returns an array) → leave ``pathToMany`` blank; each
10590
10599
  element becomes one record. Live-verified 2026-09-10 on flows, Tools, and APIs.
10600
+ - |-
10601
+ Only imports and lookups (exports placed as page processors) fan out. On a standalone export
10602
+ (a flow's page generator) the API saves ``oneToMany`` / ``pathToMany`` and applies neither:
10603
+ the records reach the next step unchanged and no error is raised. Live-verified 2026-09-18 on
10604
+ a flow test run — an order record with three ``lines`` reached the import as ONE record with
10605
+ the setting on the export, and as THREE child records with the same setting on the import.
10606
+ Never propose these fields as the way to split a standalone export's records; that is
10607
+ ``hooks.preSavePage`` work (or, for a file definition, the definition's record boundary).
10591
10608
  - |-
10592
10609
  Blank ``pathToMany`` on an OBJECT record fails every record with code ``oneToMany_error``:
10593
10610
  "Failed to extract child records from oneToMany import data. Record at index 0 was not an
@@ -10617,8 +10634,14 @@ components:
10617
10634
  Path to the array of child records inside an object record when `oneToMany` is true, in dot
10618
10635
  notation (`items`, `lines.lineItems`). Leave blank when the incoming record is itself an array
10619
10636
  (grouped or row-based data) — each element is then a child record. A path that does not resolve
10620
- to an array processes zero records and reports success.
10637
+ to an array processes zero records and reports success. Read only on steps that receive a
10638
+ record (imports, lookup exports); on a standalone export it is saved and ignored — see `oneToMany`.
10621
10639
  x-celigo-ai-guidance:
10640
+ - |-
10641
+ Inert on a standalone export (a flow's page generator) exactly like ``oneToMany`` — the value
10642
+ is saved, the export's records reach the next step unchanged, and nothing errors
10643
+ (live-verified 2026-09-18). Splitting a standalone export's records into one per element is
10644
+ ``hooks.preSavePage`` work, or the file definition's record boundary; never this field.
10622
10645
  - |-
10623
10646
  Set this ONLY when the record entering the step is an object whose children sit under a field.
10624
10647
  On an array record (a ``groupByFields`` export, a CSV/file group, a script returning an array)
@@ -14393,9 +14416,12 @@ components:
14393
14416
  format: objectId
14394
14417
  x-celigo-refModel: ediprofiles
14395
14418
  description: |-
14396
- EDI profile this import uses to generate outbound X12 EDI documents — it supplies the
14397
- envelope qualifiers, delimiters, version, and validation rules. Set it when the import
14398
- produces EDI output; omit it otherwise.
14419
+ EDI profile this import uses to generate outbound X12 or EDIFACT documents — it supplies
14420
+ the envelope qualifiers, delimiters, version, and validation rules. Set it when the
14421
+ import produces EDI output; omit it otherwise. Accepted on the file-writing imports —
14422
+ FTP, AS2, S3 and HTTP file mode (`http.type: "file"`).
14423
+ x-celigo-ai-guidance:
14424
+ - 'On an HTTP import set `http.type: "file"` (the folder mode of file-provider connectors) and pair this field with `file.type: "filedefinition"` and `file.skipAggregation: true` or `file.aggregation.type: "key"` — the platform saves EDI files per page or per key, never aggregated per run.'
14399
14425
  parsers:
14400
14426
  type: array
14401
14427
  description: |-
package/dist/tool.yml CHANGED
@@ -17105,11 +17105,15 @@ components:
17105
17105
  - `S3Import`
17106
17106
  - `FTPImport`
17107
17107
  - `AS2Import`
17108
+ - `HTTPImport` in file mode (`http.type: "file"` — the folder mode of the cloud file
17109
+ providers such as Google Drive, Box, Dropbox, Azure Blob, Google Cloud Storage and Celigo
17110
+ Storage); the same `file` object, including `type: filedefinition` with `_ediProfileId`
17111
+ for EDI, applies as on S3 / FTP
17108
17112
 
17109
17113
  ❌ **DO NOT SET** for non-file-based imports like:
17110
17114
  - `SalesforceImport`
17111
17115
  - `NetSuiteImport`
17112
- - `HTTPImport`
17116
+ - `HTTPImport` in records mode (`http.type` unset — a REST endpoint receiving records)
17113
17117
  - `MongodbImport`
17114
17118
  - `RDBMSImport`
17115
17119
 
@@ -19439,13 +19443,26 @@ components:
19439
19443
  are re-joined into the record's original shape — the object with its array, or the array of rows —
19440
19444
  carrying any response-mapping enrichment, and that re-joined record is what the next step
19441
19445
  receives. Not for locating records in an export's HTTP response; use
19442
- `http.response.resourcePath` for that.
19446
+ `http.response.resourcePath` for that. Applies to steps that receive a record — imports and
19447
+ lookups (an export referenced as a page processor of a flow, API, or Tool). A standalone export
19448
+ (a flow's page generator) has no incoming record, so the fields are saved but have no effect on
19449
+ the records it produces; to emit one record per array element from a standalone export, use a
19450
+ `hooks.preSavePage` script, or for a file-definition export make the repeating segment the
19451
+ record boundary in the definition's rules.
19443
19452
  x-celigo-ai-guidance:
19444
19453
  - |-
19445
19454
  Two modes, decided by the SHAPE of the record entering the step. Object record with a child
19446
19455
  array under a field → set ``pathToMany`` to that field. Array record (a ``groupByFields``
19447
19456
  export, a CSV/file group, a script that returns an array) → leave ``pathToMany`` blank; each
19448
19457
  element becomes one record. Live-verified 2026-09-10 on flows, Tools, and APIs.
19458
+ - |-
19459
+ Only imports and lookups (exports placed as page processors) fan out. On a standalone export
19460
+ (a flow's page generator) the API saves ``oneToMany`` / ``pathToMany`` and applies neither:
19461
+ the records reach the next step unchanged and no error is raised. Live-verified 2026-09-18 on
19462
+ a flow test run — an order record with three ``lines`` reached the import as ONE record with
19463
+ the setting on the export, and as THREE child records with the same setting on the import.
19464
+ Never propose these fields as the way to split a standalone export's records; that is
19465
+ ``hooks.preSavePage`` work (or, for a file definition, the definition's record boundary).
19449
19466
  - |-
19450
19467
  Blank ``pathToMany`` on an OBJECT record fails every record with code ``oneToMany_error``:
19451
19468
  "Failed to extract child records from oneToMany import data. Record at index 0 was not an
@@ -19475,8 +19492,14 @@ components:
19475
19492
  Path to the array of child records inside an object record when `oneToMany` is true, in dot
19476
19493
  notation (`items`, `lines.lineItems`). Leave blank when the incoming record is itself an array
19477
19494
  (grouped or row-based data) — each element is then a child record. A path that does not resolve
19478
- to an array processes zero records and reports success.
19495
+ to an array processes zero records and reports success. Read only on steps that receive a
19496
+ record (imports, lookup exports); on a standalone export it is saved and ignored — see `oneToMany`.
19479
19497
  x-celigo-ai-guidance:
19498
+ - |-
19499
+ Inert on a standalone export (a flow's page generator) exactly like ``oneToMany`` — the value
19500
+ is saved, the export's records reach the next step unchanged, and nothing errors
19501
+ (live-verified 2026-09-18). Splitting a standalone export's records into one per element is
19502
+ ``hooks.preSavePage`` work, or the file definition's record boundary; never this field.
19480
19503
  - |-
19481
19504
  Set this ONLY when the record entering the step is an object whose children sit under a field.
19482
19505
  On an array record (a ``groupByFields`` export, a CSV/file group, a script returning an array)
@@ -21172,9 +21195,12 @@ components:
21172
21195
  format: objectId
21173
21196
  x-celigo-refModel: ediprofiles
21174
21197
  description: |-
21175
- EDI profile this import uses to generate outbound X12 EDI documents — it supplies the
21176
- envelope qualifiers, delimiters, version, and validation rules. Set it when the import
21177
- produces EDI output; omit it otherwise.
21198
+ EDI profile this import uses to generate outbound X12 or EDIFACT documents — it supplies
21199
+ the envelope qualifiers, delimiters, version, and validation rules. Set it when the
21200
+ import produces EDI output; omit it otherwise. Accepted on the file-writing imports —
21201
+ FTP, AS2, S3 and HTTP file mode (`http.type: "file"`).
21202
+ x-celigo-ai-guidance:
21203
+ - 'On an HTTP import set `http.type: "file"` (the folder mode of file-provider connectors) and pair this field with `file.type: "filedefinition"` and `file.skipAggregation: true` or `file.aggregation.type: "key"` — the platform saves EDI files per page or per key, never aggregated per run.'
21178
21204
  parsers:
21179
21205
  type: array
21180
21206
  description: |-
@@ -26294,10 +26320,10 @@ components:
26294
26320
  - blob
26295
26321
  - csvstream
26296
26322
  x-enumDescriptions:
26297
- file: Treats the HTTP response as raw file content (PDFs, images, binary data) rather than structured data records.
26323
+ file: Works with files instead of a record endpoint — a raw file download (PDFs, images, binary data), or a file-provider folder whose files the file object parses into records (csv, json, xml, xlsx, filedefinition incl. EDI)
26298
26324
  blob: Transfers the raw response body downstream as a blob without parsing it into records.
26299
26325
  csvstream: Streams a large CSV response, parsing it row-by-row instead of loading the whole body into memory.
26300
- description: Set to `file` only when the endpoint returns raw file content (PDFs, images, binary data) to be saved as a file rather than parsed as records; the `file` object must also be configured. Leave undefined for standard data exports that return structured records (JSON, XML, GraphQL, SOAP responses) — the response is then parsed into records for downstream steps. When set to `file` or `blob`, the export appears as a "Transfer" step in Flow Builder instead of a standard "Export" step.
26326
+ description: 'Set to `file` when the export works with files rather than a record-returning endpoint: raw file downloads (PDFs, images, binary data) and the folder mode of the cloud file providers (Google Drive, Box, Dropbox, Azure Blob, Google Cloud Storage, Celigo Storage), where each file in the folder is parsed by the `file` object''s `type` (csv, json, xml, xlsx, filedefinition — including EDI) into records; the `file` object must also be configured. Leave undefined for standard data exports that return structured records (JSON, XML, GraphQL, SOAP responses) — the response is then parsed into records for downstream steps. When set to `file` or `blob`, the export appears as a "Transfer" step in Flow Builder instead of a standard "Export" step.'
26301
26327
  x-celigo-ai-guidance:
26302
26328
  - |-
26303
26329
  ## IMPORTANT: This field should be LEFT UNDEFINED for the vast majority of HTTP exports.
@@ -26319,18 +26345,24 @@ components:
26319
26345
  - "Export all Shopify Customers" → undefined (returns JSON customer records)
26320
26346
  - "Retrieve orders from custom REST API" → undefined (returns JSON order records)
26321
26347
  - |-
26322
- ## WHEN TO SET THIS FIELD TO 'file' (RARE USE CASE):
26348
+ ## WHEN TO SET THIS FIELD TO 'file' (the export works with FILES, not a record endpoint):
26323
26349
 
26324
- Set this field to 'file' ONLY when the HTTP endpoint is specifically designed to download files:
26325
- - The endpoint returns raw binary file content (PDFs, images, ZIP files, etc.)
26326
- - The endpoint is a file download service (e.g., downloading invoices, reports, attachments)
26327
- - The response body contains file data that needs to be saved as a file, not parsed as records
26328
- - You need to download and process files from a remote server
26350
+ Set this field to 'file' in two situations:
26351
+ - The HTTP endpoint is specifically designed to download files — it returns raw binary
26352
+ file content (PDFs, images, ZIP files) or is a file download service (invoices,
26353
+ reports, attachments) whose body is saved as a file rather than parsed as records
26354
+ - The connection is a cloud file provider used in FOLDER mode (Google Drive, Box, Dropbox,
26355
+ Azure Blob Storage, Google Cloud Storage, Celigo Storage): the export reads the files
26356
+ in a folder and the 'file' object's `type` (csv, json, xml, xlsx, filedefinition)
26357
+ parses each one into records — the same file layer as an FTP or S3 export
26329
26358
 
26330
26359
  Examples of when to set type: "file":
26331
26360
  - "Download PDF invoices from the API" → type: "file"
26332
26361
  - "Retrieve image files from a file server" → type: "file"
26333
- - "Download CSV files from an FTP server via HTTP" → type: "file"
26362
+ - "Read the CSV files dropped in our Google Drive folder" → type: "file", with file.type "csv"
26363
+ - "Parse EDI X12 850 files from a Google Drive / Celigo Storage folder" → type: "file",
26364
+ with file.type "filedefinition" and a top-level _ediProfileId (EDI fields are
26365
+ accepted on HTTP exports only in file mode)
26334
26366
  - |-
26335
26367
  ## IMPLEMENTATION DETAILS
26336
26368
 
@@ -26338,7 +26370,9 @@ components:
26338
26370
  - The 'file' object property MUST also be configured
26339
26371
  - The export appears as a "Transfer" step in the Flow Builder UI
26340
26372
  - The system applies file-specific processing to the HTTP response
26341
- - Downstream steps receive file content rather than record data
26373
+ - Downstream steps receive records when the 'file' object's `type` parses the files
26374
+ (csv, json, xml, xlsx, filedefinition with `file.output: "records"`), or the file
26375
+ content itself when `file.output` is "blobKeys"
26342
26376
 
26343
26377
  When this field is undefined (default for most exports):
26344
26378
  - The export appears as a standard "Export" step in the Flow Builder UI
@@ -26353,6 +26387,9 @@ components:
26353
26387
  → YES: Leave this field undefined
26354
26388
  3. Does the API endpoint return raw file content (PDFs, images, binary data)?
26355
26389
  → YES: Set this field to "file" (and configure the 'file' property)
26390
+ 4. Is the connection a cloud file provider and the export reads a FOLDER of files
26391
+ (CSV, JSON, XML, XLSX, or EDI via a file definition)?
26392
+ → YES: Set this field to "file" (and configure the 'file' property with the parsing type)
26356
26393
 
26357
26394
  Remember: When in doubt, leave this field undefined. Most HTTP exports are standard data exports.
26358
26395
  examples:
@@ -33607,9 +33644,12 @@ components:
33607
33644
  format: objectId
33608
33645
  x-celigo-refModel: ediprofiles
33609
33646
  description: |-
33610
- EDI profile this export uses to parse incoming X12 EDI documents into structured JSON —
33611
- it supplies the envelope qualifiers, delimiters, version, and validation rules. Set it
33612
- when the export parses or validates EDI files; omit it otherwise.
33647
+ EDI profile this export uses to parse incoming X12 or EDIFACT documents into structured
33648
+ JSON — it supplies the envelope qualifiers, delimiters, version, and validation rules.
33649
+ Set it when the export parses or validates EDI files; omit it otherwise. Accepted on the
33650
+ file-reading exports — FTP, AS2, S3 and HTTP file mode (`http.type: "file"`).
33651
+ x-celigo-ai-guidance:
33652
+ - 'An HTTP export accepts this field only in file mode (`http.type: "file"`, the folder mode of file-provider connectors such as Google Drive, Box, Dropbox, Azure Blob, Google Cloud Storage and Celigo Storage). On a REST/records HTTP export the save is rejected with `not_supported`: "EDIProfile can only be associated with the export of type FTP, AS2, S3 or HTTP file."'
33613
33653
  examples:
33614
33654
  - 60a2c4e6f321d800129a1a3c
33615
33655
  _postParseListenerId:
@@ -33619,8 +33659,10 @@ components:
33619
33659
  description: |-
33620
33660
  Webhook export invoked once per file after EDI parsing, on both success and failure
33621
33661
  (errors are included in the payload when parsing fails). Primarily used to send
33622
- functional acknowledgements (997/999) to trading partners. Only supported for
33623
- `AS2Export` and `FTPExport` parsing EDI files.
33662
+ functional acknowledgements (997/999) to trading partners. Accepted on the file-reading
33663
+ exports that parse EDI — FTP, AS2, S3 and HTTP file mode (`http.type: "file"`).
33664
+ x-celigo-ai-guidance:
33665
+ - 'The listener must be an export with `type: "webhook"` and `webhook.provider: "integrator-extension"`; any other export id is rejected with `invalid_post_parse_listener`. On an HTTP export outside file mode the save is rejected with `post_parse_listener_not_supported`: "Listener for functional acknowledgment is only supported for AS2, FTP, S3 and HTTP file export."'
33624
33666
  examples:
33625
33667
  - 60a2c4e6f321d800129a1a3c
33626
33668
  externalId:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celigo/api-specs",
3
- "version": "0.2.21",
3
+ "version": "0.2.23",
4
4
  "private": false,
5
5
  "description": "Public OpenAPI bundles (dist/) and the celigo-cli lint schema pack (schemas.json).",
6
6
  "keywords": [
package/schemas.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "provenance": {
3
3
  "repo": "celigo/integrator-api-specs",
4
- "iasCommit": "dc9205a",
4
+ "iasCommit": "ed5e198",
5
5
  "generatedAt": "2026-09-18"
6
6
  },
7
7
  "roots": {