@celigo/api-specs 0.2.22 → 0.2.24

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
@@ -4958,11 +4958,6 @@ components:
4958
4958
  `hooks.preSavePage` script, or for a file-definition export make the repeating segment the
4959
4959
  record boundary in the definition's rules.
4960
4960
  x-celigo-ai-guidance:
4961
- - |-
4962
- Two modes, decided by the SHAPE of the record entering the step. Object record with a child
4963
- array under a field → set ``pathToMany`` to that field. Array record (a ``groupByFields``
4964
- export, a CSV/file group, a script that returns an array) → leave ``pathToMany`` blank; each
4965
- element becomes one record. Live-verified 2026-09-10 on flows, Tools, and APIs.
4966
4961
  - |-
4967
4962
  Only imports and lookups (exports placed as page processors) fan out. On a standalone export
4968
4963
  (a flow's page generator) the API saves ``oneToMany`` / ``pathToMany`` and applies neither:
@@ -4971,6 +4966,12 @@ components:
4971
4966
  the setting on the export, and as THREE child records with the same setting on the import.
4972
4967
  Never propose these fields as the way to split a standalone export's records; that is
4973
4968
  ``hooks.preSavePage`` work (or, for a file definition, the definition's record boundary).
4969
+ The rules below apply only on a step that receives a record.
4970
+ - |-
4971
+ Two modes, decided by the SHAPE of the record entering the step. Object record with a child
4972
+ array under a field → set ``pathToMany`` to that field. Array record (a ``groupByFields``
4973
+ export, a CSV/file group, a script that returns an array) → leave ``pathToMany`` blank; each
4974
+ element becomes one record. Live-verified 2026-09-10 on flows, Tools, and APIs.
4974
4975
  - |-
4975
4976
  Blank ``pathToMany`` on an OBJECT record fails every record with code ``oneToMany_error``:
4976
4977
  "Failed to extract child records from oneToMany import data. Record at index 0 was not an
package/dist/api.yml CHANGED
@@ -3001,14 +3001,37 @@ components:
3001
3001
  - Customer API
3002
3002
  - Order Management API
3003
3003
  _integrationId:
3004
- type: string
3004
+ type:
3005
+ - string
3006
+ - 'null'
3005
3007
  format: objectId
3006
3008
  x-celigo-refModel: integrations
3007
- description: Integration this API belongs to. Omitted for standalone APIs (an API can be created without an integration).
3009
+ description: |-
3010
+ Integration this API belongs to. **Builder mode only** — a script-mode
3011
+ API is always account-level and the server silently drops this field.
3012
+ Send `null` (or omit) to keep the API account-level; on reads the field
3013
+ is omitted when unset, never `null`.
3008
3014
  examples:
3009
3015
  - 5e9a8f7c6b3d2a0011c4e5f6
3010
3016
  x-celigo-ai-guidance:
3011
3017
  - To move the API to a different integration, PUT with a changed _integrationId; the platform registers the API's step connections in the target integration on save.
3018
+ - |-
3019
+ PUT is a full replace: omitting _integrationId (or sending null) on an
3020
+ integration-owned API moves it back to the account level and clears
3021
+ _apiGroupingId with it.
3022
+ _apiGroupingId:
3023
+ type:
3024
+ - string
3025
+ - 'null'
3026
+ format: objectId
3027
+ description: |-
3028
+ One of the owning integration's `apiGroupings`, subdividing its APIs.
3029
+ Requires `_integrationId` in the same write — sent without it, the server
3030
+ silently drops both — so builder mode only. `PUT /v1/apis/updateApiGrouping`
3031
+ regroups many APIs at once; this field carries the same value on a single
3032
+ API. On reads the field is omitted when unset, never `null`.
3033
+ examples:
3034
+ - 60a1b2c3d4e5f60012345678
3012
3035
  description:
3013
3036
  type: string
3014
3037
  description: Optional description of the API's purpose.
@@ -3208,18 +3231,6 @@ components:
3208
3231
  description: Unique identifier for the API.
3209
3232
  examples:
3210
3233
  - 68ae4264b5f755d2dd3796b4
3211
- _apiGroupingId:
3212
- type:
3213
- - string
3214
- - 'null'
3215
- format: objectId
3216
- readOnly: true
3217
- description: |-
3218
- API grouping this API belongs to. Set only via
3219
- `PUT /apis/grouping`; the server ignores this field in POST/PUT
3220
- bodies on this resource. May be `null` after ungrouping.
3221
- examples:
3222
- - 60a1b2c3d4e5f60012345678
3223
3234
  _scriptId:
3224
3235
  type: string
3225
3236
  format: objectId
@@ -927,6 +927,87 @@ paths:
927
927
  Deletes a connection permanently. This operation cannot be undone.
928
928
  The connection must not be in use by any active flows or integrations.
929
929
  /v1/connections/{_id}/ping:
930
+ get:
931
+ x-internal: false
932
+ summary: Ping an existing connection via GET
933
+ description: |-
934
+ GET variant of the saved-connection ping — identical behavior to
935
+ `POST /v1/connections/{_id}/ping`, with no request body to send. Runs the adaptor's ping
936
+ routine against the connection identified by `_id` to verify its credentials and network
937
+ configuration still work; no data is read, written, or modified.
938
+
939
+ Inspect the response body, not the HTTP status, to determine the outcome: success and
940
+ adaptor-level failures both return HTTP 200 — success is `{code: 200}`, failures are
941
+ `{errors: [...]}`. The only non-success status is 404, when `_id` does not resolve to a
942
+ connection.
943
+ operationId: pingConnectionByGet
944
+ tags:
945
+ - Connections
946
+ parameters:
947
+ - in: path
948
+ name: _id
949
+ required: true
950
+ schema:
951
+ type: string
952
+ format: objectId
953
+ x-celigo-refModel: connections
954
+ description: Connection ID to ping.
955
+ responses:
956
+ '200':
957
+ description: |-
958
+ Ping executed. **Inspect the body** to determine outcome — success and
959
+ adaptor-level failures both return HTTP 200. Success returns
960
+ `{code: 200}`; adaptor-level failures return `{errors: [...]}`.
961
+ content:
962
+ application/json:
963
+ schema:
964
+ oneOf:
965
+ - title: Ping success
966
+ type: object
967
+ required:
968
+ - code
969
+ properties:
970
+ code:
971
+ type: integer
972
+ description: Mirrors the HTTP status — always 200 on success.
973
+ example: 200
974
+ additionalProperties: true
975
+ - $ref: '#/components/schemas/Error'
976
+ examples:
977
+ success:
978
+ summary: Connection reachable
979
+ value:
980
+ code: 200
981
+ dns_failure:
982
+ summary: Connection's baseURI host could not be resolved
983
+ value:
984
+ errors:
985
+ - code: invalid_host
986
+ message: 'Unknown host: api.example.invalid. We were unable to verify this host using a DNS lookup.'
987
+ source: resource
988
+ '401':
989
+ $ref: '#/components/responses/401-unauthorized'
990
+ '404':
991
+ description: |-
992
+ No connection found for the given `_id`. The body is an `invalid_ref`
993
+ error — note this is a 404, not a 400, and the field pointer is `_id`.
994
+ content:
995
+ application/json:
996
+ schema:
997
+ $ref: '#/components/schemas/Error'
998
+ examples:
999
+ invalid_ref:
1000
+ value:
1001
+ errors:
1002
+ - field: _id
1003
+ code: invalid_ref
1004
+ message: unable to find connection for the given id.
1005
+ x-celigo-ai-guidance:
1006
+ - |-
1007
+ Behaves identically to POST /v1/connections/{_id}/ping and takes no request body — use
1008
+ whichever verb the client supports. Both verbs return HTTP 200 with {code: 200} on
1009
+ success and HTTP 200 with {errors: [...]} on adaptor-level failure, so inspect the body,
1010
+ not the status code.
930
1011
  post:
931
1012
  x-internal: false
932
1013
  summary: Ping an existing connection
@@ -1047,13 +1047,13 @@ components:
1047
1047
  - rejected
1048
1048
  - failed
1049
1049
  x-enumDescriptions:
1050
- inProgress: Acknowledgment is pending from the trading partner
1051
- notApplicable: Transaction type does not require a functional acknowledgment
1052
- notReceived: Acknowledgment window expired without a response
1053
- accepted: Trading partner accepted the transaction without errors
1054
- acceptedWithErrors: Trading partner accepted but reported non-fatal errors
1055
- rejected: Trading partner rejected the transaction entirely
1056
- failed: Acknowledgment processing failed due to a system error
1050
+ inProgress: Awaiting functional acknowledgment from the trading partner.
1051
+ notApplicable: No functional acknowledgment expected — the document is itself an FA, or the trading partner does not require one.
1052
+ notReceived: Functional acknowledgment expected but not yet received.
1053
+ accepted: Functional acknowledgment received and transaction was accepted.
1054
+ acceptedWithErrors: Functional acknowledgment received with errors but transaction was accepted.
1055
+ rejected: Functional acknowledgment received and transaction was rejected.
1056
+ failed: Functional acknowledgment processing failed.
1057
1057
  description: |-
1058
1058
  Filter by functional acknowledgment status. Pass an array of one or
1059
1059
  more values to match. Must be an array, not a bare string. Omit to
package/dist/export.yml CHANGED
@@ -810,11 +810,6 @@ components:
810
810
  `hooks.preSavePage` script, or for a file-definition export make the repeating segment the
811
811
  record boundary in the definition's rules.
812
812
  x-celigo-ai-guidance:
813
- - |-
814
- Two modes, decided by the SHAPE of the record entering the step. Object record with a child
815
- array under a field → set ``pathToMany`` to that field. Array record (a ``groupByFields``
816
- export, a CSV/file group, a script that returns an array) → leave ``pathToMany`` blank; each
817
- element becomes one record. Live-verified 2026-09-10 on flows, Tools, and APIs.
818
813
  - |-
819
814
  Only imports and lookups (exports placed as page processors) fan out. On a standalone export
820
815
  (a flow's page generator) the API saves ``oneToMany`` / ``pathToMany`` and applies neither:
@@ -823,6 +818,12 @@ components:
823
818
  the setting on the export, and as THREE child records with the same setting on the import.
824
819
  Never propose these fields as the way to split a standalone export's records; that is
825
820
  ``hooks.preSavePage`` work (or, for a file definition, the definition's record boundary).
821
+ The rules below apply only on a step that receives a record.
822
+ - |-
823
+ Two modes, decided by the SHAPE of the record entering the step. Object record with a child
824
+ array under a field → set ``pathToMany`` to that field. Array record (a ``groupByFields``
825
+ export, a CSV/file group, a script that returns an array) → leave ``pathToMany`` blank; each
826
+ element becomes one record. Live-verified 2026-09-10 on flows, Tools, and APIs.
826
827
  - |-
827
828
  Blank ``pathToMany`` on an OBJECT record fails every record with code ``oneToMany_error``:
828
829
  "Failed to extract child records from oneToMany import data. Record at index 0 was not an
@@ -5921,10 +5922,10 @@ components:
5921
5922
  - blob
5922
5923
  - csvstream
5923
5924
  x-enumDescriptions:
5924
- file: Treats the HTTP response as raw file content (PDFs, images, binary data) rather than structured data records.
5925
+ 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)
5925
5926
  blob: Transfers the raw response body downstream as a blob without parsing it into records.
5926
5927
  csvstream: Streams a large CSV response, parsing it row-by-row instead of loading the whole body into memory.
5927
- 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.
5928
+ 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.'
5928
5929
  x-celigo-ai-guidance:
5929
5930
  - |-
5930
5931
  ## IMPORTANT: This field should be LEFT UNDEFINED for the vast majority of HTTP exports.
@@ -5946,18 +5947,24 @@ components:
5946
5947
  - "Export all Shopify Customers" → undefined (returns JSON customer records)
5947
5948
  - "Retrieve orders from custom REST API" → undefined (returns JSON order records)
5948
5949
  - |-
5949
- ## WHEN TO SET THIS FIELD TO 'file' (RARE USE CASE):
5950
+ ## WHEN TO SET THIS FIELD TO 'file' (the export works with FILES, not a record endpoint):
5950
5951
 
5951
- Set this field to 'file' ONLY when the HTTP endpoint is specifically designed to download files:
5952
- - The endpoint returns raw binary file content (PDFs, images, ZIP files, etc.)
5953
- - The endpoint is a file download service (e.g., downloading invoices, reports, attachments)
5954
- - The response body contains file data that needs to be saved as a file, not parsed as records
5955
- - You need to download and process files from a remote server
5952
+ Set this field to 'file' in two situations:
5953
+ - The HTTP endpoint is specifically designed to download files — it returns raw binary
5954
+ file content (PDFs, images, ZIP files) or is a file download service (invoices,
5955
+ reports, attachments) whose body is saved as a file rather than parsed as records
5956
+ - The connection is a cloud file provider used in FOLDER mode (Google Drive, Box, Dropbox,
5957
+ Azure Blob Storage, Google Cloud Storage, Celigo Storage): the export reads the files
5958
+ in a folder and the 'file' object's `type` (csv, json, xml, xlsx, filedefinition)
5959
+ parses each one into records — the same file layer as an FTP or S3 export
5956
5960
 
5957
5961
  Examples of when to set type: "file":
5958
5962
  - "Download PDF invoices from the API" → type: "file"
5959
5963
  - "Retrieve image files from a file server" → type: "file"
5960
- - "Download CSV files from an FTP server via HTTP" → type: "file"
5964
+ - "Read the CSV files dropped in our Google Drive folder" → type: "file", with file.type "csv"
5965
+ - "Parse EDI X12 850 files from a Google Drive / Celigo Storage folder" → type: "file",
5966
+ with file.type "filedefinition" and a top-level _ediProfileId (EDI fields are
5967
+ accepted on HTTP exports only in file mode)
5961
5968
  - |-
5962
5969
  ## IMPLEMENTATION DETAILS
5963
5970
 
@@ -5965,7 +5972,9 @@ components:
5965
5972
  - The 'file' object property MUST also be configured
5966
5973
  - The export appears as a "Transfer" step in the Flow Builder UI
5967
5974
  - The system applies file-specific processing to the HTTP response
5968
- - Downstream steps receive file content rather than record data
5975
+ - Downstream steps receive records when the 'file' object's `type` parses the files
5976
+ (csv, json, xml, xlsx, filedefinition with `file.output: "records"`), or the file
5977
+ content itself when `file.output` is "blobKeys"
5969
5978
 
5970
5979
  When this field is undefined (default for most exports):
5971
5980
  - The export appears as a standard "Export" step in the Flow Builder UI
@@ -5980,6 +5989,9 @@ components:
5980
5989
  → YES: Leave this field undefined
5981
5990
  3. Does the API endpoint return raw file content (PDFs, images, binary data)?
5982
5991
  → YES: Set this field to "file" (and configure the 'file' property)
5992
+ 4. Is the connection a cloud file provider and the export reads a FOLDER of files
5993
+ (CSV, JSON, XML, XLSX, or EDI via a file definition)?
5994
+ → YES: Set this field to "file" (and configure the 'file' property with the parsing type)
5983
5995
 
5984
5996
  Remember: When in doubt, leave this field undefined. Most HTTP exports are standard data exports.
5985
5997
  examples:
@@ -15517,6 +15529,8 @@ components:
15517
15529
  - prepareFormData
15518
15530
  _scriptId:
15519
15531
  type: string
15532
+ format: objectId
15533
+ x-celigo-refModel: scripts
15520
15534
  description: |
15521
15535
  Reference to a predefined script resource containing the initialization function.
15522
15536
 
@@ -15729,6 +15743,8 @@ components:
15729
15743
  - prepareResourceForSave
15730
15744
  _scriptId:
15731
15745
  type: string
15746
+ format: objectId
15747
+ x-celigo-refModel: scripts
15732
15748
  description: |
15733
15749
  Reference to a predefined script resource containing the preSave function.
15734
15750
 
@@ -16204,9 +16220,12 @@ components:
16204
16220
  format: objectId
16205
16221
  x-celigo-refModel: ediprofiles
16206
16222
  description: |-
16207
- EDI profile this export uses to parse incoming X12 EDI documents into structured JSON —
16208
- it supplies the envelope qualifiers, delimiters, version, and validation rules. Set it
16209
- when the export parses or validates EDI files; omit it otherwise.
16223
+ EDI profile this export uses to parse incoming X12 or EDIFACT documents into structured
16224
+ JSON — it supplies the envelope qualifiers, delimiters, version, and validation rules.
16225
+ Set it when the export parses or validates EDI files; omit it otherwise. Accepted on the
16226
+ file-reading exports — FTP, AS2, S3 and HTTP file mode (`http.type: "file"`).
16227
+ x-celigo-ai-guidance:
16228
+ - '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."'
16210
16229
  examples:
16211
16230
  - 60a2c4e6f321d800129a1a3c
16212
16231
  _postParseListenerId:
@@ -16216,8 +16235,10 @@ components:
16216
16235
  description: |-
16217
16236
  Webhook export invoked once per file after EDI parsing, on both success and failure
16218
16237
  (errors are included in the payload when parsing fails). Primarily used to send
16219
- functional acknowledgements (997/999) to trading partners. Only supported for
16220
- `AS2Export` and `FTPExport` parsing EDI files.
16238
+ functional acknowledgements (997/999) to trading partners. Accepted on the file-reading
16239
+ exports that parse EDI — FTP, AS2, S3 and HTTP file mode (`http.type: "file"`).
16240
+ x-celigo-ai-guidance:
16241
+ - '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."'
16221
16242
  examples:
16222
16243
  - 60a2c4e6f321d800129a1a3c
16223
16244
  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
 
@@ -10588,11 +10592,6 @@ components:
10588
10592
  `hooks.preSavePage` script, or for a file-definition export make the repeating segment the
10589
10593
  record boundary in the definition's rules.
10590
10594
  x-celigo-ai-guidance:
10591
- - |-
10592
- Two modes, decided by the SHAPE of the record entering the step. Object record with a child
10593
- array under a field → set ``pathToMany`` to that field. Array record (a ``groupByFields``
10594
- export, a CSV/file group, a script that returns an array) → leave ``pathToMany`` blank; each
10595
- element becomes one record. Live-verified 2026-09-10 on flows, Tools, and APIs.
10596
10595
  - |-
10597
10596
  Only imports and lookups (exports placed as page processors) fan out. On a standalone export
10598
10597
  (a flow's page generator) the API saves ``oneToMany`` / ``pathToMany`` and applies neither:
@@ -10601,6 +10600,12 @@ components:
10601
10600
  the setting on the export, and as THREE child records with the same setting on the import.
10602
10601
  Never propose these fields as the way to split a standalone export's records; that is
10603
10602
  ``hooks.preSavePage`` work (or, for a file definition, the definition's record boundary).
10603
+ The rules below apply only on a step that receives a record.
10604
+ - |-
10605
+ Two modes, decided by the SHAPE of the record entering the step. Object record with a child
10606
+ array under a field → set ``pathToMany`` to that field. Array record (a ``groupByFields``
10607
+ export, a CSV/file group, a script that returns an array) → leave ``pathToMany`` blank; each
10608
+ element becomes one record. Live-verified 2026-09-10 on flows, Tools, and APIs.
10604
10609
  - |-
10605
10610
  Blank ``pathToMany`` on an OBJECT record fails every record with code ``oneToMany_error``:
10606
10611
  "Failed to extract child records from oneToMany import data. Record at index 0 was not an
@@ -13852,6 +13857,8 @@ components:
13852
13857
  - prepareFormData
13853
13858
  _scriptId:
13854
13859
  type: string
13860
+ format: objectId
13861
+ x-celigo-refModel: scripts
13855
13862
  description: |
13856
13863
  Reference to a predefined script resource containing the initialization function.
13857
13864
 
@@ -13920,6 +13927,8 @@ components:
13920
13927
  - prepareResourceForSave
13921
13928
  _scriptId:
13922
13929
  type: string
13930
+ format: objectId
13931
+ x-celigo-refModel: scripts
13923
13932
  description: |
13924
13933
  Reference to a predefined script resource containing the preSave function.
13925
13934
 
@@ -14412,9 +14421,12 @@ components:
14412
14421
  format: objectId
14413
14422
  x-celigo-refModel: ediprofiles
14414
14423
  description: |-
14415
- EDI profile this import uses to generate outbound X12 EDI documents — it supplies the
14416
- envelope qualifiers, delimiters, version, and validation rules. Set it when the import
14417
- produces EDI output; omit it otherwise.
14424
+ EDI profile this import uses to generate outbound X12 or EDIFACT documents — it supplies
14425
+ the envelope qualifiers, delimiters, version, and validation rules. Set it when the
14426
+ import produces EDI output; omit it otherwise. Accepted on the file-writing imports —
14427
+ FTP, AS2, S3 and HTTP file mode (`http.type: "file"`).
14428
+ x-celigo-ai-guidance:
14429
+ - '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.'
14418
14430
  parsers:
14419
14431
  type: array
14420
14432
  description: |-
@@ -2751,6 +2751,8 @@ components:
2751
2751
  - prepareFormData
2752
2752
  _scriptId:
2753
2753
  type: string
2754
+ format: objectId
2755
+ x-celigo-refModel: scripts
2754
2756
  description: |
2755
2757
  Reference to a predefined script resource containing the initialization function.
2756
2758
 
@@ -2819,6 +2821,8 @@ components:
2819
2821
  - prepareResourceForSave
2820
2822
  _scriptId:
2821
2823
  type: string
2824
+ format: objectId
2825
+ x-celigo-refModel: scripts
2822
2826
  description: |
2823
2827
  Reference to a predefined script resource containing the preSave function.
2824
2828
 
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
 
@@ -19446,11 +19450,6 @@ components:
19446
19450
  `hooks.preSavePage` script, or for a file-definition export make the repeating segment the
19447
19451
  record boundary in the definition's rules.
19448
19452
  x-celigo-ai-guidance:
19449
- - |-
19450
- Two modes, decided by the SHAPE of the record entering the step. Object record with a child
19451
- array under a field → set ``pathToMany`` to that field. Array record (a ``groupByFields``
19452
- export, a CSV/file group, a script that returns an array) → leave ``pathToMany`` blank; each
19453
- element becomes one record. Live-verified 2026-09-10 on flows, Tools, and APIs.
19454
19453
  - |-
19455
19454
  Only imports and lookups (exports placed as page processors) fan out. On a standalone export
19456
19455
  (a flow's page generator) the API saves ``oneToMany`` / ``pathToMany`` and applies neither:
@@ -19459,6 +19458,12 @@ components:
19459
19458
  the setting on the export, and as THREE child records with the same setting on the import.
19460
19459
  Never propose these fields as the way to split a standalone export's records; that is
19461
19460
  ``hooks.preSavePage`` work (or, for a file definition, the definition's record boundary).
19461
+ The rules below apply only on a step that receives a record.
19462
+ - |-
19463
+ Two modes, decided by the SHAPE of the record entering the step. Object record with a child
19464
+ array under a field → set ``pathToMany`` to that field. Array record (a ``groupByFields``
19465
+ export, a CSV/file group, a script that returns an array) → leave ``pathToMany`` blank; each
19466
+ element becomes one record. Live-verified 2026-09-10 on flows, Tools, and APIs.
19462
19467
  - |-
19463
19468
  Blank ``pathToMany`` on an OBJECT record fails every record with code ``oneToMany_error``:
19464
19469
  "Failed to extract child records from oneToMany import data. Record at index 0 was not an
@@ -20631,6 +20636,8 @@ components:
20631
20636
  - prepareFormData
20632
20637
  _scriptId:
20633
20638
  type: string
20639
+ format: objectId
20640
+ x-celigo-refModel: scripts
20634
20641
  description: |
20635
20642
  Reference to a predefined script resource containing the initialization function.
20636
20643
 
@@ -20699,6 +20706,8 @@ components:
20699
20706
  - prepareResourceForSave
20700
20707
  _scriptId:
20701
20708
  type: string
20709
+ format: objectId
20710
+ x-celigo-refModel: scripts
20702
20711
  description: |
20703
20712
  Reference to a predefined script resource containing the preSave function.
20704
20713
 
@@ -21191,9 +21200,12 @@ components:
21191
21200
  format: objectId
21192
21201
  x-celigo-refModel: ediprofiles
21193
21202
  description: |-
21194
- EDI profile this import uses to generate outbound X12 EDI documents — it supplies the
21195
- envelope qualifiers, delimiters, version, and validation rules. Set it when the import
21196
- produces EDI output; omit it otherwise.
21203
+ EDI profile this import uses to generate outbound X12 or EDIFACT documents — it supplies
21204
+ the envelope qualifiers, delimiters, version, and validation rules. Set it when the
21205
+ import produces EDI output; omit it otherwise. Accepted on the file-writing imports —
21206
+ FTP, AS2, S3 and HTTP file mode (`http.type: "file"`).
21207
+ x-celigo-ai-guidance:
21208
+ - '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.'
21197
21209
  parsers:
21198
21210
  type: array
21199
21211
  description: |-
@@ -26313,10 +26325,10 @@ components:
26313
26325
  - blob
26314
26326
  - csvstream
26315
26327
  x-enumDescriptions:
26316
- file: Treats the HTTP response as raw file content (PDFs, images, binary data) rather than structured data records.
26328
+ 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)
26317
26329
  blob: Transfers the raw response body downstream as a blob without parsing it into records.
26318
26330
  csvstream: Streams a large CSV response, parsing it row-by-row instead of loading the whole body into memory.
26319
- 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.
26331
+ 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.'
26320
26332
  x-celigo-ai-guidance:
26321
26333
  - |-
26322
26334
  ## IMPORTANT: This field should be LEFT UNDEFINED for the vast majority of HTTP exports.
@@ -26338,18 +26350,24 @@ components:
26338
26350
  - "Export all Shopify Customers" → undefined (returns JSON customer records)
26339
26351
  - "Retrieve orders from custom REST API" → undefined (returns JSON order records)
26340
26352
  - |-
26341
- ## WHEN TO SET THIS FIELD TO 'file' (RARE USE CASE):
26353
+ ## WHEN TO SET THIS FIELD TO 'file' (the export works with FILES, not a record endpoint):
26342
26354
 
26343
- Set this field to 'file' ONLY when the HTTP endpoint is specifically designed to download files:
26344
- - The endpoint returns raw binary file content (PDFs, images, ZIP files, etc.)
26345
- - The endpoint is a file download service (e.g., downloading invoices, reports, attachments)
26346
- - The response body contains file data that needs to be saved as a file, not parsed as records
26347
- - You need to download and process files from a remote server
26355
+ Set this field to 'file' in two situations:
26356
+ - The HTTP endpoint is specifically designed to download files — it returns raw binary
26357
+ file content (PDFs, images, ZIP files) or is a file download service (invoices,
26358
+ reports, attachments) whose body is saved as a file rather than parsed as records
26359
+ - The connection is a cloud file provider used in FOLDER mode (Google Drive, Box, Dropbox,
26360
+ Azure Blob Storage, Google Cloud Storage, Celigo Storage): the export reads the files
26361
+ in a folder and the 'file' object's `type` (csv, json, xml, xlsx, filedefinition)
26362
+ parses each one into records — the same file layer as an FTP or S3 export
26348
26363
 
26349
26364
  Examples of when to set type: "file":
26350
26365
  - "Download PDF invoices from the API" → type: "file"
26351
26366
  - "Retrieve image files from a file server" → type: "file"
26352
- - "Download CSV files from an FTP server via HTTP" → type: "file"
26367
+ - "Read the CSV files dropped in our Google Drive folder" → type: "file", with file.type "csv"
26368
+ - "Parse EDI X12 850 files from a Google Drive / Celigo Storage folder" → type: "file",
26369
+ with file.type "filedefinition" and a top-level _ediProfileId (EDI fields are
26370
+ accepted on HTTP exports only in file mode)
26353
26371
  - |-
26354
26372
  ## IMPLEMENTATION DETAILS
26355
26373
 
@@ -26357,7 +26375,9 @@ components:
26357
26375
  - The 'file' object property MUST also be configured
26358
26376
  - The export appears as a "Transfer" step in the Flow Builder UI
26359
26377
  - The system applies file-specific processing to the HTTP response
26360
- - Downstream steps receive file content rather than record data
26378
+ - Downstream steps receive records when the 'file' object's `type` parses the files
26379
+ (csv, json, xml, xlsx, filedefinition with `file.output: "records"`), or the file
26380
+ content itself when `file.output` is "blobKeys"
26361
26381
 
26362
26382
  When this field is undefined (default for most exports):
26363
26383
  - The export appears as a standard "Export" step in the Flow Builder UI
@@ -26372,6 +26392,9 @@ components:
26372
26392
  → YES: Leave this field undefined
26373
26393
  3. Does the API endpoint return raw file content (PDFs, images, binary data)?
26374
26394
  → YES: Set this field to "file" (and configure the 'file' property)
26395
+ 4. Is the connection a cloud file provider and the export reads a FOLDER of files
26396
+ (CSV, JSON, XML, XLSX, or EDI via a file definition)?
26397
+ → YES: Set this field to "file" (and configure the 'file' property with the parsing type)
26375
26398
 
26376
26399
  Remember: When in doubt, leave this field undefined. Most HTTP exports are standard data exports.
26377
26400
  examples:
@@ -33626,9 +33649,12 @@ components:
33626
33649
  format: objectId
33627
33650
  x-celigo-refModel: ediprofiles
33628
33651
  description: |-
33629
- EDI profile this export uses to parse incoming X12 EDI documents into structured JSON —
33630
- it supplies the envelope qualifiers, delimiters, version, and validation rules. Set it
33631
- when the export parses or validates EDI files; omit it otherwise.
33652
+ EDI profile this export uses to parse incoming X12 or EDIFACT documents into structured
33653
+ JSON — it supplies the envelope qualifiers, delimiters, version, and validation rules.
33654
+ Set it when the export parses or validates EDI files; omit it otherwise. Accepted on the
33655
+ file-reading exports — FTP, AS2, S3 and HTTP file mode (`http.type: "file"`).
33656
+ x-celigo-ai-guidance:
33657
+ - '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."'
33632
33658
  examples:
33633
33659
  - 60a2c4e6f321d800129a1a3c
33634
33660
  _postParseListenerId:
@@ -33638,8 +33664,10 @@ components:
33638
33664
  description: |-
33639
33665
  Webhook export invoked once per file after EDI parsing, on both success and failure
33640
33666
  (errors are included in the payload when parsing fails). Primarily used to send
33641
- functional acknowledgements (997/999) to trading partners. Only supported for
33642
- `AS2Export` and `FTPExport` parsing EDI files.
33667
+ functional acknowledgements (997/999) to trading partners. Accepted on the file-reading
33668
+ exports that parse EDI — FTP, AS2, S3 and HTTP file mode (`http.type: "file"`).
33669
+ x-celigo-ai-guidance:
33670
+ - '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."'
33643
33671
  examples:
33644
33672
  - 60a2c4e6f321d800129a1a3c
33645
33673
  externalId:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celigo/api-specs",
3
- "version": "0.2.22",
3
+ "version": "0.2.24",
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": "c51aefb",
4
+ "iasCommit": "9257926",
5
5
  "generatedAt": "2026-09-18"
6
6
  },
7
7
  "roots": {
@@ -1629,7 +1629,8 @@
1629
1629
  "object"
1630
1630
  ],
1631
1631
  "p": {
1632
- "_integrationId": 1,
1632
+ "_apiGroupingId": 88,
1633
+ "_integrationId": 88,
1633
1634
  "builder": 162,
1634
1635
  "description": 1,
1635
1636
  "disabled": 9,
@@ -2058,7 +2059,7 @@
2058
2059
  "p": {
2059
2060
  "_apiGroupingId": 88,
2060
2061
  "_id": 1,
2061
- "_integrationId": 1,
2062
+ "_integrationId": 88,
2062
2063
  "_scriptId": 1,
2063
2064
  "_templateId": 1,
2064
2065
  "apim": 199,