@celigo/api-specs 0.2.233 → 0.2.234

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/audit.yml CHANGED
@@ -153,7 +153,7 @@ paths:
153
153
  sync: Sync resource.
154
154
  tool: Tool resource for reusable building blocks.
155
155
  topic: Event Streams topic resource.
156
- user: User access record resource.
156
+ user: User access record resource. Also carries account-setting changes, each identified by `fieldChanges[].fieldPath` (no separate settings resource type exists) — account-wide settings (company MFA, end-user MFA, API Management setup, execution logging, AI settings, the account alias, the API Builder timeout) with `_resourceId` = the account owner, a member's access settings (`accessLevel`, `disabled`, `accountMFARequired`) with `_resourceId` = that member — and user-level MFA events (setup, trusted devices, secret generated or viewed, reset) with `_resourceId` = the affected user, recorded in the audit log of that user's MFA master account (its "Account to reset MFA"), which is not always the account the change was made from.
157
157
  description: |-
158
158
  Filter by resource type (singular form). Unsupported values are
159
159
  rejected with 422 `audit_not_supported`.
@@ -214,10 +214,28 @@ paths:
214
214
  type: string
215
215
  examples:
216
216
  - http.auth.token.token
217
+ - authTypeMFA.trustDeviceForPeriod
218
+ - apim.subdomain
217
219
  description: |-
218
220
  Restrict the `fieldChanges` of returned entries to changes on this
219
- field path. The value is not validated against known paths — an
220
- unknown path simply matches nothing.
221
+ field path. The match is exact on the stored dot-path — `authTypeMFA`
222
+ does not match `authTypeMFA.trustDeviceForPeriod` — with no prefix or
223
+ wildcard form, and the filter stands alone or combines with
224
+ `resourceType`. The value is not validated against known paths — an
225
+ unknown path simply matches nothing. Account-setting changes are
226
+ `user` entries reached this way, one stored path each: company MFA
227
+ `authTypeMFA.dontAllowTrustedDevices` and
228
+ `authTypeMFA.trustDeviceForPeriod`; end-user MFA `endUserMfa.required`,
229
+ `endUserMfa.disallowTrustedDevices` and `endUserMfa.trustedDeviceDays`;
230
+ a user's own MFA
231
+ `authTypeMFA.enabled`, `authTypeMFA.trustedDevices`,
232
+ `authTypeMFA.secret` and `authTypeMFA._allowResetByUserId`; API
233
+ Management setup `apim.subdomain` and `apim.serviceAccountEmail`;
234
+ execution logging `logging.retentionPeriod` and
235
+ `logging.storePayload`; AI settings
236
+ `aiSettings.intelligentDocumentProcessing`; the account alias
237
+ `accountAlias`; the API Builder timeout `timeoutPeriod`; a member's
238
+ access `accessLevel`, `disabled` and `accountMFARequired`.
221
239
  - name: action
222
240
  in: query
223
241
  required: false
@@ -590,7 +608,7 @@ paths:
590
608
  sync: Sync resource.
591
609
  tool: Tool resource for reusable building blocks.
592
610
  topic: Event Streams topic resource.
593
- user: User access record resource.
611
+ user: User access record resource. Also carries account-setting changes, each identified by `fieldChanges[].fieldPath` (no separate settings resource type exists) — account-wide settings (company MFA, end-user MFA, API Management setup, execution logging, AI settings, the account alias, the API Builder timeout) with `_resourceId` = the account owner, a member's access settings (`accessLevel`, `disabled`, `accountMFARequired`) with `_resourceId` = that member — and user-level MFA events (setup, trusted devices, secret generated or viewed, reset) with `_resourceId` = the affected user, recorded in the audit log of that user's MFA master account (its "Account to reset MFA"), which is not always the account the change was made from.
594
612
  description: Optional filter by resource type (singular form).
595
613
  - name: _byUserId
596
614
  in: query
@@ -1530,7 +1548,7 @@ components:
1530
1548
  sync: Sync resource.
1531
1549
  tool: Tool resource for reusable building blocks.
1532
1550
  topic: Event Streams topic resource.
1533
- user: User access record resource.
1551
+ user: User access record resource. Also carries account-setting changes, each identified by `fieldChanges[].fieldPath` (no separate settings resource type exists) — account-wide settings (company MFA, end-user MFA, API Management setup, execution logging, AI settings, the account alias, the API Builder timeout) with `_resourceId` = the account owner, a member's access settings (`accessLevel`, `disabled`, `accountMFARequired`) with `_resourceId` = that member — and user-level MFA events (setup, trusted devices, secret generated or viewed, reset) with `_resourceId` = the affected user, recorded in the audit log of that user's MFA master account (its "Account to reset MFA"), which is not always the account the change was made from.
1534
1552
  _resourceId:
1535
1553
  type: string
1536
1554
  format: objectId
@@ -1744,7 +1762,7 @@ components:
1744
1762
  sync: Sync resource.
1745
1763
  tool: Tool resource for reusable building blocks.
1746
1764
  topic: Event Streams topic resource.
1747
- user: User access record resource.
1765
+ user: User access record resource. Also carries account-setting changes, each identified by `fieldChanges[].fieldPath` (no separate settings resource type exists) — account-wide settings (company MFA, end-user MFA, API Management setup, execution logging, AI settings, the account alias, the API Builder timeout) with `_resourceId` = the account owner, a member's access settings (`accessLevel`, `disabled`, `accountMFARequired`) with `_resourceId` = that member — and user-level MFA events (setup, trusted devices, secret generated or viewed, reset) with `_resourceId` = the affected user, recorded in the audit log of that user's MFA master account (its "Account to reset MFA"), which is not always the account the change was made from.
1748
1766
  examples:
1749
1767
  - - connection
1750
1768
  - agent
@@ -1965,7 +1983,7 @@ components:
1965
1983
  sync: Sync resource.
1966
1984
  tool: Tool resource for reusable building blocks.
1967
1985
  topic: Event Streams topic resource.
1968
- user: User access record resource.
1986
+ user: User access record resource. Also carries account-setting changes, each identified by `fieldChanges[].fieldPath` (no separate settings resource type exists) — account-wide settings (company MFA, end-user MFA, API Management setup, execution logging, AI settings, the account alias, the API Builder timeout) with `_resourceId` = the account owner, a member's access settings (`accessLevel`, `disabled`, `accountMFARequired`) with `_resourceId` = that member — and user-level MFA events (setup, trusted devices, secret generated or viewed, reset) with `_resourceId` = the affected user, recorded in the audit log of that user's MFA master account (its "Account to reset MFA"), which is not always the account the change was made from.
1969
1987
  source:
1970
1988
  type: string
1971
1989
  enum:
package/dist/export.yml CHANGED
@@ -287,6 +287,7 @@ paths:
287
287
  |------|------------|-------------|
288
288
  | `/debugUntil` | `replace`, `add`, `remove` | Step debug-capture expiry (ISO-8601, at most 3600 seconds from now — a later value is rejected with 422 `update_not_allowed`); `remove` stops capture and succeeds even when the field is absent |
289
289
  | `/assistantMetadata` | `replace` | Assistant metadata object |
290
+ | `/_networkPolicyId` | `add`, `replace`, `remove` | Network policy on a `webhook` or `distributed` listener; `remove` clears the assignment. An id that is not one of the environment's network policies is rejected with 400 `network_policy_not_found` |
290
291
 
291
292
  All other paths are rejected with `422`.
292
293
  operationId: patchExport
@@ -1483,7 +1484,7 @@ components:
1483
1484
  required:
1484
1485
  - verify
1485
1486
  x-celigo-ui-override: 'verify is required by the webhook listener form for every provider (exports/webhook.js: verify required:true; on a connector-backed listener the form pre-fills it from the connector definition before saving). The API enforces it only when provider is custom or absent — 422 missing_required_field on webhook.verify, "verify is required for export type webhook, provider = custom". For the named providers probed (slack, shopify, github) it stores a listener posted with key and no verify (201 each; the GET carries provider, key and formType simple) and requires a credential instead: without key (and no token) each answers 422 missing_required_field on webhook.key — "key is required for slack verification" / "key is required for shopify verification" / "key is required for github verification"; a slack listener posted with token and no key saved. Other named providers are unprobed. The requirement is kept so an authored document matches a form-saved one.'
1486
- 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.
1487
+ 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, 403 `unable_to_run_flows` while every flow the export feeds is disabled, and 403 `access_denied` when the export's `_networkPolicyId` policy does not admit the sender's address (checked before verification, with a valid or an invalid token alike, where enforcement is enabled for the account); a refused request is not queued, so the sender must resend it once the cause is cleared.
1487
1488
  x-celigo-ai-guidance:
1488
1489
  - Configuration object for real-time event listeners that receive data via incoming HTTP requests.
1489
1490
  - |-
@@ -17385,6 +17386,33 @@ components:
17385
17386
  - 'The listener must be an export with `type: "webhook"` and `webhook.provider: "integrator-extension"`; any other export id is rejected with `invalid_post_parse_listener`. On an HTTP export outside file mode the save is rejected with `post_parse_listener_not_supported`: "Listener for functional acknowledgment is only supported for AS2, FTP, S3 and HTTP file export."'
17386
17387
  examples:
17387
17388
  - 60a2c4e6f321d800129a1a3c
17389
+ _networkPolicyId:
17390
+ type:
17391
+ - string
17392
+ - 'null'
17393
+ format: objectId
17394
+ x-celigo-refModel: networkpolicies
17395
+ description: |-
17396
+ Network policy whose IP allow and deny lists gate the requests that deliver data to this
17397
+ listener. Only `type` `webhook` or `distributed` exports accept it; any other type fails
17398
+ with 422 `not_allowed`. An id that is not one of the environment's network policies,
17399
+ including one in the recycle bin, fails with 400 `network_policy_not_found`. Preserved
17400
+ when omitted on PUT; send `null`, or `remove` it with `PATCH /v1/exports/{_id}` (which
17401
+ also accepts `add` and `replace` with an id), to clear it. Deleting the policy with
17402
+ `?force=true` clears it too. Absent from responses when no policy is assigned.
17403
+
17404
+ Where network-policy enforcement is enabled for the account, a webhook delivery to the
17405
+ listener's `/data` route from an address the policy does not admit is refused with 403
17406
+ `access_denied` — with a valid verification token or an invalid one alike, never 401 —
17407
+ before the listener's verification runs and before the payload is read, so nothing is
17408
+ queued and no flow run starts; an authenticated `GET` or `HEAD` of that route from such an
17409
+ address is refused the same way. Enforcement on listeners is enabled per account. The
17410
+ assignment is recorded in the export's audit as a `_networkPolicyId` field change carrying
17411
+ the policy id.
17412
+ x-celigo-ai-guidance:
17413
+ - 'Assign by sending the whole export document with `_networkPolicyId` set (the form''s own save does the same) and clear it with an explicit `null` — a PUT that omits the field keeps the current policy, so a removed key is a silent no-op, not an unassignment. Resolve the policy id from `GET /v1/networkpolicies` in the same environment first: an unknown or recycled id is refused only at save time with 400 `network_policy_not_found`.'
17414
+ examples:
17415
+ - 6ab1ebbfb9e4547494ff7558
17388
17416
  externalId:
17389
17417
  type:
17390
17418
  - string
@@ -2,12 +2,13 @@ openapi: 3.2.0
2
2
  info:
3
3
  version: 1.0.0
4
4
  title: Network Policies
5
- description: Manage IP allow and deny lists that restrict where API tokens, MCP servers, and users may connect from.
5
+ description: Manage IP allow and deny lists that restrict where API tokens, MCP servers, webhook listeners, and users may connect from.
6
6
  x-celigo-ai-guidance:
7
7
  - |-
8
8
  API for managing network policies — named IP allow/deny lists that are assigned to API tokens
9
- (`_networkPolicyId`), MCP servers (`_networkPolicyId`), or account sign-in settings to restrict
10
- the source addresses a caller may connect from. A policy restricts nothing until it is assigned.
9
+ (`_networkPolicyId`), MCP servers (`_networkPolicyId`), webhook and distributed listener exports
10
+ (`_networkPolicyId`), or account sign-in settings to restrict the source addresses a caller may
11
+ connect from. A policy restricts nothing until it is assigned.
11
12
  servers:
12
13
  - url: https://api.integrator.io
13
14
  description: Production (US / default region)
@@ -22,11 +23,11 @@ security:
22
23
  tags:
23
24
  - name: Network Policies
24
25
  description: |-
25
- Network policies are named IP allow and deny lists that control where API tokens, MCP servers, and users may connect from. A policy takes effect only once it is assigned — through `_networkPolicyId` on an API token or MCP server, or in account settings for workspace-user and end-user sign-in — and each environment (production or sandbox) keeps its own library of policies. Network policies must be enabled for the account, and only the account owner and administrators can manage them.
26
+ Network policies are named IP allow and deny lists that control where API tokens, MCP servers, webhook listeners, and users may connect from. A policy takes effect only once it is assigned — through `_networkPolicyId` on an API token, an MCP server, or a webhook or distributed listener export, or in account settings for workspace-user and end-user sign-in — and each environment (production or sandbox) keeps its own library of policies. Network policies must be enabled for the account, and only the account owner and administrators can manage them.
26
27
 
27
- Every policy that applies to a call must admit the caller. An API token's policy is checked when the token authenticates, before the request runs; an MCP server's policy is checked on every request to it, so a call to an MCP server passes both its token's policy and the server's. A personal access token has no policy of its own: it is checked against the workspace-user sign-in policy of the environment it belongs to. Sign-in policies are checked when a workspace user signs in or switches account or environment, and when an end user signs in to an MCP server.
28
+ Every policy that applies to a call must admit the caller. An API token's policy is checked when the token authenticates, before the request runs; an MCP server's policy is checked on every request to it, so a call to an MCP server passes both its token's policy and the server's. A personal access token has no policy of its own: it is checked against the workspace-user sign-in policy of the environment it belongs to. Sign-in policies are checked when a workspace user signs in or switches account or environment, and when an end user signs in to an MCP server. A webhook listener's policy is checked on every delivery to its `/data` route — the source system's deliveries carry no Celigo identity, so the listener's own policy is the only one that applies to them — before the listener's verification runs and before the payload is read, and on authenticated reads of that route; enforcement on listeners is enabled per account.
28
29
 
29
- A refused call gets HTTP 403 with `{"errors": [{"code": "access_denied", "message": "Access denied."}]}` and nothing that names the policy or the address. An MCP server endpoint speaks JSON-RPC, so its 403 carries the MCP server's access-denied error (`-32006`) in a JSON-RPC envelope instead — `{"jsonrpc": "2.0", "error": {"code": -32006, "message": "Access denied."}, "id": <request id>}`, with `id` echoed when the request had one — and the server's request log records the call as blocked.
30
+ A refused call gets HTTP 403 with `{"errors": [{"code": "access_denied", "message": "Access denied."}]}` and nothing that names the policy or the address. An MCP server endpoint speaks JSON-RPC, so its 403 carries the MCP server's access-denied error (`-32006`) in a JSON-RPC envelope instead — `{"jsonrpc": "2.0", "error": {"code": -32006, "message": "Access denied."}, "id": <request id>}`, with `id` echoed when the request had one — and the server's request log records the call as blocked. A refused listener delivery is not queued and starts no flow run.
30
31
 
31
32
  ## Network policy schema
32
33
 
@@ -128,7 +129,7 @@ paths:
128
129
  validated and stored in normalized form — a bare address becomes `/32` or
129
130
  `/128`, IPv6 is compressed — and the response shows the stored values. The new
130
131
  policy restricts nothing until it is assigned to an API token, an MCP server,
131
- or account sign-in.
132
+ a webhook or real-time listener export, or account sign-in.
132
133
  operationId: createNetworkPolicy
133
134
  tags:
134
135
  - Network Policies
@@ -243,7 +244,8 @@ paths:
243
244
  omitted `description` is removed and an omitted `ipAllowList` or `ipDenyList`
244
245
  becomes empty, which lifts every restriction that list imposed. Entries are
245
246
  validated and normalized exactly as on create. The change applies to every
246
- token, MCP server, and sign-in setting the policy is assigned to.
247
+ token, MCP server, listener export, and sign-in setting the policy is
248
+ assigned to.
247
249
  operationId: updateNetworkPolicy
248
250
  tags:
249
251
  - Network Policies
@@ -399,8 +401,8 @@ paths:
399
401
  summary: Delete a network policy
400
402
  description: |-
401
403
  Moves the policy to the recycle bin, where it is retained for 30 days and can
402
- be restored. A policy that is still assigned to an API token, MCP server, or
403
- account sign-in setting is not deleted: the request fails with 409
404
+ be restored. A policy that is still assigned to an API token, MCP server,
405
+ listener export, or account sign-in setting is not deleted: the request fails with 409
404
406
  `network_policy_in_use` and `info` lists every assignment. Repeat with
405
407
  `force=true` to clear those assignments and delete the policy — every principal
406
408
  it was assigned to loses the restriction. Use `GET /v1/networkpolicies/{_id}/dependencies`
@@ -423,9 +425,9 @@ paths:
423
425
  in: query
424
426
  required: false
425
427
  description: |-
426
- When true, clears the policy from every API token, MCP server, and account
427
- sign-in setting it is assigned to, then deletes it. Without it, an assigned
428
- policy returns 409 and nothing changes.
428
+ When true, clears the policy from every API token, MCP server, listener
429
+ export, and account sign-in setting it is assigned to, then deletes it.
430
+ Without it, an assigned policy returns 409 and nothing changes.
429
431
  schema:
430
432
  type: boolean
431
433
  default: false
@@ -448,8 +450,8 @@ paths:
448
450
  - Network Policies
449
451
  summary: List assignments of a network policy
450
452
  description: |-
451
- Returns every API token, MCP server, and account sign-in setting the policy is
452
- assigned to within its own environment. Call it before `DELETE` to see what a
453
+ Returns every API token, MCP server, listener export, and account sign-in setting
454
+ the policy is assigned to within its own environment. Call it before `DELETE` to see what a
453
455
  `force=true` delete would clear. Unlike other `/dependencies` endpoints, the
454
456
  response is a fixed object rather than a map keyed by resource type.
455
457
  parameters:
@@ -472,12 +474,15 @@ paths:
472
474
  $ref: '#/components/schemas/NetworkPolicyDependencies'
473
475
  examples:
474
476
  assigned:
475
- summary: Assigned to an MCP server
477
+ summary: Assigned to an MCP server and a webhook listener
476
478
  value:
477
479
  mcpservers:
478
480
  - _id: 6ab1f4a95af4c5a3ea6b0a28
479
481
  name: Order lookup MCP server
480
482
  accesstokens: []
483
+ exports:
484
+ - _id: 6aeb0ddf1f97adaf3db4152b
485
+ name: Orders webhook listener
481
486
  account:
482
487
  workspaceUsers: false
483
488
  workspaceUserEnvironments: []
@@ -488,6 +493,7 @@ paths:
488
493
  value:
489
494
  mcpservers: []
490
495
  accesstokens: []
496
+ exports: []
491
497
  account:
492
498
  workspaceUsers: false
493
499
  workspaceUserEnvironments: []
@@ -1033,6 +1039,7 @@ components:
1033
1039
  required:
1034
1040
  - mcpservers
1035
1041
  - accesstokens
1042
+ - exports
1036
1043
  - account
1037
1044
  properties:
1038
1045
  mcpservers:
@@ -1045,6 +1052,11 @@ components:
1045
1052
  description: API tokens whose `_networkPolicyId` is this policy. Personal access tokens never appear here; they inherit the account's workspace-user policy instead.
1046
1053
  items:
1047
1054
  $ref: '#/components/schemas/NetworkPolicyDependencyRef'
1055
+ exports:
1056
+ type: array
1057
+ description: Webhook and distributed (real-time) listener exports whose `_networkPolicyId` is this policy. Each one is also listed under `info.exports` when a `DELETE` without `force=true` is refused.
1058
+ items:
1059
+ $ref: '#/components/schemas/NetworkPolicyDependencyRef'
1048
1060
  account:
1049
1061
  type: object
1050
1062
  description: Account sign-in assignments of this policy, resolved per environment.
@@ -1199,8 +1211,8 @@ components:
1199
1211
  message: The requested resource was not found.
1200
1212
  409-in-use:
1201
1213
  description: |-
1202
- Conflict. The policy is still assigned to at least one API token, MCP server, or
1203
- account sign-in setting, so it was not deleted. `info` lists every assignment;
1214
+ Conflict. The policy is still assigned to at least one API token, MCP server,
1215
+ listener export, or account sign-in setting, so it was not deleted. `info` lists every assignment;
1204
1216
  repeat the request with `force=true` to clear them and delete the policy.
1205
1217
  content:
1206
1218
  application/json:
@@ -1224,6 +1236,7 @@ components:
1224
1236
  accesstokens:
1225
1237
  - _id: 6ab1f6a338d7733b4599ec83
1226
1238
  name: Warehouse sync token
1239
+ exports: []
1227
1240
  account:
1228
1241
  workspaceUsers: false
1229
1242
  workspaceUserEnvironments: []
package/dist/tool.yml CHANGED
@@ -28044,7 +28044,7 @@ components:
28044
28044
  required:
28045
28045
  - verify
28046
28046
  x-celigo-ui-override: 'verify is required by the webhook listener form for every provider (exports/webhook.js: verify required:true; on a connector-backed listener the form pre-fills it from the connector definition before saving). The API enforces it only when provider is custom or absent — 422 missing_required_field on webhook.verify, "verify is required for export type webhook, provider = custom". For the named providers probed (slack, shopify, github) it stores a listener posted with key and no verify (201 each; the GET carries provider, key and formType simple) and requires a credential instead: without key (and no token) each answers 422 missing_required_field on webhook.key — "key is required for slack verification" / "key is required for shopify verification" / "key is required for github verification"; a slack listener posted with token and no key saved. Other named providers are unprobed. The requirement is kept so an authored document matches a form-saved one.'
28047
- 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.
28047
+ 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, 403 `unable_to_run_flows` while every flow the export feeds is disabled, and 403 `access_denied` when the export's `_networkPolicyId` policy does not admit the sender's address (checked before verification, with a valid or an invalid token alike, where enforcement is enabled for the account); a refused request is not queued, so the sender must resend it once the cause is cleared.
28048
28048
  x-celigo-ai-guidance:
28049
28049
  - Configuration object for real-time event listeners that receive data via incoming HTTP requests.
28050
28050
  - |-
@@ -39696,6 +39696,33 @@ components:
39696
39696
  - 'The listener must be an export with `type: "webhook"` and `webhook.provider: "integrator-extension"`; any other export id is rejected with `invalid_post_parse_listener`. On an HTTP export outside file mode the save is rejected with `post_parse_listener_not_supported`: "Listener for functional acknowledgment is only supported for AS2, FTP, S3 and HTTP file export."'
39697
39697
  examples:
39698
39698
  - 60a2c4e6f321d800129a1a3c
39699
+ _networkPolicyId:
39700
+ type:
39701
+ - string
39702
+ - 'null'
39703
+ format: objectId
39704
+ x-celigo-refModel: networkpolicies
39705
+ description: |-
39706
+ Network policy whose IP allow and deny lists gate the requests that deliver data to this
39707
+ listener. Only `type` `webhook` or `distributed` exports accept it; any other type fails
39708
+ with 422 `not_allowed`. An id that is not one of the environment's network policies,
39709
+ including one in the recycle bin, fails with 400 `network_policy_not_found`. Preserved
39710
+ when omitted on PUT; send `null`, or `remove` it with `PATCH /v1/exports/{_id}` (which
39711
+ also accepts `add` and `replace` with an id), to clear it. Deleting the policy with
39712
+ `?force=true` clears it too. Absent from responses when no policy is assigned.
39713
+
39714
+ Where network-policy enforcement is enabled for the account, a webhook delivery to the
39715
+ listener's `/data` route from an address the policy does not admit is refused with 403
39716
+ `access_denied` — with a valid verification token or an invalid one alike, never 401 —
39717
+ before the listener's verification runs and before the payload is read, so nothing is
39718
+ queued and no flow run starts; an authenticated `GET` or `HEAD` of that route from such an
39719
+ address is refused the same way. Enforcement on listeners is enabled per account. The
39720
+ assignment is recorded in the export's audit as a `_networkPolicyId` field change carrying
39721
+ the policy id.
39722
+ x-celigo-ai-guidance:
39723
+ - 'Assign by sending the whole export document with `_networkPolicyId` set (the form''s own save does the same) and clear it with an explicit `null` — a PUT that omits the field keeps the current policy, so a removed key is a silent no-op, not an unassignment. Resolve the policy id from `GET /v1/networkpolicies` in the same environment first: an unknown or recycled id is refused only at save time with 400 `network_policy_not_found`.'
39724
+ examples:
39725
+ - 6ab1ebbfb9e4547494ff7558
39699
39726
  externalId:
39700
39727
  type:
39701
39728
  - string
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celigo/api-specs",
3
- "version": "0.2.233",
3
+ "version": "0.2.234",
4
4
  "private": false,
5
5
  "description": "Public OpenAPI bundles (dist/) and the celigo-cli lint schema pack (schemas.json).",
6
6
  "keywords": [
package/schemas.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "provenance": {
3
3
  "repo": "celigo/integrator-api-specs",
4
- "iasCommit": "7cd4b255",
4
+ "iasCommit": "afd36585",
5
5
  "generatedAt": "2026-11-04"
6
6
  },
7
7
  "roots": {
@@ -5793,6 +5793,7 @@
5793
5793
  "_ediProfileId": 0,
5794
5794
  "_id": 0,
5795
5795
  "_integrationId": 88,
5796
+ "_networkPolicyId": 88,
5796
5797
  "_postParseListenerId": 0,
5797
5798
  "_sourceId": 0,
5798
5799
  "_templateId": 0,