@celigo/api-specs 0.2.137 → 0.2.139
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 +141 -53
- package/dist/api.yml +5 -15
- package/dist/asynchelper.yml +97 -42
- package/dist/connection.yml +7 -17
- package/dist/enduser.yml +5 -15
- package/dist/export.yml +146 -68
- package/dist/flow.yml +1 -1
- package/dist/guardrail.yml +5 -15
- package/dist/httpconnector.yml +49 -26
- package/dist/httpconnectorresource.yml +49 -26
- package/dist/iclient.yml +5 -15
- package/dist/import.yml +146 -68
- package/dist/integration.yml +77 -38
- package/dist/lookupcache.yml +21 -5
- package/dist/marketplace.yml +2 -2
- package/dist/mcp-server.yml +5 -15
- package/dist/processor.yml +248 -1
- package/dist/recyclebin.yml +15 -1
- package/dist/template.yml +36 -8
- package/dist/tool.yml +146 -68
- package/dist/tradingpartnerconnector.yml +49 -26
- package/package.json +1 -1
- package/schemas.json +6 -1
package/dist/integration.yml
CHANGED
|
@@ -29,9 +29,10 @@ tags:
|
|
|
29
29
|
`install`, `installSteps`) also appear on a standard integration created by the
|
|
30
30
|
UI's clone-and-install, so they do not by themselves mean Integration App.
|
|
31
31
|
|
|
32
|
-
Integrations support **Integration Lifecycle Management (ILM)**:
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
Integrations support **Integration Lifecycle Management (ILM)**: revisions (snapshot,
|
|
33
|
+
pull, revert) promote changes between an integration and its lifecycle-linked clones,
|
|
34
|
+
and carry every resource the integration contains. Only the UI's clone-and-install
|
|
35
|
+
links a clone; `POST /v1/integrations/{_id}/clone` makes a standalone copy.
|
|
35
36
|
|
|
36
37
|
## Integration schema
|
|
37
38
|
|
|
@@ -339,7 +340,8 @@ paths:
|
|
|
339
340
|
- Integrations
|
|
340
341
|
description: |-
|
|
341
342
|
Deletes an integration. The integration is soft-deleted and retained in the
|
|
342
|
-
recycle bin for 30 days before permanent removal.
|
|
343
|
+
recycle bin for 30 days before permanent removal. Delete the APIs and Tools it
|
|
344
|
+
contains, and remove its aliases that point at lookup caches, first.
|
|
343
345
|
parameters:
|
|
344
346
|
- name: _id
|
|
345
347
|
in: path
|
|
@@ -359,14 +361,28 @@ paths:
|
|
|
359
361
|
'404':
|
|
360
362
|
$ref: '#/components/responses/404-not-found'
|
|
361
363
|
'422':
|
|
362
|
-
|
|
364
|
+
description: |-
|
|
365
|
+
The integration still contains resources that must be deleted first, APIs and Tools
|
|
366
|
+
among them (`dependencies_not_deleted`, one entry per blocking resource), or one of its
|
|
367
|
+
`aliases[]` still points at a lookup cache.
|
|
368
|
+
content:
|
|
369
|
+
application/json:
|
|
370
|
+
schema:
|
|
371
|
+
$ref: '#/components/schemas/Error'
|
|
372
|
+
examples:
|
|
373
|
+
lookup_cache_alias:
|
|
374
|
+
value:
|
|
375
|
+
errors:
|
|
376
|
+
- message: integration 6842261335b64c0bcb308e4f owns alias "customeridcache" pointing to lookupcache 68680d7111d1437fbcbce534. Alias must be deleted before this resource can be deleted.
|
|
363
377
|
/v1/integrations/{_id}/clone:
|
|
364
378
|
post:
|
|
365
379
|
x-internal: false
|
|
366
380
|
summary: Clone an integration
|
|
367
381
|
description: |
|
|
368
|
-
Creates a copy of an existing integration
|
|
369
|
-
|
|
382
|
+
Creates a standalone copy of an existing integration: the copy records its source in
|
|
383
|
+
`_sourceId` but isn't lifecycle-linked to it, so a pull between the two finds no changes.
|
|
384
|
+
When the source has registered connections, remap each one via `connectionMap`; mapped
|
|
385
|
+
connections are reused, not cloned.
|
|
370
386
|
operationId: cloneIntegration
|
|
371
387
|
tags:
|
|
372
388
|
- Integrations
|
|
@@ -416,6 +432,28 @@ paths:
|
|
|
416
432
|
$ref: '#/components/responses/401-unauthorized'
|
|
417
433
|
'404':
|
|
418
434
|
$ref: '#/components/responses/404-not-found'
|
|
435
|
+
'422':
|
|
436
|
+
description: |-
|
|
437
|
+
A `connectionMap` key is missing or isn't one of the source's registered connections, or a
|
|
438
|
+
value isn't a connection in the target environment (`invalid_connectionId`). Nothing is
|
|
439
|
+
created.
|
|
440
|
+
content:
|
|
441
|
+
application/json:
|
|
442
|
+
schema:
|
|
443
|
+
$ref: '#/components/schemas/Error'
|
|
444
|
+
examples:
|
|
445
|
+
missing_key:
|
|
446
|
+
summary: A registered connection is missing from connectionMap
|
|
447
|
+
value:
|
|
448
|
+
errors:
|
|
449
|
+
- code: invalid_connectionId
|
|
450
|
+
message: 'The _connectionId provided for the key ''6553ebdeda62bb22e7fa81ff'': '''' is invalid.'
|
|
451
|
+
unknown_key:
|
|
452
|
+
summary: A key that isn't one of the source's registered connections
|
|
453
|
+
value:
|
|
454
|
+
errors:
|
|
455
|
+
- code: invalid_connectionId
|
|
456
|
+
message: The key '64a1234567890abcdef12399' in connectionMap doesn't match with any of the _id's of the connection documents.
|
|
419
457
|
/v1/integrations/{_id}/clone/preview:
|
|
420
458
|
get:
|
|
421
459
|
x-internal: false
|
|
@@ -678,7 +716,7 @@ paths:
|
|
|
678
716
|
operationId: getIntegrationRevisionDiff
|
|
679
717
|
tags:
|
|
680
718
|
- Integrations
|
|
681
|
-
summary: Diff a
|
|
719
|
+
summary: Diff a pull or revert revision
|
|
682
720
|
description: |-
|
|
683
721
|
Returns the before/after diff for a pull or revert revision. The diff is materialized on `pull`
|
|
684
722
|
and `revert` revisions and is retained on their `completed` state -- available for both
|
|
@@ -710,7 +748,7 @@ paths:
|
|
|
710
748
|
- 6a28d2af6d42eb08f8e863e7
|
|
711
749
|
responses:
|
|
712
750
|
'200':
|
|
713
|
-
description: Diff envelope for the
|
|
751
|
+
description: Diff envelope for the revision.
|
|
714
752
|
content:
|
|
715
753
|
application/json:
|
|
716
754
|
schema:
|
|
@@ -1815,8 +1853,12 @@ paths:
|
|
|
1815
1853
|
cache does not already have one: `alias` is a slug of the cache name
|
|
1816
1854
|
(lowercased, whitespace and special characters stripped, `_2`/`_3`/…
|
|
1817
1855
|
appended on collision) and `_lookupCacheId` points at the cache. Scripts
|
|
1818
|
-
and hooks use the alias as a stable handle for the cache, and
|
|
1819
|
-
|
|
1856
|
+
and hooks use the alias as a stable handle for the cache, and the
|
|
1857
|
+
`{{getLookupCacheData}}` Handlebars helper reads the cache only through
|
|
1858
|
+
it: the alias is matched case-sensitively, and a cache `_id` in its place
|
|
1859
|
+
fails with `alias "…" not found in integration/flow aliases.`.
|
|
1860
|
+
Deregistering or deleting the cache, and deleting the integration, are
|
|
1861
|
+
blocked until the alias is removed.
|
|
1820
1862
|
parameters:
|
|
1821
1863
|
- name: _id
|
|
1822
1864
|
in: path
|
|
@@ -1932,7 +1974,10 @@ paths:
|
|
|
1932
1974
|
of the cache name (lowercased, whitespace and special characters stripped,
|
|
1933
1975
|
`_2`/`_3`/… appended on collision) and `_lookupCacheId` points at the
|
|
1934
1976
|
cache. Scripts and hooks use the alias as a stable handle for the cache,
|
|
1935
|
-
and
|
|
1977
|
+
and the `{{getLookupCacheData}}` Handlebars helper reads the cache only
|
|
1978
|
+
through it (matched case-sensitively; a cache `_id` is not accepted).
|
|
1979
|
+
Deregistering or deleting the cache, and deleting the integration, are
|
|
1980
|
+
blocked until the alias is removed.
|
|
1936
1981
|
parameters:
|
|
1937
1982
|
- name: _id
|
|
1938
1983
|
in: path
|
|
@@ -3524,7 +3569,12 @@ components:
|
|
|
3524
3569
|
examples:
|
|
3525
3570
|
- install
|
|
3526
3571
|
settings:
|
|
3527
|
-
description:
|
|
3572
|
+
description: |-
|
|
3573
|
+
Integration App settings object for this integration. An Integration App can also keep
|
|
3574
|
+
its settings fields here, each with its current value: `settings.general` and
|
|
3575
|
+
`settings.sections[]` (tabs, then nested `sections[]`, then `fields[]`; a flow entry's own
|
|
3576
|
+
fields sit in its `settings[]`). When `settings.supportsMultiStore` is true, each
|
|
3577
|
+
`settings.sections[]` entry is a store and its own `sections[]` are the tabs.
|
|
3528
3578
|
allOf:
|
|
3529
3579
|
- description: |-
|
|
3530
3580
|
Integration App settings object for this integration.
|
|
@@ -4212,12 +4262,12 @@ components:
|
|
|
4212
4262
|
_sourceId:
|
|
4213
4263
|
type: string
|
|
4214
4264
|
format: objectId
|
|
4265
|
+
x-celigo-refModel: integrations
|
|
4215
4266
|
examples:
|
|
4216
4267
|
- 6842261335b64c0bcb308e4f
|
|
4217
4268
|
description: |-
|
|
4218
|
-
|
|
4219
|
-
|
|
4220
|
-
Typically system-managed; omit in normal create/update payloads.
|
|
4269
|
+
Integration this one was cloned from. Set on every clone, standalone copies included, so
|
|
4270
|
+
it doesn't by itself mean the two are lifecycle-linked. Omit in create and update payloads.
|
|
4221
4271
|
sampleIntegration:
|
|
4222
4272
|
type: boolean
|
|
4223
4273
|
description: |-
|
|
@@ -4521,8 +4571,11 @@ components:
|
|
|
4521
4571
|
Keys are source connection _ids on the original integration; values
|
|
4522
4572
|
are target connection _ids in the destination environment.
|
|
4523
4573
|
Required when the source integration has registered connections — omitting it or
|
|
4524
|
-
sending an empty map fails with 400 `invalid_connectionMap`.
|
|
4525
|
-
|
|
4574
|
+
sending an empty map fails with 400 `invalid_connectionMap`. Every registered
|
|
4575
|
+
connection must be a key, mapped to a connection in the target environment: a missing or
|
|
4576
|
+
unknown key, or a value that isn't a connection there, fails with 422
|
|
4577
|
+
`invalid_connectionId`. Map a connection to itself to reuse it in the clone; omit the map
|
|
4578
|
+
when the source has none.
|
|
4526
4579
|
additionalProperties:
|
|
4527
4580
|
type: string
|
|
4528
4581
|
example:
|
|
@@ -4760,13 +4813,13 @@ components:
|
|
|
4760
4813
|
RevisionDiffResponse:
|
|
4761
4814
|
type: object
|
|
4762
4815
|
description: |-
|
|
4763
|
-
Structured before/after diff for a
|
|
4764
|
-
|
|
4765
|
-
|
|
4816
|
+
Structured before/after diff for a `pull` or `revert` revision, available on an `inprogress`
|
|
4817
|
+
one once its install steps have materialized and kept once it is `completed`. Snapshot,
|
|
4818
|
+
`canceled` and `failed` revisions have none and return HTTP 400 `invalid_revision_state`.
|
|
4766
4819
|
|
|
4767
|
-
|
|
4768
|
-
|
|
4769
|
-
|
|
4820
|
+
A `{before, after}` envelope: each side maps resource type to resource id to that resource's
|
|
4821
|
+
snapshot. Treated as an opaque envelope here; specific field layout is not guaranteed stable
|
|
4822
|
+
across platform versions.
|
|
4770
4823
|
additionalProperties: true
|
|
4771
4824
|
RevisionError:
|
|
4772
4825
|
type: object
|
|
@@ -5457,19 +5510,5 @@ components:
|
|
|
5457
5510
|
errors:
|
|
5458
5511
|
- code: not_found
|
|
5459
5512
|
message: The requested resource was not found.
|
|
5460
|
-
422-dependency-conflict:
|
|
5461
|
-
description: |-
|
|
5462
|
-
The resource has dependents that must be deleted first. Each entry
|
|
5463
|
-
in the `errors` array names one blocking resource.
|
|
5464
|
-
content:
|
|
5465
|
-
application/json:
|
|
5466
|
-
schema:
|
|
5467
|
-
$ref: '#/components/schemas/Error'
|
|
5468
|
-
examples:
|
|
5469
|
-
default:
|
|
5470
|
-
value:
|
|
5471
|
-
errors:
|
|
5472
|
-
- code: dependencies_not_deleted
|
|
5473
|
-
message: export 6902d88c10b42b2eaac9b2a1 must be deleted before you can delete connection 6398ddf316be761fb16a6523
|
|
5474
5513
|
x-enable-proxy: true
|
|
5475
5514
|
x-internal: false
|
package/dist/lookupcache.yml
CHANGED
|
@@ -10,7 +10,9 @@ info:
|
|
|
10
10
|
and cross-reference resolution.
|
|
11
11
|
|
|
12
12
|
Each lookup cache:
|
|
13
|
-
-
|
|
13
|
+
- Is account-level: an integration uses it once registered there
|
|
14
|
+
(`PUT /v1/integrations/{_id}/lookupcaches/register`), which also adds an alias to the
|
|
15
|
+
integration's `aliases[]`
|
|
14
16
|
- Has a maximum size of 50 MB per cache
|
|
15
17
|
- Is subject to a per-environment aggregate limit of 1 GB
|
|
16
18
|
- Can optionally include its data when used in templates and cloning
|
|
@@ -119,8 +121,8 @@ paths:
|
|
|
119
121
|
x-internal: false
|
|
120
122
|
summary: Create a lookup cache
|
|
121
123
|
description: |-
|
|
122
|
-
Creates a new empty lookup cache.
|
|
123
|
-
|
|
124
|
+
Creates a new empty lookup cache. Populate it afterwards via
|
|
125
|
+
`POST /v1/lookupcaches/{_id}/data`.
|
|
124
126
|
operationId: createLookupCache
|
|
125
127
|
tags:
|
|
126
128
|
- Lookup Caches
|
|
@@ -354,6 +356,19 @@ paths:
|
|
|
354
356
|
$ref: '#/components/responses/401-unauthorized'
|
|
355
357
|
'404':
|
|
356
358
|
$ref: '#/components/responses/404-not-found'
|
|
359
|
+
'422':
|
|
360
|
+
description: |-
|
|
361
|
+
An integration's `aliases[]` still points at the cache. Registering a cache adds such an
|
|
362
|
+
alias, so remove it from that integration's `aliases`, then delete again.
|
|
363
|
+
content:
|
|
364
|
+
application/json:
|
|
365
|
+
schema:
|
|
366
|
+
$ref: '#/components/schemas/Error'
|
|
367
|
+
examples:
|
|
368
|
+
alias_referenced:
|
|
369
|
+
value:
|
|
370
|
+
errors:
|
|
371
|
+
- message: lookupcache 69c2eb25365fb658aa39c642 is referenced by an alias on integration 6842261335b64c0bcb308e4f. Alias must be deleted before resource can be deleted.
|
|
357
372
|
/v1/lookupcaches/{_id}/clone/preview:
|
|
358
373
|
get:
|
|
359
374
|
x-internal: false
|
|
@@ -418,8 +433,9 @@ paths:
|
|
|
418
433
|
read-then-write per key. Values may be null, numbers, booleans,
|
|
419
434
|
strings, or objects — arrays at the top level are rejected (wrap them in an
|
|
420
435
|
object). One invalid entry fails the entire batch and nothing in it is written:
|
|
421
|
-
a bad value returns `400 invalid_value`,
|
|
422
|
-
key returns `400 cache_dynamodb_invalid_key
|
|
436
|
+
a bad value returns `400 invalid_value`, an empty, missing, or over-length
|
|
437
|
+
key returns `400 cache_dynamodb_invalid_key`, and a key that appears twice in
|
|
438
|
+
the batch returns 400 "Duplicate keys found in the request".
|
|
423
439
|
|
|
424
440
|
The service rejects batches larger than ~1000 entries or ~5 MB of JSON.
|
|
425
441
|
Callers uploading more than that should split their payload; the Celigo CLI
|
package/dist/marketplace.yml
CHANGED
|
@@ -238,8 +238,8 @@ paths:
|
|
|
238
238
|
description: |-
|
|
239
239
|
No template matched the id. Most commonly: the id belongs to a
|
|
240
240
|
Connector (Integration App) rather than a Template — Connectors are
|
|
241
|
-
installed via
|
|
242
|
-
preview endpoint.
|
|
241
|
+
installed via `POST /v1/connectors/{_id}/install`, available only to
|
|
242
|
+
Celigo Partners, not through this preview endpoint.
|
|
243
243
|
content:
|
|
244
244
|
application/json:
|
|
245
245
|
schema:
|
package/dist/mcp-server.yml
CHANGED
|
@@ -3761,21 +3761,11 @@ components:
|
|
|
3761
3761
|
format: objectId
|
|
3762
3762
|
x-celigo-refModel: connectors
|
|
3763
3763
|
readOnly: true
|
|
3764
|
-
description:
|
|
3765
|
-
|
|
3766
|
-
|
|
3767
|
-
|
|
3768
|
-
|
|
3769
|
-
that defines the structure, behavior, and templates for this resource.
|
|
3770
|
-
|
|
3771
|
-
The integration app is the published template that can be installed
|
|
3772
|
-
multiple times across different accounts, with each installation creating
|
|
3773
|
-
a separate integration instance (referenced by _integrationId).
|
|
3774
|
-
|
|
3775
|
-
This reference enables:
|
|
3776
|
-
- Identifying the source integration app for this resource
|
|
3777
|
-
- Determining which template version is being used
|
|
3778
|
-
- Linking to documentation, support, and marketplace information
|
|
3764
|
+
description: |-
|
|
3765
|
+
Integration App (connector) that defines this resource. Present only on resources an
|
|
3766
|
+
Integration App owns. The app locks parts of these documents, and a PUT that changes a
|
|
3767
|
+
locked field answers 200 but keeps the stored value, so read the document back to confirm
|
|
3768
|
+
a change.
|
|
3779
3769
|
examples:
|
|
3780
3770
|
- 5e8d43a1b9e5a80011a35f1b
|
|
3781
3771
|
x-celigo-ai-guidance:
|
package/dist/processor.yml
CHANGED
|
@@ -23,7 +23,8 @@ tags:
|
|
|
23
23
|
|
|
24
24
|
These are one-shot transformation calls — they do not create or modify
|
|
25
25
|
any resources. Use them to test parsing rules, preview file definitions,
|
|
26
|
-
or transform data outside of a flow.
|
|
26
|
+
or transform data outside of a flow. The filter and Handlebars processors
|
|
27
|
+
test a step's filter rules or templates the same way.
|
|
27
28
|
|
|
28
29
|
## Processor descriptor schema
|
|
29
30
|
|
|
@@ -1047,6 +1048,212 @@ paths:
|
|
|
1047
1048
|
type: string
|
|
1048
1049
|
path:
|
|
1049
1050
|
type: string
|
|
1051
|
+
/v1/processors/filter:
|
|
1052
|
+
post:
|
|
1053
|
+
x-internal: false
|
|
1054
|
+
operationId: evaluateFilterRules
|
|
1055
|
+
tags:
|
|
1056
|
+
- Parsers & Generators
|
|
1057
|
+
summary: Test filter rules against records
|
|
1058
|
+
description: |-
|
|
1059
|
+
Evaluates export and import filter rules (`Filter.expression`) against the records in `data` and
|
|
1060
|
+
returns the records that pass. Nothing is saved and no flow runs, so it checks a rule before the
|
|
1061
|
+
rule is saved on a step. Rules are validated as they are when a filter is saved: an unknown
|
|
1062
|
+
operator or a bare `extract` is refused with 422.
|
|
1063
|
+
|
|
1064
|
+
Send each record bare, the way it reaches a step's filter. A record wrapped as
|
|
1065
|
+
`{"record": {...}}` is evaluated as that wrapper, so field rules don't match it.
|
|
1066
|
+
requestBody:
|
|
1067
|
+
required: true
|
|
1068
|
+
content:
|
|
1069
|
+
application/json:
|
|
1070
|
+
schema:
|
|
1071
|
+
type: object
|
|
1072
|
+
required:
|
|
1073
|
+
- rules
|
|
1074
|
+
- data
|
|
1075
|
+
properties:
|
|
1076
|
+
rules:
|
|
1077
|
+
type: object
|
|
1078
|
+
description: The filter expression to evaluate, in the shape of a step's `filter.expression`.
|
|
1079
|
+
required:
|
|
1080
|
+
- version
|
|
1081
|
+
- rules
|
|
1082
|
+
properties:
|
|
1083
|
+
version:
|
|
1084
|
+
type: string
|
|
1085
|
+
enum:
|
|
1086
|
+
- '1'
|
|
1087
|
+
x-enumDescriptions:
|
|
1088
|
+
'1': Version 1 of the Celigo expression-based filter format.
|
|
1089
|
+
description: Version of the filter format used by `rules`.
|
|
1090
|
+
rules:
|
|
1091
|
+
type: array
|
|
1092
|
+
description: Prefix-notation rule in the grammar of `Filter.expression.rules`.
|
|
1093
|
+
x-celigo-agent:
|
|
1094
|
+
- filter
|
|
1095
|
+
items: {}
|
|
1096
|
+
data:
|
|
1097
|
+
type: array
|
|
1098
|
+
description: Records to evaluate, each a bare record object.
|
|
1099
|
+
items:
|
|
1100
|
+
type: object
|
|
1101
|
+
additionalProperties: true
|
|
1102
|
+
examples:
|
|
1103
|
+
default:
|
|
1104
|
+
summary: Keep the records whose email has a value
|
|
1105
|
+
value:
|
|
1106
|
+
rules:
|
|
1107
|
+
version: '1'
|
|
1108
|
+
rules:
|
|
1109
|
+
- notempty
|
|
1110
|
+
- - string
|
|
1111
|
+
- - extract
|
|
1112
|
+
- email
|
|
1113
|
+
data:
|
|
1114
|
+
- email: a@example.com
|
|
1115
|
+
- email: ''
|
|
1116
|
+
- {}
|
|
1117
|
+
responses:
|
|
1118
|
+
'200':
|
|
1119
|
+
description: The records that pass the rules.
|
|
1120
|
+
content:
|
|
1121
|
+
application/json:
|
|
1122
|
+
schema:
|
|
1123
|
+
type: object
|
|
1124
|
+
properties:
|
|
1125
|
+
mediaType:
|
|
1126
|
+
type: string
|
|
1127
|
+
description: Always `json` for the filter processor.
|
|
1128
|
+
enum:
|
|
1129
|
+
- json
|
|
1130
|
+
x-enumDescriptions:
|
|
1131
|
+
json: Response data is formatted as JSON.
|
|
1132
|
+
data:
|
|
1133
|
+
type: array
|
|
1134
|
+
description: The input records that pass the rules, unchanged and in input order.
|
|
1135
|
+
items:
|
|
1136
|
+
type: object
|
|
1137
|
+
additionalProperties: true
|
|
1138
|
+
duration:
|
|
1139
|
+
type: integer
|
|
1140
|
+
description: Processing time in milliseconds.
|
|
1141
|
+
examples:
|
|
1142
|
+
default:
|
|
1143
|
+
value:
|
|
1144
|
+
mediaType: json
|
|
1145
|
+
data:
|
|
1146
|
+
- email: a@example.com
|
|
1147
|
+
duration: 0
|
|
1148
|
+
'401':
|
|
1149
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1150
|
+
'422':
|
|
1151
|
+
description: |-
|
|
1152
|
+
The rules are invalid, for example an unknown operator ("Invalid operation: isnotempty.") or
|
|
1153
|
+
an `extract` that is not wrapped in a type conversion ("Field operation extract must be called
|
|
1154
|
+
by a Type Conversion Operation but was called by notempty.").
|
|
1155
|
+
content:
|
|
1156
|
+
application/json:
|
|
1157
|
+
schema:
|
|
1158
|
+
$ref: '#/components/schemas/Error'
|
|
1159
|
+
/v1/processors/handlebars:
|
|
1160
|
+
post:
|
|
1161
|
+
x-internal: false
|
|
1162
|
+
operationId: renderHandlebarsTemplate
|
|
1163
|
+
tags:
|
|
1164
|
+
- Parsers & Generators
|
|
1165
|
+
summary: Render a Handlebars template
|
|
1166
|
+
description: |-
|
|
1167
|
+
Renders a Handlebars template against the object in `data` and returns the result. Nothing is
|
|
1168
|
+
saved and no flow runs, so it tests a template or a helper before the template is saved on a
|
|
1169
|
+
step.
|
|
1170
|
+
|
|
1171
|
+
`data` is the template's root context: `{{name}}` reads `data.name`. A template written for a
|
|
1172
|
+
step reads the record as `{{record.<field>}}`, so send the record under `record`
|
|
1173
|
+
(`"data": {"record": {...}}`). Double braces HTML-escape the value (`&` renders as `&`);
|
|
1174
|
+
triple braces insert it unchanged. A `timestamp` with no time zone renders in UTC.
|
|
1175
|
+
|
|
1176
|
+
An unknown helper is refused with 422. `GET /v1/processors` lists helpers under the handlebars
|
|
1177
|
+
entry's `helperFunctions`, but that list is not complete: `eq` and `truncateWords`, for
|
|
1178
|
+
example, render although it omits them, so render a doubtful helper once here before relying
|
|
1179
|
+
on it.
|
|
1180
|
+
requestBody:
|
|
1181
|
+
required: true
|
|
1182
|
+
content:
|
|
1183
|
+
application/json:
|
|
1184
|
+
schema:
|
|
1185
|
+
type: object
|
|
1186
|
+
required:
|
|
1187
|
+
- rules
|
|
1188
|
+
- data
|
|
1189
|
+
properties:
|
|
1190
|
+
rules:
|
|
1191
|
+
type: object
|
|
1192
|
+
required:
|
|
1193
|
+
- template
|
|
1194
|
+
properties:
|
|
1195
|
+
template:
|
|
1196
|
+
type: string
|
|
1197
|
+
description: The Handlebars template to render.
|
|
1198
|
+
x-celigo-agent:
|
|
1199
|
+
- handlebars
|
|
1200
|
+
resultMode:
|
|
1201
|
+
type: string
|
|
1202
|
+
description: Form of the result; `text` returns the rendered string.
|
|
1203
|
+
examples:
|
|
1204
|
+
- text
|
|
1205
|
+
data:
|
|
1206
|
+
type: object
|
|
1207
|
+
additionalProperties: true
|
|
1208
|
+
description: Root context the template renders against.
|
|
1209
|
+
examples:
|
|
1210
|
+
step_template:
|
|
1211
|
+
summary: Render a step template against a record
|
|
1212
|
+
value:
|
|
1213
|
+
rules:
|
|
1214
|
+
template: '{{record.name}} | {{{record.name}}}'
|
|
1215
|
+
resultMode: text
|
|
1216
|
+
data:
|
|
1217
|
+
record:
|
|
1218
|
+
name: Smith & Sons
|
|
1219
|
+
responses:
|
|
1220
|
+
'200':
|
|
1221
|
+
description: The rendered template.
|
|
1222
|
+
content:
|
|
1223
|
+
application/json:
|
|
1224
|
+
schema:
|
|
1225
|
+
type: object
|
|
1226
|
+
properties:
|
|
1227
|
+
mediaType:
|
|
1228
|
+
type: string
|
|
1229
|
+
description: Always `text` for the handlebars processor.
|
|
1230
|
+
enum:
|
|
1231
|
+
- text
|
|
1232
|
+
x-enumDescriptions:
|
|
1233
|
+
text: Response data is the rendered text.
|
|
1234
|
+
data:
|
|
1235
|
+
description: |-
|
|
1236
|
+
The rendered result, normally a string. A template that renders only a helper's
|
|
1237
|
+
numeric result can come back as a JSON number.
|
|
1238
|
+
duration:
|
|
1239
|
+
type: integer
|
|
1240
|
+
description: Processing time in milliseconds.
|
|
1241
|
+
examples:
|
|
1242
|
+
default:
|
|
1243
|
+
value:
|
|
1244
|
+
mediaType: text
|
|
1245
|
+
data: Smith & Sons | Smith & Sons
|
|
1246
|
+
duration: 0
|
|
1247
|
+
'401':
|
|
1248
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1249
|
+
'422':
|
|
1250
|
+
description: |-
|
|
1251
|
+
The template could not be rendered, for example because it calls a helper that does not
|
|
1252
|
+
exist ('Missing helper: "first"').
|
|
1253
|
+
content:
|
|
1254
|
+
application/json:
|
|
1255
|
+
schema:
|
|
1256
|
+
$ref: '#/components/schemas/Error'
|
|
1050
1257
|
components:
|
|
1051
1258
|
securitySchemes:
|
|
1052
1259
|
bearerAuth:
|
|
@@ -1219,6 +1426,46 @@ components:
|
|
|
1219
1426
|
traceKeysDuplicate:
|
|
1220
1427
|
type: boolean
|
|
1221
1428
|
description: When true, duplicate trace keys were detected in the output records.
|
|
1429
|
+
Error:
|
|
1430
|
+
type: object
|
|
1431
|
+
description: Standard error response envelope returned by integrator.io APIs.
|
|
1432
|
+
properties:
|
|
1433
|
+
errors:
|
|
1434
|
+
type: array
|
|
1435
|
+
description: List of errors that occurred while processing the request.
|
|
1436
|
+
items:
|
|
1437
|
+
type: object
|
|
1438
|
+
properties:
|
|
1439
|
+
code:
|
|
1440
|
+
oneOf:
|
|
1441
|
+
- type: string
|
|
1442
|
+
- type: integer
|
|
1443
|
+
description: |-
|
|
1444
|
+
Machine-readable error code. Usually a string like
|
|
1445
|
+
`invalid_ref`, `missing_required_field`, or `unauthorized`;
|
|
1446
|
+
may be an **integer** when the error mirrors an upstream HTTP
|
|
1447
|
+
status (e.g. `500`) — most commonly returned by connection-ping
|
|
1448
|
+
and adaptor-proxy responses.
|
|
1449
|
+
message:
|
|
1450
|
+
type: string
|
|
1451
|
+
description: Human-readable description of the error.
|
|
1452
|
+
field:
|
|
1453
|
+
type: string
|
|
1454
|
+
description: |-
|
|
1455
|
+
Optional pointer to the document field that caused the error.
|
|
1456
|
+
Used by structural validation errors (`missing_required_field`,
|
|
1457
|
+
`invalid_ref`) to indicate which field is at fault
|
|
1458
|
+
(e.g. `_id`, `type`, `http.baseURI`).
|
|
1459
|
+
source:
|
|
1460
|
+
type: string
|
|
1461
|
+
description: |-
|
|
1462
|
+
Optional origin layer for the error — e.g. `application` when
|
|
1463
|
+
the error came from the remote system the adaptor called,
|
|
1464
|
+
`connector` when the adaptor itself rejected the request.
|
|
1465
|
+
required:
|
|
1466
|
+
- message
|
|
1467
|
+
required:
|
|
1468
|
+
- errors
|
|
1222
1469
|
responses:
|
|
1223
1470
|
401-unauthorized:
|
|
1224
1471
|
description: |-
|
package/dist/recyclebin.yml
CHANGED
|
@@ -416,7 +416,10 @@ paths:
|
|
|
416
416
|
description: |-
|
|
417
417
|
Permanently purges a resource from the recycle bin. This action
|
|
418
418
|
cannot be undone — the resource data is irrecoverably removed.
|
|
419
|
-
Resources are auto-purged after 30 days.
|
|
419
|
+
Resources are auto-purged after 30 days. A purge removes only the
|
|
420
|
+
named resource: purge the bin entries that still reference it first
|
|
421
|
+
(a deleted flow references its integration and the exports and imports
|
|
422
|
+
it used).
|
|
420
423
|
parameters:
|
|
421
424
|
- $ref: '#/components/parameters/ResourceType'
|
|
422
425
|
- name: _id
|
|
@@ -449,6 +452,17 @@ paths:
|
|
|
449
452
|
message: Recycle Bin operations are not supported for the given model at this time
|
|
450
453
|
'404':
|
|
451
454
|
$ref: '#/components/responses/404-not-found'
|
|
455
|
+
'422':
|
|
456
|
+
description: |-
|
|
457
|
+
Another recycle-bin entry still references the resource. Purge that
|
|
458
|
+
entry first, then retry.
|
|
459
|
+
content:
|
|
460
|
+
application/json:
|
|
461
|
+
schema:
|
|
462
|
+
$ref: '#/components/schemas/Error'
|
|
463
|
+
example:
|
|
464
|
+
errors:
|
|
465
|
+
- message: 'this document is referenced by Flow : 60a2c4e6f321d800129a1a3c'
|
|
452
466
|
/v1/recycleBinTTL/{resourceType}/{_id}/doCascadeRestore:
|
|
453
467
|
post:
|
|
454
468
|
x-internal: false
|