@epilot/sdk 2.7.10 → 2.7.12

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.
Files changed (140) hide show
  1. package/LICENSE +21 -0
  2. package/definitions/event-catalog-runtime.json +1 -1
  3. package/definitions/event-catalog.json +168 -12
  4. package/definitions/webhooks.json +31 -0
  5. package/dist/apis/access-token.cjs +6 -6
  6. package/dist/apis/access-token.js +1 -1
  7. package/dist/apis/address-suggestions.cjs +6 -6
  8. package/dist/apis/address-suggestions.js +1 -1
  9. package/dist/apis/address.cjs +6 -6
  10. package/dist/apis/address.js +1 -1
  11. package/dist/apis/ai-agents.cjs +6 -6
  12. package/dist/apis/ai-agents.js +1 -1
  13. package/dist/apis/app.cjs +6 -6
  14. package/dist/apis/app.js +1 -1
  15. package/dist/apis/audit-logs.cjs +6 -6
  16. package/dist/apis/audit-logs.js +1 -1
  17. package/dist/apis/automation.cjs +6 -6
  18. package/dist/apis/automation.js +1 -1
  19. package/dist/apis/billing.cjs +6 -6
  20. package/dist/apis/billing.js +1 -1
  21. package/dist/apis/blueprint-manifest.cjs +6 -6
  22. package/dist/apis/blueprint-manifest.js +1 -1
  23. package/dist/apis/calendar.cjs +6 -6
  24. package/dist/apis/calendar.js +1 -1
  25. package/dist/apis/configuration-hub.cjs +6 -6
  26. package/dist/apis/configuration-hub.js +1 -1
  27. package/dist/apis/consent.cjs +6 -6
  28. package/dist/apis/consent.js +1 -1
  29. package/dist/apis/customer-portal.cjs +6 -6
  30. package/dist/apis/customer-portal.js +1 -1
  31. package/dist/apis/dashboard.cjs +6 -6
  32. package/dist/apis/dashboard.js +1 -1
  33. package/dist/apis/data-governance.cjs +6 -6
  34. package/dist/apis/data-governance.js +1 -1
  35. package/dist/apis/deduplication.cjs +6 -6
  36. package/dist/apis/deduplication.js +1 -1
  37. package/dist/apis/design.cjs +6 -6
  38. package/dist/apis/design.js +1 -1
  39. package/dist/apis/document.cjs +6 -6
  40. package/dist/apis/document.js +1 -1
  41. package/dist/apis/email-settings.cjs +6 -6
  42. package/dist/apis/email-settings.js +1 -1
  43. package/dist/apis/email-template.cjs +6 -6
  44. package/dist/apis/email-template.js +1 -1
  45. package/dist/apis/entity-mapping.cjs +6 -6
  46. package/dist/apis/entity-mapping.js +1 -1
  47. package/dist/apis/entity.cjs +6 -6
  48. package/dist/apis/entity.js +1 -1
  49. package/dist/apis/environments.cjs +6 -6
  50. package/dist/apis/environments.js +1 -1
  51. package/dist/apis/event-catalog.cjs +8 -8
  52. package/dist/apis/event-catalog.d.cts +2 -2
  53. package/dist/apis/event-catalog.d.ts +2 -2
  54. package/dist/apis/event-catalog.js +2 -2
  55. package/dist/apis/file.cjs +6 -6
  56. package/dist/apis/file.js +1 -1
  57. package/dist/apis/iban.cjs +6 -6
  58. package/dist/apis/iban.js +1 -1
  59. package/dist/apis/integration-toolkit.cjs +6 -6
  60. package/dist/apis/integration-toolkit.js +1 -1
  61. package/dist/apis/journey.cjs +6 -6
  62. package/dist/apis/journey.js +1 -1
  63. package/dist/apis/kanban.cjs +6 -6
  64. package/dist/apis/kanban.js +1 -1
  65. package/dist/apis/message.cjs +6 -6
  66. package/dist/apis/message.js +1 -1
  67. package/dist/apis/metering.cjs +6 -6
  68. package/dist/apis/metering.js +1 -1
  69. package/dist/apis/notes.cjs +6 -6
  70. package/dist/apis/notes.js +1 -1
  71. package/dist/apis/notification.cjs +6 -6
  72. package/dist/apis/notification.js +1 -1
  73. package/dist/apis/organization.cjs +6 -6
  74. package/dist/apis/organization.js +1 -1
  75. package/dist/apis/partner-directory.cjs +6 -6
  76. package/dist/apis/partner-directory.js +1 -1
  77. package/dist/apis/permissions.cjs +6 -6
  78. package/dist/apis/permissions.js +1 -1
  79. package/dist/apis/pricing-tier.cjs +6 -6
  80. package/dist/apis/pricing-tier.js +1 -1
  81. package/dist/apis/pricing.cjs +6 -6
  82. package/dist/apis/pricing.js +1 -1
  83. package/dist/apis/purpose.cjs +6 -6
  84. package/dist/apis/purpose.js +1 -1
  85. package/dist/apis/query.cjs +6 -6
  86. package/dist/apis/query.js +1 -1
  87. package/dist/apis/sandbox.cjs +6 -6
  88. package/dist/apis/sandbox.js +1 -1
  89. package/dist/apis/sharing.cjs +6 -6
  90. package/dist/apis/sharing.js +1 -1
  91. package/dist/apis/submission.cjs +6 -6
  92. package/dist/apis/submission.js +1 -1
  93. package/dist/apis/target.cjs +6 -6
  94. package/dist/apis/target.js +1 -1
  95. package/dist/apis/targeting.cjs +6 -6
  96. package/dist/apis/targeting.js +1 -1
  97. package/dist/apis/template-variables.cjs +6 -6
  98. package/dist/apis/template-variables.js +1 -1
  99. package/dist/apis/user.cjs +6 -6
  100. package/dist/apis/user.js +1 -1
  101. package/dist/apis/validation-rules.cjs +6 -6
  102. package/dist/apis/validation-rules.js +1 -1
  103. package/dist/apis/webhooks.cjs +6 -6
  104. package/dist/apis/webhooks.d.cts +2 -2
  105. package/dist/apis/webhooks.d.ts +2 -2
  106. package/dist/apis/webhooks.js +1 -1
  107. package/dist/apis/workflow-definition.cjs +6 -6
  108. package/dist/apis/workflow-definition.js +1 -1
  109. package/dist/apis/workflow.cjs +6 -6
  110. package/dist/apis/workflow.js +1 -1
  111. package/dist/{chunk-PFWNKA6K.js → chunk-5QPKSRW5.js} +3 -3
  112. package/dist/chunk-FDS727SL.cjs +14 -0
  113. package/dist/chunk-M4FO2MI4.js +14 -0
  114. package/dist/{chunk-YSMN2QWQ.cjs → chunk-SAMDHOZ5.cjs} +3 -3
  115. package/dist/event-catalog-3YOQ46ZW.js +7 -0
  116. package/dist/event-catalog-HLWUT7RM.cjs +7 -0
  117. package/dist/{event-catalog-runtime-N262TQ3Y.js → event-catalog-runtime-JUSLF3UR.js} +1 -1
  118. package/dist/{event-catalog-runtime-B2BPKQVG.cjs → event-catalog-runtime-RH7542GL.cjs} +2 -2
  119. package/dist/{event-catalog.d-mQJLSYUo.d.cts → event-catalog.d-CXbUn8T1.d.cts} +199 -36
  120. package/dist/{event-catalog.d-mQJLSYUo.d.ts → event-catalog.d-CXbUn8T1.d.ts} +199 -36
  121. package/dist/index.cjs +10 -10
  122. package/dist/index.d.cts +2 -2
  123. package/dist/index.d.ts +2 -2
  124. package/dist/index.js +2 -2
  125. package/dist/js-yaml-DLCVPJ7G.js +0 -0
  126. package/dist/webhooks-6CUXSTPH.cjs +7 -0
  127. package/dist/webhooks-DTNKNJEN.js +7 -0
  128. package/dist/{webhooks.d-ByePoUWs.d.ts → webhooks.d-DKZOMj1P.d.cts} +37 -0
  129. package/dist/{webhooks.d-ByePoUWs.d.cts → webhooks.d-DKZOMj1P.d.ts} +37 -0
  130. package/docs/event-catalog.md +126 -13
  131. package/docs/webhooks.md +11 -2
  132. package/package.json +11 -12
  133. package/definitions/focus-pocus-runtime.json +0 -1
  134. package/definitions/focus-pocus.json +0 -757
  135. package/dist/chunk-CBDKPGO5.cjs +0 -14
  136. package/dist/chunk-OCMIXJWC.js +0 -14
  137. package/dist/event-catalog-37B6JC7G.js +0 -7
  138. package/dist/event-catalog-5JBHJJ2I.cjs +0 -7
  139. package/dist/webhooks-NZHJBT64.js +0 -7
  140. package/dist/webhooks-SK2STDKR.cjs +0 -7
@@ -0,0 +1,7 @@
1
+ import "./chunk-YPSWSI3M.js";
2
+
3
+ // src/docs/webhooks.json
4
+ var webhooks_default = '# Webhooks\n\n- **Base URL:** `https://webhooks.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/webhooks](https://docs.epilot.io/api/webhooks)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.webhooks.getPublicKey(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/webhooks\'\n\nconst webhooksClient = getClient()\nauthorize(webhooksClient, () => \'<token>\')\nconst { data } = await webhooksClient.getPublicKey(...)\n```\n\n## Operations\n\n**webhooks**\n- [`getPublicKey`](#getpublickey)\n- [`getConfiguredEvents`](#getconfiguredevents)\n- [`getConfigs`](#getconfigs)\n- [`createConfig`](#createconfig)\n- [`getConfig`](#getconfig)\n- [`updateConfig`](#updateconfig)\n- [`deleteConfig`](#deleteconfig)\n- [`testOAuth`](#testoauth)\n- [`triggerWebhook`](#triggerwebhook)\n- [`batchReplayEvents`](#batchreplayevents)\n- [`getEventById`](#geteventbyid)\n- [`replayEvent`](#replayevent)\n- [`getWebhookExample`](#getwebhookexample)\n\n**Events**\n- [`getWebhookEventsV2`](#getwebhookeventsv2)\n\n**Schemas**\n- [`PublicKeyResponse`](#publickeyresponse)\n- [`SearchOptions`](#searchoptions)\n- [`EventListResponse`](#eventlistresponse)\n- [`HttpMethod`](#httpmethod)\n- [`AuthType`](#authtype)\n- [`Filter`](#filter)\n- [`WebhookCondition`](#webhookcondition)\n- [`WebhookConditionGroup`](#webhookconditiongroup)\n- [`Auth`](#auth)\n- [`BasicAuthConfig`](#basicauthconfig)\n- [`OAuthConfig`](#oauthconfig)\n- [`ApiKeyConfig`](#apikeyconfig)\n- [`WebhookConfig`](#webhookconfig)\n- [`EventConfigResp`](#eventconfigresp)\n- [`EventConfigEntry`](#eventconfigentry)\n- [`ErrorResp`](#errorresp)\n- [`TriggerWebhookResp`](#triggerwebhookresp)\n- [`PayloadConfiguration`](#payloadconfiguration)\n- [`CustomHeader`](#customheader)\n- [`CustomOAuthParameter`](#customoauthparameter)\n- [`Metadata`](#metadata)\n- [`ExecutionPayload`](#executionpayload)\n- [`WebhookEvent`](#webhookevent)\n- [`ExampleRequest`](#examplerequest)\n- [`ExampleResponse`](#exampleresponse)\n- [`TestOAuthResponse`](#testoauthresponse)\n- [`BatchReplayRequest`](#batchreplayrequest)\n\n### `getPublicKey`\n\nReturns the platform-level Ed25519 public key used to verify\nasymmetric (v1a) webhook signatures. This endpoint is unauthenticated since the public key is not a secret, but the orgId parameter is requ\n\n`GET /v1/webhooks/.well-known/public-key`\n\n```ts\nconst { data } = await client.getPublicKey({\n orgId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "public_key": "-----BEGIN PUBLIC KEY-----\\nMCowBQYDK2VwAyEA...\\n-----END PUBLIC KEY-----\\n",\n "algorithm": "ed25519",\n "issuer": "epilot"\n}\n```\n\n</details>\n\n---\n\n### `getConfiguredEvents`\n\nRetrieve events that can trigger webhooks\n\n`GET /v1/webhooks/configured-events`\n\n```ts\nconst { data } = await client.getConfiguredEvents()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "eventName": "customer_request_created",\n "eventLabel": "Customer Request Created"\n }\n]\n```\n\n</details>\n\n---\n\n### `getConfigs`\n\nSearch Webhook Client Configs\n\n`GET /v1/webhooks/configs`\n\n```ts\nconst { data } = await client.getConfigs({\n eventName: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "eventName": "CustomerRequest_Created",\n "url": "https://my-partner-service.api.com",\n "httpMethod": "POST",\n "enabled": true,\n "auth": {\n "authType": "BASIC",\n "basicAuthConfig": {\n "username": "secretUsername",\n "password": "secret7825@!"\n }\n },\n "filter": {\n "keyToFilter": "customer_request.productId",\n "supportedValues": ["2324245", "5253642"]\n }\n }\n]\n```\n\n</details>\n\n---\n\n### `createConfig`\n\nCreate Webhook Client Config\n\n`POST /v1/webhooks/configs`\n\n```ts\nconst { data } = await client.createConfig(\n null,\n {\n eventName: \'CustomerRequest_Created\',\n url: \'https://my-partner-service.api.com\',\n httpMethod: \'POST\',\n enabled: true,\n auth: {\n authType: \'BASIC\',\n basicAuthConfig: {\n username: \'secretUsername\',\n password: \'secret7825@!\'\n }\n },\n filter: {\n keyToFilter: \'customer_request.productId\',\n supportedValues: [\'2324245\', \'5253642\']\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "eventName": "CustomerRequest_Created",\n "url": "https://my-partner-service.api.com",\n "httpMethod": "POST",\n "enabled": true,\n "auth": {\n "authType": "BASIC",\n "basicAuthConfig": {\n "username": "secretUsername",\n "password": "secret7825@!"\n }\n },\n "filter": {\n "keyToFilter": "customer_request.productId",\n "supportedValues": ["2324245", "5253642"]\n }\n}\n```\n\n</details>\n\n---\n\n### `getConfig`\n\nGet webhook config by id\n\n`GET /v1/webhooks/configs/{configId}`\n\n```ts\nconst { data } = await client.getConfig({\n configId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "eventName": "CustomerRequest_Created",\n "url": "https://my-partner-service.api.com",\n "httpMethod": "POST",\n "enabled": true,\n "auth": {\n "authType": "BASIC",\n "basicAuthConfig": {\n "username": "secretUsername",\n "password": "secret7825@!"\n }\n },\n "filter": {\n "keyToFilter": "customer_request.productId",\n "supportedValues": ["2324245", "5253642"]\n }\n}\n```\n\n</details>\n\n---\n\n### `updateConfig`\n\nUpdate Webhook Client Config\n\n`PUT /v1/webhooks/configs/{configId}`\n\n```ts\nconst { data } = await client.updateConfig(\n {\n configId: \'example\',\n },\n {\n eventName: \'CustomerRequest_Created\',\n url: \'https://my-partner-service.api.com\',\n httpMethod: \'POST\',\n enabled: true,\n auth: {\n authType: \'BASIC\',\n basicAuthConfig: {\n username: \'secretUsername\',\n password: \'secret7825@!\'\n }\n },\n filter: {\n keyToFilter: \'customer_request.productId\',\n supportedValues: [\'2324245\', \'5253642\']\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "eventName": "CustomerRequest_Created",\n "url": "https://my-partner-service.api.com",\n "httpMethod": "POST",\n "enabled": true,\n "auth": {\n "authType": "BASIC",\n "basicAuthConfig": {\n "username": "secretUsername",\n "password": "secret7825@!"\n }\n },\n "filter": {\n "keyToFilter": "customer_request.productId",\n "supportedValues": ["2324245", "5253642"]\n }\n}\n```\n\n</details>\n\n---\n\n### `deleteConfig`\n\nDelete Webhook Client Config\n\n`DELETE /v1/webhooks/configs/{configId}`\n\n```ts\nconst { data } = await client.deleteConfig({\n configId: \'example\',\n})\n```\n\n---\n\n### `testOAuth`\n\nTest OAuth connection\n\n`POST /v1/webhooks/configs/{configId}/test-oauth`\n\n```ts\nconst { data } = await client.testOAuth({\n configId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "success": true,\n "expires_in": 3600,\n "token_type": "Bearer",\n "message": "OAuth token exchange successful"\n}\n```\n\n</details>\n\n---\n\n### `triggerWebhook`\n\ntriggers a webhook event either async or sync\n\n`POST /v1/webhooks/configs/{configId}/trigger`\n\n```ts\nconst { data } = await client.triggerWebhook(\n {\n sync: true,\n configId: \'example\',\n },\n {\n metadata: {\n action: \'Manual triggered by user with id 123456\',\n origin: \'string\',\n creation_timestamp: \'string\',\n webhook_id: \'string\',\n webhook_name: \'string\',\n automation_name: \'string\',\n organization_id: \'string\',\n user_id: \'string\',\n correlation_id: \'string\',\n execution_id: \'string\',\n action_id: \'string\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "status_code": "string",\n "message": "string",\n "body": {},\n "code": "string",\n "status": "succeeded",\n "start_date": "string",\n "end_date": "string",\n "event_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `batchReplayEvents`\n\nReplay a batch of webhook events\n\n`POST /v1/webhooks/configs/{configId}/events/replay-batch`\n\n```ts\nconst { data } = await client.batchReplayEvents(\n {\n configId: \'example\',\n },\n {\n eventIds: [\'2f1b7cf8-ff55-4359-966f-e56f39a52c94\', \'48c984bf-466b-470b-b743-d07cea168243\']\n },\n)\n```\n\n---\n\n### `getEventById`\n\nGet a webhook event by its id\n\n`GET /v1/webhooks/configs/{configId}/events/{eventId}`\n\n```ts\nconst { data } = await client.getEventById({\n configId: \'example\',\n eventId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "event_id": "string",\n "org_id": "string",\n "webhook_config_id": "string",\n "url": "string",\n "created_at": "2021-04-27T12:01:13.000Z",\n "event_name": "string",\n "http_response": {\n "status_code": 0,\n "message": "string",\n "body": {},\n "code": "string"\n },\n "metadata": {\n "action": "Manual triggered by user with id 123456",\n "origin": "string",\n "creation_timestamp": "string",\n "webhook_id": "string",\n "webhook_name": "string",\n "automation_name": "string",\n "organization_id": "string",\n "user_id": "string",\n "correlation_id": "string",\n "execution_id": "string",\n "action_id": "string"\n },\n "status": "succeeded",\n "http_method": "GET",\n "payload": "string",\n "retry_attempt": 0\n}\n```\n\n</details>\n\n---\n\n### `replayEvent`\n\nReplay a webhook event\n\n`POST /v1/webhooks/configs/{configId}/events/{eventId}/replay`\n\n```ts\nconst { data } = await client.replayEvent({\n configId: \'example\',\n eventId: \'example\',\n})\n```\n\n---\n\n### `getWebhookExample`\n\nGenerate an example payload for a webhook configuration based on trigger type\n\n`POST /v1/webhooks/configs/{configId}/example`\n\n```ts\nconst { data } = await client.getWebhookExample(\n {\n configId: \'example\',\n },\n {\n automation_id: \'automation_123\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "metadata": {\n "action": "Manual triggered by user with id 123456",\n "origin": "string",\n "creation_timestamp": "string",\n "webhook_id": "string",\n "webhook_name": "string",\n "automation_name": "string",\n "organization_id": "string",\n "user_id": "string",\n "correlation_id": "string",\n "execution_id": "string",\n "action_id": "string"\n },\n "entity": {},\n "relations": [\n {}\n ]\n}\n```\n\n</details>\n\n---\n\n### `getWebhookEventsV2`\n\nList webhook events and filter them by status, timestamp, etc.\n\n`POST /v2/webhooks/configs/{configId}/events`\n\n```ts\nconst { data } = await client.getWebhookEventsV2(\n {\n configId: \'example\',\n },\n {\n limit: 25,\n cursor: {\n created_at: \'2025-10-31T12:34:56Z\',\n event_id: \'evt_1234567890abcdef\'\n },\n timestamp: {\n from: \'2025-10-01T00:00:00Z\',\n to: \'2025-10-31T23:59:59Z\'\n },\n event_id: \'evt_1234567890abcdef\',\n status: \'succeeded\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "data": [\n {\n "event_id": "string",\n "org_id": "string",\n "webhook_config_id": "string",\n "url": "string",\n "created_at": "2021-04-27T12:01:13.000Z",\n "event_name": "string",\n "http_response": {\n "status_code": 0,\n "message": "string",\n "body": {},\n "code": "string"\n },\n "metadata": {\n "action": "Manual triggered by user with id 123456",\n "origin": "string",\n "creation_timestamp": "string",\n "webhook_id": "string",\n "webhook_name": "string",\n "automation_name": "string",\n "organization_id": "string",\n "user_id": "string",\n "correlation_id": "string",\n "execution_id": "string",\n "action_id": "string"\n },\n "status": "succeeded",\n "http_method": "GET",\n "payload": "string",\n "retry_attempt": 0\n }\n ],\n "next_cursor": {\n "created_at": "2025-10-31T12:34:56Z",\n "event_id": "evt_1234567890abcdef"\n },\n "has_more": true\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `PublicKeyResponse`\n\n```ts\ntype PublicKeyResponse = {\n public_key: string\n algorithm: string\n issuer?: string\n}\n```\n\n### `SearchOptions`\n\n```ts\ntype SearchOptions = {\n limit?: number\n cursor?: {\n created_at?: string // date-time\n event_id?: string\n }\n timestamp?: {\n from?: string // date-time\n to?: string // date-time\n }\n event_id?: string\n status?: "succeeded" | "failed" | "skipped"\n}\n```\n\n### `EventListResponse`\n\n```ts\ntype EventListResponse = {\n data?: Array<{\n event_id: string\n org_id: string\n webhook_config_id: string\n url?: string\n created_at?: string\n event_name?: string\n http_response?: {\n status_code?: { ... }\n message?: { ... }\n body?: { ... }\n code?: { ... }\n }\n metadata?: {\n action?: { ... }\n origin?: { ... }\n creation_timestamp?: { ... }\n webhook_id?: { ... }\n webhook_name?: { ... }\n automation_name?: { ... }\n organization_id: { ... }\n user_id?: { ... }\n correlation_id?: { ... }\n execution_id?: { ... }\n action_id?: { ... }\n }\n status?: "succeeded" | "failed" | "in_progress" | "skipped"\n http_method?: "GET" | "POST" | "PUT"\n payload?: string\n retry_attempt?: number\n }>\n next_cursor?: {\n created_at?: string // date-time\n event_id?: string\n }\n has_more?: boolean\n}\n```\n\n### `HttpMethod`\n\n```ts\ntype HttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD"\n```\n\n### `AuthType`\n\n```ts\ntype AuthType = "BASIC" | "OAUTH_CLIENT_CREDENTIALS" | "API_KEY" | "NONE"\n```\n\n### `Filter`\n\n```ts\ntype Filter = {\n keyToFilter: string\n supportedValues: string[]\n}\n```\n\n### `WebhookCondition`\n\nA condition that must be met for the webhook to fire.\n\n```ts\ntype WebhookCondition = {\n field: string\n operation: "equals" | "not_equals" | "any_of" | "none_of" | "contains" | "not_contains" | "starts_with" | "ends_with" | "greater_than" | "less_than" | "greater_than_or_equals" | "less_than_or_equals" | "is_empty" | "is_not_empty"\n values?: string[]\n field_type?: "string" | "number" | "boolean" | "date" | "datetime"\n is_array_field?: boolean\n repeatable_item_op?: boolean\n}\n```\n\n### `WebhookConditionGroup`\n\nA group of conditions with a logical operator. Multiple conditions are AND-ed by default.\n\n```ts\ntype WebhookConditionGroup = {\n conditions?: Array<{\n field: string\n operation: "equals" | "not_equals" | "any_of" | "none_of" | "contains" | "not_contains" | "starts_with" | "ends_with" | "greater_than" | "less_than" | "greater_than_or_equals" | "less_than_or_equals" | "is_empty" | "is_not_empty"\n values?: string[]\n field_type?: "string" | "number" | "boolean" | "date" | "datetime"\n is_array_field?: boolean\n repeatable_item_op?: boolean\n }>\n logical_operator?: "AND" | "OR"\n}\n```\n\n### `Auth`\n\n```ts\ntype Auth = {\n authType: "BASIC" | "OAUTH_CLIENT_CREDENTIALS" | "API_KEY" | "NONE"\n basicAuthConfig?: {\n username: string\n password?: string\n passwordIsEnvVar?: boolean\n }\n oauthConfig?: {\n clientId: string\n clientSecret?: string\n clientSecretIsEnvVar?: boolean\n endpoint: string\n httpMethod: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD"\n customParameterList?: Array<{\n type: { ... }\n key: { ... }\n value: { ... }\n }>\n }\n apiKeyConfig?: {\n keyName: string\n keyValue?: string\n keyValueIsEnvVar?: boolean\n }\n}\n```\n\n### `BasicAuthConfig`\n\nTo be sent only if authType is BASIC\n\n```ts\ntype BasicAuthConfig = {\n username: string\n password?: string\n passwordIsEnvVar?: boolean\n}\n```\n\n### `OAuthConfig`\n\nTo be sent only if authType is OAUTH_CLIENT_CREDENTIALS\n\n```ts\ntype OAuthConfig = {\n clientId: string\n clientSecret?: string\n clientSecretIsEnvVar?: boolean\n endpoint: string\n httpMethod: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD"\n customParameterList?: Array<{\n type: "body" | "query" | "header"\n key: string\n value: string\n }>\n}\n```\n\n### `ApiKeyConfig`\n\nTo be sent only if authType is API_KEY\n\n```ts\ntype ApiKeyConfig = {\n keyName: string\n keyValue?: string\n keyValueIsEnvVar?: boolean\n}\n```\n\n### `WebhookConfig`\n\n```ts\ntype WebhookConfig = {\n id?: string\n name: string\n eventName: string\n eventVersion?: string\n url?: string\n creationTime?: string\n updatedTime?: string\n httpMethod?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD"\n enabled?: boolean\n auth?: {\n authType: "BASIC" | "OAUTH_CLIENT_CREDENTIALS" | "API_KEY" | "NONE"\n basicAuthConfig?: {\n username: { ... }\n password?: { ... }\n passwordIsEnvVar?: { ... }\n }\n oauthConfig?: {\n clientId: { ... }\n clientSecret?: { ... }\n clientSecretIsEnvVar?: { ... }\n endpoint: { ... }\n httpMethod: { ... }\n customParameterList?: { ... }\n }\n apiKeyConfig?: {\n keyName: { ... }\n keyValue?: { ... }\n keyValueIsEnvVar?: { ... }\n }\n }\n filter?: {\n keyToFilter: string\n supportedValues: string[]\n }\n payloadConfiguration?: {\n hydrate_entity?: boolean\n include_relations?: boolean\n include_activity?: boolean\n include_changed_attributes?: boolean\n apply_changesets?: boolean\n custom_headers?: Record<string, string>\n }\n enableStaticIP?: boolean\n protected?: boolean\n secureProxy?: {\n integration_id: string // uuid\n use_case_slug: string\n }\n status?: "active" | "inactive" | "incomplete"\n jsonataExpression?: string\n deliveryMode?: "json_base64" | "binary_multipart"\n multipartConfig?: {\n fileFieldName?: string\n fileFieldStrategy?: "single" | "multi"\n fileSource?: string\n extraFields?: Record<string, string>\n }\n retryPolicy?: {\n enabled: boolean\n maxAttempts?: number\n }\n filterConditions?: {\n conditions?: Array<{\n field: { ... }\n operation: { ... }\n values?: { ... }\n field_type?: { ... }\n is_array_field?: { ... }\n repeatable_item_op?: { ... }\n }>\n logical_operator?: "AND" | "OR"\n }\n _manifest?: string // uuid[]\n signingSecret?: string\n}\n```\n\n### `EventConfigResp`\n\n```ts\ntype EventConfigResp = Array<{\n eventName?: string\n eventLabel?: string\n}>\n```\n\n### `EventConfigEntry`\n\n```ts\ntype EventConfigEntry = {\n eventName?: string\n eventLabel?: string\n}\n```\n\n### `ErrorResp`\n\n```ts\ntype ErrorResp = {\n message?: string\n}\n```\n\n### `TriggerWebhookResp`\n\n```ts\ntype TriggerWebhookResp = {\n status_code?: string\n message?: string\n body?: object\n code?: string\n status?: "succeeded" | "failed"\n start_date?: string\n end_date?: string\n event_id: string\n}\n```\n\n### `PayloadConfiguration`\n\nConfiguration for the webhook payload\n\n```ts\ntype PayloadConfiguration = {\n hydrate_entity?: boolean\n include_relations?: boolean\n include_activity?: boolean\n include_changed_attributes?: boolean\n apply_changesets?: boolean\n custom_headers?: Record<string, string>\n}\n```\n\n### `CustomHeader`\n\nObject representing custom headers as key-value pairs.\n\n```ts\ntype CustomHeader = Record<string, string>\n```\n\n### `CustomOAuthParameter`\n\nCustom key/value pair of either type body, query or header\n\n```ts\ntype CustomOAuthParameter = {\n type: "body" | "query" | "header"\n key: string\n value: string\n}\n```\n\n### `Metadata`\n\nContains the metadata about the configured event\n\n```ts\ntype Metadata = {\n action?: string\n origin?: string\n creation_timestamp?: string\n webhook_id?: string\n webhook_name?: string\n automation_name?: string\n organization_id: string\n user_id?: string\n correlation_id?: string\n execution_id?: string\n action_id?: string\n}\n```\n\n### `ExecutionPayload`\n\nPayload for triggering a webhook\n\n```ts\ntype ExecutionPayload = {\n metadata: {\n action?: string\n origin?: string\n creation_timestamp?: string\n webhook_id?: string\n webhook_name?: string\n automation_name?: string\n organization_id: string\n user_id?: string\n correlation_id?: string\n execution_id?: string\n action_id?: string\n }\n}\n```\n\n### `WebhookEvent`\n\n```ts\ntype WebhookEvent = {\n event_id: string\n org_id: string\n webhook_config_id: string\n url?: string\n created_at?: string\n event_name?: string\n http_response?: {\n status_code?: number\n message?: string\n body?: object\n code?: string\n }\n metadata?: {\n action?: string\n origin?: string\n creation_timestamp?: string\n webhook_id?: string\n webhook_name?: string\n automation_name?: string\n organization_id: string\n user_id?: string\n correlation_id?: string\n execution_id?: string\n action_id?: string\n }\n status?: "succeeded" | "failed" | "in_progress" | "skipped"\n http_method?: "GET" | "POST" | "PUT"\n payload?: string\n retry_attempt?: number\n}\n```\n\n### `ExampleRequest`\n\n```ts\ntype ExampleRequest = {\n automation_id?: string\n}\n```\n\n### `ExampleResponse`\n\n```ts\ntype ExampleResponse = {\n metadata?: {\n action?: string\n origin?: string\n creation_timestamp?: string\n webhook_id?: string\n webhook_name?: string\n automation_name?: string\n organization_id: string\n user_id?: string\n correlation_id?: string\n execution_id?: string\n action_id?: string\n }\n entity?: Record<string, unknown>\n relations?: Record<string, unknown>[]\n}\n```\n\n### `TestOAuthResponse`\n\n```ts\ntype TestOAuthResponse = {\n success: boolean\n expires_in?: number\n token_type?: string\n message: string\n}\n```\n\n### `BatchReplayRequest`\n\n```ts\ntype BatchReplayRequest = {\n eventIds: string[]\n}\n```\n';
5
+ export {
6
+ webhooks_default as default
7
+ };
@@ -526,6 +526,19 @@ declare namespace Components {
526
526
  id?: string;
527
527
  name: string;
528
528
  eventName: string;
529
+ /**
530
+ * Pinned schema version of the Event Catalog event this webhook is subscribed to.
531
+ * Only applicable when `eventName` refers to an Event Catalog event (prefixed with `event_`).
532
+ * When omitted on creation, it is backfilled lazily on first delivery to match the
533
+ * event's own `_event_version` (the latest at that time, stamped on the event itself).
534
+ * Always MAJOR.MINOR (e.g. "1.0", "2.0"), mirroring exactly what event-catalog-api
535
+ * stamps as `_event_version` and in its `_downgrades[].to` values. Absent for legacy
536
+ * configs that have not yet received an event.
537
+ *
538
+ * example:
539
+ * 1.0
540
+ */
541
+ eventVersion?: string | null; // ^\d+\.\d+$
529
542
  url?: string;
530
543
  /**
531
544
  * Timestamp the webhook was first created. Immutable after creation.
@@ -614,6 +627,26 @@ declare namespace Components {
614
627
  [name: string]: string;
615
628
  };
616
629
  };
630
+ /**
631
+ * Automatic-retry policy for transient delivery failures (5xx, 429,
632
+ * connection-level errors). Newly-created webhooks are materialized
633
+ * with defaults (`enabled: true`, `maxAttempts: 3`). Webhooks created
634
+ * before this feature have no policy and are treated as disabled — on
635
+ * update, omit this field to preserve the existing value. The backoff
636
+ * curve is a fixed Standard Webhooks schedule (5s, 5m, 30m, 2h, 5h);
637
+ * only the first `maxAttempts` intervals are used.
638
+ *
639
+ */
640
+ retryPolicy?: {
641
+ /**
642
+ * Master on/off switch for automatic retries.
643
+ */
644
+ enabled: boolean;
645
+ /**
646
+ * Maximum number of automatic retries after the initial delivery attempt.
647
+ */
648
+ maxAttempts?: number;
649
+ };
617
650
  filterConditions?: /* A group of conditions with a logical operator. Multiple conditions are AND-ed by default. */ WebhookConditionGroup;
618
651
  /**
619
652
  * Manifest ID used to create/update the webhook resource
@@ -656,6 +689,10 @@ declare namespace Components {
656
689
  * stringified payload of the webhook request
657
690
  */
658
691
  payload?: string;
692
+ /**
693
+ * Number of automatic delivery retries that preceded this terminal outcome. 0 means the event was delivered (or finally failed) on the first attempt.
694
+ */
695
+ retry_attempt?: number;
659
696
  }
660
697
  }
661
698
  }
@@ -526,6 +526,19 @@ declare namespace Components {
526
526
  id?: string;
527
527
  name: string;
528
528
  eventName: string;
529
+ /**
530
+ * Pinned schema version of the Event Catalog event this webhook is subscribed to.
531
+ * Only applicable when `eventName` refers to an Event Catalog event (prefixed with `event_`).
532
+ * When omitted on creation, it is backfilled lazily on first delivery to match the
533
+ * event's own `_event_version` (the latest at that time, stamped on the event itself).
534
+ * Always MAJOR.MINOR (e.g. "1.0", "2.0"), mirroring exactly what event-catalog-api
535
+ * stamps as `_event_version` and in its `_downgrades[].to` values. Absent for legacy
536
+ * configs that have not yet received an event.
537
+ *
538
+ * example:
539
+ * 1.0
540
+ */
541
+ eventVersion?: string | null; // ^\d+\.\d+$
529
542
  url?: string;
530
543
  /**
531
544
  * Timestamp the webhook was first created. Immutable after creation.
@@ -614,6 +627,26 @@ declare namespace Components {
614
627
  [name: string]: string;
615
628
  };
616
629
  };
630
+ /**
631
+ * Automatic-retry policy for transient delivery failures (5xx, 429,
632
+ * connection-level errors). Newly-created webhooks are materialized
633
+ * with defaults (`enabled: true`, `maxAttempts: 3`). Webhooks created
634
+ * before this feature have no policy and are treated as disabled — on
635
+ * update, omit this field to preserve the existing value. The backoff
636
+ * curve is a fixed Standard Webhooks schedule (5s, 5m, 30m, 2h, 5h);
637
+ * only the first `maxAttempts` intervals are used.
638
+ *
639
+ */
640
+ retryPolicy?: {
641
+ /**
642
+ * Master on/off switch for automatic retries.
643
+ */
644
+ enabled: boolean;
645
+ /**
646
+ * Maximum number of automatic retries after the initial delivery attempt.
647
+ */
648
+ maxAttempts?: number;
649
+ };
617
650
  filterConditions?: /* A group of conditions with a logical operator. Multiple conditions are AND-ed by default. */ WebhookConditionGroup;
618
651
  /**
619
652
  * Manifest ID used to create/update the webhook resource
@@ -656,6 +689,10 @@ declare namespace Components {
656
689
  * stringified payload of the webhook request
657
690
  */
658
691
  payload?: string;
692
+ /**
693
+ * Number of automatic delivery retries that preceded this terminal outcome. 0 means the event was delivered (or finally failed) on the first attempt.
694
+ */
695
+ retry_attempt?: number;
659
696
  }
660
697
  }
661
698
  }
@@ -30,6 +30,7 @@ const { data } = await eventCatalogClient.listEvents(...)
30
30
  - [`patchEvent`](#patchevent)
31
31
  - [`getEventJSONSchema`](#geteventjsonschema)
32
32
  - [`getEventExample`](#geteventexample)
33
+ - [`listEventVersions`](#listeventversions)
33
34
  - [`searchEventHistory`](#searcheventhistory)
34
35
  - [`searchEventHistoryV2`](#searcheventhistoryv2)
35
36
  - [`getHistoricalEvent`](#gethistoricalevent)
@@ -57,6 +58,9 @@ const { data } = await eventCatalogClient.listEvents(...)
57
58
  - [`TriggerEventPayload`](#triggereventpayload)
58
59
  - [`TriggerEventResponse`](#triggereventresponse)
59
60
  - [`EventAttachment`](#eventattachment)
61
+ - [`FieldChange`](#fieldchange)
62
+ - [`VersionMeta`](#versionmeta)
63
+ - [`EventVersionRegistrySummary`](#eventversionregistrysummary)
60
64
 
61
65
  ### `listEvents`
62
66
 
@@ -78,7 +82,7 @@ const { data } = await client.listEvents()
78
82
  "event_name": "AddMeterReading",
79
83
  "event_title": "Add Meter Reading",
80
84
  "event_description": "Triggered when a new meter reading is added",
81
- "event_version": "1.0.0",
85
+ "event_version": "1.0",
82
86
  "event_status": "active",
83
87
  "event_tags": ["builtin", "metering", "erp"],
84
88
  "schema_fields": {},
@@ -136,7 +140,7 @@ const { data } = await client.getEvent({
136
140
  "event_name": "AddMeterReading",
137
141
  "event_title": "Add Meter Reading",
138
142
  "event_description": "Triggered when a new meter reading is added",
139
- "event_version": "1.0.0",
143
+ "event_version": "1.0",
140
144
  "event_status": "active",
141
145
  "event_tags": ["builtin", "metering", "erp"],
142
146
  "schema_fields": {},
@@ -187,7 +191,7 @@ const { data } = await client.patchEvent(
187
191
  event_name: 'AddMeterReading',
188
192
  event_title: 'Add Meter Reading',
189
193
  event_description: 'Triggered when a new meter reading is added',
190
- event_version: '1.0.0',
194
+ event_version: '1.0',
191
195
  event_status: 'active',
192
196
  event_tags: ['builtin', 'metering', 'erp'],
193
197
  schema_fields: {},
@@ -228,7 +232,7 @@ const { data } = await client.patchEvent(
228
232
  "event_name": "AddMeterReading",
229
233
  "event_title": "Add Meter Reading",
230
234
  "event_description": "Triggered when a new meter reading is added",
231
- "event_version": "1.0.0",
235
+ "event_version": "1.0",
232
236
  "event_status": "active",
233
237
  "event_tags": ["builtin", "metering", "erp"],
234
238
  "schema_fields": {},
@@ -266,13 +270,16 @@ const { data } = await client.patchEvent(
266
270
 
267
271
  ### `getEventJSONSchema`
268
272
 
269
- Retrieve the JSON Schema of a specific business event
273
+ Retrieve the JSON Schema of a specific business event. Pass an optional
274
+ `Epilot-Event-Version` header to retrieve a specific version's schema;
275
+ when omitted, the event's latest version is returned.
270
276
 
271
277
  `GET /v1/events/{event_name}/json_schema`
272
278
 
273
279
  ```ts
274
280
  const { data } = await client.getEventJSONSchema({
275
281
  event_name: 'example',
282
+ Epilot-Event-Version: 'example',
276
283
  })
277
284
  ```
278
285
 
@@ -302,7 +309,7 @@ const { data } = await client.getEventJSONSchema({
302
309
  },
303
310
  "_event_version": {
304
311
  "type": "string",
305
- "description": "Event version (semver)"
312
+ "description": "Event payload version (MAJOR.MINOR)"
306
313
  },
307
314
  "_event_source": {
308
315
  "type": "string",
@@ -388,13 +395,16 @@ const { data } = await client.getEventJSONSchema({
388
395
 
389
396
  ### `getEventExample`
390
397
 
391
- Generate a sample event payload based on the event's JSON Schema
398
+ Generate a sample event payload based on the event's JSON Schema. Pass an
399
+ optional `Epilot-Event-Version` header to generate the example for a
400
+ specific version; when omitted, the event's latest versio
392
401
 
393
402
  `GET /v1/events/{event_name}/example`
394
403
 
395
404
  ```ts
396
405
  const { data } = await client.getEventExample({
397
406
  event_name: 'example',
407
+ Epilot-Event-Version: 'example',
398
408
  })
399
409
  ```
400
410
 
@@ -409,6 +419,50 @@ const { data } = await client.getEventExample({
409
419
 
410
420
  ---
411
421
 
422
+ ### `listEventVersions`
423
+
424
+ List every known version of an event, along with the `latest`
425
+ and the set of currently `active` versions. See §3.2 of the
426
+ Event Payload Versioning RFC.
427
+
428
+ `GET /v1/events/{event_name}/versions`
429
+
430
+ ```ts
431
+ const { data } = await client.listEventVersions({
432
+ event_name: 'example',
433
+ })
434
+ ```
435
+
436
+ <details>
437
+ <summary>Response</summary>
438
+
439
+ ```json
440
+ {
441
+ "event_name": "MeterReadingAdded",
442
+ "latest": "1.0",
443
+ "versions": [
444
+ {
445
+ "version": "1.0",
446
+ "released_at": "2025-11-15",
447
+ "change_summary": "string",
448
+ "change_notes": "string",
449
+ "changes": [
450
+ {
451
+ "field": "reading",
452
+ "op": "added",
453
+ "type_old": "string",
454
+ "type_new": "string"
455
+ }
456
+ ]
457
+ }
458
+ ]
459
+ }
460
+ ```
461
+
462
+ </details>
463
+
464
+ ---
465
+
412
466
  ### `searchEventHistory`
413
467
 
414
468
  Paginated history of events
@@ -446,7 +500,7 @@ const { data } = await client.searchEventHistory(
446
500
  "_event_time": "2024-01-01T12:00:00Z",
447
501
  "_event_id": "01FZ4Z5FZ5FZ5FZ5FZ5FZ5FZ5F",
448
502
  "_event_name": "MeterReading",
449
- "_event_version": "1.0.0",
503
+ "_event_version": "1.0",
450
504
  "_event_source": "api",
451
505
  "_trigger_source_type": "api",
452
506
  "_trigger_source": "user_123456",
@@ -514,7 +568,7 @@ const { data } = await client.searchEventHistoryV2(
514
568
  "_event_time": "1970-01-01T00:00:00.000Z",
515
569
  "_event_id": "string",
516
570
  "_event_name": "string",
517
- "_event_version": "1.0.0",
571
+ "_event_version": "1.0",
518
572
  "_event_source": "string",
519
573
  "_trigger_source_type": "api",
520
574
  "_trigger_source": "string",
@@ -554,7 +608,7 @@ const { data } = await client.getHistoricalEvent({
554
608
  "_event_time": "2024-01-01T12:00:00Z",
555
609
  "_event_id": "01FZ4Z5FZ5FZ5FZ5FZ5FZ5FZ5F",
556
610
  "_event_name": "MeterReading",
557
- "_event_version": "1.0.0",
611
+ "_event_version": "1.0",
558
612
  "_event_source": "api",
559
613
  "_trigger_source_type": "api",
560
614
  "_trigger_source": "user_123456",
@@ -899,9 +953,9 @@ type Event = {
899
953
  A lightweight event summary returned by the v2 history endpoint.
900
954
 
901
955
  Includes the standard `_*` metadata fields plus a projected subset of the
902
- event payload. Hydrated entity objects (values carrying `_schema` or `_id`
903
- and arrays of such objects) are stripped fetch via
904
- `GET /v2/events/{event_name}/his
956
+ event payload. Hydrated entity objects (values carrying `_schema` or `_id`)
957
+ and arrays of such objects are reduced to reference stubs
958
+ `{_schema, _id, _title
905
959
 
906
960
  ```ts
907
961
  type EventSummary = {
@@ -1079,3 +1133,62 @@ type EventAttachment = {
1079
1133
  readable_size?: string
1080
1134
  }
1081
1135
  ```
1136
+
1137
+ ### `FieldChange`
1138
+
1139
+ A field-level change descriptor. Powers the declarative half of the
1140
+ version DSL.
1141
+
1142
+
1143
+ ```ts
1144
+ type FieldChange = {
1145
+ field: string
1146
+ op: "added" | "removed" | "type-changed"
1147
+ type_old?: string
1148
+ type_new?: string
1149
+ }
1150
+ ```
1151
+
1152
+ ### `VersionMeta`
1153
+
1154
+ One entry of an event's version timeline.
1155
+
1156
+ ```ts
1157
+ type VersionMeta = {
1158
+ version: string
1159
+ released_at: string
1160
+ change_summary: string
1161
+ change_notes?: string
1162
+ changes: Array<{
1163
+ field: string
1164
+ op: "added" | "removed" | "type-changed"
1165
+ type_old?: string
1166
+ type_new?: string
1167
+ }>
1168
+ }
1169
+ ```
1170
+
1171
+ ### `EventVersionRegistrySummary`
1172
+
1173
+ Summary of an event's version timeline returned by
1174
+ `GET /v1/events/{event_name}/versions`.
1175
+
1176
+
1177
+ ```ts
1178
+ type EventVersionRegistrySummary = {
1179
+ event_name: string
1180
+ latest: string
1181
+ versions: Array<{
1182
+ version: string
1183
+ released_at: string
1184
+ change_summary: string
1185
+ change_notes?: string
1186
+ changes: Array<{
1187
+ field: { ... }
1188
+ op: { ... }
1189
+ type_old?: { ... }
1190
+ type_new?: { ... }
1191
+ }>
1192
+ }>
1193
+ }
1194
+ ```
package/docs/webhooks.md CHANGED
@@ -475,7 +475,8 @@ const { data } = await client.getEventById({
475
475
  },
476
476
  "status": "succeeded",
477
477
  "http_method": "GET",
478
- "payload": "string"
478
+ "payload": "string",
479
+ "retry_attempt": 0
479
480
  }
480
481
  ```
481
482
 
@@ -605,7 +606,8 @@ const { data } = await client.getWebhookEventsV2(
605
606
  },
606
607
  "status": "succeeded",
607
608
  "http_method": "GET",
608
- "payload": "string"
609
+ "payload": "string",
610
+ "retry_attempt": 0
609
611
  }
610
612
  ],
611
613
  "next_cursor": {
@@ -683,6 +685,7 @@ type EventListResponse = {
683
685
  status?: "succeeded" | "failed" | "in_progress" | "skipped"
684
686
  http_method?: "GET" | "POST" | "PUT"
685
687
  payload?: string
688
+ retry_attempt?: number
686
689
  }>
687
690
  next_cursor?: {
688
691
  created_at?: string // date-time
@@ -826,6 +829,7 @@ type WebhookConfig = {
826
829
  id?: string
827
830
  name: string
828
831
  eventName: string
832
+ eventVersion?: string
829
833
  url?: string
830
834
  creationTime?: string
831
835
  updatedTime?: string
@@ -879,6 +883,10 @@ type WebhookConfig = {
879
883
  fileSource?: string
880
884
  extraFields?: Record<string, string>
881
885
  }
886
+ retryPolicy?: {
887
+ enabled: boolean
888
+ maxAttempts?: number
889
+ }
882
890
  filterConditions?: {
883
891
  conditions?: Array<{
884
892
  field: { ... }
@@ -1045,6 +1053,7 @@ type WebhookEvent = {
1045
1053
  status?: "succeeded" | "failed" | "in_progress" | "skipped"
1046
1054
  http_method?: "GET" | "POST" | "PUT"
1047
1055
  payload?: string
1056
+ retry_attempt?: number
1048
1057
  }
1049
1058
  ```
1050
1059
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/sdk",
3
- "version": "2.7.10",
3
+ "version": "2.7.12",
4
4
  "description": "JavaScript/TypeScript SDK for epilot APIs",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -316,16 +316,6 @@
316
316
  },
317
317
  "./workflow-definition/openapi.json": "./definitions/workflow-definition.json"
318
318
  },
319
- "scripts": {
320
- "generate": "tsx ../../scripts/generate-sdk-v2.ts && pnpm lint:fix",
321
- "build": "tsup",
322
- "build:watch": "tsup --watch",
323
- "test": "vitest run",
324
- "test:watch": "vitest",
325
- "lint": "biome check src",
326
- "lint:fix": "biome check src --fix",
327
- "prepublishOnly": "npm run build"
328
- },
329
319
  "keywords": [
330
320
  "epilot",
331
321
  "sdk",
@@ -516,5 +506,14 @@
516
506
  "./dist/apis/workflow-definition.d.ts"
517
507
  ]
518
508
  }
509
+ },
510
+ "scripts": {
511
+ "generate": "tsx ../../scripts/generate-sdk-v2.ts && pnpm lint:fix",
512
+ "build": "tsup",
513
+ "build:watch": "tsup --watch",
514
+ "test": "vitest run",
515
+ "test:watch": "vitest",
516
+ "lint": "biome check src",
517
+ "lint:fix": "biome check src --fix"
519
518
  }
520
- }
519
+ }
@@ -1 +0,0 @@
1
- {"s":"https://focus-pocus.dev.sls.epilot.io","o":[["getHealth","get","/v1/health"],["listAchievements","get","/v1/achievements"],["getAchievement","get","/v1/achievements/{id}",[["AchievementOrChallengeId"]]],["getSuggestedChallenge","get","/v1/challenges/suggest",[["route","q"],["entity_type","q"],["category_hint","q"]]],["acceptChallenge","post","/v1/challenges/{id}/accept",[["ChallengeId"]]],["dismissChallenge","post","/v1/challenges/{id}/dismiss",[["ChallengeId"]]],["listActiveChallenges","get","/v1/challenges/active"],["postEvent","post","/v1/events",null,1]],"v":"3.0.3","cp":{"AchievementId":["id","p",true],"AchievementOrChallengeId":["id","p",true],"ChallengeId":["id","p",true],"Cursor":["cursor","q"],"Size":["size","q"]}}