@zapier/zapier-sdk 0.119.6 → 0.121.0

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/README.md CHANGED
@@ -1770,18 +1770,18 @@ Create a durable workflow container. Starts disabled with no version; publish a
1770
1770
 
1771
1771
  **Returns:** `Promise<WorkflowItem>`
1772
1772
 
1773
- | Name | Type | Required | Possible Values | Description |
1774
- | ------------------------ | --------- | -------- | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1775
- | `data` | `object` | ✅ | — | |
1776
- | ​ ↳ `id` | `string` | ✅ | — | Workflow ID (UUID) |
1777
- | ​ ↳ `name` | `string` | ✅ | — | Workflow name |
1778
- | ​ ↳ `description` | `string` | ✅ | — | Workflow description (null if unset) |
1779
- | ​ ↳ `trigger_url` | `string` | ✅ | — | Public URL that fires this workflow when POSTed to. Embeds a trigger token in the path — treat as sensitive. Requests must also be authenticated as the account. |
1780
- | ​ ↳ `editor_url` | `string` | ✅ | — | URL to the Zapier workflow editor for this workflow |
1781
- | ​ ↳ `enabled` | `boolean` | ✅ | — | Whether the workflow currently accepts triggers. Always false on a new workflow until enabled. |
1782
- | ​ ↳ `is_private` | `boolean` | ✅ | — | Whether the workflow is private to the creating user. False means account-visible. |
1783
- | ​ ↳ `created_by_user_id` | `string` | ✅ | — | User ID of the workflow creator (null in legacy data) |
1784
- | ​ ↳ `created_at` | `string` | ✅ | — | When the workflow was created (ISO-8601) |
1773
+ | Name | Type | Required | Possible Values | Description |
1774
+ | ------------------------ | --------- | -------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1775
+ | `data` | `object` | ✅ | — | |
1776
+ | ​ ↳ `id` | `string` | ✅ | — | Workflow ID (UUID) |
1777
+ | ​ ↳ `name` | `string` | ✅ | — | Workflow name |
1778
+ | ​ ↳ `description` | `string` | ✅ | — | Workflow description (null if unset) |
1779
+ | ​ ↳ `trigger_url` | `string` | ✅ | — | Public URL that fires this workflow when POSTed to. Embeds a trigger token in the path — treat as sensitive. Requests must also be authenticated as the account. |
1780
+ | ​ ↳ `editor_url` | `string` | ✅ | — | URL to the Zapier workflow editor for this workflow |
1781
+ | ​ ↳ `enabled` | `boolean` | ✅ | — | Whether the workflow currently accepts triggers. Always false on a new workflow until enabled. |
1782
+ | ​ ↳ `is_private` | `boolean` | ❌ | — | Whether the workflow is private to the creating user. False means account-visible. Deprecated: may be removed from the API in a future release. There is no replacement field; do not rely on it. An absent or null value means unknown, not false. |
1783
+ | ​ ↳ `created_by_user_id` | `string` | ✅ | — | User ID of the workflow creator (null in legacy data) |
1784
+ | ​ ↳ `created_at` | `string` | ✅ | — | When the workflow was created (ISO-8601) |
1785
1785
 
1786
1786
  **Example:**
1787
1787
 
@@ -1973,18 +1973,18 @@ Get the full state of a run-once durable run, including its operations journal
1973
1973
 
1974
1974
  **Returns:** `Promise<DurableRunItem>`
1975
1975
 
1976
- | Name | Type | Required | Possible Values | Description |
1977
- | ---------------- | --------- | -------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
1978
- | `data` | `object` | ✅ | — | |
1979
- | ​ ↳ `id` | `string` | ✅ | — | Run ID (UUID) |
1980
- | ​ ↳ `status` | `string` | ✅ | `initialized`, `started`, `finished`, `failed`, `cancelled` | Run lifecycle status. `finished` / `failed` / `cancelled` are terminal. |
1981
- | ​ ↳ `input` | `unknown` | ✅ | — | Input data passed to the run |
1982
- | ​ ↳ `output` | `unknown` | ✅ | — | Return value, present when status is `finished` |
1983
- | ​ ↳ `error` | `object` | ✅ | — | Structured error details when the run failed (null otherwise) |
1984
- | ​ ↳ `execution` | `object` | ✅ | — | Linked execution, including the operations journal. Null while the run is still in `initialized` state. |
1985
- | ​ ↳ `is_private` | `boolean` | ✅ | — | When true, the run is visible only to the creating user; otherwise visible across the account. |
1986
- | ​ ↳ `created_at` | `string` | ✅ | — | When the run was created (ISO-8601) |
1987
- | ​ ↳ `updated_at` | `string` | ✅ | — | When the run was last updated (ISO-8601) |
1976
+ | Name | Type | Required | Possible Values | Description |
1977
+ | ---------------- | --------- | -------- | ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1978
+ | `data` | `object` | ✅ | — | |
1979
+ | ​ ↳ `id` | `string` | ✅ | — | Run ID (UUID) |
1980
+ | ​ ↳ `status` | `string` | ✅ | `initialized`, `started`, `finished`, `failed`, `cancelled` | Run lifecycle status. `finished` / `failed` / `cancelled` are terminal. |
1981
+ | ​ ↳ `input` | `unknown` | ✅ | — | Input data passed to the run |
1982
+ | ​ ↳ `output` | `unknown` | ✅ | — | Return value, present when status is `finished` |
1983
+ | ​ ↳ `error` | `object` | ✅ | — | Structured error details when the run failed (null otherwise) |
1984
+ | ​ ↳ `execution` | `object` | ✅ | — | Linked execution, including the operations journal. Null while the run is still in `initialized` state. |
1985
+ | ​ ↳ `is_private` | `boolean` | ❌ | — | When true, the run is visible only to the creating user; when false, it is visible across the account. Deprecated: may be removed from the API in a future release. There is no replacement field; do not rely on it. An absent or null value means unknown, not false. |
1986
+ | ​ ↳ `created_at` | `string` | ✅ | — | When the run was created (ISO-8601) |
1987
+ | ​ ↳ `updated_at` | `string` | ✅ | — | When the run was last updated (ISO-8601) |
1988
1988
 
1989
1989
  **Example:**
1990
1990
 
@@ -2042,39 +2042,39 @@ Get a durable workflow with its current version details and trigger claim status
2042
2042
 
2043
2043
  **Returns:** `Promise<WorkflowItem>`
2044
2044
 
2045
- | Name | Type | Required | Possible Values | Description |
2046
- | ------------------------------ | ---------- | -------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
2047
- | `data` | `object` | ✅ | — | |
2048
- | ​ ↳ `id` | `string` | ✅ | — | Workflow ID (UUID) |
2049
- | ​ ↳ `name` | `string` | ✅ | — | Workflow name |
2050
- | ​ ↳ `description` | `string` | ✅ | — | Optional workflow description (null if unset) |
2051
- | ​ ↳ `trigger_url` | `string` | ✅ | — | Public URL that fires this workflow when POSTed to. Embeds a trigger token in the path — treat as sensitive. Requests must also be authenticated as the account. |
2052
- | ​ ↳ `editor_url` | `string` | ✅ | — | URL to the Zapier workflow editor for this workflow |
2053
- | ​ ↳ `enabled` | `boolean` | ✅ | — | Whether the workflow currently accepts triggers |
2054
- | ​ ↳ `disabled_reason` | `string` | ❌ | `trigger_claim_failed`, `owner_transferred` | Why the workflow is off, when system-disabled. Null when not system-disabled. Independent of per-trigger claim status: an enabled workflow can still have a failed trigger. |
2055
- | ​ ↳ `is_private` | `boolean` | ✅ | — | Whether the workflow is private to the creating user. False means account-visible. |
2056
- | ​ ↳ `created_by_user_id` | `string` | ✅ | — | User ID of the workflow creator (null in legacy data) |
2057
- | ​ ↳ `current_version` | `object` | ❌ | — | The currently published version, if any. Absent for workflows with no version published yet. |
2058
- | ​   ↳ `id` | `string` | ✅ | — | Workflow version ID (UUID) |
2059
- | ​   ↳ `workflow_id` | `string` | ✅ | — | Parent workflow ID |
2060
- | ​   ↳ `source_files` | `object` | ✅ | — | Source files keyed by filename → contents |
2061
- | ​   ↳ `zapier_durable_version` | `string` | ✅ | — | Pinned semver of @zapier/zapier-durable used by this version's runs |
2062
- | ​   ↳ `dependencies` | `object` | ✅ | — | Additional npm dependencies pinned for this version (or null) |
2063
- | ​   ↳ `created_by_user_id` | `string` | ✅ | — | ID of the user who published this version |
2064
- | ​   ↳ `created_at` | `string` | ✅ | — | When the version was published (ISO-8601) |
2065
- | ​   ↳ `trigger` | `object` | ✅ | — | Trigger configuration persisted on this version, or null for webhook-only workflows. |
2066
- | ​   ↳ `connections` | `object` | ✅ | — | Connection aliases bound on this version (or null). |
2067
- | ​   ↳ `app_versions` | `object` | ✅ | — | App-version pins bound on this version (or null). |
2068
- | ​ ↳ `triggers[]` | `object[]` | ✅ | — | Trigger configurations from the current version, with live claim status. Empty array when the workflow has no triggers. |
2069
- | ​   ↳ `selected_api` | `string` | ✅ | — | Zapier app/API identifier (e.g. 'GoogleSheetsAPI') |
2070
- | ​   ↳ `action` | `string` | ✅ | — | Trigger action key (e.g. 'new_row') |
2071
- | ​   ↳ `authentication_id` | `string` | ❌ | — | Connection ID for the trigger source. Null for no-auth triggers. |
2072
- | ​   ↳ `params` | `object` | ❌ | — | Trigger parameters as a JSON object |
2073
- | ​   ↳ `status` | `string` | ✅ | `unclaimed`, `pending`, `initializing`, `active`, `releasing`, `released`, `failed` | Live trigger claim status — whether the trigger is currently subscribed to its source. |
2074
- | ​   ↳ `error` | `string` | ❌ | — | Failure reason for the latest claim. Present (non-null) only when status is 'failed'. |
2075
- | ​   ↳ `details` | `object` | ❌ | — | Trigger-type-specific metadata; shape varies by trigger type (e.g. `webhook_url` on catch-hook triggers). Null or absent when none applies. |
2076
- | ​ ↳ `created_at` | `string` | ✅ | — | When the workflow was created (ISO-8601) |
2077
- | ​ ↳ `updated_at` | `string` | ✅ | — | When the workflow was last modified (ISO-8601) |
2045
+ | Name | Type | Required | Possible Values | Description |
2046
+ | ------------------------------ | ---------- | -------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
2047
+ | `data` | `object` | ✅ | — | |
2048
+ | ​ ↳ `id` | `string` | ✅ | — | Workflow ID (UUID) |
2049
+ | ​ ↳ `name` | `string` | ✅ | — | Workflow name |
2050
+ | ​ ↳ `description` | `string` | ✅ | — | Optional workflow description (null if unset) |
2051
+ | ​ ↳ `trigger_url` | `string` | ✅ | — | Public URL that fires this workflow when POSTed to. Embeds a trigger token in the path — treat as sensitive. Requests must also be authenticated as the account. |
2052
+ | ​ ↳ `editor_url` | `string` | ✅ | — | URL to the Zapier workflow editor for this workflow |
2053
+ | ​ ↳ `enabled` | `boolean` | ✅ | — | Whether the workflow currently accepts triggers |
2054
+ | ​ ↳ `disabled_reason` | `string` | ❌ | `trigger_claim_failed`, `owner_transferred` | Why the workflow is off, when system-disabled. Null when not system-disabled. Independent of per-trigger claim status: an enabled workflow can still have a failed trigger. |
2055
+ | ​ ↳ `is_private` | `boolean` | ❌ | — | Whether the workflow is private to the creating user. False means account-visible. Deprecated: may be removed from the API in a future release. There is no replacement field; do not rely on it. An absent or null value means unknown, not false. |
2056
+ | ​ ↳ `created_by_user_id` | `string` | ✅ | — | User ID of the workflow creator (null in legacy data) |
2057
+ | ​ ↳ `current_version` | `object` | ❌ | — | The currently published version, if any. Absent for workflows with no version published yet. |
2058
+ | ​   ↳ `id` | `string` | ✅ | — | Workflow version ID (UUID) |
2059
+ | ​   ↳ `workflow_id` | `string` | ✅ | — | Parent workflow ID |
2060
+ | ​   ↳ `source_files` | `object` | ✅ | — | Source files keyed by filename → contents |
2061
+ | ​   ↳ `zapier_durable_version` | `string` | ✅ | — | Pinned semver of @zapier/zapier-durable used by this version's runs |
2062
+ | ​   ↳ `dependencies` | `object` | ✅ | — | Additional npm dependencies pinned for this version (or null) |
2063
+ | ​   ↳ `created_by_user_id` | `string` | ✅ | — | ID of the user who published this version |
2064
+ | ​   ↳ `created_at` | `string` | ✅ | — | When the version was published (ISO-8601) |
2065
+ | ​   ↳ `trigger` | `object` | ✅ | — | Trigger configuration persisted on this version, or null for webhook-only workflows. |
2066
+ | ​   ↳ `connections` | `object` | ✅ | — | Connection aliases bound on this version (or null). |
2067
+ | ​   ↳ `app_versions` | `object` | ✅ | — | App-version pins bound on this version (or null). |
2068
+ | ​ ↳ `triggers[]` | `object[]` | ✅ | — | Trigger configurations from the current version, with live claim status. Empty array when the workflow has no triggers. |
2069
+ | ​   ↳ `selected_api` | `string` | ✅ | — | Zapier app/API identifier (e.g. 'GoogleSheetsAPI') |
2070
+ | ​   ↳ `action` | `string` | ✅ | — | Trigger action key (e.g. 'new_row') |
2071
+ | ​   ↳ `authentication_id` | `string` | ❌ | — | Connection ID for the trigger source. Null for no-auth triggers. |
2072
+ | ​   ↳ `params` | `object` | ❌ | — | Trigger parameters as a JSON object |
2073
+ | ​   ↳ `status` | `string` | ✅ | `unclaimed`, `pending`, `initializing`, `active`, `releasing`, `released`, `failed` | Live trigger claim status — whether the trigger is currently subscribed to its source. |
2074
+ | ​   ↳ `error` | `string` | ❌ | — | Failure reason for the latest claim. Present (non-null) only when status is 'failed'. |
2075
+ | ​   ↳ `details` | `object` | ❌ | — | Trigger-type-specific metadata; shape varies by trigger type (e.g. `webhook_url` on catch-hook triggers). Null or absent when none applies. |
2076
+ | ​ ↳ `created_at` | `string` | ✅ | — | When the workflow was created (ISO-8601) |
2077
+ | ​ ↳ `updated_at` | `string` | ✅ | — | When the workflow was last modified (ISO-8601) |
2078
2078
 
2079
2079
  **Example:**
2080
2080
 
@@ -2242,58 +2242,58 @@ Convert an existing Zap into a durable workflow. Transforms the Zap's latest pub
2242
2242
 
2243
2243
  **Returns:** `Promise<ImportWorkflowResponse>`
2244
2244
 
2245
- | Name | Type | Required | Possible Values | Description |
2246
- | ------------------------------ | ---------- | -------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
2247
- | `data` | `object` | ✅ | — | |
2248
- | ​ ↳ `workflow` | `object` | ✅ | — | The created workflow. Disabled, with no published version, and source_zap_id set to the imported Zap. |
2249
- | ​   ↳ `id` | `string` | ✅ | — | Workflow ID (UUID) |
2250
- | ​   ↳ `name` | `string` | ✅ | — | Workflow name |
2251
- | ​   ↳ `description` | `string` | ❌ | — | Optional workflow description (null if unset) |
2252
- | ​   ↳ `trigger_url` | `string` | ✅ | — | Public URL that fires this workflow when POSTed to. Embeds a trigger token in the path — treat as sensitive. Requests must also be authenticated as the account. |
2253
- | ​   ↳ `editor_url` | `string` | ✅ | — | URL to the Zapier workflow editor for this workflow |
2254
- | ​   ↳ `enabled` | `boolean` | ✅ | — | Whether the workflow accepts triggers. An import always lands disabled. |
2255
- | ​   ↳ `disabled_reason` | `string` | ❌ | `trigger_claim_failed`, `owner_transferred` | Why the workflow is off, when system-disabled. |
2256
- | ​   ↳ `is_private` | `boolean` | ✅ | — | Whether the workflow is private to the creating user. False means account-visible. |
2257
- | ​   ↳ `source_zap_id` | `string` | ❌ | — | The Zap this workflow was imported from. |
2258
- | ​   ↳ `created_by_user_id` | `string` | ✅ | — | |
2259
- | ​   ↳ `updated_by_user_id` | `string` | ❌ | — | |
2260
- | ​   ↳ `current_version_id` | `string` | ❌ | — | Null on a fresh import, which has no published version yet. |
2261
- | ​   ↳ `triggers[]` | `object[]` | ✅ | — | Empty on a fresh import, which has no published version yet. |
2262
- | ​     ↳ `selected_api` | `string` | ✅ | — | Zapier app/API identifier (e.g. 'GoogleSheetsAPI') |
2263
- | ​     ↳ `action` | `string` | ✅ | — | Trigger action key (e.g. 'new_row') |
2264
- | ​     ↳ `authentication_id` | `string` | ❌ | — | Connection ID for the trigger source. Null for no-auth triggers. |
2265
- | ​     ↳ `params` | `object` | ❌ | — | Trigger parameters as a JSON object |
2266
- | ​     ↳ `status` | `string` | ✅ | `unclaimed`, `pending`, `initializing`, `active`, `releasing`, `released`, `failed` | Live trigger claim status — whether the trigger is currently subscribed to its source. |
2267
- | ​     ↳ `error` | `string` | ❌ | — | Failure reason for the latest claim. Present (non-null) only when status is 'failed'. |
2268
- | ​     ↳ `details` | `object` | ❌ | — | Trigger-type-specific metadata; shape varies by trigger type (e.g. `webhook_url` on catch-hook triggers). Null or absent when none applies. |
2269
- | ​   ↳ `created_at` | `string` | ✅ | — | |
2270
- | ​   ↳ `updated_at` | `string` | ❌ | — | |
2271
- | ​ ↳ `draft` | `object` | ✅ | — | The open draft holding the transformed source. |
2272
- | ​   ↳ `id` | `string` | ✅ | — | Workflow draft ID (UUID) |
2273
- | ​   ↳ `workflow_id` | `string` | ✅ | — | Parent workflow ID (UUID) |
2274
- | ​   ↳ `slug` | `string` | ✅ | — | Human-friendly display name, not an identifier: two open drafts of a workflow may share one |
2275
- | ​   ↳ `base_version_id` | `string` | ✅ | — | The version this draft was forked from (the live version at draft creation), or null when the workflow had no published version yet |
2276
- | ​   ↳ `source_files` | `object` | ✅ | — | Source files keyed by filename → contents |
2277
- | ​   ↳ `zapier_durable_version` | `string` | ✅ | — | Pinned semver of @zapier/zapier-durable used by this draft |
2278
- | ​   ↳ `dependencies` | `object` | ✅ | — | Additional npm dependencies pinned for this draft (or null) |
2279
- | ​   ↳ `draft_revision` | `number` | ✅ | — | Monotonic revision counter for optimistic concurrency. Echo it back on draft updates to detect concurrent edits. |
2280
- | ​   ↳ `status` | `string` | ✅ | `open`, `discarded` | Lifecycle status of a workflow draft. |
2281
- | ​   ↳ `created_by_user_id` | `string` | ✅ | — | ID of the user who created (forked) this draft |
2282
- | ​   ↳ `last_edited_by_user_id` | `string` | ✅ | — | ID of the user who last saved this draft (or null) |
2283
- | ​   ↳ `last_edited_at` | `string` | ✅ | — | When the draft was last edited (ISO-8601, or null) |
2284
- | ​   ↳ `discarded_at` | `string` | ✅ | — | When the draft was discarded (ISO-8601), or null while open |
2285
- | ​   ↳ `created_at` | `string` | ✅ | — | When the draft was created (ISO-8601) |
2286
- | ​   ↳ `updated_at` | `string` | ✅ | — | When the draft row was last updated (ISO-8601) |
2287
- | ​   ↳ `trigger` | `object` | ✅ | — | Trigger configuration held on this draft, or null for webhook-only workflows. |
2288
- | ​   ↳ `connections` | `object` | ✅ | — | Connection aliases bound on this draft (or null). |
2289
- | ​   ↳ `app_versions` | `object` | ✅ | — | App-version pins bound on this draft (or null). |
2290
- | ​ ↳ `issues[]` | `object[]` | ✅ | — | Blocking and non-blocking translation issues from the transform, passed through unchanged. Blocking issues do not prevent draft creation; they must be resolved before the draft will publish. |
2291
- | ​   ↳ `line` | `number` | ✅ | — | 1-based line in the generated source the issue relates to, or 0 when not line-specific. |
2292
- | ​   ↳ `column` | `number` | ✅ | — | 1-based column, or 0 when not column-specific. |
2293
- | ​   ↳ `node_kind` | `string` | ✅ | — | Category of the issue, used to group and message them, e.g. "invalid-connection-id", "DelayStep", "app-version-conflict". |
2294
- | ​   ↳ `step_name` | `string` | ❌ | — | ZDL step id or name the issue originated from, when known. |
2295
- | ​   ↳ `message` | `string` | ✅ | — | Human-readable description of the issue. |
2296
- | ​   ↳ `blocking` | `boolean` | ✅ | — | Whether the issue must be resolved before the draft can be published. Computed server-side, so callers do not re-derive it. A blocking issue does not prevent the draft being created. |
2245
+ | Name | Type | Required | Possible Values | Description |
2246
+ | ------------------------------ | ---------- | -------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
2247
+ | `data` | `object` | ✅ | — | |
2248
+ | ​ ↳ `workflow` | `object` | ✅ | — | The created workflow. Disabled, with no published version, and source_zap_id set to the imported Zap. |
2249
+ | ​   ↳ `id` | `string` | ✅ | — | Workflow ID (UUID) |
2250
+ | ​   ↳ `name` | `string` | ✅ | — | Workflow name |
2251
+ | ​   ↳ `description` | `string` | ❌ | — | Optional workflow description (null if unset) |
2252
+ | ​   ↳ `trigger_url` | `string` | ✅ | — | Public URL that fires this workflow when POSTed to. Embeds a trigger token in the path — treat as sensitive. Requests must also be authenticated as the account. |
2253
+ | ​   ↳ `editor_url` | `string` | ✅ | — | URL to the Zapier workflow editor for this workflow |
2254
+ | ​   ↳ `enabled` | `boolean` | ✅ | — | Whether the workflow accepts triggers. An import always lands disabled. |
2255
+ | ​   ↳ `disabled_reason` | `string` | ❌ | `trigger_claim_failed`, `owner_transferred` | Why the workflow is off, when system-disabled. |
2256
+ | ​   ↳ `is_private` | `boolean` | ❌ | — | Whether the workflow is private to the creating user. False means account-visible. Deprecated: may be removed from the API in a future release. There is no replacement field; do not rely on it. An absent or null value means unknown, not false. |
2257
+ | ​   ↳ `source_zap_id` | `string` | ❌ | — | The Zap this workflow was imported from. |
2258
+ | ​   ↳ `created_by_user_id` | `string` | ✅ | — | |
2259
+ | ​   ↳ `updated_by_user_id` | `string` | ❌ | — | |
2260
+ | ​   ↳ `current_version_id` | `string` | ❌ | — | Null on a fresh import, which has no published version yet. |
2261
+ | ​   ↳ `triggers[]` | `object[]` | ✅ | — | Empty on a fresh import, which has no published version yet. |
2262
+ | ​     ↳ `selected_api` | `string` | ✅ | — | Zapier app/API identifier (e.g. 'GoogleSheetsAPI') |
2263
+ | ​     ↳ `action` | `string` | ✅ | — | Trigger action key (e.g. 'new_row') |
2264
+ | ​     ↳ `authentication_id` | `string` | ❌ | — | Connection ID for the trigger source. Null for no-auth triggers. |
2265
+ | ​     ↳ `params` | `object` | ❌ | — | Trigger parameters as a JSON object |
2266
+ | ​     ↳ `status` | `string` | ✅ | `unclaimed`, `pending`, `initializing`, `active`, `releasing`, `released`, `failed` | Live trigger claim status — whether the trigger is currently subscribed to its source. |
2267
+ | ​     ↳ `error` | `string` | ❌ | — | Failure reason for the latest claim. Present (non-null) only when status is 'failed'. |
2268
+ | ​     ↳ `details` | `object` | ❌ | — | Trigger-type-specific metadata; shape varies by trigger type (e.g. `webhook_url` on catch-hook triggers). Null or absent when none applies. |
2269
+ | ​   ↳ `created_at` | `string` | ✅ | — | |
2270
+ | ​   ↳ `updated_at` | `string` | ❌ | — | |
2271
+ | ​ ↳ `draft` | `object` | ✅ | — | The open draft holding the transformed source. |
2272
+ | ​   ↳ `id` | `string` | ✅ | — | Workflow draft ID (UUID) |
2273
+ | ​   ↳ `workflow_id` | `string` | ✅ | — | Parent workflow ID (UUID) |
2274
+ | ​   ↳ `slug` | `string` | ✅ | — | Human-friendly display name, not an identifier: two open drafts of a workflow may share one |
2275
+ | ​   ↳ `base_version_id` | `string` | ✅ | — | The version this draft was forked from (the live version at draft creation), or null when the workflow had no published version yet |
2276
+ | ​   ↳ `source_files` | `object` | ✅ | — | Source files keyed by filename → contents |
2277
+ | ​   ↳ `zapier_durable_version` | `string` | ✅ | — | Pinned semver of @zapier/zapier-durable used by this draft |
2278
+ | ​   ↳ `dependencies` | `object` | ✅ | — | Additional npm dependencies pinned for this draft (or null) |
2279
+ | ​   ↳ `draft_revision` | `number` | ✅ | — | Monotonic revision counter for optimistic concurrency. Echo it back on draft updates to detect concurrent edits. |
2280
+ | ​   ↳ `status` | `string` | ✅ | `open`, `discarded` | Lifecycle status of a workflow draft. |
2281
+ | ​   ↳ `created_by_user_id` | `string` | ✅ | — | ID of the user who created (forked) this draft |
2282
+ | ​   ↳ `last_edited_by_user_id` | `string` | ✅ | — | ID of the user who last saved this draft (or null) |
2283
+ | ​   ↳ `last_edited_at` | `string` | ✅ | — | When the draft was last edited (ISO-8601, or null) |
2284
+ | ​   ↳ `discarded_at` | `string` | ✅ | — | When the draft was discarded (ISO-8601), or null while open |
2285
+ | ​   ↳ `created_at` | `string` | ✅ | — | When the draft was created (ISO-8601) |
2286
+ | ​   ↳ `updated_at` | `string` | ✅ | — | When the draft row was last updated (ISO-8601) |
2287
+ | ​   ↳ `trigger` | `object` | ✅ | — | Trigger configuration held on this draft, or null for webhook-only workflows. |
2288
+ | ​   ↳ `connections` | `object` | ✅ | — | Connection aliases bound on this draft (or null). |
2289
+ | ​   ↳ `app_versions` | `object` | ✅ | — | App-version pins bound on this draft (or null). |
2290
+ | ​ ↳ `issues[]` | `object[]` | ✅ | — | Blocking and non-blocking translation issues from the transform, passed through unchanged. Blocking issues do not prevent draft creation; they must be resolved before the draft will publish. |
2291
+ | ​   ↳ `line` | `number` | ✅ | — | 1-based line in the generated source the issue relates to, or 0 when not line-specific. |
2292
+ | ​   ↳ `column` | `number` | ✅ | — | 1-based column, or 0 when not column-specific. |
2293
+ | ​   ↳ `node_kind` | `string` | ✅ | — | Category of the issue, used to group and message them, e.g. "invalid-connection-id", "DelayStep", "app-version-conflict". |
2294
+ | ​   ↳ `step_name` | `string` | ❌ | — | ZDL step id or name the issue originated from, when known. |
2295
+ | ​   ↳ `message` | `string` | ✅ | — | Human-readable description of the issue. |
2296
+ | ​   ↳ `blocking` | `boolean` | ✅ | — | Whether the issue must be resolved before the draft can be published. Computed server-side, so callers do not re-derive it. A blocking issue does not prevent the draft being created. |
2297
2297
 
2298
2298
  **Example:**
2299
2299
 
@@ -2318,19 +2318,19 @@ List run-once durable runs for the authenticated account, newest first
2318
2318
 
2319
2319
  **Returns:** `Promise<PaginatedResult<DurableRunItem>>`
2320
2320
 
2321
- | Name | Type | Required | Possible Values | Description |
2322
- | ------------------ | ---------- | -------- | ----------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
2323
- | `data[]` | `object[]` | ✅ | — | |
2324
- | ​ ↳ `id` | `string` | ✅ | — | Run ID (UUID) |
2325
- | ​ ↳ `status` | `string` | ✅ | `initialized`, `started`, `finished`, `failed`, `cancelled` | Run lifecycle status. `finished` / `failed` / `cancelled` are terminal. |
2326
- | ​ ↳ `input` | `unknown` | ✅ | — | Input data passed to the run |
2327
- | ​ ↳ `output` | `unknown` | ✅ | — | Return value, present when status is `finished` |
2328
- | ​ ↳ `error` | `object` | ✅ | — | Structured error details when the run failed (null otherwise) |
2329
- | ​ ↳ `execution_id` | `string` | ✅ | — | Linked execution ID. Null until the run leaves the `initialized` state. |
2330
- | ​ ↳ `is_private` | `boolean` | ✅ | — | When true, the run is visible only to the creating user; otherwise visible across the account. |
2331
- | ​ ↳ `created_at` | `string` | ✅ | — | When the run was created (ISO-8601) |
2332
- | ​ ↳ `updated_at` | `string` | ✅ | — | When the run was last updated (ISO-8601) |
2333
- | `nextCursor` | `string` | ❌ | — | Cursor for the next page; omitted when there are no more pages |
2321
+ | Name | Type | Required | Possible Values | Description |
2322
+ | ------------------ | ---------- | -------- | ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
2323
+ | `data[]` | `object[]` | ✅ | — | |
2324
+ | ​ ↳ `id` | `string` | ✅ | — | Run ID (UUID) |
2325
+ | ​ ↳ `status` | `string` | ✅ | `initialized`, `started`, `finished`, `failed`, `cancelled` | Run lifecycle status. `finished` / `failed` / `cancelled` are terminal. |
2326
+ | ​ ↳ `input` | `unknown` | ✅ | — | Input data passed to the run |
2327
+ | ​ ↳ `output` | `unknown` | ✅ | — | Return value, present when status is `finished` |
2328
+ | ​ ↳ `error` | `object` | ✅ | — | Structured error details when the run failed (null otherwise) |
2329
+ | ​ ↳ `execution_id` | `string` | ✅ | — | Linked execution ID. Null until the run leaves the `initialized` state. |
2330
+ | ​ ↳ `is_private` | `boolean` | ❌ | — | When true, the run is visible only to the creating user; when false, it is visible across the account. Deprecated: may be removed from the API in a future release. There is no replacement field; do not rely on it. An absent or null value means unknown, not false. |
2331
+ | ​ ↳ `created_at` | `string` | ✅ | — | When the run was created (ISO-8601) |
2332
+ | ​ ↳ `updated_at` | `string` | ✅ | — | When the run was last updated (ISO-8601) |
2333
+ | `nextCursor` | `string` | ❌ | — | Cursor for the next page; omitted when there are no more pages |
2334
2334
 
2335
2335
  **Example:**
2336
2336
 
@@ -2559,30 +2559,30 @@ List all active durable workflows for the authenticated account
2559
2559
 
2560
2560
  **Returns:** `Promise<PaginatedResult<WorkflowItem>>`
2561
2561
 
2562
- | Name | Type | Required | Possible Values | Description |
2563
- | ------------------------- | ---------- | -------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
2564
- | `data[]` | `object[]` | ✅ | — | |
2565
- | ​ ↳ `id` | `string` | ✅ | — | Workflow ID (UUID) |
2566
- | ​ ↳ `name` | `string` | ✅ | — | Workflow name |
2567
- | ​ ↳ `description` | `string` | ✅ | — | Optional workflow description (null if unset) |
2568
- | ​ ↳ `trigger_url` | `string` | ✅ | — | Public URL that fires this workflow when POSTed to. Embeds a trigger token in the path — treat as sensitive. Requests must also be authenticated as the account. |
2569
- | ​ ↳ `editor_url` | `string` | ✅ | — | URL to the Zapier workflow editor for this workflow |
2570
- | ​ ↳ `enabled` | `boolean` | ✅ | — | Whether the workflow currently accepts triggers |
2571
- | ​ ↳ `disabled_reason` | `string` | ❌ | `trigger_claim_failed`, `owner_transferred` | Why the workflow is off, when system-disabled. Null when not system-disabled. |
2572
- | ​ ↳ `is_private` | `boolean` | ✅ | — | Whether the workflow is private to the creating user. False means account-visible. |
2573
- | ​ ↳ `created_by_user_id` | `string` | ✅ | — | User ID of the workflow creator (null in legacy data) |
2574
- | ​ ↳ `current_version_id` | `string` | ✅ | — | ID of the workflow version that runs handle. Null until a version is published. |
2575
- | ​ ↳ `triggers[]` | `object[]` | ✅ | — | Trigger configurations from the current version, with live claim status. Empty array when the workflow has no triggers. |
2576
- | ​   ↳ `selected_api` | `string` | ✅ | — | Zapier app/API identifier (e.g. 'GoogleSheetsAPI') |
2577
- | ​   ↳ `action` | `string` | ✅ | — | Trigger action key (e.g. 'new_row') |
2578
- | ​   ↳ `authentication_id` | `string` | ❌ | — | Connection ID for the trigger source. Null for no-auth triggers. |
2579
- | ​   ↳ `params` | `object` | ❌ | — | Trigger parameters as a JSON object |
2580
- | ​   ↳ `status` | `string` | ✅ | `unclaimed`, `pending`, `initializing`, `active`, `releasing`, `released`, `failed` | Live trigger claim status — whether the trigger is currently subscribed to its source. |
2581
- | ​   ↳ `error` | `string` | ❌ | — | Failure reason for the latest claim. Present (non-null) only when status is 'failed'. |
2582
- | ​   ↳ `details` | `object` | ❌ | — | Trigger-type-specific metadata; shape varies by trigger type (e.g. `webhook_url` on catch-hook triggers). Null or absent when none applies. |
2583
- | ​ ↳ `created_at` | `string` | ✅ | — | When the workflow was created (ISO-8601) |
2584
- | ​ ↳ `updated_at` | `string` | ✅ | — | When the workflow was last modified (ISO-8601) |
2585
- | `nextCursor` | `string` | ❌ | — | Cursor for the next page; omitted when there are no more pages |
2562
+ | Name | Type | Required | Possible Values | Description |
2563
+ | ------------------------- | ---------- | -------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
2564
+ | `data[]` | `object[]` | ✅ | — | |
2565
+ | ​ ↳ `id` | `string` | ✅ | — | Workflow ID (UUID) |
2566
+ | ​ ↳ `name` | `string` | ✅ | — | Workflow name |
2567
+ | ​ ↳ `description` | `string` | ✅ | — | Optional workflow description (null if unset) |
2568
+ | ​ ↳ `trigger_url` | `string` | ✅ | — | Public URL that fires this workflow when POSTed to. Embeds a trigger token in the path — treat as sensitive. Requests must also be authenticated as the account. |
2569
+ | ​ ↳ `editor_url` | `string` | ✅ | — | URL to the Zapier workflow editor for this workflow |
2570
+ | ​ ↳ `enabled` | `boolean` | ✅ | — | Whether the workflow currently accepts triggers |
2571
+ | ​ ↳ `disabled_reason` | `string` | ❌ | `trigger_claim_failed`, `owner_transferred` | Why the workflow is off, when system-disabled. Null when not system-disabled. |
2572
+ | ​ ↳ `is_private` | `boolean` | ❌ | — | Whether the workflow is private to the creating user. False means account-visible. Deprecated: may be removed from the API in a future release. There is no replacement field; do not rely on it. An absent or null value means unknown, not false. |
2573
+ | ​ ↳ `created_by_user_id` | `string` | ✅ | — | User ID of the workflow creator (null in legacy data) |
2574
+ | ​ ↳ `current_version_id` | `string` | ✅ | — | ID of the workflow version that runs handle. Null until a version is published. |
2575
+ | ​ ↳ `triggers[]` | `object[]` | ✅ | — | Trigger configurations from the current version, with live claim status. Empty array when the workflow has no triggers. |
2576
+ | ​   ↳ `selected_api` | `string` | ✅ | — | Zapier app/API identifier (e.g. 'GoogleSheetsAPI') |
2577
+ | ​   ↳ `action` | `string` | ✅ | — | Trigger action key (e.g. 'new_row') |
2578
+ | ​   ↳ `authentication_id` | `string` | ❌ | — | Connection ID for the trigger source. Null for no-auth triggers. |
2579
+ | ​   ↳ `params` | `object` | ❌ | — | Trigger parameters as a JSON object |
2580
+ | ​   ↳ `status` | `string` | ✅ | `unclaimed`, `pending`, `initializing`, `active`, `releasing`, `released`, `failed` | Live trigger claim status — whether the trigger is currently subscribed to its source. |
2581
+ | ​   ↳ `error` | `string` | ❌ | — | Failure reason for the latest claim. Present (non-null) only when status is 'failed'. |
2582
+ | ​   ↳ `details` | `object` | ❌ | — | Trigger-type-specific metadata; shape varies by trigger type (e.g. `webhook_url` on catch-hook triggers). Null or absent when none applies. |
2583
+ | ​ ↳ `created_at` | `string` | ✅ | — | When the workflow was created (ISO-8601) |
2584
+ | ​ ↳ `updated_at` | `string` | ✅ | — | When the workflow was last modified (ISO-8601) |
2585
+ | `nextCursor` | `string` | ❌ | — | Cursor for the next page; omitted when there are no more pages |
2586
2586
 
2587
2587
  **Example:**
2588
2588
 
@@ -2734,13 +2734,13 @@ Run a workflow's complete source-files map as a run-once durable run on code-sub
2734
2734
 
2735
2735
  **Returns:** `Promise<DurableRunItem>`
2736
2736
 
2737
- | Name | Type | Required | Possible Values | Description |
2738
- | ---------------- | --------- | -------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
2739
- | `data` | `object` | ✅ | — | |
2740
- | ​ ↳ `id` | `string` | ✅ | — | Run ID (UUID) — server-generated, time-sortable |
2741
- | ​ ↳ `status` | `string` | ✅ | `initialized` | Always `initialized` on creation. Poll via getDurableRun to observe the run advancing to `started` / `finished` / `failed` / `cancelled`. |
2742
- | ​ ↳ `is_private` | `boolean` | ✅ | — | When true, the run is visible only to the creating user; otherwise visible across the account. |
2743
- | ​ ↳ `created_at` | `string` | ✅ | — | When the run was created (ISO-8601) |
2737
+ | Name | Type | Required | Possible Values | Description |
2738
+ | ---------------- | --------- | -------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
2739
+ | `data` | `object` | ✅ | — | |
2740
+ | ​ ↳ `id` | `string` | ✅ | — | Run ID (UUID) — server-generated, time-sortable |
2741
+ | ​ ↳ `status` | `string` | ✅ | `initialized` | Always `initialized` on creation. Poll via getDurableRun to observe the run advancing to `started` / `finished` / `failed` / `cancelled`. |
2742
+ | ​ ↳ `is_private` | `boolean` | ❌ | — | When true, the run is visible only to the creating user; when false, it is visible across the account. Deprecated: may be removed from the API in a future release. There is no replacement field; do not rely on it. An absent or null value means unknown, not false. |
2743
+ | ​ ↳ `created_at` | `string` | ✅ | — | When the run was created (ISO-8601) |
2744
2744
 
2745
2745
  **Example:**
2746
2746
 
@@ -2874,19 +2874,19 @@ Update a durable workflow's name and/or description
2874
2874
 
2875
2875
  **Returns:** `Promise<WorkflowItem>`
2876
2876
 
2877
- | Name | Type | Required | Possible Values | Description |
2878
- | ------------------------ | --------- | -------- | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
2879
- | `data` | `object` | ✅ | — | |
2880
- | ​ ↳ `id` | `string` | ✅ | — | Workflow ID (UUID) |
2881
- | ​ ↳ `name` | `string` | ✅ | — | Workflow name (post-update) |
2882
- | ​ ↳ `description` | `string` | ✅ | — | Workflow description, post-update (null if unset) |
2883
- | ​ ↳ `trigger_url` | `string` | ✅ | — | Public URL that fires this workflow when POSTed to. Embeds a trigger token in the path — treat as sensitive. Requests must also be authenticated as the account. |
2884
- | ​ ↳ `editor_url` | `string` | ✅ | — | URL to the Zapier workflow editor for this workflow |
2885
- | ​ ↳ `enabled` | `boolean` | ✅ | — | Whether the workflow currently accepts triggers |
2886
- | ​ ↳ `is_private` | `boolean` | ✅ | — | Whether the workflow is private to the creating user. False means account-visible. |
2887
- | ​ ↳ `created_by_user_id` | `string` | ✅ | — | User ID of the workflow creator (null in legacy data) |
2888
- | ​ ↳ `created_at` | `string` | ✅ | — | When the workflow was created (ISO-8601) |
2889
- | ​ ↳ `updated_at` | `string` | ✅ | — | When this update was applied (ISO-8601) |
2877
+ | Name | Type | Required | Possible Values | Description |
2878
+ | ------------------------ | --------- | -------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
2879
+ | `data` | `object` | ✅ | — | |
2880
+ | ​ ↳ `id` | `string` | ✅ | — | Workflow ID (UUID) |
2881
+ | ​ ↳ `name` | `string` | ✅ | — | Workflow name (post-update) |
2882
+ | ​ ↳ `description` | `string` | ✅ | — | Workflow description, post-update (null if unset) |
2883
+ | ​ ↳ `trigger_url` | `string` | ✅ | — | Public URL that fires this workflow when POSTed to. Embeds a trigger token in the path — treat as sensitive. Requests must also be authenticated as the account. |
2884
+ | ​ ↳ `editor_url` | `string` | ✅ | — | URL to the Zapier workflow editor for this workflow |
2885
+ | ​ ↳ `enabled` | `boolean` | ✅ | — | Whether the workflow currently accepts triggers |
2886
+ | ​ ↳ `is_private` | `boolean` | ❌ | — | Whether the workflow is private to the creating user. False means account-visible. Deprecated: may be removed from the API in a future release. There is no replacement field; do not rely on it. An absent or null value means unknown, not false. |
2887
+ | ​ ↳ `created_by_user_id` | `string` | ✅ | — | User ID of the workflow creator (null in legacy data) |
2888
+ | ​ ↳ `created_at` | `string` | ✅ | — | When the workflow was created (ISO-8601) |
2889
+ | ​ ↳ `updated_at` | `string` | ✅ | — | When this update was applied (ISO-8601) |
2890
2890
 
2891
2891
  **Example:**
2892
2892
 
@@ -2956,30 +2956,48 @@ Validate durable workflow source without publishing it. Returns source diagnosti
2956
2956
 
2957
2957
  **Parameters:**
2958
2958
 
2959
- | Name | Type | Required | Default | Possible Values | Description |
2960
- | -------------------- | -------- | -------- | ------- | --------------- | --------------------------------------------------------------------------------- |
2961
- | `options` | `object` | ✅ | — | — | |
2962
- | ​ ↳ `sourceFiles` | `object` | ✅ | — | — | Exact TypeScript sources keyed by absolute logical path. |
2963
- | ​ ↳ `entrypointFile` | `string` | ❌ | — | — | Absolute logical path of the entry file in sourceFiles. Defaults to /workflow.ts. |
2959
+ | Name | Type | Required | Default | Possible Values | Description |
2960
+ | --------------------------- | -------- | -------- | ------- | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
2961
+ | `options` | `object` | ✅ | — | — | |
2962
+ | ​ ↳ `sourceFiles` | `object` | ✅ | — | — | Exact TypeScript sources keyed by absolute logical path. |
2963
+ | ​ ↳ `entrypointFile` | `string` | ❌ | — | — | Absolute logical path of the entry file in sourceFiles. Defaults to /workflow.ts. |
2964
+ | ​ ↳ `zapierDurableVersion` | `string` | ❌ | — | — | Version of @zapier/zapier-durable the workflow will run on, e.g. "1.2.3". Version checks are skipped when omitted or "latest". |
2965
+ | ​ ↳ `dependencies` | `object` | ❌ | — | — | npm package dependencies keyed by package name. Dependency checks are skipped when omitted. |
2966
+ | ​ ↳ `checkGroups` | `array` | ❌ | — | — | Check groups to run. Runs every group when omitted. Pass only `source` to skip the account lookups, e.g. while code is being edited. |
2967
+ | ​ ↳ `severity` | `string` | ❌ | — | `error`, `warning`, `info`, `hint` | Return only issues with exactly this severity, and skip checks that only report other severities. Returns every issue when omitted. |
2968
+ | ​ ↳ `triggerConfigurations` | `object` | ❌ | — | — | Trigger configurations keyed by trigger node id (`workflow-trigger-{i}`). The trigger isn't in the source, so it's only checked when sent, e.g. `{ "workflow-trigger-0": { "selectedApi": "ScheduleCLIAPI@1.6.0", "action": "everyDay" } }`. |
2969
+ | ​ ↳ `connections` | `object` | ❌ | — | — | Named connection aliases the source uses. Maps each alias to its Zapier connection ID, e.g. `{ "slack": { "connectionId": 123 } }`. Aliases are only checked when sent. |
2964
2970
 
2965
2971
  **Returns:** `Promise<WorkflowValidationItem>`
2966
2972
 
2967
- | Name | Type | Required | Possible Values | Description |
2968
- | ---------------------- | ---------- | -------- | ---------------------------------- | ----------------------------------------------------------------------------------- |
2969
- | `data` | `object` | ✅ | — | |
2970
- | ​ ↳ `issues[]` | `object[]` | ✅ | — | Source diagnostics, or an empty array when validation passes. |
2971
- | ​   ↳ `kind` | `string` | ✅ | — | Extensible diagnostic category; clients must accept unfamiliar values. |
2972
- | ​   ↳ `message` | `string` | ✅ | — | Safe human-readable explanation. |
2973
- | ​   ↳ `severity` | `string` | ✅ | `error`, `warning`, `info`, `hint` | Diagnostic severity. |
2974
- | ​   ↳ `suggestion` | `string` | ❌ | — | Actionable fix hint. |
2975
- | ​   ↳ `source` | `object` | ❌ | — | Affected source location. |
2976
- | ​     ↳ `file_id` | `string` | ✅ | — | Source file containing the diagnostic. |
2977
- | ​     ↳ `start_line` | `number` | ✅ | — | Inclusive 1-based start line. |
2978
- | ​     ↳ `start_column` | `number` | ✅ | — | Inclusive 1-based start column. |
2979
- | ​     ↳ `end_line` | `number` | ✅ | — | Inclusive 1-based end line. |
2980
- | ​     ↳ `end_column` | `number` | ✅ | — | Inclusive 1-based end column. |
2981
- | ​   ↳ `source_excerpt` | `string` | ❌ | — | Source text the diagnostic was raised against, truncated to 240 characters. |
2982
- | ​   ↳ `syntax_kind` | `string` | ❌ | — | TypeScript AST node kind the diagnostic was raised against (e.g. `CallExpression`). |
2973
+ | Name | Type | Required | Possible Values | Description |
2974
+ | -------------------------- | ---------- | -------- | ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
2975
+ | `data` | `object` | ✅ | — | |
2976
+ | ​ ↳ `issues[]` | `object[]` | ✅ | — | Source diagnostics, or an empty array when validation passes. |
2977
+ | ​   ↳ `kind` | `string` | ✅ | — | Extensible diagnostic category; clients must accept unfamiliar values. |
2978
+ | ​   ↳ `message` | `string` | ✅ | — | Safe human-readable explanation. |
2979
+ | ​   ↳ `title` | `string` | ❌ | — | Short label for the issue, safe to show in place of `message` where space is short. Omitted for kinds with no title yet; fall back to `message`. |
2980
+ | ​   ↳ `severity` | `string` | ✅ | `error`, `warning`, `info`, `hint` | Diagnostic severity. |
2981
+ | ​   ↳ `suggestion` | `string` | ❌ | — | Actionable fix hint. |
2982
+ | ​   ↳ `fix` | `string` | ❌ | — | Extensible: what resolves the issue. Known values are `agent` (change the source), `upgrade` (change the account's plan) and `retry` (a lookup failed; validate again). Omitted or unknown means `agent`. |
2983
+ | ​   ↳ `incomplete` | `boolean` | ❌ | — | `true` when the issue means the workflow isn't finished yet rather than wrong, e.g. no steps yet. Still blocks publish. |
2984
+ | ​   ↳ `app_key` | `string` | ❌ | — | Implementation id of the app the issue is about, e.g. `SlackCLIAPI`. Set on `admin-restricted-app`. |
2985
+ | ​   ↳ `connection_id` | `string` | ❌ | — | Zapier connection id the issue is about, as a string. Set on connection issues. |
2986
+ | ​   ↳ `connection_alias` | `string` | ❌ | — | Connection alias the source used, a key of the request's `connections`. Set on connection issues when the source named the connection by alias. |
2987
+ | ​   ↳ `unchecked_kind` | `string` | ❌ | — | On `check-unavailable`, the issue kind whose check couldn't run because a lookup failed. Validating again retries it. |
2988
+ | ​   ↳ `source` | `object` | ❌ | — | Affected source location. |
2989
+ | ​     ↳ `file_id` | `string` | ✅ | — | Source file containing the diagnostic. |
2990
+ | ​     ↳ `start_line` | `number` | ✅ | — | Inclusive 1-based start line. |
2991
+ | ​     ↳ `start_column` | `number` | ✅ | — | Inclusive 1-based start column. |
2992
+ | ​     ↳ `end_line` | `number` | ✅ | — | Inclusive 1-based end line. |
2993
+ | ​     ↳ `end_column` | `number` | ✅ | — | Inclusive 1-based end column. |
2994
+ | ​   ↳ `source_excerpt` | `string` | ❌ | — | Source text the diagnostic was raised against, truncated to 240 characters. |
2995
+ | ​   ↳ `syntax_kind` | `string` | ❌ | — | TypeScript AST node kind the diagnostic was raised against (e.g. `CallExpression`). |
2996
+ | ​   ↳ `state_path` | `string` | ❌ | — | Workflow state path the issue is about. |
2997
+ | ​   ↳ `projection_node_id` | `string` | ❌ | — | Diagram node the issue is about. Validation sets it only on trigger issues, to the trigger node id (`workflow-trigger-{i}`). |
2998
+ | ​   ↳ `configuration_id` | `string` | ❌ | — | Canonical configuration reference. Validation currently leaves it unset. |
2999
+ | ​   ↳ `operation_id` | `string` | ❌ | — | Canonical operation that owns the issue, when unambiguous. Match against diagram nodes' `operation_ids` for the same source. |
3000
+ | ​   ↳ `region_id` | `string` | ❌ | — | Immediate canonical parent region of the owning operation. May have no visible container in the diagram. |
2983
3001
 
2984
3002
  **Example:**
2985
3003