{
"trigger": [
"\"NOT_A_TRIGGER\" is not a valid choice."
]
}
Webhooks
Create a Webhook Subscription
Creates a webhook subscription for the authenticated API user. A subscription may listen for one or more trigger values. Outbound requests default to POST when method is omitted. URL placeholders such as {{id}} and {{metadata.us_state}} are populated from each webhook payload. Optional headers are encrypted at rest and are not returned by the API.
Webhook URL. Supports {{variable}} placeholders resolved from the webhook payload (e.g. https://api.example.com/leads/{{id}}/notify). Use dot notation for nested values (e.g. {{metadata.us_state}}).
Optional filter expression that controls when the webhook fires. The expression is evaluated against the webhook payload - the same data sent in the request body. Leave blank to always fire. Use has('field') to check whether a field exists, get('path.to.value', default) for safe nested access, and comparison operators such as ==, !=, and, or. Examples: status == 'CLOSED', has('last_chat') and last_chat['is_contact'], get('last_chat.call_direction', '') == 'INBOUND'
Optional HTTP headers added to outbound webhook requests. Header values must be strings. Headers are accepted when creating a subscription but are never returned by the API.
Webhook URL. Supports {{variable}} placeholders resolved from the webhook payload (e.g. https://api.example.com/leads/{{id}}/notify). Use dot notation for nested values (e.g. {{metadata.us_state}}).
Optional filter expression that controls when the webhook fires. The expression is evaluated against the webhook payload - the same data sent in the request body. Leave blank to always fire. Use has('field') to check whether a field exists, get('path.to.value', default) for safe nested access, and comparison operators such as ==, !=, and, or. Examples: status == 'CLOSED', has('last_chat') and last_chat['is_contact'], get('last_chat.call_direction', '') == 'INBOUND'
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Sela API","colors":{"primary":"#fd8436","light":"#ffa369","dark":"#fd8436"},"logo":{"light":"https://mintcdn.com/selaai/S7Vx0uHcDLd7UWp_/logo/sela_logo_light.svg?fit=max\u0026auto=format\u0026n=S7Vx0uHcDLd7UWp_\u0026q=85\u0026s=6017477f813eec17b3638d5623f88bab","dark":"https://mintcdn.com/selaai/S7Vx0uHcDLd7UWp_/logo/sela_logo_light.svg?fit=max\u0026auto=format\u0026n=S7Vx0uHcDLd7UWp_\u0026q=85\u0026s=6017477f813eec17b3638d5623f88bab"},"favicon":"https://mintcdn.com/selaai/S7Vx0uHcDLd7UWp_/favicon.svg?fit=max\u0026auto=format\u0026n=S7Vx0uHcDLd7UWp_\u0026q=85\u0026s=5116ff41b80a69e9135ecd753f072f59","api":{"examples":{"prefill":true}},"navbar":{"links":[{"href":"mailto:support@trysela.com","label":"Support"},{"href":"https://trysela.com","label":"Homepage"}],"primary":{"type":"button","label":"To the App","href":"https://app.trysela.com"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/sela-ai"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"selaai","hasAudioNarration":false,"actualSubdomain":"selaai","customDomains":["docs.trysela.com"],"gitSource":{"type":"gitlab","owner":"sela-ai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"projectId":65649618,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a87a0c79196f8baa7a6bbe6","collectionId":"a5f9f17d-6b77-4666-8164-431cba40520a","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6a87a0c79196f8baa7a6bbe6"},"entitlements":{},"buildId":"6a87a0c79196f8baa7a6bbe6:success","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"API Reference","count":24},{"language":"default","tag":"Leads","count":9},{"language":"default","tag":"Documentation","count":7},{"language":"default","tag":"Get Started","count":7},{"language":"default","tag":"Webhooks","count":6},{"language":"default","tag":"API Documentation","count":2},{"language":"default","tag":"Call Control","count":2},{"language":"default","tag":"Lead Ingestion","count":2},{"language":"default","tag":"Lead Types","count":2},{"language":"default","tag":"File Ingestion","count":1}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/webhooks/create-a-webhook-subscription","slug":"/api-reference/webhooks/create-a-webhook-subscription","pageMetadata":{"title":"Create a Webhook Subscription","description":"Creates a webhook subscription for the authenticated API user. A subscription may listen for one or more trigger values. Outbound requests default to POST when method is omitted. URL placeholders such as `{{id}}` and `{{metadata.us_state}}` are populated from each webhook payload. Optional headers are encrypted at rest and are not returned by the API.","deprecated":null,"version":null,"openapi":"/Sela_API.yaml post /api/webhooks/","href":"/api-reference/webhooks/create-a-webhook-subscription","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Creates a webhook subscription for the authenticated API user. A subscription may listen for one or more trigger values. Outbound requests default to POST when method is omitted. URL placeholders such as \", _jsx(_components.code, {\n children: \"{{id}}\"\n }), \" and \", _jsx(_components.code, {\n children: \"{{metadata.us_state}}\"\n }), \" are populated from each webhook payload. Optional headers are encrypted at rest and are not returned by the API.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create a Webhook Subscription","description":"Creates a webhook subscription for the authenticated API user. A subscription may listen for one or more trigger values. Outbound requests default to POST when method is omitted. URL placeholders such as `{{id}}` and `{{metadata.us_state}}` are populated from each webhook payload. Optional headers are encrypted at rest and are not returned by the API.","deprecated":null,"version":null,"openapi":"/Sela_API.yaml post /api/webhooks/","href":"/api-reference/webhooks/create-a-webhook-subscription","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"webhooks_create","description":"Creates a webhook subscription for the authenticated API user. A subscription may listen for one or more trigger values. Outbound requests default to POST when method is omitted. URL placeholders such as `{{id}}` and `{{metadata.us_state}}` are populated from each webhook payload. Optional headers are encrypted at rest and are not returned by the API.","summary":"Create a Webhook Subscription","tags":["Webhooks"],"requestBody":"7652a4be-f722-4d24-97b8-b17fcdde3454","security":["2e1dec04-cec0-4009-aace-1af4ae6efb06"],"responses":{"201":"afb9aa07-27e5-4289-a4e7-825329e149ba","400":"5418358f-8bb9-4a90-869a-89588d2fe489","401":"e4158bf8-8bab-4b31-ae32-24ca104ec619","403":"bd481c4b-9f22-41d2-b5dc-decd2df5160d"},"x-codeSamples":[{"lang":"curl","label":"CRMWebhook","source":"curl --request POST \\\n --url https://api.trysela.com/api/webhooks/ \\\n --header 'Authorization: Token \u003capi-key>' \\\n --header 'Content-Type: application/json' \\\n --data '{\n \"url\": \"https://crm.example.com/leads/{{id}}/events\",\n \"trigger\": [\n \"LEAD_CREATED\",\n \"CALL_COMPLETE\"\n ],\n \"method\": \"POST\",\n \"filter_condition\": \"get('\"'\"'last_chat.is_contact'\"'\"', False)\",\n \"headers\": {\n \"Authorization\": \"Bearer \u003ccrm-api-token>\"\n }\n }'"}],"method":"post","type":"path","servers":["fdf00776-f0fa-462c-ba9f-021973f1f75c"],"path":"/api/webhooks/","baseUrlOptions":["https://api.trysela.com/"],"title":"Create a Webhook Subscription","codeSamples":[{"label":"CRMWebhook","lang":"curl","source":"curl --request POST \\\n --url https://api.trysela.com/api/webhooks/ \\\n --header 'Authorization: Token \u003capi-key>' \\\n --header 'Content-Type: application/json' \\\n --data '{\n \"url\": \"https://crm.example.com/leads/{{id}}/events\",\n \"trigger\": [\n \"LEAD_CREATED\",\n \"CALL_COMPLETE\"\n ],\n \"method\": \"POST\",\n \"filter_condition\": \"get('\"'\"'last_chat.is_contact'\"'\"', False)\",\n \"headers\": {\n \"Authorization\": \"Bearer \u003ccrm-api-token>\"\n }\n }'"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.url":"https://crm.example.com/leads/{{id}}/events","body.trigger.items.0":"LEAD_CREATED","body.trigger.items.1":"CALL_COMPLETE","body.method.oneOf.0":"POST","body.filter_condition.oneOf.0":"get('last_chat.is_contact', False)","body.headers.Authorization":"Bearer \u003ccrm-api-token>"}]},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","minLength":1,"description":"Webhook URL. Supports {{variable}} placeholders resolved from the webhook payload (e.g. https://api.example.com/leads/{{id}}/notify). Use dot notation for nested values (e.g. {{metadata.us_state}}).","maxLength":255,"isRequired":true,"uniqueKey":"url","typeLabel":"string\u003curi>"},"trigger":{"type":"array","items":{"type":"string","enum":["LEAD_CREATED","LEAD_UPDATED","LEAD_CLOSED","LEAD_CLOSED_INCOMPLETE","LEAD_LOST","LEAD_SCHEDULE_COMPLETED","LEAD_LATE_CALLBACK","LEAD_OUT_OF_TERRITORY","LEAD_BAD_NUMBER","LEAD_CANCELLED","LEAD_CALLBACK_TO_TRANSFER","LEAD_BEFORE_REENGAGEMENT","LEAD_REENGAGEMENT","LEAD_FIRST_INBOUND","CALL_COMPLETE","BEFORE_CALLING","CALL_FAILED","CALL_ENDED","CALL_TRANSFER_INITIATED","SMS_COMPLETE","SMS_DNC","CALL_DNC"],"uniqueKey":"trigger.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"trigger","typeLabel":"enum\u003cstring>[]"},"method":{"oneOf":[{"type":"string","description":"HTTP method to use when sending the webhook request. NULL or blank defaults to POST.\n\n* `GET` - GET\n* `POST` - POST\n* `PUT` - PUT\n* `PATCH` - PATCH","enum":["GET","POST","PUT","PATCH"],"uniqueKey":"method.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"HTTP method to use when sending the webhook request. NULL or blank defaults to POST.\n\n* `GET` - GET\n* `POST` - POST\n* `PUT` - PUT\n* `PATCH` - PATCH","enum":[""],"uniqueKey":"method.oneOf.1","typeLabel":"enum\u003cstring>"},{"description":"HTTP method to use when sending the webhook request. NULL or blank defaults to POST.\n\n* `GET` - GET\n* `POST` - POST\n* `PUT` - PUT\n* `PATCH` - PATCH","enum":[null],"uniqueKey":"method.oneOf.2","typeLabel":"any"},{"type":"null","uniqueKey":"method.oneOf.3","typeLabel":"null"}],"uniqueKey":"method","typeLabel":"enum\u003cstring> · enum\u003cstring> · any · null"},"filter_condition":{"oneOf":[{"type":"string","description":"Optional filter expression that controls when the webhook fires. The expression is evaluated against the webhook payload - the same data sent in the request body. Leave blank to always fire. Use has('field') to check whether a field exists, get('path.to.value', default) for safe nested access, and comparison operators such as ==, !=, and, or. Examples: status == 'CLOSED', has('last_chat') and last_chat['is_contact'], get('last_chat.call_direction', '') == 'INBOUND'","uniqueKey":"filter_condition.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional filter expression that controls when the webhook fires. The expression is evaluated against the webhook payload - the same data sent in the request body. Leave blank to always fire. Use has('field') to check whether a field exists, get('path.to.value', default) for safe nested access, and comparison operators such as ==, !=, and, or. Examples: status == 'CLOSED', has('last_chat') and last_chat['is_contact'], get('last_chat.call_direction', '') == 'INBOUND'","uniqueKey":"filter_condition.oneOf.1","typeLabel":"null"}],"uniqueKey":"filter_condition","typeLabel":"string | null"},"headers":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"headers.additionalProperties","typeLabel":"string"},"writeOnly":true,"description":"Optional HTTP headers added to outbound webhook requests. Header values must be strings. Headers are accepted when creating a subscription but are never returned by the API.","uniqueKey":"headers","typeLabel":"object"}},"required":["url"],"uniqueKey":"","typeLabel":"object"},"examples":{"CRMWebhook":{"title":"CRMWebhook","description":"Send lead creation and completed-call events to a CRM.","value":{"url":"https://crm.example.com/leads/{{id}}/events","trigger":["LEAD_CREATED","CALL_COMPLETE"],"method":"POST","filter_condition":"get('last_chat.is_contact', False)","headers":{"Authorization":"Bearer \u003ccrm-api-token>"}}}},"exampleType":"examples"},"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","minLength":1,"description":"Webhook URL. Supports {{variable}} placeholders resolved from the webhook payload (e.g. https://api.example.com/leads/{{id}}/notify). Use dot notation for nested values (e.g. {{metadata.us_state}}).","maxLength":255,"isRequired":true,"uniqueKey":"url","typeLabel":"string\u003curi>"},"trigger":{"type":"array","items":{"type":"string","enum":["LEAD_CREATED","LEAD_UPDATED","LEAD_CLOSED","LEAD_CLOSED_INCOMPLETE","LEAD_LOST","LEAD_SCHEDULE_COMPLETED","LEAD_LATE_CALLBACK","LEAD_OUT_OF_TERRITORY","LEAD_BAD_NUMBER","LEAD_CANCELLED","LEAD_CALLBACK_TO_TRANSFER","LEAD_BEFORE_REENGAGEMENT","LEAD_REENGAGEMENT","LEAD_FIRST_INBOUND","CALL_COMPLETE","BEFORE_CALLING","CALL_FAILED","CALL_ENDED","CALL_TRANSFER_INITIATED","SMS_COMPLETE","SMS_DNC","CALL_DNC"],"uniqueKey":"trigger.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"trigger","typeLabel":"enum\u003cstring>[]"},"method":{"oneOf":[{"type":"string","description":"HTTP method to use when sending the webhook request. NULL or blank defaults to POST.\n\n* `GET` - GET\n* `POST` - POST\n* `PUT` - PUT\n* `PATCH` - PATCH","enum":["GET","POST","PUT","PATCH"],"uniqueKey":"method.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"HTTP method to use when sending the webhook request. NULL or blank defaults to POST.\n\n* `GET` - GET\n* `POST` - POST\n* `PUT` - PUT\n* `PATCH` - PATCH","enum":[""],"uniqueKey":"method.oneOf.1","typeLabel":"enum\u003cstring>"},{"description":"HTTP method to use when sending the webhook request. NULL or blank defaults to POST.\n\n* `GET` - GET\n* `POST` - POST\n* `PUT` - PUT\n* `PATCH` - PATCH","enum":[null],"uniqueKey":"method.oneOf.2","typeLabel":"any"},{"type":"null","uniqueKey":"method.oneOf.3","typeLabel":"null"}],"uniqueKey":"method","typeLabel":"enum\u003cstring> · enum\u003cstring> · any · null"},"filter_condition":{"oneOf":[{"type":"string","description":"Optional filter expression that controls when the webhook fires. The expression is evaluated against the webhook payload - the same data sent in the request body. Leave blank to always fire. Use has('field') to check whether a field exists, get('path.to.value', default) for safe nested access, and comparison operators such as ==, !=, and, or. Examples: status == 'CLOSED', has('last_chat') and last_chat['is_contact'], get('last_chat.call_direction', '') == 'INBOUND'","uniqueKey":"filter_condition.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional filter expression that controls when the webhook fires. The expression is evaluated against the webhook payload - the same data sent in the request body. Leave blank to always fire. Use has('field') to check whether a field exists, get('path.to.value', default) for safe nested access, and comparison operators such as ==, !=, and, or. Examples: status == 'CLOSED', has('last_chat') and last_chat['is_contact'], get('last_chat.call_direction', '') == 'INBOUND'","uniqueKey":"filter_condition.oneOf.1","typeLabel":"null"}],"uniqueKey":"filter_condition","typeLabel":"string | null"},"headers":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"headers.additionalProperties","typeLabel":"string"},"writeOnly":true,"description":"Optional HTTP headers added to outbound webhook requests. Header values must be strings. Headers are accepted when creating a subscription but are never returned by the API.","uniqueKey":"headers","typeLabel":"object"}},"required":["url"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"url":"\u003cstring>","trigger":[],"filter_condition":"\u003cstring>","headers":{}}}},"exampleType":"generated"},"multipart/form-data":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri","minLength":1,"description":"Webhook URL. Supports {{variable}} placeholders resolved from the webhook payload (e.g. https://api.example.com/leads/{{id}}/notify). Use dot notation for nested values (e.g. {{metadata.us_state}}).","maxLength":255,"isRequired":true,"uniqueKey":"url","typeLabel":"string\u003curi>"},"trigger":{"type":"array","items":{"type":"string","enum":["LEAD_CREATED","LEAD_UPDATED","LEAD_CLOSED","LEAD_CLOSED_INCOMPLETE","LEAD_LOST","LEAD_SCHEDULE_COMPLETED","LEAD_LATE_CALLBACK","LEAD_OUT_OF_TERRITORY","LEAD_BAD_NUMBER","LEAD_CANCELLED","LEAD_CALLBACK_TO_TRANSFER","LEAD_BEFORE_REENGAGEMENT","LEAD_REENGAGEMENT","LEAD_FIRST_INBOUND","CALL_COMPLETE","BEFORE_CALLING","CALL_FAILED","CALL_ENDED","CALL_TRANSFER_INITIATED","SMS_COMPLETE","SMS_DNC","CALL_DNC"],"uniqueKey":"trigger.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"trigger","typeLabel":"enum\u003cstring>[]"},"method":{"oneOf":[{"type":"string","description":"HTTP method to use when sending the webhook request. NULL or blank defaults to POST.\n\n* `GET` - GET\n* `POST` - POST\n* `PUT` - PUT\n* `PATCH` - PATCH","enum":["GET","POST","PUT","PATCH"],"uniqueKey":"method.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"HTTP method to use when sending the webhook request. NULL or blank defaults to POST.\n\n* `GET` - GET\n* `POST` - POST\n* `PUT` - PUT\n* `PATCH` - PATCH","enum":[""],"uniqueKey":"method.oneOf.1","typeLabel":"enum\u003cstring>"},{"description":"HTTP method to use when sending the webhook request. NULL or blank defaults to POST.\n\n* `GET` - GET\n* `POST` - POST\n* `PUT` - PUT\n* `PATCH` - PATCH","enum":[null],"uniqueKey":"method.oneOf.2","typeLabel":"any"},{"type":"null","uniqueKey":"method.oneOf.3","typeLabel":"null"}],"uniqueKey":"method","typeLabel":"enum\u003cstring> · enum\u003cstring> · any · null"},"filter_condition":{"oneOf":[{"type":"string","description":"Optional filter expression that controls when the webhook fires. The expression is evaluated against the webhook payload - the same data sent in the request body. Leave blank to always fire. Use has('field') to check whether a field exists, get('path.to.value', default) for safe nested access, and comparison operators such as ==, !=, and, or. Examples: status == 'CLOSED', has('last_chat') and last_chat['is_contact'], get('last_chat.call_direction', '') == 'INBOUND'","uniqueKey":"filter_condition.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional filter expression that controls when the webhook fires. The expression is evaluated against the webhook payload - the same data sent in the request body. Leave blank to always fire. Use has('field') to check whether a field exists, get('path.to.value', default) for safe nested access, and comparison operators such as ==, !=, and, or. Examples: status == 'CLOSED', has('last_chat') and last_chat['is_contact'], get('last_chat.call_direction', '') == 'INBOUND'","uniqueKey":"filter_condition.oneOf.1","typeLabel":"null"}],"uniqueKey":"filter_condition","typeLabel":"string | null"},"headers":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"headers.additionalProperties","typeLabel":"string"},"writeOnly":true,"description":"Optional HTTP headers added to outbound webhook requests. Header values must be strings. Headers are accepted when creating a subscription but are never returned by the API.","uniqueKey":"headers","typeLabel":"object"}},"required":["url"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"url":"\u003cstring>","trigger":[],"filter_condition":"\u003cstring>","headers":{}}}},"exampleType":"generated"}},"required":true,"exampleType":"examples"},"responses":{"afb9aa07-27e5-4289-a4e7-825329e149ba":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"isRequired":true,"uniqueKey":"id","typeLabel":"integer"},"url":{"type":"string","format":"uri","description":"Webhook URL. Supports {{variable}} placeholders resolved from the webhook payload (e.g. https://api.example.com/leads/{{id}}/notify). Use dot notation for nested values (e.g. {{metadata.us_state}}).","maxLength":255,"isRequired":true,"uniqueKey":"url","typeLabel":"string\u003curi>"},"trigger":{"type":"array","items":{"type":"string","enum":["LEAD_CREATED","LEAD_UPDATED","LEAD_CLOSED","LEAD_CLOSED_INCOMPLETE","LEAD_LOST","LEAD_SCHEDULE_COMPLETED","LEAD_LATE_CALLBACK","LEAD_OUT_OF_TERRITORY","LEAD_BAD_NUMBER","LEAD_CANCELLED","LEAD_CALLBACK_TO_TRANSFER","LEAD_BEFORE_REENGAGEMENT","LEAD_REENGAGEMENT","LEAD_FIRST_INBOUND","CALL_COMPLETE","BEFORE_CALLING","CALL_FAILED","CALL_ENDED","CALL_TRANSFER_INITIATED","SMS_COMPLETE","SMS_DNC","CALL_DNC"],"uniqueKey":"trigger.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"trigger","typeLabel":"enum\u003cstring>[]"},"method":{"oneOf":[{"type":"string","description":"HTTP method to use when sending the webhook request. NULL or blank defaults to POST.\n\n* `GET` - GET\n* `POST` - POST\n* `PUT` - PUT\n* `PATCH` - PATCH","enum":["GET","POST","PUT","PATCH"],"uniqueKey":"method.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"HTTP method to use when sending the webhook request. NULL or blank defaults to POST.\n\n* `GET` - GET\n* `POST` - POST\n* `PUT` - PUT\n* `PATCH` - PATCH","enum":[""],"uniqueKey":"method.oneOf.1","typeLabel":"enum\u003cstring>"},{"description":"HTTP method to use when sending the webhook request. NULL or blank defaults to POST.\n\n* `GET` - GET\n* `POST` - POST\n* `PUT` - PUT\n* `PATCH` - PATCH","enum":[null],"uniqueKey":"method.oneOf.2","typeLabel":"any"},{"type":"null","uniqueKey":"method.oneOf.3","typeLabel":"null"}],"uniqueKey":"method","typeLabel":"enum\u003cstring> · enum\u003cstring> · any · null"},"filter_condition":{"oneOf":[{"type":"string","description":"Optional filter expression that controls when the webhook fires. The expression is evaluated against the webhook payload - the same data sent in the request body. Leave blank to always fire. Use has('field') to check whether a field exists, get('path.to.value', default) for safe nested access, and comparison operators such as ==, !=, and, or. Examples: status == 'CLOSED', has('last_chat') and last_chat['is_contact'], get('last_chat.call_direction', '') == 'INBOUND'","uniqueKey":"filter_condition.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional filter expression that controls when the webhook fires. The expression is evaluated against the webhook payload - the same data sent in the request body. Leave blank to always fire. Use has('field') to check whether a field exists, get('path.to.value', default) for safe nested access, and comparison operators such as ==, !=, and, or. Examples: status == 'CLOSED', has('last_chat') and last_chat['is_contact'], get('last_chat.call_direction', '') == 'INBOUND'","uniqueKey":"filter_condition.oneOf.1","typeLabel":"null"}],"uniqueKey":"filter_condition","typeLabel":"string | null"}},"required":["id","url"],"uniqueKey":"","typeLabel":"object"},"examples":{"WebhookSubscriptionCreated":{"title":"WebhookSubscriptionCreated","value":{"id":42,"url":"https://crm.example.com/leads/{{id}}/events","trigger":["LEAD_CREATED","CALL_COMPLETE"],"method":"POST","filter_condition":"get('last_chat.is_contact', False)"}}},"exampleType":"examples"}},"description":"Webhook subscription created successfully.","exampleType":"examples"},"5418358f-8bb9-4a90-869a-89588d2fe489":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"array","items":{"type":"string","uniqueKey":"url.items.[INDEX]","typeLabel":"string"},"uniqueKey":"url","typeLabel":"string[]"},"trigger":{"type":"array","items":{"type":"string","uniqueKey":"trigger.items.[INDEX]","typeLabel":"string"},"uniqueKey":"trigger","typeLabel":"string[]"},"method":{"type":"array","items":{"type":"string","uniqueKey":"method.items.[INDEX]","typeLabel":"string"},"uniqueKey":"method","typeLabel":"string[]"},"filter_condition":{"type":"array","items":{"type":"string","uniqueKey":"filter_condition.items.[INDEX]","typeLabel":"string"},"uniqueKey":"filter_condition","typeLabel":"string[]"},"headers":{"type":"array","items":{"type":"string","uniqueKey":"headers.items.[INDEX]","typeLabel":"string"},"uniqueKey":"headers","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"InvalidTrigger":{"title":"InvalidTrigger","value":{"trigger":["\"NOT_A_TRIGGER\" is not a valid choice."]}}},"exampleType":"examples"}},"description":"The URL, triggers, filter expression, method, or headers are invalid.","exampleType":"examples"},"e4158bf8-8bab-4b31-ae32-24ca104ec619":{"description":"API token is missing or invalid.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"bd481c4b-9f22-41d2-b5dc-decd2df5160d":{"description":"The API user does not have permission to create webhooks.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"2e1dec04-cec0-4009-aace-1af4ae6efb06":{"tokenAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\"","scopes":[]}}},"servers":{"fdf00776-f0fa-462c-ba9f-021973f1f75c":{"url":"https://api.trysela.com/","description":"Production API"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"Authorization","description":"Token-based authentication with required prefix \"Token\"","scopes":[]},"schema":{"title":"Authorization","type":"string","description":"Token-based authentication with required prefix \"Token\"","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"tokenAuth","name":"Authorization"}],"title":"tokenAuth"}]},"originalFileLocation":"Sela_API.yaml"},"subdomain":"selaai","siteName":"Sela API","title":"Create a Webhook Subscription - Sela API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-21T00:50:19.305Z","originalFileLocation":"api-reference/webhooks/create-a-webhook-subscription.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Creates a webhook subscription for the authenticated API user. A subscription may listen for one or more trigger values. Outbound requests default to POST when method is omitted. URL placeholders such as {{id}} and {{metadata.us_state}} are populated from each webhook payload. Optional headers are encrypted at rest and are not returned by the API.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Sela API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/selaai/OqFh2gFXjnGtEilg/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/selaai/OqFh2gFXjnGtEilg/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/selaai/OqFh2gFXjnGtEilg/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/selaai/OqFh2gFXjnGtEilg/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/selaai/OqFh2gFXjnGtEilg/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/selaai/OqFh2gFXjnGtEilg/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/selaai/OqFh2gFXjnGtEilg/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/selaai/OqFh2gFXjnGtEilg/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/selaai/OqFh2gFXjnGtEilg/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a Webhook Subscription - Sela API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates a webhook subscription for the authenticated API user. A subscription may listen for one or more trigger values. Outbound requests default to POST when method is omitted. URL placeholders such as {{id}} and {{metadata.us_state}} are populated from each webhook payload. Optional headers are encrypted at rest and are not returned by the API.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Sela API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.trysela.com/api-reference/webhooks/create-a-webhook-subscription\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://selaai.mintlify.app/_mintlify/api/og/v2?division=Webhooks\u0026amp;title=Create+a+Webhook+Subscription\u0026amp;description=Creates+a+webhook+subscription+for+the+authenticated+API+user.+A+subscription+may+listen+for+one+or+more+trigger+values.+Outbound+requests+default+to+POST+when+\u0026amp;theme=601b8ffb9c22faf695705d4f\u0026amp;signature=8e99bf24dfd6deccf3e9330251440481b259daf590aaec5bcf600f82af1b59e9\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create a Webhook Subscription - Sela API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates a webhook subscription for the authenticated API user. A subscription may listen for one or more trigger values. Outbound requests default to POST when method is omitted. URL placeholders such as {{id}} and {{metadata.us_state}} are populated from each webhook payload. Optional headers are encrypted at rest and are not returned by the API.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://selaai.mintlify.app/_mintlify/api/og/v2?division=Webhooks\u0026amp;title=Create+a+Webhook+Subscription\u0026amp;description=Creates+a+webhook+subscription+for+the+authenticated+API+user.+A+subscription+may+listen+for+one+or+more+trigger+values.+Outbound+requests+default+to+POST+when+\u0026amp;theme=601b8ffb9c22faf695705d4f\u0026amp;signature=8e99bf24dfd6deccf3e9330251440481b259daf590aaec5bcf600f82af1b59e9\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/selaai/OqFh2gFXjnGtEilg/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Sela API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#fd8436\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.trysela.com/api-reference/webhooks/create-a-webhook-subscription\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/webhooks/create-a-webhook-subscription.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.trysela.com/#organization\",\"name\":\"Sela API\",\"url\":\"https://docs.trysela.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/selaai/S7Vx0uHcDLd7UWp_/logo/sela_logo_light.svg?fit=max\u0026auto=format\u0026n=S7Vx0uHcDLd7UWp_\u0026q=85\u0026s=6017477f813eec17b3638d5623f88bab\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.trysela.com#website\",\"name\":\"Sela API\",\"url\":\"https://docs.trysela.com\",\"publisher\":{\"@id\":\"https://docs.trysela.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.trysela.com/api-reference/webhooks/create-a-webhook-subscription#webpage\",\"url\":\"https://docs.trysela.com/api-reference/webhooks/create-a-webhook-subscription\",\"name\":\"Create a Webhook Subscription\",\"description\":\"Creates a webhook subscription for the authenticated API user. A subscription may listen for one or more trigger values. Outbound requests default to POST when method is omitted. URL placeholders such as {{id}} and {{metadata.us_state}} are populated from each webhook payload. Optional headers are encrypted at rest and are not returned by the API.\",\"dateModified\":\"2026-08-21T00:50:19.305Z\",\"isPartOf\":{\"@id\":\"https://docs.trysela.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.trysela.com/api-reference/webhooks/create-a-webhook-subscription#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.trysela.com/api-reference/webhooks/create-a-webhook-subscription#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Webhooks\",\"item\":\"https://docs.trysela.com/api-reference/webhooks/list-webhook-subscriptions\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a Webhook Subscription\",\"item\":\"https://docs.trysela.com/api-reference/webhooks/create-a-webhook-subscription\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.trysela.com/api-reference/webhooks/create-a-webhook-subscription#apireference\",\"headline\":\"Create a Webhook Subscription\",\"name\":\"Create a Webhook Subscription\",\"description\":\"Creates a webhook subscription for the authenticated API user. A subscription may listen for one or more trigger values. Outbound requests default to POST when method is omitted. URL placeholders such as {{id}} and {{metadata.us_state}} are populated from each webhook payload. Optional headers are encrypted at rest and are not returned by the API.\",\"url\":\"https://docs.trysela.com/api-reference/webhooks/create-a-webhook-subscription\",\"mainEntityOfPage\":{\"@id\":\"https://docs.trysela.com/api-reference/webhooks/create-a-webhook-subscription#webpage\"},\"dateModified\":\"2026-08-21T00:50:19.305Z\",\"publisher\":{\"@id\":\"https://docs.trysela.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.trysela.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Sela API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Sela API","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/integrating-with-sela"}]},{"tab":"API Reference","groups":[{"group":"API Documentation","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"Webhook Responses","href":"/api-reference/webhook"}]},{"group":"Leads","pages":[{"title":"List Leads","deprecated":null,"version":null,"openapi":"/Sela_API.yaml get /api/leads/","href":"/api-reference/leads/list-leads"},{"title":"Create a Lead","deprecated":null,"version":null,"openapi":"/Sela_API.yaml post /api/leads/","href":"/api-reference/leads/create-a-lead"},{"title":"Bulk Create Leads","deprecated":null,"version":null,"openapi":"/Sela_API.yaml post /api/leads/bulk-create/","href":"/api-reference/leads/bulk-create-leads"},{"title":"Bulk Update Leads","deprecated":null,"version":null,"openapi":"/Sela_API.yaml patch /api/leads/bulk-update/","href":"/api-reference/leads/bulk-update-leads"},{"title":"DNC a Phone Number","deprecated":null,"version":null,"openapi":"/Sela_API.yaml post /api/leads/dnc-phone-number/","href":"/api-reference/leads/dnc-a-phone-number"},{"title":"Update a Lead with Phone / Email Match","deprecated":null,"version":null,"openapi":"/Sela_API.yaml put /api/leads/update/","href":"/api-reference/leads/update-a-lead-with-phone-email-match"},{"title":"Retrieve a Lead","deprecated":null,"version":null,"openapi":"/Sela_API.yaml get /api/leads/{id}/","href":"/api-reference/leads/retrieve-a-lead"},{"title":"Update a Lead","deprecated":null,"version":null,"openapi":"/Sela_API.yaml patch /api/leads/{id}/","href":"/api-reference/leads/update-a-lead"},{"title":"Update Live Call","deprecated":null,"version":null,"openapi":"/Sela_API.yaml patch /api/leads/{id}/live-call/","href":"/api-reference/leads/update-live-call"}]},{"group":"Call Control","pages":[{"title":"Pause Outbound Calls","deprecated":null,"version":null,"openapi":"/Sela_API.yaml post /api/users/{id}/pause-calls/","href":"/api-reference/call-control/pause-outbound-calls"},{"title":"Unpause and Reschedule Outbound Calls","deprecated":null,"version":null,"openapi":"/Sela_API.yaml post /api/users/{id}/unpause-calls/","href":"/api-reference/call-control/unpause-and-reschedule-outbound-calls"}]},{"group":"Lead Types","pages":[{"title":"List Lead Types","deprecated":null,"version":null,"openapi":"/Sela_API.yaml get /api/lead-types/","href":"/api-reference/lead-types/list-lead-types"},{"title":"Retrieve a Lead Type","deprecated":null,"version":null,"openapi":"/Sela_API.yaml get /api/lead-types/{id}/","href":"/api-reference/lead-types/retrieve-a-lead-type"}]},{"group":"Webhooks","pages":[{"title":"List Webhook Subscriptions","description":"Returns the webhook subscriptions owned by the authenticated API user. Each subscription identifies the destination URL, outbound HTTP method, events that trigger delivery, and optional delivery filter. Secret headers are write-only and are never included in responses.","deprecated":null,"version":null,"openapi":"/Sela_API.yaml get /api/webhooks/","href":"/api-reference/webhooks/list-webhook-subscriptions"},{"title":"Create a Webhook Subscription","deprecated":null,"version":null,"openapi":"/Sela_API.yaml post /api/webhooks/","href":"/api-reference/webhooks/create-a-webhook-subscription"},{"title":"Delete Webhook Subscriptions by URL","description":"Deletes every webhook subscription owned by the authenticated API user whose destination exactly matches the supplied URL.","deprecated":null,"version":null,"openapi":"/Sela_API.yaml delete /api/webhooks/unsubscribe/","href":"/api-reference/webhooks/delete-webhook-subscriptions-by-url"},{"title":"Retrieve a Webhook Subscription","deprecated":null,"version":null,"openapi":"/Sela_API.yaml get /api/webhooks/{id}/","href":"/api-reference/webhooks/retrieve-a-webhook-subscription"},{"title":"Delete a Webhook Subscription","deprecated":null,"version":null,"openapi":"/Sela_API.yaml delete /api/webhooks/{id}/","href":"/api-reference/webhooks/delete-a-webhook-subscription"},{"title":"Replay Recent Chat Webhooks","deprecated":null,"version":null,"openapi":"/Sela_API.yaml post /api/agents/webhooks/replay-recent-chat/","href":"/api-reference/webhooks/replay-recent-chat-webhooks"}]},{"group":"Lead Ingestion","pages":[{"title":"Create a Lead from a Custom Payload","deprecated":null,"version":null,"openapi":"/Sela_API.yaml post /api/ingest-lead/{id}/create/","href":"/api-reference/lead-ingestion/create-a-lead-from-a-custom-payload"},{"title":"Create or Update a Lead from a Custom Payload","deprecated":null,"version":null,"openapi":"/Sela_API.yaml post /api/ingest-lead/{id}/upsert/","href":"/api-reference/lead-ingestion/create-or-update-a-lead-from-a-custom-payload"}]},{"group":"File Ingestion","pages":[{"title":"Create a File Upload URL","deprecated":null,"version":null,"openapi":"/Sela_API.yaml post /api/ingestion/upload/","href":"/api-reference/file-ingestion/create-a-file-upload-url"}]}]}]},"title":"Create a Webhook Subscription - Sela API","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js","Markdown-Cfiy0xZO.js","clsx-rL8ZCCw4.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-aeztFa9U.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BywkCr5C.js"]}