@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.
- package/LICENSE +21 -0
- package/definitions/event-catalog-runtime.json +1 -1
- package/definitions/event-catalog.json +168 -12
- package/definitions/webhooks.json +31 -0
- package/dist/apis/access-token.cjs +6 -6
- package/dist/apis/access-token.js +1 -1
- package/dist/apis/address-suggestions.cjs +6 -6
- package/dist/apis/address-suggestions.js +1 -1
- package/dist/apis/address.cjs +6 -6
- package/dist/apis/address.js +1 -1
- package/dist/apis/ai-agents.cjs +6 -6
- package/dist/apis/ai-agents.js +1 -1
- package/dist/apis/app.cjs +6 -6
- package/dist/apis/app.js +1 -1
- package/dist/apis/audit-logs.cjs +6 -6
- package/dist/apis/audit-logs.js +1 -1
- package/dist/apis/automation.cjs +6 -6
- package/dist/apis/automation.js +1 -1
- package/dist/apis/billing.cjs +6 -6
- package/dist/apis/billing.js +1 -1
- package/dist/apis/blueprint-manifest.cjs +6 -6
- package/dist/apis/blueprint-manifest.js +1 -1
- package/dist/apis/calendar.cjs +6 -6
- package/dist/apis/calendar.js +1 -1
- package/dist/apis/configuration-hub.cjs +6 -6
- package/dist/apis/configuration-hub.js +1 -1
- package/dist/apis/consent.cjs +6 -6
- package/dist/apis/consent.js +1 -1
- package/dist/apis/customer-portal.cjs +6 -6
- package/dist/apis/customer-portal.js +1 -1
- package/dist/apis/dashboard.cjs +6 -6
- package/dist/apis/dashboard.js +1 -1
- package/dist/apis/data-governance.cjs +6 -6
- package/dist/apis/data-governance.js +1 -1
- package/dist/apis/deduplication.cjs +6 -6
- package/dist/apis/deduplication.js +1 -1
- package/dist/apis/design.cjs +6 -6
- package/dist/apis/design.js +1 -1
- package/dist/apis/document.cjs +6 -6
- package/dist/apis/document.js +1 -1
- package/dist/apis/email-settings.cjs +6 -6
- package/dist/apis/email-settings.js +1 -1
- package/dist/apis/email-template.cjs +6 -6
- package/dist/apis/email-template.js +1 -1
- package/dist/apis/entity-mapping.cjs +6 -6
- package/dist/apis/entity-mapping.js +1 -1
- package/dist/apis/entity.cjs +6 -6
- package/dist/apis/entity.js +1 -1
- package/dist/apis/environments.cjs +6 -6
- package/dist/apis/environments.js +1 -1
- package/dist/apis/event-catalog.cjs +8 -8
- package/dist/apis/event-catalog.d.cts +2 -2
- package/dist/apis/event-catalog.d.ts +2 -2
- package/dist/apis/event-catalog.js +2 -2
- package/dist/apis/file.cjs +6 -6
- package/dist/apis/file.js +1 -1
- package/dist/apis/iban.cjs +6 -6
- package/dist/apis/iban.js +1 -1
- package/dist/apis/integration-toolkit.cjs +6 -6
- package/dist/apis/integration-toolkit.js +1 -1
- package/dist/apis/journey.cjs +6 -6
- package/dist/apis/journey.js +1 -1
- package/dist/apis/kanban.cjs +6 -6
- package/dist/apis/kanban.js +1 -1
- package/dist/apis/message.cjs +6 -6
- package/dist/apis/message.js +1 -1
- package/dist/apis/metering.cjs +6 -6
- package/dist/apis/metering.js +1 -1
- package/dist/apis/notes.cjs +6 -6
- package/dist/apis/notes.js +1 -1
- package/dist/apis/notification.cjs +6 -6
- package/dist/apis/notification.js +1 -1
- package/dist/apis/organization.cjs +6 -6
- package/dist/apis/organization.js +1 -1
- package/dist/apis/partner-directory.cjs +6 -6
- package/dist/apis/partner-directory.js +1 -1
- package/dist/apis/permissions.cjs +6 -6
- package/dist/apis/permissions.js +1 -1
- package/dist/apis/pricing-tier.cjs +6 -6
- package/dist/apis/pricing-tier.js +1 -1
- package/dist/apis/pricing.cjs +6 -6
- package/dist/apis/pricing.js +1 -1
- package/dist/apis/purpose.cjs +6 -6
- package/dist/apis/purpose.js +1 -1
- package/dist/apis/query.cjs +6 -6
- package/dist/apis/query.js +1 -1
- package/dist/apis/sandbox.cjs +6 -6
- package/dist/apis/sandbox.js +1 -1
- package/dist/apis/sharing.cjs +6 -6
- package/dist/apis/sharing.js +1 -1
- package/dist/apis/submission.cjs +6 -6
- package/dist/apis/submission.js +1 -1
- package/dist/apis/target.cjs +6 -6
- package/dist/apis/target.js +1 -1
- package/dist/apis/targeting.cjs +6 -6
- package/dist/apis/targeting.js +1 -1
- package/dist/apis/template-variables.cjs +6 -6
- package/dist/apis/template-variables.js +1 -1
- package/dist/apis/user.cjs +6 -6
- package/dist/apis/user.js +1 -1
- package/dist/apis/validation-rules.cjs +6 -6
- package/dist/apis/validation-rules.js +1 -1
- package/dist/apis/webhooks.cjs +6 -6
- package/dist/apis/webhooks.d.cts +2 -2
- package/dist/apis/webhooks.d.ts +2 -2
- package/dist/apis/webhooks.js +1 -1
- package/dist/apis/workflow-definition.cjs +6 -6
- package/dist/apis/workflow-definition.js +1 -1
- package/dist/apis/workflow.cjs +6 -6
- package/dist/apis/workflow.js +1 -1
- package/dist/{chunk-PFWNKA6K.js → chunk-5QPKSRW5.js} +3 -3
- package/dist/chunk-FDS727SL.cjs +14 -0
- package/dist/chunk-M4FO2MI4.js +14 -0
- package/dist/{chunk-YSMN2QWQ.cjs → chunk-SAMDHOZ5.cjs} +3 -3
- package/dist/event-catalog-3YOQ46ZW.js +7 -0
- package/dist/event-catalog-HLWUT7RM.cjs +7 -0
- package/dist/{event-catalog-runtime-N262TQ3Y.js → event-catalog-runtime-JUSLF3UR.js} +1 -1
- package/dist/{event-catalog-runtime-B2BPKQVG.cjs → event-catalog-runtime-RH7542GL.cjs} +2 -2
- package/dist/{event-catalog.d-mQJLSYUo.d.cts → event-catalog.d-CXbUn8T1.d.cts} +199 -36
- package/dist/{event-catalog.d-mQJLSYUo.d.ts → event-catalog.d-CXbUn8T1.d.ts} +199 -36
- package/dist/index.cjs +10 -10
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/js-yaml-DLCVPJ7G.js +0 -0
- package/dist/webhooks-6CUXSTPH.cjs +7 -0
- package/dist/webhooks-DTNKNJEN.js +7 -0
- package/dist/{webhooks.d-ByePoUWs.d.ts → webhooks.d-DKZOMj1P.d.cts} +37 -0
- package/dist/{webhooks.d-ByePoUWs.d.cts → webhooks.d-DKZOMj1P.d.ts} +37 -0
- package/docs/event-catalog.md +126 -13
- package/docs/webhooks.md +11 -2
- package/package.json +11 -12
- package/definitions/focus-pocus-runtime.json +0 -1
- package/definitions/focus-pocus.json +0 -757
- package/dist/chunk-CBDKPGO5.cjs +0 -14
- package/dist/chunk-OCMIXJWC.js +0 -14
- package/dist/event-catalog-37B6JC7G.js +0 -7
- package/dist/event-catalog-5JBHJJ2I.cjs +0 -7
- package/dist/webhooks-NZHJBT64.js +0 -7
- 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
|
}
|
package/docs/event-catalog.md
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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 (
|
|
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
|
|
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
|
|
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
|
|
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
|
|
904
|
-
`
|
|
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.
|
|
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"]}}
|