@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.
@@ -25,6 +25,14 @@ tags:
25
25
  CRUD operations use the `/v1/imports` endpoints. The `guardrail` object
26
26
  holds the type-specific configuration.
27
27
 
28
+ A guardrail returns a verdict for each record and never changes the
29
+ record. The verdict fields are at the top level of the result:
30
+ `flagged`, plus `masked` (a `pii` guardrail with `mask: true`) or
31
+ `reasoning` (an `ai_agent` guardrail), while `_json` is empty when a saved
32
+ guardrail is invoked by id. In a flow, the guardrail step's response
33
+ mapping copies them onto the record (`{"extract": "masked", "generate":
34
+ "description"}`), and routers branch on the mapped `flagged`.
35
+
28
36
  ## Guardrail schema
29
37
 
30
38
  {% openapi-schemas spec="guardrail" schemas="Guardrail" grouped="true" %}
@@ -906,12 +914,17 @@ components:
906
914
  run at `default` regardless of what's set here.
907
915
  output:
908
916
  type: object
909
- description: Output format configuration
917
+ description: |-
918
+ Output format configuration. A guardrail stores `format` but doesn't use it: the
919
+ request to the model always carries the guardrail's own `validation_result` JSON
920
+ schema (`flagged`, `reasoning`, `confidence`), and the result returns `flagged` and
921
+ `reasoning` whatever `format` holds.
910
922
  properties:
911
923
  format:
912
924
  type: object
913
925
  description: |
914
- Controls the structure of the model's output.
926
+ Stored output structure. The request to the model uses the guardrail's own
927
+ verdict schema instead (see `output`).
915
928
  properties:
916
929
  type:
917
930
  type: string
@@ -920,10 +933,10 @@ components:
920
933
  - json_schema
921
934
  - blob
922
935
  x-enumDescriptions:
923
- text: Free-form text response from the model.
924
- json_schema: Structured JSON output conforming to a defined schema.
925
- blob: Binary data output for non-text content.
926
- description: Output format type.
936
+ text: Stored format type; the model request still uses the guardrail's verdict schema.
937
+ json_schema: A stored JSON schema (`jsonSchema`); the model request still uses the guardrail's verdict schema.
938
+ blob: Stored format type; the model request still uses the guardrail's verdict schema.
939
+ description: Output format type, as stored.
927
940
  schemaMode:
928
941
  type: string
929
942
  enum:
@@ -933,9 +946,9 @@ components:
933
946
  manual: The schema editor opens `jsonSchema` in the visual field-by-field view
934
947
  json: The schema editor opens `jsonSchema` in the raw JSON view
935
948
  description: |-
936
- Which view a schema editor opens `jsonSchema` in; the schema sent to the
937
- provider is the same either way. Stored and echoed on guardrails for parity
938
- with the AI-agent format block — the guardrail form does not set it today.
949
+ Which view a schema editor opens `jsonSchema` in. Stored and echoed on
950
+ guardrails for parity with the AI-agent format block — the guardrail form
951
+ does not set it today, and neither view changes the model request.
939
952
  x-celigo-ai-guidance:
940
953
  - |-
941
954
  Resend the stored value on every update — a full PUT that omits the field
@@ -947,18 +960,20 @@ components:
947
960
  x-celigo-ui-override: Required by the AI agent form when output format type is json_schema. Encoded here to mirror the form so builders produce connectable configurations.
948
961
  strict:
949
962
  type: boolean
950
- description: When true, enforces strict schema validation on output.
963
+ description: Stored strict-validation flag for `jsonSchema`. A guardrail's model request uses its own verdict schema, so this doesn't apply there.
951
964
  x-celigo-ai-guidance:
952
- - Whether to enforce strict schema validation on output
965
+ - Stored only on a guardrail; it doesn't change the guardrail's verdict.
953
966
  jsonSchema:
954
967
  type: object
955
968
  description: |
956
- JSON Schema for structured output. Required when `format.type` is "json_schema".
969
+ Stored JSON Schema. Required when `format.type` is "json_schema". A guardrail
970
+ doesn't send it to the model; the request carries the `validation_result`
971
+ verdict schema instead.
957
972
  x-celigo-ui-override: Required by the AI agent form when output format type is json_schema. Encoded here to mirror the form so builders produce connectable configurations.
958
973
  properties:
959
974
  type:
960
975
  type: string
961
- description: Root JSON Schema type of the structured output; use "object" for record-shaped results.
976
+ description: Root type of the stored JSON Schema.
962
977
  enum:
963
978
  - object
964
979
  - array
@@ -976,15 +991,15 @@ components:
976
991
  properties:
977
992
  type: object
978
993
  additionalProperties: true
979
- description: JSON Schema definitions for each field the structured output may contain.
994
+ description: Field definitions in the stored JSON Schema.
980
995
  required:
981
996
  type: array
982
- description: Property names the model must include in the structured output.
997
+ description: Property names the stored JSON Schema marks as required.
983
998
  items:
984
999
  type: string
985
1000
  additionalproperties:
986
1001
  type: boolean
987
- description: When true, the structured output may include properties beyond those defined in `properties`.
1002
+ description: Whether the stored JSON Schema allows properties beyond those in `properties`.
988
1003
  schema:
989
1004
  type: object
990
1005
  readOnly: true
@@ -1762,10 +1777,15 @@ components:
1762
1777
  type: boolean
1763
1778
  default: false
1764
1779
  description: |-
1765
- When true, detected PII is replaced with masked values.
1766
- When false, PII is flagged without modification.
1780
+ When true, the result also carries `masked`: the evaluated input with each detected
1781
+ value replaced by asterisks. The record itself is unchanged. With whole-record input
1782
+ (no `mapping`, and no top-level `text` field on the record), `masked` is the record
1783
+ serialized as one JSON string. When false, PII is flagged only.
1767
1784
  x-celigo-ai-guidance:
1768
- - Whether to mask detected PII values in the output.
1785
+ - |-
1786
+ Masking doesn't rewrite the record. To pass masked text on, select the field as the
1787
+ `text` input (`mapping`) and response-map `masked` back onto that field on the
1788
+ guardrail's flow step (`{"extract": "masked", "generate": "<field>"}`).
1769
1789
  moderation:
1770
1790
  type: object
1771
1791
  required:
@@ -2152,8 +2172,10 @@ components:
2152
2172
  mapping:
2153
2173
  type: object
2154
2174
  description: |-
2155
- Mapper 1.0 input mapping. Served only when populated — a
2156
- guardrail created without one has no `mapping` in responses.
2175
+ Mapper 1.0 input mapping that selects the field evaluated as `text`.
2176
+ Served only when populated — a guardrail created without one has no
2177
+ `mapping` in responses, and evaluates the whole record (or the
2178
+ record's own top-level `text` field, when it has one).
2157
2179
  properties:
2158
2180
  fields:
2159
2181
  type: array
@@ -2211,7 +2233,11 @@ components:
2211
2233
  - []
2212
2234
  mockResponse:
2213
2235
  type: array
2214
- description: Sample evaluation results stored with the guardrail. The UI populates these from a preview run; accepted on create and update.
2236
+ description: |-
2237
+ Sample evaluation results stored with the guardrail. The UI populates these from a
2238
+ preview run; accepted on create and update. Each item has the shape of the result a
2239
+ run produces for one record, with the verdict fields (`flagged`, `masked`,
2240
+ `reasoning`) at the top level.
2215
2241
  items:
2216
2242
  type: object
2217
2243
  properties:
@@ -2225,6 +2251,23 @@ components:
2225
2251
  description: When true, the sample input tripped the guardrail.
2226
2252
  examples:
2227
2253
  - true
2254
+ reasoning:
2255
+ type: string
2256
+ description: |-
2257
+ The model's explanation of the verdict. Returned by `ai_agent` guardrails,
2258
+ whatever output format the guardrail stores.
2259
+ examples:
2260
+ - The discount is 45% on an account opened 30 days ago, so the order is flagged.
2261
+ _json:
2262
+ type: object
2263
+ description: |-
2264
+ Empty (`{}`) in the result of a saved guardrail invoked by id. A preview's result
2265
+ carries the raw verdict under `_json.data`: `flagged`, `reasoning` and
2266
+ `confidence` for `ai_agent`, or `flagged`, `masked` and `entities_detected`
2267
+ for `pii`. Read the top-level fields, not `_json`.
2268
+ additionalProperties: true
2269
+ examples:
2270
+ - {}
2228
2271
  ignored:
2229
2272
  type: boolean
2230
2273
  description: When true, the result fell below `confidenceThreshold` and was disregarded.
@@ -2303,9 +2346,17 @@ components:
2303
2346
  Mapper 1.0 mapping that selects the guardrail's input from the
2304
2347
  incoming record. The UI writes a single field entry that maps a
2305
2348
  record field to the `text` input (e.g.
2306
- `{"fields": [{"extract": "employeeSummary", "generate": "text"}]}`).
2307
- Optional — when omitted the whole record is evaluated. The server
2349
+ `{"fields": [{"extract": "employeeSummary", "generate": "text"}]}`);
2350
+ only that field is evaluated, and fields outside it are neither
2351
+ scanned nor masked. Optional — when omitted the whole record is
2352
+ evaluated, serialized as JSON, unless the record has its own
2353
+ top-level `text` field, which is then evaluated alone. The server
2308
2354
  serves this field only when populated.
2355
+ x-celigo-ai-guidance:
2356
+ - |-
2357
+ Send the input selection here as `mapping`, not as Mapper 2.0
2358
+ `mappings` rows. Map the field explicitly when records carry their
2359
+ own `text` field.
2309
2360
  properties:
2310
2361
  fields:
2311
2362
  type: array
package/dist/import.yml CHANGED
@@ -10968,12 +10968,17 @@ components:
10968
10968
  run at `default` regardless of what's set here.
10969
10969
  output:
10970
10970
  type: object
10971
- description: Output format configuration
10971
+ description: |-
10972
+ Output format configuration. A guardrail stores `format` but doesn't use it: the
10973
+ request to the model always carries the guardrail's own `validation_result` JSON
10974
+ schema (`flagged`, `reasoning`, `confidence`), and the result returns `flagged` and
10975
+ `reasoning` whatever `format` holds.
10972
10976
  properties:
10973
10977
  format:
10974
10978
  type: object
10975
10979
  description: |
10976
- Controls the structure of the model's output.
10980
+ Stored output structure. The request to the model uses the guardrail's own
10981
+ verdict schema instead (see `output`).
10977
10982
  properties:
10978
10983
  type:
10979
10984
  type: string
@@ -10982,10 +10987,10 @@ components:
10982
10987
  - json_schema
10983
10988
  - blob
10984
10989
  x-enumDescriptions:
10985
- text: Free-form text response from the model.
10986
- json_schema: Structured JSON output conforming to a defined schema.
10987
- blob: Binary data output for non-text content.
10988
- description: Output format type.
10990
+ text: Stored format type; the model request still uses the guardrail's verdict schema.
10991
+ json_schema: A stored JSON schema (`jsonSchema`); the model request still uses the guardrail's verdict schema.
10992
+ blob: Stored format type; the model request still uses the guardrail's verdict schema.
10993
+ description: Output format type, as stored.
10989
10994
  schemaMode:
10990
10995
  type: string
10991
10996
  enum:
@@ -10995,9 +11000,9 @@ components:
10995
11000
  manual: The schema editor opens `jsonSchema` in the visual field-by-field view
10996
11001
  json: The schema editor opens `jsonSchema` in the raw JSON view
10997
11002
  description: |-
10998
- Which view a schema editor opens `jsonSchema` in; the schema sent to the
10999
- provider is the same either way. Stored and echoed on guardrails for parity
11000
- with the AI-agent format block — the guardrail form does not set it today.
11003
+ Which view a schema editor opens `jsonSchema` in. Stored and echoed on
11004
+ guardrails for parity with the AI-agent format block — the guardrail form
11005
+ does not set it today, and neither view changes the model request.
11001
11006
  x-celigo-ai-guidance:
11002
11007
  - |-
11003
11008
  Resend the stored value on every update — a full PUT that omits the field
@@ -11009,18 +11014,20 @@ components:
11009
11014
  x-celigo-ui-override: Required by the AI agent form when output format type is json_schema. Encoded here to mirror the form so builders produce connectable configurations.
11010
11015
  strict:
11011
11016
  type: boolean
11012
- description: When true, enforces strict schema validation on output.
11017
+ description: Stored strict-validation flag for `jsonSchema`. A guardrail's model request uses its own verdict schema, so this doesn't apply there.
11013
11018
  x-celigo-ai-guidance:
11014
- - Whether to enforce strict schema validation on output
11019
+ - Stored only on a guardrail; it doesn't change the guardrail's verdict.
11015
11020
  jsonSchema:
11016
11021
  type: object
11017
11022
  description: |
11018
- JSON Schema for structured output. Required when `format.type` is "json_schema".
11023
+ Stored JSON Schema. Required when `format.type` is "json_schema". A guardrail
11024
+ doesn't send it to the model; the request carries the `validation_result`
11025
+ verdict schema instead.
11019
11026
  x-celigo-ui-override: Required by the AI agent form when output format type is json_schema. Encoded here to mirror the form so builders produce connectable configurations.
11020
11027
  properties:
11021
11028
  type:
11022
11029
  type: string
11023
- description: Root JSON Schema type of the structured output; use "object" for record-shaped results.
11030
+ description: Root type of the stored JSON Schema.
11024
11031
  enum:
11025
11032
  - object
11026
11033
  - array
@@ -11038,15 +11045,15 @@ components:
11038
11045
  properties:
11039
11046
  type: object
11040
11047
  additionalProperties: true
11041
- description: JSON Schema definitions for each field the structured output may contain.
11048
+ description: Field definitions in the stored JSON Schema.
11042
11049
  required:
11043
11050
  type: array
11044
- description: Property names the model must include in the structured output.
11051
+ description: Property names the stored JSON Schema marks as required.
11045
11052
  items:
11046
11053
  type: string
11047
11054
  additionalproperties:
11048
11055
  type: boolean
11049
- description: When true, the structured output may include properties beyond those defined in `properties`.
11056
+ description: Whether the stored JSON Schema allows properties beyond those in `properties`.
11050
11057
  schema:
11051
11058
  type: object
11052
11059
  readOnly: true
@@ -11854,10 +11861,15 @@ components:
11854
11861
  type: boolean
11855
11862
  default: false
11856
11863
  description: |-
11857
- When true, detected PII is replaced with masked values.
11858
- When false, PII is flagged without modification.
11864
+ When true, the result also carries `masked`: the evaluated input with each detected
11865
+ value replaced by asterisks. The record itself is unchanged. With whole-record input
11866
+ (no `mapping`, and no top-level `text` field on the record), `masked` is the record
11867
+ serialized as one JSON string. When false, PII is flagged only.
11859
11868
  x-celigo-ai-guidance:
11860
- - Whether to mask detected PII values in the output.
11869
+ - |-
11870
+ Masking doesn't rewrite the record. To pass masked text on, select the field as the
11871
+ `text` input (`mapping`) and response-map `masked` back onto that field on the
11872
+ guardrail's flow step (`{"extract": "masked", "generate": "<field>"}`).
11861
11873
  moderation:
11862
11874
  type: object
11863
11875
  required:
@@ -12492,19 +12504,27 @@ components:
12492
12504
  properties:
12493
12505
  function:
12494
12506
  type: string
12495
- description: Function to invoke within the referenced script.
12507
+ description: |-
12508
+ Function to invoke: one in the script named by `_scriptId`, or one the code deployed on
12509
+ the stack named by `_stackId` exposes.
12496
12510
  examples:
12497
12511
  - transformRecords
12498
12512
  _scriptId:
12499
12513
  type: string
12500
12514
  format: objectId
12501
12515
  x-celigo-refModel: scripts
12502
- description: Script containing the hook function named in `function`.
12516
+ description: Script containing the hook function named in `function`. Send this or `_stackId`, not both.
12503
12517
  _stackId:
12504
12518
  type: string
12505
12519
  format: objectId
12506
12520
  x-celigo-refModel: stacks
12507
- description: Stack that hosts the hook logic, used instead of a script for stack-based deployments.
12521
+ description: |-
12522
+ Stack that hosts the hook logic, used instead of a script for stack-based deployments.
12523
+ The API doesn't enforce the either/or: a save carrying both `_scriptId` and `_stackId`
12524
+ answers 200 and stores both, and the script and the stack then each list the step as a
12525
+ dependent.
12526
+ x-celigo-ai-guidance:
12527
+ - When moving a hook onto a stack, remove `_scriptId` and set `function` to the stack's function in the same update.
12508
12528
  configuration:
12509
12529
  type:
12510
12530
  - object
@@ -547,6 +547,8 @@ paths:
547
547
  description: |-
548
548
  Returns every revision entry (snapshots, pulls, reverts) for the integration, newest first.
549
549
  An integration with no revision history returns an empty response (204), not `[]`.
550
+ x-celigo-ai-guidance:
551
+ - To roll back a pull, find its revision here (its diff shows what it changed) and have the user revert it in the integration's Revisions tab with **Revert to before this revision**. The API can't start a revert, and writing old values back to the resources by hand misses what the pull created or deleted and records no revert.
550
552
  parameters:
551
553
  - name: _id
552
554
  in: path
@@ -4698,8 +4700,8 @@ components:
4698
4700
  - pull
4699
4701
  - revert
4700
4702
  x-enumDescriptions:
4701
- snapshot: Point-in-time capture of the current integration state.
4702
- pull: Changes pulled in from a related integration in another environment or clone.
4703
+ snapshot: Point-in-time capture of the current integration state, taken when a user (or `POST /v1/integrations/{_id}/revisions/create`) asks for one.
4704
+ pull: Changes pulled in from a related integration in another environment or clone. The pull's own revision keeps the state from before and after the merge (`beforeRevisionHash`, `afterRevisionHash`); no separate snapshot revisions are written for it.
4703
4705
  revert: Restoration of the integration to a prior revision state.
4704
4706
  status:
4705
4707
  type: string
@@ -4724,7 +4726,11 @@ components:
4724
4726
  - Stable baseline before deploying v2
4725
4727
  beforeRevisionHash:
4726
4728
  type: string
4727
- description: Content hash of the integration state prior to this revision.
4729
+ description: |-
4730
+ Content hash of the integration state prior to this revision. On a `pull` it is the
4731
+ restore point that the Revisions tab's **Revert to before this revision** returns to:
4732
+ the revert names the pull in `_revertToRevisionId` and copies this hash into
4733
+ `revertToRevisionHash`.
4728
4734
  examples:
4729
4735
  - 34b7ae8d56563e242bc0bd42fd28874442657e58
4730
4736
  transactionHash:
@@ -5139,7 +5139,12 @@ components:
5139
5139
  type: boolean
5140
5140
  description: |
5141
5141
  When true, uses iClient-managed OAuth credentials (clientId/clientSecret)
5142
- instead of the values in this configuration.
5142
+ instead of the values in this configuration. The iClient is the connection's
5143
+ `_iClientId` — on an HTTP connection `http._iClientId`, beside `auth`, not inside it —
5144
+ and it also supplies the grant type and the authorization and token endpoints, so a
5145
+ create needs only `auth.type: "oauth"`, `auth.oauth.useIClientFields: true` and the
5146
+ iClient id. The connection holds no tokens until a person completes the authorization
5147
+ in a browser.
5143
5148
  oauth1:
5144
5149
  type: object
5145
5150
  description: |-
@@ -5268,7 +5273,7 @@ components:
5268
5273
  x-celigo-ai-guidance:
5269
5274
  - |-
5270
5275
  ## OAUTH 2.0 GRANT TYPES
5271
- - "authorizationcode" — Authorization Code flow (browser-based user consent).
5276
+ - "authorizecode" — Authorization Code flow (browser-based user consent).
5272
5277
  Requires authURI, tokenURI, and user authorization via browser.
5273
5278
  - "clientcredentials" — Client Credentials flow (server-to-server, no user).
5274
5279
  Requires tokenURI, clientId, clientSecret.
@@ -5859,7 +5864,11 @@ components:
5859
5864
  description: |
5860
5865
  The API key or bearer token value (encrypted at rest); returned masked as `"******"`.
5861
5866
  On update, the mask sent back keeps the stored token; a new value replaces it.
5862
- Required unless automatic token refresh is configured.
5867
+ Required unless automatic token refresh is configured: a token block without a
5868
+ token must carry a `refreshMethod`, so a create or update that sends neither fails
5869
+ with 422 `Expected field: refreshMethod to be present.` To create a static-token
5870
+ connection before the real token is available, send a placeholder value and
5871
+ replace it later.
5863
5872
  examples:
5864
5873
  - my-api-token-EXAMPLE
5865
5874
  location:
@@ -8065,7 +8074,11 @@ components:
8065
8074
  description: |
8066
8075
  The API key or bearer token value (encrypted at rest); returned masked as `"******"`.
8067
8076
  On update, the mask sent back keeps the stored token; a new value replaces it.
8068
- Required unless automatic token refresh is configured.
8077
+ Required unless automatic token refresh is configured: a token block without a
8078
+ token must carry a `refreshMethod`, so a create or update that sends neither fails
8079
+ with 422 `Expected field: refreshMethod to be present.` To create a static-token
8080
+ connection before the real token is available, send a placeholder value and
8081
+ replace it later.
8069
8082
  examples:
8070
8083
  - my-api-token-EXAMPLE
8071
8084
  location:
package/dist/template.yml CHANGED
@@ -331,9 +331,20 @@ paths:
331
331
  Check `type` on the `GET /v1/templates/{_id}/preview` response first.
332
332
 
333
333
  This one-shot install doesn't run a template's own install steps. A
334
- template whose preview `Integration` object lists `installSteps` is
335
- refused with nothing created; install it from the integrator.io
336
- marketplace, whose installer runs those steps.
334
+ template whose preview `Integration` object lists a `template_zip`
335
+ install step (most published templates have one) is refused with 422
336
+ and nothing is created; install it from the integrator.io marketplace,
337
+ whose installer runs those steps.
338
+
339
+ Every request that reaches the platform starts a new install — there is
340
+ no idempotency key, so a retry after a timeout or an ambiguous failure
341
+ creates a second integration with its own flows, exports and imports.
342
+ Before retrying, look for the integration the first request created: one
343
+ carrying this template's `_templateId`, named like the preview's
344
+ `Integration` object, with a `createdAt` near the request.
345
+ x-celigo-ai-guidance:
346
+ - Read `GET /v1/templates/{_id}/preview` first. Every `Connection` object's `_id` must be a key of `connectionMap`, and an `installSteps` entry with `type` `template_zip` on the `Integration` object means this endpoint refuses the template — send the user to the marketplace installer instead.
347
+ - Never retry this POST after a timeout or an ambiguous failure without first listing integrations for one carrying this template's `_templateId`, created by the earlier request. If it exists, the install went through; a second request installs a duplicate.
337
348
  parameters:
338
349
  - name: _id
339
350
  in: path
@@ -446,8 +457,8 @@ paths:
446
457
  '422':
447
458
  description: |-
448
459
  Connection IDs in `connectionMap` do not match the template's
449
- expected connection IDs, or the template has its own install steps
450
- (a `template_zip` step this install doesn't run). Nothing is created.
460
+ expected connection IDs, or the template's install steps include a
461
+ `template_zip` step, which this install doesn't run. Nothing is created.
451
462
  content:
452
463
  application/json:
453
464
  schema: