@celigo/api-specs 0.2.149 → 0.2.151
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 +11 -3
- package/dist/api.yml +80 -37
- package/dist/connection.yml +17 -4
- package/dist/enduser.yml +17 -4
- package/dist/export.yml +98 -56
- package/dist/filedefinition.yml +35 -4
- package/dist/flow.yml +17 -8
- package/dist/guardrail.yml +75 -24
- package/dist/import.yml +42 -22
- package/dist/integration.yml +9 -3
- package/dist/mcp-server.yml +17 -4
- package/dist/template.yml +16 -5
- package/dist/tool.yml +204 -105
- package/dist/user.yml +8 -1
- package/package.json +1 -1
- package/schemas.json +3 -1
package/dist/export.yml
CHANGED
|
@@ -982,36 +982,40 @@ components:
|
|
|
982
982
|
Delta:
|
|
983
983
|
type: object
|
|
984
984
|
description: |-
|
|
985
|
-
Configures incremental exports that retrieve only records created or modified since the
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
{{lastExportDateTime}} is the run's own timestamp
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
985
|
+
Configures incremental exports that retrieve only records created or modified since the
|
|
986
|
+
flow's delta checkpoint; omit it for other export types. Adaptors that compare a record field
|
|
987
|
+
name it in `dateField`, while HTTP exports and SQL queries carry {{lastExportDateTime}} in the
|
|
988
|
+
request and save without a delta object. Each run's window runs from {{lastExportDateTime}}
|
|
989
|
+
(the checkpoint) to {{currentExportDateTime}} (the time the run started). A first run is not a
|
|
990
|
+
full export: with no `startDate`, its {{lastExportDateTime}} is the run's own timestamp, so it
|
|
991
|
+
picks up no earlier changes. The checkpoint moves to a run's window end only when the run
|
|
992
|
+
exports records, so a run that exports nothing leaves it where it was, and after a failed run
|
|
993
|
+
the next run reuses the last checkpoint. On success, when `POST /v1/flows/{_id}/run` sends
|
|
994
|
+
`export.endDate`, the flow's checkpoint is left at that value, so an end date in the past
|
|
995
|
+
moves the next run's lower bound back.
|
|
994
996
|
x-celigo-ai-guidance:
|
|
995
997
|
- |-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
+
Omit this object for export types other than "delta". An HTTP export with type
|
|
999
|
+
"delta" saves without it, since the request carries {{lastExportDateTime}}, but
|
|
1000
|
+
set ``startDate`` anyway: without it the first run's window is empty.
|
|
998
1001
|
Delta exports are designed for efficient synchronization by retrieving only
|
|
999
1002
|
records that have been created or modified since the last execution.
|
|
1000
1003
|
- |-
|
|
1001
1004
|
## REQUIRED FIELDS
|
|
1002
1005
|
- ``startDate`` -- the initial cutoff timestamp the platform uses on the
|
|
1003
1006
|
first run (and as the floor for ``{{lastExportDateTime}}`` thereafter).
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
delta
|
|
1007
|
+
Without it, a new flow's first run renders ``{{lastExportDateTime}}`` as
|
|
1008
|
+
the run's own time, so the first run exports nothing (verified on HTTP
|
|
1009
|
+
and RDBMS delta exports). Adapter-specific validators (e.g. NetSuite's
|
|
1010
|
+
``transformTwoDotZero``) reject delta configs that omit ``startDate``
|
|
1011
|
+
with ``missing_delta_startDate``, so set it on every delta export.
|
|
1008
1012
|
- |-
|
|
1009
1013
|
## DEFAULT CUTOFF BEHAVIOR (NO USER-SUPPLIED CUTOFF)
|
|
1010
1014
|
When the user prompt does not specify an explicit cutoff timestamp,
|
|
1011
1015
|
default ``startDate`` to **today at midnight UTC** in ISO-8601 format
|
|
1012
1016
|
(e.g. ``"2026-05-14T00:00:00.000Z"``). This means the first run picks
|
|
1013
1017
|
up records changed today; subsequent runs use the platform-managed
|
|
1014
|
-
``{{lastExportDateTime}}`` (the last
|
|
1018
|
+
``{{lastExportDateTime}}`` (the end of the last run that exported records).
|
|
1015
1019
|
|
|
1016
1020
|
- First run: filters records changed since ``startDate``.
|
|
1017
1021
|
- Subsequent runs: uses ``{{lastExportDateTime}}`` as the lower bound;
|
|
@@ -1024,18 +1028,28 @@ components:
|
|
|
1024
1028
|
- For HTTP exports: Use {{lastExportDateTime}} variable in relativeURI or body
|
|
1025
1029
|
- For specific application adapters: Use dateField to specify timestamp fields
|
|
1026
1030
|
|
|
1027
|
-
2. The system automatically maintains the
|
|
1031
|
+
2. The system automatically maintains the checkpoint
|
|
1028
1032
|
- No need to store or manage timestamps in your own code
|
|
1029
1033
|
- A first run without ``startDate`` fetches nothing older than the run itself
|
|
1030
|
-
-
|
|
1034
|
+
- A run that exports records moves the checkpoint to its window end
|
|
1035
|
+
({{currentExportDateTime}}), where the next run starts
|
|
1036
|
+
- Use {{lastExportDateTime}} as the lower bound; {{currentExportDateTime}} as the
|
|
1037
|
+
lower bound asks for records changed after the run started, so every run exports nothing
|
|
1031
1038
|
|
|
1032
1039
|
3. Error handling and recovery:
|
|
1033
1040
|
- If an export fails, the next run uses the last successful timestamp
|
|
1034
1041
|
- Records created/modified during a failed run will be included in the next run
|
|
1042
|
+
- A run that exports nothing leaves the checkpoint where it was, so after a stretch of
|
|
1043
|
+
empty runs the next run that finds records reaches back to the last run that exported
|
|
1044
|
+
any: once the cause is fixed, no backfill run is needed
|
|
1045
|
+
- A run given its own window (export.startDate / export.endDate on
|
|
1046
|
+
POST /v1/flows/{_id}/run) that exports records leaves the checkpoint at endDate,
|
|
1047
|
+
even a past one, so the next run re-reads everything after it
|
|
1035
1048
|
- The lagOffset field can be used to handle edge cases
|
|
1036
1049
|
- |-
|
|
1037
|
-
|
|
1038
|
-
|
|
1050
|
+
Omit this object for export types other than "delta". An HTTP export with type
|
|
1051
|
+
"delta" saves without it, since the request carries {{lastExportDateTime}}, but
|
|
1052
|
+
set ``startDate`` anyway: without it the first run's window is empty.
|
|
1039
1053
|
Delta exports are designed for efficient synchronization by retrieving only
|
|
1040
1054
|
records that have been created or modified since the last execution.
|
|
1041
1055
|
properties:
|
|
@@ -1051,8 +1065,9 @@ components:
|
|
|
1051
1065
|
If the flow's own downstream steps update the exported records, add export criteria
|
|
1052
1066
|
that exclude already-processed records (or use a creation-time field for process-once
|
|
1053
1067
|
flows) so each run doesn't re-export what the previous run wrote. Not supported on
|
|
1054
|
-
HTTP exports: embed {{lastExportDateTime}} in the relativeURI or body instead;
|
|
1055
|
-
|
|
1068
|
+
HTTP exports: embed {{lastExportDateTime}} in the relativeURI or body instead; an HTTP
|
|
1069
|
+
export saved with dateField is refused with 422 "Unsupported dateField in
|
|
1070
|
+
export.delta.dateField". For Salesforce this
|
|
1056
1071
|
field is required and defaults to the standard timestamp fields (LastModifiedDate,
|
|
1057
1072
|
CreatedDate, SystemModstamp, LastActivityDate, LastViewedDate, LastReferencedDate) plus
|
|
1058
1073
|
any custom timestamp fields.
|
|
@@ -1091,7 +1106,8 @@ components:
|
|
|
1091
1106
|
###CRITICAL ADAPTOR-SPECIFIC INSTRUCTION:
|
|
1092
1107
|
- The adaptor type is HTTP. For HTTP exports, the "dateField" property MUST NOT be included in the delta configuration.
|
|
1093
1108
|
- HTTP exports use the {{lastExportDateTime}} variable directly in the relativeURI or body instead of dateField.
|
|
1094
|
-
- DO NOT include "dateField" in your response. If you include it, the
|
|
1109
|
+
- DO NOT include "dateField" in your response. If you include it, the save is refused with
|
|
1110
|
+
422 "Unsupported dateField in export.delta.dateField".
|
|
1095
1111
|
|
|
1096
1112
|
Example HTTP query with implicit delta:
|
|
1097
1113
|
```
|
|
@@ -1151,10 +1167,10 @@ components:
|
|
|
1151
1167
|
dateFormat:
|
|
1152
1168
|
type: string
|
|
1153
1169
|
description: |-
|
|
1154
|
-
Moment.js format string applied to
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
widening the filter window.
|
|
1170
|
+
Moment.js format string applied to both delta variables, {{lastExportDateTime}} and
|
|
1171
|
+
{{currentExportDateTime}}, in HTTP requests and SQL queries alike. Leave unset unless the
|
|
1172
|
+
source system requires a non-ISO8601 format; by default both render as ISO 8601 UTC with
|
|
1173
|
+
milliseconds. Date-only formats truncate the time portion, widening the filter window.
|
|
1158
1174
|
x-celigo-ai-guidance:
|
|
1159
1175
|
- Defines the date/time format expected by the source system's API.
|
|
1160
1176
|
- |-
|
|
@@ -1165,7 +1181,8 @@ components:
|
|
|
1165
1181
|
- OPTIONAL: Only needed when the source system doesn't support ISO8601
|
|
1166
1182
|
- Default: ISO8601 format (YYYY-MM-DDTHH:mm:ss.sssZ)
|
|
1167
1183
|
- Uses Moment.js formatting tokens
|
|
1168
|
-
-
|
|
1184
|
+
- Formats both {{lastExportDateTime}} and {{currentExportDateTime}}, in HTTP requests and in
|
|
1185
|
+
SQL queries (an RDBMS delta query receives the formatted value as a quoted literal)
|
|
1169
1186
|
- |-
|
|
1170
1187
|
## IMPLEMENTATION PATTERNS
|
|
1171
1188
|
|
|
@@ -1249,13 +1266,15 @@ components:
|
|
|
1249
1266
|
format: date-time
|
|
1250
1267
|
description: |-
|
|
1251
1268
|
Lower-bound cutoff for the first run. Omitting it doesn't export history: the first run
|
|
1252
|
-
then starts at its own timestamp. Set it to the earliest change the first
|
|
1253
|
-
up.
|
|
1269
|
+
then starts at its own timestamp, an empty window. Set it to the earliest change the first
|
|
1270
|
+
run should pick up. Later runs start from the flow's checkpoint, the end of the last run
|
|
1271
|
+
that exported records.
|
|
1254
1272
|
x-celigo-ai-guidance:
|
|
1255
1273
|
- |-
|
|
1256
1274
|
Initial cutoff timestamp for the first export run, in ISO-8601 UTC format (e.g.
|
|
1257
1275
|
``"2026-05-14T00:00:00.000Z"``).
|
|
1258
|
-
|
|
1276
|
+
Set it on every delta export: without it the first run's window is empty (verified
|
|
1277
|
+
on HTTP and RDBMS delta exports), and adapter-specific validators reject delta
|
|
1259
1278
|
configs without it (e.g.
|
|
1260
1279
|
NetSuite returns ``missing_delta_startDate`` from the ``transformTwoDotZero`` processor).
|
|
1261
1280
|
- |-
|
|
@@ -1267,10 +1286,11 @@ components:
|
|
|
1267
1286
|
flow is being authored.
|
|
1268
1287
|
- |-
|
|
1269
1288
|
## SUBSEQUENT RUNS
|
|
1270
|
-
After the first
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1289
|
+
After the first run that exports records, the platform keeps the
|
|
1290
|
+
flow's checkpoint at the end of the last run that exported records
|
|
1291
|
+
and exposes it as ``{{lastExportDateTime}}``; runs that export
|
|
1292
|
+
nothing leave it unchanged. ``startDate`` becomes the floor used
|
|
1293
|
+
only when the platform timestamp is absent (e.g. after a reset).
|
|
1274
1294
|
- |-
|
|
1275
1295
|
## EXAMPLES
|
|
1276
1296
|
- ``"2026-05-14T00:00:00.000Z"`` -- today at midnight UTC.
|
|
@@ -1279,7 +1299,8 @@ components:
|
|
|
1279
1299
|
- |-
|
|
1280
1300
|
Initial cutoff timestamp for the first export run, in ISO-8601 UTC format (e.g.
|
|
1281
1301
|
``"2026-05-14T00:00:00.000Z"``).
|
|
1282
|
-
|
|
1302
|
+
Set it on every delta export: without it the first run's window is empty (verified
|
|
1303
|
+
on HTTP and RDBMS delta exports), and adapter-specific validators reject delta
|
|
1283
1304
|
configs without it (e.g.
|
|
1284
1305
|
NetSuite returns ``missing_delta_startDate`` from the ``transformTwoDotZero`` processor).
|
|
1285
1306
|
examples:
|
|
@@ -1420,7 +1441,7 @@ components:
|
|
|
1420
1441
|
- exported_to_netsuite
|
|
1421
1442
|
Webhook:
|
|
1422
1443
|
type: object
|
|
1423
|
-
description: Configuration for webhook listeners that receive data through incoming HTTP requests. Required when the export's `type` is `webhook`; omit for other export types.
|
|
1444
|
+
description: Configuration for webhook listeners that receive data through incoming HTTP requests. Required when the export's `type` is `webhook`; omit for other export types. Senders POST to the export's listener URL, `https://api.integrator.io/v1/exports/{_id}/data` (or the same path on the account's regional API host); the platform validates each request using the configured `verify` method, passes the payload to subsequent flow steps, and returns a configurable HTTP response to the caller. A request is answered 204 by default when accepted, 401 when it fails verification, and 403 `unable_to_run_flows` while every flow the export feeds is disabled; a refused request is not queued, so the sender must resend it.
|
|
1424
1445
|
x-celigo-ai-guidance:
|
|
1425
1446
|
- Configuration object for real-time event listeners that receive data via incoming HTTP requests.
|
|
1426
1447
|
- |-
|
|
@@ -1794,7 +1815,7 @@ components:
|
|
|
1794
1815
|
- sha1
|
|
1795
1816
|
encoding:
|
|
1796
1817
|
type: string
|
|
1797
|
-
description: Encoding of the HMAC signature value when `verify` is `hmac`. Must match the encoding the webhook sender uses — a mismatch causes requests to be rejected even when the signature is otherwise correct.
|
|
1818
|
+
description: 'Encoding of the HMAC signature value when `verify` is `hmac`. Must match the encoding the webhook sender uses — a mismatch causes requests to be rejected with a 401 even when the signature is otherwise correct. With `provider: custom`, `hex` is compared as lowercase hex: an uppercase hex signature is rejected.'
|
|
1798
1819
|
x-celigo-ai-guidance:
|
|
1799
1820
|
- Specifies the encoding format used for the HMAC signature in webhook requests.
|
|
1800
1821
|
- |-
|
|
@@ -1890,7 +1911,7 @@ components:
|
|
|
1890
1911
|
- 9d1a5c6b3e7d9f2a1c5b8e3aEXAMPLE
|
|
1891
1912
|
header:
|
|
1892
1913
|
type: string
|
|
1893
|
-
description: Name of the request header that carries the HMAC signature when `verify` is `hmac`. Must match the header name the webhook sender uses (header names are case-insensitive); requests without this header are rejected with a 401.
|
|
1914
|
+
description: 'Name of the request header that carries the HMAC signature when `verify` is `hmac`. Must match the header name the webhook sender uses (header names are case-insensitive); requests without this header are rejected with a 401. With `provider: custom` the header value must be the bare digest in the configured `encoding`: a value with a `sha256=` prefix is rejected with a 401.'
|
|
1894
1915
|
x-celigo-ai-guidance:
|
|
1895
1916
|
- Specifies the HTTP header name that contains the signature for HMAC verification.
|
|
1896
1917
|
- |-
|
|
@@ -1936,8 +1957,9 @@ components:
|
|
|
1936
1957
|
|
|
1937
1958
|
- The system will look for this exact header name in incoming requests
|
|
1938
1959
|
- If the header is not found, the request will be rejected with a 401 error
|
|
1939
|
-
- Some platforms
|
|
1940
|
-
|
|
1960
|
+
- Some platforms include a prefix in the header value (e.g., "sha256="). With
|
|
1961
|
+
provider "custom" it is not stripped: a prefixed signature is rejected with a 401,
|
|
1962
|
+
so the sender must send the bare digest
|
|
1941
1963
|
|
|
1942
1964
|
IMPORTANT: This must exactly match the header name used by the webhook sender.
|
|
1943
1965
|
If you're unsure about the correct header name, consult the sender's documentation
|
|
@@ -3452,11 +3474,12 @@ components:
|
|
|
3452
3474
|
- metadata
|
|
3453
3475
|
skipDelete:
|
|
3454
3476
|
type: boolean
|
|
3477
|
+
default: false
|
|
3455
3478
|
description: |-
|
|
3456
3479
|
When true, source files remain on the file server after processing; when false (the
|
|
3457
3480
|
default), files are deleted after successful processing. Files that fail processing are
|
|
3458
3481
|
never deleted, regardless of this setting. Enable retention when files must be processed
|
|
3459
|
-
by other flows or kept for compliance.
|
|
3482
|
+
by other flows or systems, or kept for compliance.
|
|
3460
3483
|
x-celigo-ai-guidance:
|
|
3461
3484
|
- |-
|
|
3462
3485
|
Controls whether source files are retained or deleted after successful processing.
|
|
@@ -4129,8 +4152,10 @@ components:
|
|
|
4129
4152
|
type: string
|
|
4130
4153
|
description: |-
|
|
4131
4154
|
Character sequence separating fields within each row; comma when omitted. Use "\t"
|
|
4132
|
-
for tab-delimited files; European-locale exports often use semicolons.
|
|
4133
|
-
delimiter
|
|
4155
|
+
for tab-delimited files; European-locale exports often use semicolons. A wrong
|
|
4156
|
+
delimiter doesn't fail the parse: with a header row, each row becomes one field named
|
|
4157
|
+
after the whole header line (`{"order_id;sku;qty": "1001;TEE-M;2"}`), so the failure
|
|
4158
|
+
shows up in later steps.
|
|
4134
4159
|
x-celigo-ai-guidance:
|
|
4135
4160
|
- |-
|
|
4136
4161
|
Specifies the character sequence that separates individual fields (columns)
|
|
@@ -9560,19 +9585,25 @@ components:
|
|
|
9560
9585
|
description: |-
|
|
9561
9586
|
Directory on the same server where files are moved after successful export, giving you
|
|
9562
9587
|
an independent backup; if omitted, files are simply deleted from the source directory
|
|
9563
|
-
after successful export (Celigo also keeps its own copy
|
|
9564
|
-
period). Supports static paths or handlebars templates.
|
|
9588
|
+
after successful export unless `file.skipDelete` is true (Celigo also keeps its own copy
|
|
9589
|
+
of processed files for a set period). Supports static paths or handlebars templates.
|
|
9565
9590
|
x-celigo-ai-guidance:
|
|
9566
9591
|
- Optional directory where files are moved before deletion.
|
|
9567
9592
|
- |-
|
|
9568
9593
|
IMPORTANT:
|
|
9569
|
-
Celigo automatically deletes files from the source directory after successful export
|
|
9594
|
+
Celigo automatically deletes files from the source directory after successful export,
|
|
9595
|
+
unless `file.skipDelete` is true. Moving them to a backup directory also takes them out
|
|
9596
|
+
of the source directory, so when another system still reads them there, set
|
|
9597
|
+
`file.skipDelete: true` instead.
|
|
9570
9598
|
The backup directory is for users who want to maintain their own independent
|
|
9571
9599
|
backup of exported files.
|
|
9572
9600
|
Celigo also maintains its own backup of processed files for a set period of time.
|
|
9573
9601
|
- |-
|
|
9574
9602
|
IMPORTANT:
|
|
9575
|
-
Celigo automatically deletes files from the source directory after successful export
|
|
9603
|
+
Celigo automatically deletes files from the source directory after successful export,
|
|
9604
|
+
unless `file.skipDelete` is true. Moving them to a backup directory also takes them out
|
|
9605
|
+
of the source directory, so when another system still reads them there, set
|
|
9606
|
+
`file.skipDelete: true` instead.
|
|
9576
9607
|
The backup directory is for users who want to maintain their own independent
|
|
9577
9608
|
backup of exported files.
|
|
9578
9609
|
Celigo also maintains its own backup of processed files for a set period of time.
|
|
@@ -12044,19 +12075,26 @@ components:
|
|
|
12044
12075
|
description: |-
|
|
12045
12076
|
Bucket in the same region where files are moved after successful export, giving you an
|
|
12046
12077
|
independent backup; if omitted, files are simply deleted from the source bucket after
|
|
12047
|
-
successful export (Celigo also keeps its own copy of
|
|
12048
|
-
The connection's AWS credentials must have
|
|
12078
|
+
successful export unless `file.skipDelete` is true (Celigo also keeps its own copy of
|
|
12079
|
+
processed files for a set period). The connection's AWS credentials must have
|
|
12080
|
+
s3:PutObject permission on this bucket.
|
|
12049
12081
|
x-celigo-ai-guidance:
|
|
12050
12082
|
- Optional destination bucket where files are moved before deletion.
|
|
12051
12083
|
- |-
|
|
12052
12084
|
IMPORTANT:
|
|
12053
|
-
Celigo automatically deletes files from the source bucket after successful export
|
|
12085
|
+
Celigo automatically deletes files from the source bucket after successful export,
|
|
12086
|
+
unless `file.skipDelete` is true. Moving them to a backup bucket also takes them out of
|
|
12087
|
+
the source bucket, so when another system still reads them there, set
|
|
12088
|
+
`file.skipDelete: true` instead.
|
|
12054
12089
|
The backup bucket is for users who want to maintain their own independent backup
|
|
12055
12090
|
of exported files.
|
|
12056
12091
|
Celigo also maintains its own backup of processed files for a set period of time.
|
|
12057
12092
|
- |-
|
|
12058
12093
|
IMPORTANT:
|
|
12059
|
-
Celigo automatically deletes files from the source bucket after successful export
|
|
12094
|
+
Celigo automatically deletes files from the source bucket after successful export,
|
|
12095
|
+
unless `file.skipDelete` is true. Moving them to a backup bucket also takes them out of
|
|
12096
|
+
the source bucket, so when another system still reads them there, set
|
|
12097
|
+
`file.skipDelete: true` instead.
|
|
12060
12098
|
The backup bucket is for users who want to maintain their own independent backup
|
|
12061
12099
|
of exported files.
|
|
12062
12100
|
Celigo also maintains its own backup of processed files for a set period of time.
|
|
@@ -15914,7 +15952,9 @@ components:
|
|
|
15914
15952
|
`NetSuiteExport` and `NetSuiteHTTPExport` both need a `netsuite` connection).
|
|
15915
15953
|
Server-required unless `type` is `webhook` or `simple` (those receive data instead of
|
|
15916
15954
|
fetching it) or `adaptorType` is `TopicExport` (Event Streams listeners are delivered
|
|
15917
|
-
by the platform itself and must omit it).
|
|
15955
|
+
by the platform itself and must omit it). A `WebhookExport` saved without `type: webhook`
|
|
15956
|
+
is refused with 422 "_connectionId is required unless type is [webhook|simple]"; a webhook
|
|
15957
|
+
export that does carry a connection saves and updates normally.
|
|
15918
15958
|
examples:
|
|
15919
15959
|
- 60a2c4e6f321d800129a1a3c
|
|
15920
15960
|
adaptorType:
|
|
@@ -16035,9 +16075,11 @@ components:
|
|
|
16035
16075
|
description: |-
|
|
16036
16076
|
Operational mode of the export. When omitted, the export retrieves all available records —
|
|
16037
16077
|
the standard batch mode, which is also the right choice for parsing structured files
|
|
16038
|
-
(CSV/XML/JSON) into records.
|
|
16039
|
-
|
|
16040
|
-
|
|
16078
|
+
(CSV/XML/JSON) into records. Most modes take their matching configuration object (e.g. a
|
|
16079
|
+
`webhook` object when `type` is `webhook`); an HTTP or SQL `delta` export saves without a
|
|
16080
|
+
`delta` object because its request carries `{{lastExportDateTime}}`, though
|
|
16081
|
+
`delta.startDate` sets its first window. Use `blob` only to transfer raw files without
|
|
16082
|
+
parsing their contents.
|
|
16041
16083
|
x-celigo-ai-guidance:
|
|
16042
16084
|
- |-
|
|
16043
16085
|
## HOW TO PICK THE TYPE VALUE
|
package/dist/filedefinition.yml
CHANGED
|
@@ -207,6 +207,11 @@ paths:
|
|
|
207
207
|
For EDI formats (`delimited/x12` or `delimited/edifact`), a valid `globalId`
|
|
208
208
|
is required when the account has an EDI license enabled. The `globalId` must
|
|
209
209
|
reference a known standard document definition.
|
|
210
|
+
- |-
|
|
211
|
+
For `format: fixed`, send `version`, `fixed.rowDelimiter` and `fixed.paddingChar`;
|
|
212
|
+
without them the create fails with 422 and nothing is saved. Columns are read in
|
|
213
|
+
element order, so declare every column (a placeholder element for a gap) and parse a
|
|
214
|
+
sample with `POST /v1/processors/structuredFileParser` before linking the definition.
|
|
210
215
|
/v1/filedefinitions/{_id}:
|
|
211
216
|
get:
|
|
212
217
|
x-internal: false
|
|
@@ -1016,7 +1021,7 @@ components:
|
|
|
1016
1021
|
description: |
|
|
1017
1022
|
Configuration specific to fixed-width format files.
|
|
1018
1023
|
|
|
1019
|
-
Used when `format` is "fixed"
|
|
1024
|
+
Used when `format` is "fixed", which requires `rowDelimiter` and `paddingChar`.
|
|
1020
1025
|
properties:
|
|
1021
1026
|
rowSuffix:
|
|
1022
1027
|
type: string
|
|
@@ -1028,14 +1033,20 @@ components:
|
|
|
1028
1033
|
rowDelimiter:
|
|
1029
1034
|
type: string
|
|
1030
1035
|
description: |
|
|
1031
|
-
Character(s) used to delimit rows during parsing.
|
|
1036
|
+
Character(s) used to delimit rows during parsing. Required when `format` is "fixed".
|
|
1037
|
+
|
|
1038
|
+
A delimiter after the last row is read as one more, empty row: a required row
|
|
1039
|
+
rule then fails the parse at that line ("Required rule must have the respective
|
|
1040
|
+
row in the source file"), and an optional one adds an empty `{}` record. Set
|
|
1041
|
+
`skipIntermittentEmptyLines: true` to drop it.
|
|
1032
1042
|
examples:
|
|
1033
1043
|
- \n
|
|
1034
1044
|
- \r\n
|
|
1035
1045
|
paddingChar:
|
|
1036
1046
|
type: string
|
|
1037
1047
|
description: |
|
|
1038
|
-
Character used to pad fixed-width fields to their required length.
|
|
1048
|
+
Character used to pad fixed-width fields to their required length. Required when
|
|
1049
|
+
`format` is "fixed".
|
|
1039
1050
|
examples:
|
|
1040
1051
|
- ' '
|
|
1041
1052
|
- '0'
|
|
@@ -1090,7 +1101,8 @@ components:
|
|
|
1090
1101
|
skipIntermittentEmptyLines:
|
|
1091
1102
|
type: boolean
|
|
1092
1103
|
description: |
|
|
1093
|
-
Whether to remove empty rows found in the file content during parsing.
|
|
1104
|
+
Whether to remove empty rows found in the file content during parsing. On a
|
|
1105
|
+
fixed-width definition this includes the empty row a trailing line break adds.
|
|
1094
1106
|
escapeReleaseChar:
|
|
1095
1107
|
type: boolean
|
|
1096
1108
|
description: |
|
|
@@ -1213,6 +1225,11 @@ components:
|
|
|
1213
1225
|
type: object
|
|
1214
1226
|
description: |
|
|
1215
1227
|
Request schema for creating or updating a file definition.
|
|
1228
|
+
|
|
1229
|
+
A fixed-width definition (`format: fixed`) also needs `fixed.rowDelimiter` and
|
|
1230
|
+
`fixed.paddingChar`: a create or full update without either fails with 422
|
|
1231
|
+
("rowDelimiter is a required field for fixed file definitions.", "paddingChar is a
|
|
1232
|
+
required field for fixed width file definitions.") and saves nothing.
|
|
1216
1233
|
required:
|
|
1217
1234
|
- name
|
|
1218
1235
|
- version
|
|
@@ -1220,6 +1237,20 @@ components:
|
|
|
1220
1237
|
- rules
|
|
1221
1238
|
allOf:
|
|
1222
1239
|
- $ref: '#/components/schemas/FileDefinitionBase'
|
|
1240
|
+
if:
|
|
1241
|
+
properties:
|
|
1242
|
+
format:
|
|
1243
|
+
const: fixed
|
|
1244
|
+
required:
|
|
1245
|
+
- format
|
|
1246
|
+
then:
|
|
1247
|
+
required:
|
|
1248
|
+
- fixed
|
|
1249
|
+
properties:
|
|
1250
|
+
fixed:
|
|
1251
|
+
required:
|
|
1252
|
+
- rowDelimiter
|
|
1253
|
+
- paddingChar
|
|
1223
1254
|
x-celigo-ai-guidance:
|
|
1224
1255
|
- |-
|
|
1225
1256
|
File definitions describe the structure and parsing/generation rules for
|
package/dist/flow.yml
CHANGED
|
@@ -824,9 +824,10 @@ paths:
|
|
|
824
824
|
|
|
825
825
|
The request body is optional. When omitted, the flow runs with its configured schedule behavior —
|
|
826
826
|
for delta flows this means using the current `lastExportDateTime` as the lower bound. Pass
|
|
827
|
-
`export.startDate` / `export.endDate` to set this run's delta window
|
|
828
|
-
`
|
|
829
|
-
|
|
827
|
+
`export.startDate` / `export.endDate` to set this run's delta window (they render as
|
|
828
|
+
`{{lastExportDateTime}}` / `{{currentExportDateTime}}`). On success, when `export.endDate` is
|
|
829
|
+
sent, the flow's checkpoint is left at that value, so an end date in the past moves the next
|
|
830
|
+
run's lower bound back. Pass `_exportIds` to limit execution to a subset of the flow's
|
|
830
831
|
generators (useful for flows with many independent sources).
|
|
831
832
|
|
|
832
833
|
Flow-level preconditions enforced by the platform:
|
|
@@ -838,7 +839,9 @@ paths:
|
|
|
838
839
|
`_jobId` with the execution-log endpoints. For delta backfills, prefer passing explicit
|
|
839
840
|
`startDate`/`endDate` over editing the export's `lastExportDateTime`, and read the checkpoint
|
|
840
841
|
first (`GET /v1/flows/{_id}/lastExportDateTime`): the override doesn't stay with one run, since
|
|
841
|
-
a successful run that sends `endDate` leaves the checkpoint there.
|
|
842
|
+
a successful run that sends `endDate` leaves the checkpoint there. Runs that export nothing
|
|
843
|
+
leave the checkpoint alone, so a stretch of empty runs needs no backfill once its cause is
|
|
844
|
+
fixed. A flow runs one instance at a time: a run requested while another
|
|
842
845
|
instance is queued or running is refused with `409 job_already_queued` ("Another instance
|
|
843
846
|
for this flow is already queued or running"), and a run-next-flow trigger that arrives in
|
|
844
847
|
that state is dropped rather than queued.
|
|
@@ -862,7 +865,7 @@ paths:
|
|
|
862
865
|
summary: Default run (use configured delta window)
|
|
863
866
|
value: {}
|
|
864
867
|
delta_window:
|
|
865
|
-
summary:
|
|
868
|
+
summary: Set this run's delta window (the checkpoint follows endDate)
|
|
866
869
|
value:
|
|
867
870
|
export:
|
|
868
871
|
startDate: '2026-04-01T00:00:00Z'
|
|
@@ -1082,7 +1085,9 @@ paths:
|
|
|
1082
1085
|
generators (exports) in the flow. This value is what gets substituted into the `{{lastExportDateTime}}`
|
|
1083
1086
|
Handlebars variable on the next delta run of any export in the flow.
|
|
1084
1087
|
|
|
1085
|
-
|
|
1088
|
+
A run moves the checkpoint to its window end (`{{currentExportDateTime}}`) only when it exports
|
|
1089
|
+
records. A run that exports nothing leaves it where it was, so after a stretch of empty runs the
|
|
1090
|
+
next run that finds records reaches back to the last run that exported any. On success, when
|
|
1086
1091
|
`POST /v1/flows/{_id}/run` sends `export.endDate`, the checkpoint is left at that value, so an end
|
|
1087
1092
|
date in the past moves the next run's lower bound back.
|
|
1088
1093
|
|
|
@@ -6302,7 +6307,8 @@ components:
|
|
|
6302
6307
|
type: object
|
|
6303
6308
|
description: |-
|
|
6304
6309
|
Delta-window override. When present, the run uses these dates in place of the flow's own
|
|
6305
|
-
`lastExportDateTime` / `currentExportDateTime`. Both fields are optional individually.
|
|
6310
|
+
`lastExportDateTime` / `currentExportDateTime`. Both fields are optional individually. The
|
|
6311
|
+
override outlasts the run: a run that exports records leaves the flow's checkpoint at `endDate`.
|
|
6306
6312
|
properties:
|
|
6307
6313
|
startDate:
|
|
6308
6314
|
type: string
|
|
@@ -6313,7 +6319,10 @@ components:
|
|
|
6313
6319
|
endDate:
|
|
6314
6320
|
type: string
|
|
6315
6321
|
format: date-time
|
|
6316
|
-
description:
|
|
6322
|
+
description: |-
|
|
6323
|
+
ISO-8601 end of the delta window (maps to `currentExportDateTime`). When the run exports
|
|
6324
|
+
records, the flow's checkpoint is left here, even when it is in the past, so the next run
|
|
6325
|
+
starts from it.
|
|
6317
6326
|
examples:
|
|
6318
6327
|
- '2026-01-15T23:59:59.000Z'
|
|
6319
6328
|
_exportIds:
|