@celigo/api-specs 0.2.162 → 0.2.164

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
@@ -1299,7 +1299,7 @@ components:
1299
1299
  description: Property names the model must include in the structured output.
1300
1300
  items:
1301
1301
  type: string
1302
- additionalproperties:
1302
+ additionalProperties:
1303
1303
  type: boolean
1304
1304
  description: When true, the structured output may include properties beyond those defined in `properties`.
1305
1305
  schema:
@@ -2343,7 +2343,8 @@ components:
2343
2343
  fields. There is no separate `date` enum value.
2344
2344
 
2345
2345
  **Complex Types (require additional configuration)**
2346
- - `object`: Creates a nested object. REQUIRES child mappings in the 'mappings' array
2346
+ - `object`: Creates a nested object from child mappings in the 'mappings' array, or
2347
+ copies a whole object with `extract` (one or the other, not both)
2347
2348
 
2348
2349
  **Array Types**
2349
2350
  - `stringarray`: Array of strings
@@ -2391,7 +2392,7 @@ components:
2391
2392
  string: Text values; converts other types to their string representation.
2392
2393
  number: Numeric values; attempts conversion from strings.
2393
2394
  boolean: True/false values; converts truthy/falsy values.
2394
- object: Nested object that requires child mappings in the `mappings` array.
2395
+ object: Nested object built from child `mappings`, or copied whole with `extract` (not both).
2395
2396
  stringarray: Array of string values.
2396
2397
  numberarray: Array of numeric values.
2397
2398
  booleanarray: Array of boolean values.
@@ -2469,7 +2470,10 @@ components:
2469
2470
  - JSON path patterns ALWAYS execute from the TOP-LEVEL root of the input record
2470
2471
  - The system maintains this context even in deeply nested mappings
2471
2472
  - For object mappings without child mappings, extract should return a complete object
2472
- - When both extract and mappings are defined for objects, extract is applied first
2473
+ - An `object` row takes `extract` (to copy a whole object) or child `mappings`, not
2474
+ both: a row with both fails with 422 (`"extract" should not be present if
2475
+ "mappings" field is present`). A `buildArrayHelper` entry is different: there
2476
+ `extract` and `mappings` work together.
2473
2477
  - The root is the record as it arrives: an object record roots at `$.field`; a
2474
2478
  grouped record (an array of rows — grouped exports, file key columns, NetSuite
2475
2479
  grouped saved searches) roots at the array, so its rows are addressed as
@@ -3423,7 +3427,8 @@ components:
3423
3427
  fields. There is no separate `date` enum value.
3424
3428
 
3425
3429
  **Complex Types (require additional configuration)**
3426
- - `object`: Creates a nested object. REQUIRES child mappings in the 'mappings' array
3430
+ - `object`: Creates a nested object from child mappings in the 'mappings' array, or
3431
+ copies a whole object with `extract` (one or the other, not both)
3427
3432
 
3428
3433
  **Array Types**
3429
3434
  - `stringarray`: Array of strings
@@ -3471,7 +3476,7 @@ components:
3471
3476
  string: Text values; converts other types to their string representation.
3472
3477
  number: Numeric values; attempts conversion from strings.
3473
3478
  boolean: True/false values; converts truthy/falsy values.
3474
- object: Nested object that requires child mappings in the `mappings` array.
3479
+ object: Nested object built from child `mappings`, or copied whole with `extract` (not both).
3475
3480
  stringarray: Array of string values.
3476
3481
  numberarray: Array of numeric values.
3477
3482
  booleanarray: Array of boolean values.
@@ -3549,7 +3554,10 @@ components:
3549
3554
  - JSON path patterns ALWAYS execute from the TOP-LEVEL root of the input record
3550
3555
  - The system maintains this context even in deeply nested mappings
3551
3556
  - For object mappings without child mappings, extract should return a complete object
3552
- - When both extract and mappings are defined for objects, extract is applied first
3557
+ - An `object` row takes `extract` (to copy a whole object) or child `mappings`, not
3558
+ both: a row with both fails with 422 (`"extract" should not be present if
3559
+ "mappings" field is present`). A `buildArrayHelper` entry is different: there
3560
+ `extract` and `mappings` work together.
3553
3561
  - The root is the record as it arrives: an object record roots at `$.field`; a
3554
3562
  grouped record (an array of rows — grouped exports, file key columns, NetSuite
3555
3563
  grouped saved searches) roots at the array, so its rows are addressed as
@@ -5628,10 +5636,11 @@ components:
5628
5636
  ALWAYS reference the `record` root regardless of
5629
5637
  `inputContext` — only JSONPath anchoring flips.
5630
5638
  - |-
5631
- In `envelope` mode a `modify` transform merges its mapped
5632
- fields into `record` and keeps the rest of the envelope
5633
- around it; a `create` transform returns only the mapped
5634
- fields, as a bare record.
5639
+ In `envelope` mode the output is still a bare record: a
5640
+ `modify` transform returns the record with its mapped
5641
+ fields merged in (no `record` wrapper, no `job` or
5642
+ `settings` keys), and a `create` transform returns only
5643
+ the mapped fields.
5635
5644
  - |-
5636
5645
  Emit `inputContext` explicitly on new v2 transforms:
5637
5646
  unset is read as `record`, but stating it makes the
@@ -552,7 +552,8 @@ components:
552
552
  fields. There is no separate `date` enum value.
553
553
 
554
554
  **Complex Types (require additional configuration)**
555
- - `object`: Creates a nested object. REQUIRES child mappings in the 'mappings' array
555
+ - `object`: Creates a nested object from child mappings in the 'mappings' array, or
556
+ copies a whole object with `extract` (one or the other, not both)
556
557
 
557
558
  **Array Types**
558
559
  - `stringarray`: Array of strings
@@ -600,7 +601,7 @@ components:
600
601
  string: Text values; converts other types to their string representation.
601
602
  number: Numeric values; attempts conversion from strings.
602
603
  boolean: True/false values; converts truthy/falsy values.
603
- object: Nested object that requires child mappings in the `mappings` array.
604
+ object: Nested object built from child `mappings`, or copied whole with `extract` (not both).
604
605
  stringarray: Array of string values.
605
606
  numberarray: Array of numeric values.
606
607
  booleanarray: Array of boolean values.
@@ -678,7 +679,10 @@ components:
678
679
  - JSON path patterns ALWAYS execute from the TOP-LEVEL root of the input record
679
680
  - The system maintains this context even in deeply nested mappings
680
681
  - For object mappings without child mappings, extract should return a complete object
681
- - When both extract and mappings are defined for objects, extract is applied first
682
+ - An `object` row takes `extract` (to copy a whole object) or child `mappings`, not
683
+ both: a row with both fails with 422 (`"extract" should not be present if
684
+ "mappings" field is present`). A `buildArrayHelper` entry is different: there
685
+ `extract` and `mappings` work together.
682
686
  - The root is the record as it arrives: an object record roots at `$.field`; a
683
687
  grouped record (an array of rows — grouped exports, file key columns, NetSuite
684
688
  grouped saved searches) roots at the array, so its rows are addressed as
@@ -1632,7 +1636,8 @@ components:
1632
1636
  fields. There is no separate `date` enum value.
1633
1637
 
1634
1638
  **Complex Types (require additional configuration)**
1635
- - `object`: Creates a nested object. REQUIRES child mappings in the 'mappings' array
1639
+ - `object`: Creates a nested object from child mappings in the 'mappings' array, or
1640
+ copies a whole object with `extract` (one or the other, not both)
1636
1641
 
1637
1642
  **Array Types**
1638
1643
  - `stringarray`: Array of strings
@@ -1680,7 +1685,7 @@ components:
1680
1685
  string: Text values; converts other types to their string representation.
1681
1686
  number: Numeric values; attempts conversion from strings.
1682
1687
  boolean: True/false values; converts truthy/falsy values.
1683
- object: Nested object that requires child mappings in the `mappings` array.
1688
+ object: Nested object built from child `mappings`, or copied whole with `extract` (not both).
1684
1689
  stringarray: Array of string values.
1685
1690
  numberarray: Array of numeric values.
1686
1691
  booleanarray: Array of boolean values.
@@ -1758,7 +1763,10 @@ components:
1758
1763
  - JSON path patterns ALWAYS execute from the TOP-LEVEL root of the input record
1759
1764
  - The system maintains this context even in deeply nested mappings
1760
1765
  - For object mappings without child mappings, extract should return a complete object
1761
- - When both extract and mappings are defined for objects, extract is applied first
1766
+ - An `object` row takes `extract` (to copy a whole object) or child `mappings`, not
1767
+ both: a row with both fails with 422 (`"extract" should not be present if
1768
+ "mappings" field is present`). A `buildArrayHelper` entry is different: there
1769
+ `extract` and `mappings` work together.
1762
1770
  - The root is the record as it arrives: an object record roots at `$.field`; a
1763
1771
  grouped record (an array of rows — grouped exports, file key columns, NetSuite
1764
1772
  grouped saved searches) roots at the array, so its rows are addressed as
@@ -3173,10 +3181,11 @@ components:
3173
3181
  ALWAYS reference the `record` root regardless of
3174
3182
  `inputContext` — only JSONPath anchoring flips.
3175
3183
  - |-
3176
- In `envelope` mode a `modify` transform merges its mapped
3177
- fields into `record` and keeps the rest of the envelope
3178
- around it; a `create` transform returns only the mapped
3179
- fields, as a bare record.
3184
+ In `envelope` mode the output is still a bare record: a
3185
+ `modify` transform returns the record with its mapped
3186
+ fields merged in (no `record` wrapper, no `job` or
3187
+ `settings` keys), and a `create` transform returns only
3188
+ the mapped fields.
3180
3189
  - |-
3181
3190
  Emit `inputContext` explicitly on new v2 transforms:
3182
3191
  unset is read as `record`, but stating it makes the
package/dist/audit.yml CHANGED
@@ -145,7 +145,7 @@ paths:
145
145
  script: Script resource for custom JavaScript hooks.
146
146
  ssoclient: SSO client configuration resource.
147
147
  stack: Stack resource for on-premise or Lambda execution environments.
148
- supportshare: Support share access grant resource.
148
+ supportshare: Celigo Support access grant, made in the integrator.io UI. The API has no support-share route, so these audit entries are its only API view.
149
149
  sync: Sync resource.
150
150
  tool: Tool resource for reusable building blocks.
151
151
  topic: Event Streams topic resource.
@@ -577,7 +577,7 @@ paths:
577
577
  script: Script resource for custom JavaScript hooks.
578
578
  ssoclient: SSO client configuration resource.
579
579
  stack: Stack resource for on-premise or Lambda execution environments.
580
- supportshare: Support share access grant resource.
580
+ supportshare: Celigo Support access grant, made in the integrator.io UI. The API has no support-share route, so these audit entries are its only API view.
581
581
  sync: Sync resource.
582
582
  tool: Tool resource for reusable building blocks.
583
583
  topic: Event Streams topic resource.
@@ -1513,7 +1513,7 @@ components:
1513
1513
  script: Script resource for custom JavaScript hooks.
1514
1514
  ssoclient: SSO client configuration resource.
1515
1515
  stack: Stack resource for on-premise or Lambda execution environments.
1516
- supportshare: Support share access grant resource.
1516
+ supportshare: Celigo Support access grant, made in the integrator.io UI. The API has no support-share route, so these audit entries are its only API view.
1517
1517
  sync: Sync resource.
1518
1518
  tool: Tool resource for reusable building blocks.
1519
1519
  topic: Event Streams topic resource.
@@ -1720,7 +1720,7 @@ components:
1720
1720
  script: Script resource for custom JavaScript hooks.
1721
1721
  ssoclient: SSO client configuration resource.
1722
1722
  stack: Stack resource for on-premise or Lambda execution environments.
1723
- supportshare: Support share access grant resource.
1723
+ supportshare: Celigo Support access grant, made in the integrator.io UI. The API has no support-share route, so these audit entries are its only API view.
1724
1724
  sync: Sync resource.
1725
1725
  tool: Tool resource for reusable building blocks.
1726
1726
  topic: Event Streams topic resource.
@@ -1943,7 +1943,7 @@ components:
1943
1943
  script: Script resource for custom JavaScript hooks.
1944
1944
  ssoclient: SSO client configuration resource.
1945
1945
  stack: Stack resource for on-premise or Lambda execution environments.
1946
- supportshare: Support share access grant resource.
1946
+ supportshare: Celigo Support access grant, made in the integrator.io UI. The API has no support-share route, so these audit entries are its only API view.
1947
1947
  sync: Sync resource.
1948
1948
  tool: Tool resource for reusable building blocks.
1949
1949
  topic: Event Streams topic resource.
package/dist/export.yml CHANGED
@@ -628,16 +628,19 @@ paths:
628
628
  - Exports
629
629
  summary: Invoke an export and return its data
630
630
  description: |-
631
- Runs an existing export end-to-end and returns the fetched data (or errors)
631
+ Runs an existing export end-to-end and returns its records (or errors)
632
632
  synchronously. Unlike `POST /v1/flows/{_id}/run`, which starts a full flow
633
633
  job, this endpoint invokes a **single export** in isolation and returns the
634
- raw result directly in the response body.
634
+ result directly in the response body.
635
635
 
636
636
  The request body is optional — pass `{}` or omit the body entirely for
637
637
  exports that require no input. Some adaptor types accept a `data` array in
638
638
  the body to supply input records.
639
639
 
640
- On success, the response contains the export's fetched data. On
640
+ On success, the response contains the records as the export hands them
641
+ on: after its transform, output filter and preSavePage hook, so records
642
+ come back in their final shape and records the filter or hook drops aren't
643
+ returned. On
641
644
  application-level failure (e.g. the source system is unreachable), the
642
645
  endpoint still returns a successful HTTP status with the errors in an
643
646
  `errors` array — higher-level error codes are reserved for request-level
@@ -688,7 +691,8 @@ paths:
688
691
  responses:
689
692
  '200':
690
693
  description: |-
691
- Export completed. The response contains either the fetched data or an
694
+ Export completed. The response contains either the export's records
695
+ (after its transform, output filter and preSavePage hook) or an
692
696
  `errors` array if the export encountered application-level failures
693
697
  (connection timeout, file not found, etc.). Always inspect for errors
694
698
  even on 200.
@@ -1340,11 +1344,11 @@ components:
1340
1344
  Once:
1341
1345
  type: object
1342
1346
  description: |-
1343
- Configures flag-based exports that process each record exactly once. Required when the
1344
- export's type is "once"; omit for other export types. Each run retrieves records where the
1345
- tracking boolean field is false, then sets that field to true after successful processing so
1346
- later runs skip them; if a run fails, the flags are left unchanged and the records are
1347
- retried automatically on the next run.
1347
+ Configures flag-based exports that skip records an earlier run already processed. Required
1348
+ when the export's type is "once"; omit for other export types. Each run retrieves records
1349
+ where the tracking boolean field is false, then sets that field to true after successful
1350
+ processing so later runs skip them; if a run fails, the flags are left unchanged and the
1351
+ records are retried automatically on the next run.
1348
1352
  x-celigo-ai-guidance:
1349
1353
  - |-
1350
1354
  This object is REQUIRED when the export's type field is set to "once" and should
@@ -1369,7 +1373,6 @@ components:
1369
1373
  - One-time migrations where data should not be duplicated
1370
1374
  - Processing queues where records are marked as "processed"
1371
1375
  - Compliance scenarios requiring audit trails of exported records
1372
- - Implementing exactly-once delivery semantics
1373
1376
  - |-
1374
1377
  4. Error handling behavior:
1375
1378
  - If the export fails, the boolean fields remain unchanged
@@ -11872,10 +11875,12 @@ components:
11872
11875
 
11873
11876
  **Delta exports (type: "delta")**
11874
11877
  For delta/incremental exports, do NOT populate a `delta` object inside `rdbms`.
11875
- Instead, use `{{lastExportDateTime}}` or `{{currentExportDateTime}}` directly in the query:
11878
+ Instead, use `{{lastExportDateTime}}` or `{{currentExportDateTime}}` directly in the query, and
11879
+ set the export's top-level `delta.startDate`: without it the first run's window is empty.
11876
11880
  ```json
11877
11881
  {
11878
11882
  "type": "delta",
11883
+ "delta": { "startDate": "2026-01-01T00:00:00.000Z" },
11879
11884
  "rdbms": {
11880
11885
  "query": "SELECT * FROM customers WHERE updatedAt > {{lastExportDateTime}}"
11881
11886
  }
@@ -11948,6 +11953,24 @@ components:
11948
11953
  only — real-time stream listeners (`type` is `stream`) have no SQL query. For delta exports,
11949
11954
  reference {{lastExportDateTime}}/{{currentExportDateTime}} directly in the query rather
11950
11955
  than configuring a separate delta object.
11956
+
11957
+ Double braces render a string as a quoted SQL literal with its apostrophes escaped, and
11958
+ triple braces insert a value raw. Observed in Snowflake queries:
11959
+
11960
+ - String helper output (`dateFormat`, `jsonSerialize`) and both delta variables are
11961
+ quoted the same way; a number or boolean renders bare, whether it is a JSON value or a
11962
+ numeric helper's result (`{{add 2 3}}` renders `5`).
11963
+ - In a run, {{lastExportDateTime}} and {{currentExportDateTime}} arrive as quoted ISO 8601
11964
+ UTC literals with milliseconds (`'2026-01-15T00:00:00.000Z'`), or in `delta.dateFormat`
11965
+ when it is set: add no quotes of your own, and don't parse them with a format mask
11966
+ written for another format.
11967
+ - A preview of an unsaved export document renders both as empty, unquoted text, so a
11968
+ delta query fails to compile there unless the document carries both in `postData`.
11969
+ - The quoting leaves backslashes, which Snowflake reads as escape sequences, so a
11970
+ double-brace value holding a backslash arrives changed. Pass such a value in a
11971
+ dollar-quoted constant with triple braces (`$${{{record.field}}}$$`), which Snowflake
11972
+ reads as is, but only when it can't contain `$$`: a `$$` ends the constant, and the rest
11973
+ is read as SQL.
11951
11974
  x-celigo-ai-guidance:
11952
11975
  - |-
11953
11976
  This field contains the SQL SELECT statement that will be executed to fetch data
@@ -12495,7 +12518,8 @@ components:
12495
12518
  fields. There is no separate `date` enum value.
12496
12519
 
12497
12520
  **Complex Types (require additional configuration)**
12498
- - `object`: Creates a nested object. REQUIRES child mappings in the 'mappings' array
12521
+ - `object`: Creates a nested object from child mappings in the 'mappings' array, or
12522
+ copies a whole object with `extract` (one or the other, not both)
12499
12523
 
12500
12524
  **Array Types**
12501
12525
  - `stringarray`: Array of strings
@@ -12543,7 +12567,7 @@ components:
12543
12567
  string: Text values; converts other types to their string representation.
12544
12568
  number: Numeric values; attempts conversion from strings.
12545
12569
  boolean: True/false values; converts truthy/falsy values.
12546
- object: Nested object that requires child mappings in the `mappings` array.
12570
+ object: Nested object built from child `mappings`, or copied whole with `extract` (not both).
12547
12571
  stringarray: Array of string values.
12548
12572
  numberarray: Array of numeric values.
12549
12573
  booleanarray: Array of boolean values.
@@ -12621,7 +12645,10 @@ components:
12621
12645
  - JSON path patterns ALWAYS execute from the TOP-LEVEL root of the input record
12622
12646
  - The system maintains this context even in deeply nested mappings
12623
12647
  - For object mappings without child mappings, extract should return a complete object
12624
- - When both extract and mappings are defined for objects, extract is applied first
12648
+ - An `object` row takes `extract` (to copy a whole object) or child `mappings`, not
12649
+ both: a row with both fails with 422 (`"extract" should not be present if
12650
+ "mappings" field is present`). A `buildArrayHelper` entry is different: there
12651
+ `extract` and `mappings` work together.
12625
12652
  - The root is the record as it arrives: an object record roots at `$.field`; a
12626
12653
  grouped record (an array of rows — grouped exports, file key columns, NetSuite
12627
12654
  grouped saved searches) roots at the array, so its rows are addressed as
@@ -13575,7 +13602,8 @@ components:
13575
13602
  fields. There is no separate `date` enum value.
13576
13603
 
13577
13604
  **Complex Types (require additional configuration)**
13578
- - `object`: Creates a nested object. REQUIRES child mappings in the 'mappings' array
13605
+ - `object`: Creates a nested object from child mappings in the 'mappings' array, or
13606
+ copies a whole object with `extract` (one or the other, not both)
13579
13607
 
13580
13608
  **Array Types**
13581
13609
  - `stringarray`: Array of strings
@@ -13623,7 +13651,7 @@ components:
13623
13651
  string: Text values; converts other types to their string representation.
13624
13652
  number: Numeric values; attempts conversion from strings.
13625
13653
  boolean: True/false values; converts truthy/falsy values.
13626
- object: Nested object that requires child mappings in the `mappings` array.
13654
+ object: Nested object built from child `mappings`, or copied whole with `extract` (not both).
13627
13655
  stringarray: Array of string values.
13628
13656
  numberarray: Array of numeric values.
13629
13657
  booleanarray: Array of boolean values.
@@ -13701,7 +13729,10 @@ components:
13701
13729
  - JSON path patterns ALWAYS execute from the TOP-LEVEL root of the input record
13702
13730
  - The system maintains this context even in deeply nested mappings
13703
13731
  - For object mappings without child mappings, extract should return a complete object
13704
- - When both extract and mappings are defined for objects, extract is applied first
13732
+ - An `object` row takes `extract` (to copy a whole object) or child `mappings`, not
13733
+ both: a row with both fails with 422 (`"extract" should not be present if
13734
+ "mappings" field is present`). A `buildArrayHelper` entry is different: there
13735
+ `extract` and `mappings` work together.
13705
13736
  - The root is the record as it arrives: an object record roots at `$.field`; a
13706
13737
  grouped record (an array of rows — grouped exports, file key columns, NetSuite
13707
13738
  grouped saved searches) roots at the array, so its rows are addressed as
@@ -15116,10 +15147,11 @@ components:
15116
15147
  ALWAYS reference the `record` root regardless of
15117
15148
  `inputContext` — only JSONPath anchoring flips.
15118
15149
  - |-
15119
- In `envelope` mode a `modify` transform merges its mapped
15120
- fields into `record` and keeps the rest of the envelope
15121
- around it; a `create` transform returns only the mapped
15122
- fields, as a bare record.
15150
+ In `envelope` mode the output is still a bare record: a
15151
+ `modify` transform returns the record with its mapped
15152
+ fields merged in (no `record` wrapper, no `job` or
15153
+ `settings` keys), and a `create` transform returns only
15154
+ the mapped fields.
15123
15155
  - |-
15124
15156
  Emit `inputContext` explicitly on new v2 transforms:
15125
15157
  unset is read as `record`, but stating it makes the
@@ -16523,6 +16555,8 @@ components:
16523
16555
  description: |-
16524
16556
  Custom JavaScript hooks that run at fixed points in the export lifecycle for
16525
16557
  transformations, validation, and filtering beyond what configuration alone can express.
16558
+ A hook name not listed here (an import's `preMap`, for example) is dropped on save
16559
+ without an error, so read `hooks` back after saving.
16526
16560
  properties:
16527
16561
  preSavePage:
16528
16562
  type: object
@@ -17470,11 +17504,14 @@ components:
17470
17504
  type: object
17471
17505
  description: |-
17472
17506
  Delta window for this preview. Without it, a document preview renders
17473
- `{{lastExportDateTime}}` and `{{currentExportDateTime}}` as empty strings (observed on
17474
- HTTP and RDBMS exports), so the preview doesn't reflect the export's delta window. On an
17475
- HTTP export these strings are substituted exactly as given; other adaptors weren't
17476
- checked. On an export without `delta.dateFormat`, a real run renders both as ISO 8601 UTC
17477
- with milliseconds, so pass them in that form to preview the request such a run would send.
17507
+ `{{lastExportDateTime}}` and `{{currentExportDateTime}}` empty, so the preview doesn't
17508
+ reflect the export's delta window: an HTTP request gets empty strings, and an RDBMS
17509
+ query gets empty, unquoted text, so a delta query fails to parse (observed on Snowflake;
17510
+ `delta.startDate` doesn't set them either). With it, an HTTP export inserts each value
17511
+ exactly as given, and an RDBMS query receives each wrapped in single quotes
17512
+ (`'2026-01-15T00:00:00.000Z'`, observed on Snowflake); other adaptors weren't checked.
17513
+ On an export without `delta.dateFormat`, a real run renders both as ISO 8601 UTC with
17514
+ milliseconds, so pass them in that form to preview the request such a run would send.
17478
17515
  properties:
17479
17516
  currentExportDateTime:
17480
17517
  type: string
@@ -997,7 +997,7 @@ components:
997
997
  description: Property names the stored JSON Schema marks as required.
998
998
  items:
999
999
  type: string
1000
- additionalproperties:
1000
+ additionalProperties:
1001
1001
  type: boolean
1002
1002
  description: Whether the stored JSON Schema allows properties beyond those in `properties`.
1003
1003
  schema:
@@ -1938,13 +1938,14 @@ components:
1938
1938
  type: string
1939
1939
  description: |
1940
1940
  Source expression. Accepts:
1941
- - JSONPath starting with `$.` (e.g. `$.customer.firstName`).
1941
+ - A dot path from the record root (e.g. `email`, `address.city`), read from the
1942
+ incoming record. A path that matches no field writes nothing.
1942
1943
  - Handlebars template (contains `{{`) for concatenation /
1943
1944
  formatting / conditional logic (e.g.
1944
1945
  `{{record.firstName}} {{record.lastName}}`).
1945
- - A literal string (any value not starting with `$.` and not
1946
- containing `{{`) — treated as a hardcoded value.
1947
1946
 
1947
+ A `$.` JSONPath (the Mapper 2.0 `mappings` syntax) reads nothing here, and a bare
1948
+ string is read as a field path, not a constant: set constants in `hardCodedValue`.
1948
1949
  Omit when using `hardCodedValue`.
1949
1950
  examples:
1950
1951
  - address.city
@@ -1955,9 +1956,9 @@ components:
1955
1956
  description: Static value written to `generate` instead of extracting from the source record.
1956
1957
  x-celigo-ai-guidance:
1957
1958
  - |-
1958
- Static value written verbatim. Equivalent to setting ``extract``
1959
- to a literal string; choose whichever reads more clearly. Mutually
1960
- exclusive with ``extract``.
1959
+ Static value written verbatim. Use it for every constant: a bare
1960
+ string in ``extract`` is read as a field path. Mutually exclusive
1961
+ with ``extract``.
1961
1962
  dataType:
1962
1963
  type: string
1963
1964
  enum:
package/dist/iclient.yml CHANGED
@@ -318,8 +318,9 @@ paths:
318
318
  x-internal: false
319
319
  summary: Update an iClient
320
320
  description: |-
321
- Replaces an iClient. All mutable fields must be provided — omitted
322
- fields are reset to defaults. Secrets returned as `"******"` can be
321
+ Replaces an existing iClient; create one with `POST /v1/iclients`. All
322
+ mutable fields must be provided — omitted fields are reset to defaults.
323
+ Secrets returned as `"******"` can be
323
324
  sent back as-is to keep the existing value, except a Google service
324
325
  account: every update must include the full JSON key. An Azure
325
326
  service principal keeps its stored `clientSecret` or `certificate`