package mainimport( "context" "github.com/novuhq/novu-go/v3" "github.com/novuhq/novu-go/v3/models/components" "github.com/novuhq/novu-go/v3/models/operations" "log")func main() { ctx := context.Background() s := v3.New( v3.WithSecurity("YOUR_SECRET_KEY_HERE"), ) res, err := s.ChannelEndpoints.Create(ctx, operations.CreateChannelEndpointsControllerCreateChannelEndpointRequestBodySlackChannel( components.CreateSlackChannelEndpointDto{ SubscriberID: "subscriber-123", IntegrationIdentifier: "slack-prod", Type: components.CreateSlackChannelEndpointDtoTypeSlackChannel, Endpoint: components.SlackChannelEndpointDto{ ChannelID: "C123456789", }, }, ), nil) if err != nil { log.Fatal(err) } if res.GetChannelEndpointResponseDto != nil { switch res.GetChannelEndpointResponseDto.Endpoint.Type { case components.EndpointTypeSlackChannelEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.SlackChannelEndpointDto is populated case components.EndpointTypeSlackUserEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.SlackUserEndpointDto is populated case components.EndpointTypeWebhookEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.WebhookEndpointDto is populated case components.EndpointTypePhoneEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.PhoneEndpointDto is populated case components.EndpointTypeMsTeamsChannelEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.MsTeamsChannelEndpointDto is populated case components.EndpointTypeMsTeamsUserEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.MsTeamsUserEndpointDto is populated case components.EndpointTypeTelegramChatEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.TelegramChatEndpointDto is populated case components.EndpointTypeWebexRoomEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.WebexRoomEndpointDto is populated case components.EndpointTypeWebexPersonEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.WebexPersonEndpointDto is populated case components.EndpointTypeLineUserEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.LineUserEndpointDto is populated case components.EndpointTypePagerDutyServiceEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.PagerDutyServiceEndpointDto is populated case components.EndpointTypeOpsgenieIntegrationEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.OpsgenieIntegrationEndpointDto is populated case components.EndpointTypeGrafanaOnCallIntegrationEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.GrafanaOnCallIntegrationEndpointDto is populated case components.EndpointTypeToolWebhookEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.ToolWebhookEndpointDto is populated } }}
import { Novu } from "@novu/api";
const novu = new Novu({
secretKey: "YOUR_SECRET_KEY_HERE",
});
async function run() {
const result = await novu.channelEndpoints.create({
subscriberId: "subscriber-123",
createSubscriberIfMissing: false,
integrationIdentifier: "slack-prod",
type: "slack_channel",
endpoint: {
channelId: "C123456789",
},
});
console.log(result);
}
run();
using Novu;
using Novu.Models.Components;
using Novu.Models.Requests;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.ChannelEndpoints.CreateAsync(requestBody: ChannelEndpointsControllerCreateChannelEndpointRequestBody.CreateSlackChannel(
new CreateSlackChannelEndpointDto() {
SubscriberId = "subscriber-123",
IntegrationIdentifier = "slack-prod",
Type = CreateSlackChannelEndpointDtoType.SlackChannel,
Endpoint = new SlackChannelEndpointDto() {
ChannelId = "C123456789",
},
}
));
// handle response
declare(strict_types=1);
require 'vendor/autoload.php';
use novu;
use novu\Models\Components;
$sdk = novu\Novu::builder()
->setSecurity(
'YOUR_SECRET_KEY_HERE'
)
->build();
$response = $sdk->channelEndpoints->create(
requestBody: new Components\CreateSlackChannelEndpointDto(
subscriberId: 'subscriber-123',
integrationIdentifier: 'slack-prod',
type: Components\CreateSlackChannelEndpointDtoType::SlackChannel,
endpoint: new Components\SlackChannelEndpointDto(
channelId: 'C123456789',
),
)
);
if ($response->getChannelEndpointResponseDto !== null) {
// handle response
}
import novu_py
from novu_py import Novu
with Novu(
secret_key="YOUR_SECRET_KEY_HERE",
) as novu:
res = novu.channel_endpoints.create(request_body={
"subscriber_id": "subscriber-123",
"create_subscriber_if_missing": False,
"integration_identifier": "slack-prod",
"type": novu_py.CreateSlackChannelEndpointDtoType.SLACK_CHANNEL,
"endpoint": {
"channel_id": "C123456789",
},
})
# Handle response
print(res)
Create a channel endpoint to register a subscriber-specific delivery target (Slack channel, phone number, PagerDuty routing key, Tool Webhook URL, and other variants). The request body uses a discriminated type field; each variant carries its own endpoint object shape.
Use type tool_webhook with a Tool Webhook integration configured for Dynamic routing. A subscriber may have multipletool_webhook endpoints on the same integration — Novu delivers the Tool step once per endpoint.
Field
Type
Description
type
"tool_webhook"
Discriminator for Tool Webhook dynamic routing.
integrationIdentifier
string
Identifier of the Tool Webhook integration.
subscriberId
string
Subscriber that owns this destination URL.
createSubscriberIfMissing
boolean
Optional. When true, creates the subscriber if missing. Defaults to false.
endpoint.url
string
Required. http: or https: URL. Stored encrypted on the linked channel connection.
When true, the subscriber is created if it does not exist yet (existing subscribers are never modified). When false or omitted, an unknown subscriberId returns 404.
package mainimport( "context" "github.com/novuhq/novu-go/v3" "github.com/novuhq/novu-go/v3/models/components" "github.com/novuhq/novu-go/v3/models/operations" "log")func main() { ctx := context.Background() s := v3.New( v3.WithSecurity("YOUR_SECRET_KEY_HERE"), ) res, err := s.ChannelEndpoints.Create(ctx, operations.CreateChannelEndpointsControllerCreateChannelEndpointRequestBodySlackChannel( components.CreateSlackChannelEndpointDto{ SubscriberID: "subscriber-123", IntegrationIdentifier: "slack-prod", Type: components.CreateSlackChannelEndpointDtoTypeSlackChannel, Endpoint: components.SlackChannelEndpointDto{ ChannelID: "C123456789", }, }, ), nil) if err != nil { log.Fatal(err) } if res.GetChannelEndpointResponseDto != nil { switch res.GetChannelEndpointResponseDto.Endpoint.Type { case components.EndpointTypeSlackChannelEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.SlackChannelEndpointDto is populated case components.EndpointTypeSlackUserEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.SlackUserEndpointDto is populated case components.EndpointTypeWebhookEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.WebhookEndpointDto is populated case components.EndpointTypePhoneEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.PhoneEndpointDto is populated case components.EndpointTypeMsTeamsChannelEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.MsTeamsChannelEndpointDto is populated case components.EndpointTypeMsTeamsUserEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.MsTeamsUserEndpointDto is populated case components.EndpointTypeTelegramChatEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.TelegramChatEndpointDto is populated case components.EndpointTypeWebexRoomEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.WebexRoomEndpointDto is populated case components.EndpointTypeWebexPersonEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.WebexPersonEndpointDto is populated case components.EndpointTypeLineUserEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.LineUserEndpointDto is populated case components.EndpointTypePagerDutyServiceEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.PagerDutyServiceEndpointDto is populated case components.EndpointTypeOpsgenieIntegrationEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.OpsgenieIntegrationEndpointDto is populated case components.EndpointTypeGrafanaOnCallIntegrationEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.GrafanaOnCallIntegrationEndpointDto is populated case components.EndpointTypeToolWebhookEndpointDto: // res.GetChannelEndpointResponseDto.Endpoint.ToolWebhookEndpointDto is populated } }}
import { Novu } from "@novu/api";
const novu = new Novu({
secretKey: "YOUR_SECRET_KEY_HERE",
});
async function run() {
const result = await novu.channelEndpoints.create({
subscriberId: "subscriber-123",
createSubscriberIfMissing: false,
integrationIdentifier: "slack-prod",
type: "slack_channel",
endpoint: {
channelId: "C123456789",
},
});
console.log(result);
}
run();
using Novu;
using Novu.Models.Components;
using Novu.Models.Requests;
var sdk = new NovuSDK(secretKey: "YOUR_SECRET_KEY_HERE");
var res = await sdk.ChannelEndpoints.CreateAsync(requestBody: ChannelEndpointsControllerCreateChannelEndpointRequestBody.CreateSlackChannel(
new CreateSlackChannelEndpointDto() {
SubscriberId = "subscriber-123",
IntegrationIdentifier = "slack-prod",
Type = CreateSlackChannelEndpointDtoType.SlackChannel,
Endpoint = new SlackChannelEndpointDto() {
ChannelId = "C123456789",
},
}
));
// handle response
declare(strict_types=1);
require 'vendor/autoload.php';
use novu;
use novu\Models\Components;
$sdk = novu\Novu::builder()
->setSecurity(
'YOUR_SECRET_KEY_HERE'
)
->build();
$response = $sdk->channelEndpoints->create(
requestBody: new Components\CreateSlackChannelEndpointDto(
subscriberId: 'subscriber-123',
integrationIdentifier: 'slack-prod',
type: Components\CreateSlackChannelEndpointDtoType::SlackChannel,
endpoint: new Components\SlackChannelEndpointDto(
channelId: 'C123456789',
),
)
);
if ($response->getChannelEndpointResponseDto !== null) {
// handle response
}
import novu_py
from novu_py import Novu
with Novu(
secret_key="YOUR_SECRET_KEY_HERE",
) as novu:
res = novu.channel_endpoints.create(request_body={
"subscriber_id": "subscriber-123",
"create_subscriber_if_missing": False,
"integration_identifier": "slack-prod",
"type": novu_py.CreateSlackChannelEndpointDtoType.SLACK_CHANNEL,
"endpoint": {
"channel_id": "C123456789",
},
})
# Handle response
print(res)
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"Novu","description":"The open-source notification infrastructure for agents and products. Send, receive, and track notifications across channels.","colors":{"primary":"#0e121b","light":"#FFFFFF","dark":"#FFFFFF"},"logo":{"light":"https://mintcdn.com/novu-c5de82d9/2Q_L4HxwUfLmJjB8/logo/light.svg?fit=max\u0026auto=format\u0026n=2Q_L4HxwUfLmJjB8\u0026q=85\u0026s=23e7050191303b6a0ac4a671dfed8df4","dark":"https://mintcdn.com/novu-c5de82d9/2Q_L4HxwUfLmJjB8/logo/dark.svg?fit=max\u0026auto=format\u0026n=2Q_L4HxwUfLmJjB8\u0026q=85\u0026s=bd7c54f6b7a7b5002ea7b525af3e169c","href":"https://docs.novu.co"},"favicon":"https://mintcdn.com/novu-c5de82d9/ZUl3xXp-4AASlrcI/favicon.svg?fit=max\u0026auto=format\u0026n=ZUl3xXp-4AASlrcI\u0026q=85\u0026s=b53c3afb6a8eaf11aff9db2c5d3f05a1","api":{"openapi":"https://spec.speakeasy.com/novu/novu/json-development-with-code-samples","examples":{"prefill":true}},"background":{},"navbar":{"links":[{"href":"https://novu.co/contact-us","label":"Contact Us"}],"primary":{"type":"button","label":"Get Started","href":"https://dashboard.novu.co/auth/sign-up"}},"footer":{"socials":{"x":"https://x.com/novuhq","github":"https://github.com/novuhq/novu","linkedin":"https://www.linkedin.com/company/novuco"},"links":[{"header":"Comparison","items":[{"label":"Novu vs Courier","href":"https://novu.co/comparison/courier"},{"label":"Novu vs Knock","href":"https://novu.co/comparison/knock"},{"label":"Novu vs MagicBell","href":"https://novu.co/comparison/magicbell"},{"label":"Novu vs SuprSend","href":"https://novu.co/comparison/suprsend"},{"label":"Novu vs In-house","href":"https://novu.co/comparison/building-in-house"}]},{"header":"Resources","items":[{"label":"Contact Support","href":"mailto:[email protected]"},{"label":"Changelog","href":"https://go.novu.co/changelog?utm_source=docs_footer"},{"label":"Roadmap","href":"https://roadmap.novu.co/roadmap"},{"label":"Contact Sales","href":"https://novu.co/contact-us"},{"label":"Read llms.txt","href":"/llms.txt"}]}]},"seo":{"metatags":{"og:type":"website","twitter:card":"summary_large_image"},"indexing":"all"},"icons":{"library":"lucide"},"integrations":{"gtm":{"tagId":"GTM-KXMC4XP2"},"plausible":{"domain":"docs.novu.co"}},"contextual":{"options":["copy","view","cursor","claude","chatgpt","mcp","add-mcp"],"display":"header"},"thumbnails":{"appearance":"dark","background":"https://mintcdn.com/novu-c5de82d9/vncv7ET97M5-dM6d/images/og/og-image-docs-v2.jpg?fit=max\u0026auto=format\u0026n=vncv7ET97M5-dM6d\u0026q=85\u0026s=26b59f5c597b5b1bea44cbc57cad5e3a","fonts":{"family":"Inter"}},"interaction":{"drilldown":true},"styling":{"latex":false},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"novu-c5de82d9","hasAudioNarration":false,"actualSubdomain":"novu-c5de82d9","customDomains":["docs.novu.co"],"gitSource":{"type":"github","owner":"novuhq","repo":"novu","deployBranch":"next","contentDirectory":"docs","isPrivate":false,"mountPath":"","label":""},"chroma":{"collectionId":"895c4c58-49cd-44b8-a796-8bbc729cda9d","liveDeploymentHistoryId":"6adb1d781a579503f22922f0","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adb1d781a579503f22922f0"},"feedback":{"thumbs":true,"edits":true,"issues":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"}},"buildId":"6adb1d781a579503f22922f0","clientVersion":"0.0.3964","searchFilterCounts":[{"language":"default","tag":"Notify","count":217},{"language":"default","tag":"API Reference","count":160},{"language":"default","tag":"Resources","count":107},{"language":"default","tag":"Integrate Channels Providers","count":93},{"language":"default","tag":"Guides","count":86},{"language":"default","tag":"Data","count":63},{"language":"default","tag":"Getting Started","count":62},{"language":"default","tag":"Framework","count":52},{"language":"default","tag":"Agent Connect","count":41},{"language":"default","tag":"Sms","count":38}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"[email protected]","showHelpButton":true}},"hasChatPermissions":true,"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":"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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@media (min-width:1024px){#sidebar-content{width:16rem;min-width:16rem;max-width:16rem}}body:has(#home-content) nav[aria-label=Main] a[aria-current=location]{background:0 0!important;color:rgb(75 85 99)}html.dark body:has(#home-content) nav[aria-label=Main] a[aria-current=location]{color:rgb(156 163 175)}body:has(#home-content) nav[aria-label=Main] a[aria-current=location]:hover{background:rgb(3 7 18/.03)!important;color:rgb(17 24 39)}html.dark body:has(#home-content) nav[aria-label=Main] a[aria-current=location]:hover{background:rgb(255 255 255/.03)!important;color:rgb(229 231 235)}#home-content .hero-cards{margin-top:1.5rem}#home-content .card [data-component-part=card-image]{width:107.5%;max-width:none;margin:-3.75% -3.75% 0}"}],"page":{"pagePath":"api-reference/channel-endpoints/create-a-channel-endpoint","slug":"/api-reference/channel-endpoints/create-a-channel-endpoint","pageMetadata":{"title":"Create a channel endpoint","openapi":"POST /v1/channel-endpoints","description":"Create a new channel endpoint for a resource.","href":"/api-reference/channel-endpoints/create-a-channel-endpoint"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Create a new channel endpoint for a resource.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Create a channel endpoint to register a subscriber-specific delivery target (Slack channel, phone number, PagerDuty routing key, Tool Webhook URL, and other variants). The request body uses a discriminated `,_jsx(_components.code,{children:`type`}),` field; each variant carries its own `,_jsx(_components.code,{children:`endpoint`}),` object shape.`]}),`\n`,_jsxs(Heading,{level:`2`,id:`tool_webhook-variant`,children:[_jsx(_components.code,{children:`tool_webhook`}),` variant`]}),`\n`,_jsxs(_components.p,{children:[`Use type `,_jsx(_components.code,{children:`tool_webhook`}),` with a `,_jsx(_components.strong,{children:`Tool Webhook`}),` integration configured for `,_jsx(_components.strong,{children:`Dynamic`}),` routing. A subscriber may have `,_jsx(_components.strong,{children:`multiple`}),` `,_jsx(_components.code,{children:`tool_webhook`}),` endpoints on the same integration — Novu delivers the Tool step once per endpoint.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`\"tool_webhook\"`})}),_jsx(_components.td,{children:`Discriminator for Tool Webhook dynamic routing.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`integrationIdentifier`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{children:`Identifier of the Tool Webhook integration.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`subscriberId`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{children:`Subscriber that owns this destination URL.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`createSubscriberIfMissing`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`boolean`})}),_jsxs(_components.td,{children:[`Optional. When `,_jsx(_components.code,{children:`true`}),`, creates the subscriber if missing. Defaults to `,_jsx(_components.code,{children:`false`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`endpoint.url`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsxs(_components.td,{children:[`Required. `,_jsx(_components.code,{children:`http:`}),` or `,_jsx(_components.code,{children:`https:`}),` URL. Stored encrypted on the linked channel connection.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`endpoint.headers`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Record\u003cstring, string>`})}),_jsx(_components.td,{children:`Optional. Per-endpoint headers; override integration defaults on key collision. Values stored encrypted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`endpoint.method`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`\"POST\" | \"PUT\" | \"PATCH\"`})}),_jsx(_components.td,{children:`Optional. Overrides the integration HTTP method for this endpoint.`})]})]})]}),`\n`,_jsx(_components.p,{children:`Example:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`14`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`14`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -L`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://api.novu.co/v1/channel-endpoints'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`-H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`-H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'Authorization: ApiKey \u003cNOVU_SECRET_KEY>'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`-d `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\": \"tool_webhook\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"integrationIdentifier\": \"tool-webhook\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"subscriberId\": \"user-123\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"createSubscriberIfMissing\": true,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"endpoint\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"url\": \"https://customer.example.com/hooks/novu\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"headers\": { \"Authorization\": \"Bearer token\" },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"method\": \"POST\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}'`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`See the `,_jsx(_components.a,{href:`/platform/integrations/tool/webhook`,children:`Tool Webhook setup guide`}),` for static vs dynamic routing, header/body merge, and HMAC verification.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create a channel endpoint","openapi":"POST /v1/channel-endpoints","description":"Create a new channel endpoint for a resource.","href":"/api-reference/channel-endpoints/create-a-channel-endpoint"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"tool_webhook variant","slug":"tool_webhook-variant","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"ChannelEndpointsController_createChannelEndpoint","x-speakeasy-name-override":"create","summary":"Create a channel endpoint","description":"Create a new channel endpoint for a resource.","parameters":["6bc17267-ccb9-4f14-a4e4-9874c3cb74f3"],"requestBody":"895c7b7f-780f-4480-b70c-8078594b1d96","responses":{"201":"b615ba8e-0284-4bfb-a0d1-bef0481e9360","400":"fd255567-9f34-4715-99fd-be30d073fb1a","401":"1d43fd34-4f1f-4539-9512-45ddf25ef47c","403":"e2b4c6a5-e456-4206-ab45-60762da235bd","404":"757dd8f3-205c-4c6c-9e27-4928c9b8c97e","405":"e12c8664-32c2-4514-b36d-08b3249b6eaf","409":"cf0566c4-90b0-43d4-b91e-da2b979bbc62","413":"c7b04cc8-d6ed-4e74-82de-9d7f40444365","414":"f7dd12e7-6ab1-4ce8-b7d3-d09e1af4af06","415":"705a7d94-5a3e-4d2d-82a7-46a06cd8d105","422":"ac3c967d-d7b5-4d9c-a8b1-a8ce9dfaed68","429":"f49f7456-f1b6-4678-b52f-4b136f67c325","500":"86efd391-8497-423b-a539-12e31c0c8089","503":"92000309-7e11-43f0-9b81-a3c002492168"},"tags":["Channel Endpoints"],"security":["1869f35f-b36c-47a9-a452-3b17ae40a507","0ad30f47-4ef2-4041-88b8-ade72a970a93"],"x-codeSamples":[{"lang":"go","label":"Go","source":"package main\n\nimport(\n\t\"context\"\n\t\"github.com/novuhq/novu-go/v3\"\n\t\"github.com/novuhq/novu-go/v3/models/components\"\n\t\"github.com/novuhq/novu-go/v3/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := v3.New(\n v3.WithSecurity(\"YOUR_SECRET_KEY_HERE\"),\n )\n\n res, err := s.ChannelEndpoints.Create(ctx, operations.CreateChannelEndpointsControllerCreateChannelEndpointRequestBodySlackChannel(\n components.CreateSlackChannelEndpointDto{\n SubscriberID: \"subscriber-123\",\n IntegrationIdentifier: \"slack-prod\",\n Type: components.CreateSlackChannelEndpointDtoTypeSlackChannel,\n Endpoint: components.SlackChannelEndpointDto{\n ChannelID: \"C123456789\",\n },\n },\n ), nil)\n if err != nil {\n log.Fatal(err)\n }\n if res.GetChannelEndpointResponseDto != nil {\n switch res.GetChannelEndpointResponseDto.Endpoint.Type {\n case components.EndpointTypeSlackChannelEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.SlackChannelEndpointDto is populated\n case components.EndpointTypeSlackUserEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.SlackUserEndpointDto is populated\n case components.EndpointTypeWebhookEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.WebhookEndpointDto is populated\n case components.EndpointTypePhoneEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.PhoneEndpointDto is populated\n case components.EndpointTypeMsTeamsChannelEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.MsTeamsChannelEndpointDto is populated\n case components.EndpointTypeMsTeamsUserEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.MsTeamsUserEndpointDto is populated\n case components.EndpointTypeTelegramChatEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.TelegramChatEndpointDto is populated\n case components.EndpointTypeWebexRoomEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.WebexRoomEndpointDto is populated\n case components.EndpointTypeWebexPersonEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.WebexPersonEndpointDto is populated\n case components.EndpointTypeLineUserEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.LineUserEndpointDto is populated\n case components.EndpointTypePagerDutyServiceEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.PagerDutyServiceEndpointDto is populated\n case components.EndpointTypeOpsgenieIntegrationEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.OpsgenieIntegrationEndpointDto is populated\n case components.EndpointTypeGrafanaOnCallIntegrationEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.GrafanaOnCallIntegrationEndpointDto is populated\n case components.EndpointTypeToolWebhookEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.ToolWebhookEndpointDto is populated\n }\n\n }\n}"},{"lang":"typescript","label":"TypeScript","source":"import { Novu } from \"@novu/api\";\n\nconst novu = new Novu({\n secretKey: \"YOUR_SECRET_KEY_HERE\",\n});\n\nasync function run() {\n const result = await novu.channelEndpoints.create({\n subscriberId: \"subscriber-123\",\n createSubscriberIfMissing: false,\n integrationIdentifier: \"slack-prod\",\n type: \"slack_channel\",\n endpoint: {\n channelId: \"C123456789\",\n },\n });\n\n console.log(result);\n}\n\nrun();"},{"lang":"csharp","label":"Csharp (SDK)","source":"using Novu;\nusing Novu.Models.Components;\nusing Novu.Models.Requests;\n\nvar sdk = new NovuSDK(secretKey: \"YOUR_SECRET_KEY_HERE\");\n\nvar res = await sdk.ChannelEndpoints.CreateAsync(requestBody: ChannelEndpointsControllerCreateChannelEndpointRequestBody.CreateSlackChannel(\n new CreateSlackChannelEndpointDto() {\n SubscriberId = \"subscriber-123\",\n IntegrationIdentifier = \"slack-prod\",\n Type = CreateSlackChannelEndpointDtoType.SlackChannel,\n Endpoint = new SlackChannelEndpointDto() {\n ChannelId = \"C123456789\",\n },\n }\n));\n\n// handle response"},{"lang":"php","label":"PHP","source":"declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse novu;\nuse novu\\Models\\Components;\n\n$sdk = novu\\Novu::builder()\n ->setSecurity(\n 'YOUR_SECRET_KEY_HERE'\n )\n ->build();\n\n\n\n$response = $sdk->channelEndpoints->create(\n requestBody: new Components\\CreateSlackChannelEndpointDto(\n subscriberId: 'subscriber-123',\n integrationIdentifier: 'slack-prod',\n type: Components\\CreateSlackChannelEndpointDtoType::SlackChannel,\n endpoint: new Components\\SlackChannelEndpointDto(\n channelId: 'C123456789',\n ),\n )\n);\n\nif ($response->getChannelEndpointResponseDto !== null) {\n // handle response\n}"},{"lang":"python","label":"Python","source":"import novu_py\nfrom novu_py import Novu\n\n\nwith Novu(\n secret_key=\"YOUR_SECRET_KEY_HERE\",\n) as novu:\n\n res = novu.channel_endpoints.create(request_body={\n \"subscriber_id\": \"subscriber-123\",\n \"create_subscriber_if_missing\": False,\n \"integration_identifier\": \"slack-prod\",\n \"type\": novu_py.CreateSlackChannelEndpointDtoType.SLACK_CHANNEL,\n \"endpoint\": {\n \"channel_id\": \"C123456789\",\n },\n })\n\n # Handle response\n print(res)"}],"method":"post","type":"path","servers":["29cc13d7-64c7-40f9-8a35-9c01537b78f4","7588375a-aa7e-462d-a5bf-d94b8564f985"],"path":"/v1/channel-endpoints","baseUrlOptions":["https://api.novu.co","https://eu.api.novu.co"],"title":"Create a channel endpoint","codeSamples":[{"label":"Go","lang":"go","source":"package main\n\nimport(\n\t\"context\"\n\t\"github.com/novuhq/novu-go/v3\"\n\t\"github.com/novuhq/novu-go/v3/models/components\"\n\t\"github.com/novuhq/novu-go/v3/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n s := v3.New(\n v3.WithSecurity(\"YOUR_SECRET_KEY_HERE\"),\n )\n\n res, err := s.ChannelEndpoints.Create(ctx, operations.CreateChannelEndpointsControllerCreateChannelEndpointRequestBodySlackChannel(\n components.CreateSlackChannelEndpointDto{\n SubscriberID: \"subscriber-123\",\n IntegrationIdentifier: \"slack-prod\",\n Type: components.CreateSlackChannelEndpointDtoTypeSlackChannel,\n Endpoint: components.SlackChannelEndpointDto{\n ChannelID: \"C123456789\",\n },\n },\n ), nil)\n if err != nil {\n log.Fatal(err)\n }\n if res.GetChannelEndpointResponseDto != nil {\n switch res.GetChannelEndpointResponseDto.Endpoint.Type {\n case components.EndpointTypeSlackChannelEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.SlackChannelEndpointDto is populated\n case components.EndpointTypeSlackUserEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.SlackUserEndpointDto is populated\n case components.EndpointTypeWebhookEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.WebhookEndpointDto is populated\n case components.EndpointTypePhoneEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.PhoneEndpointDto is populated\n case components.EndpointTypeMsTeamsChannelEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.MsTeamsChannelEndpointDto is populated\n case components.EndpointTypeMsTeamsUserEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.MsTeamsUserEndpointDto is populated\n case components.EndpointTypeTelegramChatEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.TelegramChatEndpointDto is populated\n case components.EndpointTypeWebexRoomEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.WebexRoomEndpointDto is populated\n case components.EndpointTypeWebexPersonEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.WebexPersonEndpointDto is populated\n case components.EndpointTypeLineUserEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.LineUserEndpointDto is populated\n case components.EndpointTypePagerDutyServiceEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.PagerDutyServiceEndpointDto is populated\n case components.EndpointTypeOpsgenieIntegrationEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.OpsgenieIntegrationEndpointDto is populated\n case components.EndpointTypeGrafanaOnCallIntegrationEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.GrafanaOnCallIntegrationEndpointDto is populated\n case components.EndpointTypeToolWebhookEndpointDto:\n // res.GetChannelEndpointResponseDto.Endpoint.ToolWebhookEndpointDto is populated\n }\n\n }\n}"},{"label":"TypeScript","lang":"typescript","source":"import { Novu } from \"@novu/api\";\n\nconst novu = new Novu({\n secretKey: \"YOUR_SECRET_KEY_HERE\",\n});\n\nasync function run() {\n const result = await novu.channelEndpoints.create({\n subscriberId: \"subscriber-123\",\n createSubscriberIfMissing: false,\n integrationIdentifier: \"slack-prod\",\n type: \"slack_channel\",\n endpoint: {\n channelId: \"C123456789\",\n },\n });\n\n console.log(result);\n}\n\nrun();"},{"label":"Csharp (SDK)","lang":"csharp","source":"using Novu;\nusing Novu.Models.Components;\nusing Novu.Models.Requests;\n\nvar sdk = new NovuSDK(secretKey: \"YOUR_SECRET_KEY_HERE\");\n\nvar res = await sdk.ChannelEndpoints.CreateAsync(requestBody: ChannelEndpointsControllerCreateChannelEndpointRequestBody.CreateSlackChannel(\n new CreateSlackChannelEndpointDto() {\n SubscriberId = \"subscriber-123\",\n IntegrationIdentifier = \"slack-prod\",\n Type = CreateSlackChannelEndpointDtoType.SlackChannel,\n Endpoint = new SlackChannelEndpointDto() {\n ChannelId = \"C123456789\",\n },\n }\n));\n\n// handle response"},{"label":"PHP","lang":"php","source":"declare(strict_types=1);\n\nrequire 'vendor/autoload.php';\n\nuse novu;\nuse novu\\Models\\Components;\n\n$sdk = novu\\Novu::builder()\n ->setSecurity(\n 'YOUR_SECRET_KEY_HERE'\n )\n ->build();\n\n\n\n$response = $sdk->channelEndpoints->create(\n requestBody: new Components\\CreateSlackChannelEndpointDto(\n subscriberId: 'subscriber-123',\n integrationIdentifier: 'slack-prod',\n type: Components\\CreateSlackChannelEndpointDtoType::SlackChannel,\n endpoint: new Components\\SlackChannelEndpointDto(\n channelId: 'C123456789',\n ),\n )\n);\n\nif ($response->getChannelEndpointResponseDto !== null) {\n // handle response\n}"},{"label":"Python","lang":"python","source":"import novu_py\nfrom novu_py import Novu\n\n\nwith Novu(\n secret_key=\"YOUR_SECRET_KEY_HERE\",\n) as novu:\n\n res = novu.channel_endpoints.create(request_body={\n \"subscriber_id\": \"subscriber-123\",\n \"create_subscriber_if_missing\": False,\n \"integration_identifier\": \"slack-prod\",\n \"type\": novu_py.CreateSlackChannelEndpointDtoType.SLACK_CHANNEL,\n \"endpoint\": {\n \"channel_id\": \"C123456789\",\n },\n })\n\n # Handle response\n print(res)"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.oneOf.0.subscriberId":"subscriber-123","body.oneOf.0.integrationIdentifier":"slack-prod","body.oneOf.0.type":"slack_channel","body.oneOf.0.endpoint.channelId":"C123456789","body.oneOf.0.identifier":"slack-channel-user123-abc4","body.oneOf.0.createSubscriberIfMissing":false,"body.oneOf.0.connectionIdentifier":"slack-connection-abc123"}]},"dependencies":{"parameters":{"6bc17267-ccb9-4f14-a4e4-9874c3cb74f3":{"name":"idempotency-key","in":"header","description":"A header for idempotency purposes","required":false,"schema":{"type":"string","isRequired":false,"description":"A header for idempotency purposes","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"description":"Channel endpoint creation request. The structure varies based on the type field.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["subscriberId","integrationIdentifier","type","endpoint"],"properties":{"subscriberId":{"type":"string","description":"The subscriber ID to which the channel endpoint is linked","example":"subscriber-123","isRequired":true,"uniqueKey":"oneOf.0.subscriberId","typeLabel":"string"},"integrationIdentifier":{"type":"string","description":"The identifier of the integration to use for this channel endpoint.","example":"slack-prod","isRequired":true,"uniqueKey":"oneOf.0.integrationIdentifier","typeLabel":"string"},"type":{"type":"string","description":"Type of channel endpoint","enum":["slack_channel"],"example":"slack_channel","isRequired":true,"uniqueKey":"oneOf.0.type","typeLabel":"enum\u003cstring>"},"endpoint":{"type":"object","description":"Slack channel endpoint data","required":["channelId"],"properties":{"channelId":{"type":"string","description":"Slack channel ID","example":"C123456789","isRequired":true,"uniqueKey":"oneOf.0.endpoint.channelId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.endpoint","typeLabel":"object"},"identifier":{"type":"string","description":"The unique identifier for the channel endpoint. If not provided, one will be generated automatically.","example":"slack-channel-user123-abc4","uniqueKey":"oneOf.0.identifier","typeLabel":"string"},"createSubscriberIfMissing":{"type":"boolean","description":"When true, the subscriber is created if it does not exist yet (existing subscribers are never modified). When false or omitted, an unknown subscriberId returns 404.","default":false,"uniqueKey":"oneOf.0.createSubscriberIfMissing","typeLabel":"boolean"},"context":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","description":"Simple context id","example":"org-acme","uniqueKey":"oneOf.0.context.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","description":"Rich context object with id and optional data","required":["id"],"properties":{"id":{"type":"string","example":"org-acme","isRequired":true,"uniqueKey":"oneOf.0.context.additionalProperties.oneOf.1.id","typeLabel":"string"},"data":{"type":"object","description":"Optional additional context data","additionalProperties":true,"example":{"name":"Acme Corp","region":"us-east-1"},"uniqueKey":"oneOf.0.context.additionalProperties.oneOf.1.data","typeLabel":"object"}},"uniqueKey":"oneOf.0.context.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.0.context.additionalProperties","typeLabel":"string | object"},"uniqueKey":"oneOf.0.context","typeLabel":"object"},"connectionIdentifier":{"type":"string","description":"The identifier of the channel connection to use for this channel endpoint.","example":"slack-connection-abc123","uniqueKey":"oneOf.0.connectionIdentifier","typeLabel":"string"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["subscriberId","integrationIdentifier","type","endpoint"],"properties":{"subscriberId":{"type":"string","description":"The subscriber ID to which the channel endpoint is linked","example":"subscriber-123","isRequired":true,"uniqueKey":"oneOf.1.subscriberId","typeLabel":"string"},"integrationIdentifier":{"type":"string","description":"The identifier of the integration to use for this channel endpoint.","example":"slack-prod","isRequired":true,"uniqueKey":"oneOf.1.integrationIdentifier","typeLabel":"string"},"type":{"type":"string","description":"Type of channel endpoint","enum":["slack_user"],"example":"slack_user","isRequired":true,"uniqueKey":"oneOf.1.type","typeLabel":"enum\u003cstring>"},"endpoint":{"type":"object","description":"Slack user endpoint data","required":["userId"],"properties":{"userId":{"type":"string","description":"Slack user ID","example":"U123456789","isRequired":true,"uniqueKey":"oneOf.1.endpoint.userId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.endpoint","typeLabel":"object"},"identifier":{"type":"string","description":"The unique identifier for the channel endpoint. If not provided, one will be generated automatically.","example":"slack-channel-user123-abc4","uniqueKey":"oneOf.1.identifier","typeLabel":"string"},"createSubscriberIfMissing":{"type":"boolean","description":"When true, the subscriber is created if it does not exist yet (existing subscribers are never modified). When false or omitted, an unknown subscriberId returns 404.","default":false,"uniqueKey":"oneOf.1.createSubscriberIfMissing","typeLabel":"boolean"},"context":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","description":"Simple context id","example":"org-acme","uniqueKey":"oneOf.1.context.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","description":"Rich context object with id and optional data","required":["id"],"properties":{"id":{"type":"string","example":"org-acme","isRequired":true,"uniqueKey":"oneOf.1.context.additionalProperties.oneOf.1.id","typeLabel":"string"},"data":{"type":"object","description":"Optional additional context data","additionalProperties":true,"example":{"name":"Acme Corp","region":"us-east-1"},"uniqueKey":"oneOf.1.context.additionalProperties.oneOf.1.data","typeLabel":"object"}},"uniqueKey":"oneOf.1.context.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.1.context.additionalProperties","typeLabel":"string | object"},"uniqueKey":"oneOf.1.context","typeLabel":"object"},"connectionIdentifier":{"type":"string","description":"The identifier of the channel connection to use for this channel endpoint.","example":"slack-connection-abc123","uniqueKey":"oneOf.1.connectionIdentifier","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["subscriberId","integrationIdentifier","type","endpoint"],"properties":{"subscriberId":{"type":"string","description":"The subscriber ID to which the channel endpoint is linked","example":"subscriber-123","isRequired":true,"uniqueKey":"oneOf.2.subscriberId","typeLabel":"string"},"integrationIdentifier":{"type":"string","description":"The identifier of the integration to use for this channel endpoint.","example":"slack-prod","isRequired":true,"uniqueKey":"oneOf.2.integrationIdentifier","typeLabel":"string"},"type":{"type":"string","description":"Type of channel endpoint","enum":["webhook"],"example":"webhook","isRequired":true,"uniqueKey":"oneOf.2.type","typeLabel":"enum\u003cstring>"},"endpoint":{"type":"object","description":"Webhook endpoint data","required":["url"],"properties":{"url":{"type":"string","description":"Webhook URL","example":"https://example.com/webhook","isRequired":true,"uniqueKey":"oneOf.2.endpoint.url","typeLabel":"string"},"channel":{"type":"string","description":"Optional channel identifier","uniqueKey":"oneOf.2.endpoint.channel","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.endpoint","typeLabel":"object"},"identifier":{"type":"string","description":"The unique identifier for the channel endpoint. If not provided, one will be generated automatically.","example":"slack-channel-user123-abc4","uniqueKey":"oneOf.2.identifier","typeLabel":"string"},"createSubscriberIfMissing":{"type":"boolean","description":"When true, the subscriber is created if it does not exist yet (existing subscribers are never modified). When false or omitted, an unknown subscriberId returns 404.","default":false,"uniqueKey":"oneOf.2.createSubscriberIfMissing","typeLabel":"boolean"},"context":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","description":"Simple context id","example":"org-acme","uniqueKey":"oneOf.2.context.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","description":"Rich context object with id and optional data","required":["id"],"properties":{"id":{"type":"string","example":"org-acme","isRequired":true,"uniqueKey":"oneOf.2.context.additionalProperties.oneOf.1.id","typeLabel":"string"},"data":{"type":"object","description":"Optional additional context data","additionalProperties":true,"example":{"name":"Acme Corp","region":"us-east-1"},"uniqueKey":"oneOf.2.context.additionalProperties.oneOf.1.data","typeLabel":"object"}},"uniqueKey":"oneOf.2.context.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.2.context.additionalProperties","typeLabel":"string | object"},"uniqueKey":"oneOf.2.context","typeLabel":"object"},"connectionIdentifier":{"type":"string","description":"The identifier of the channel connection to use for this channel endpoint.","example":"slack-connection-abc123","uniqueKey":"oneOf.2.connectionIdentifier","typeLabel":"string"}},"uniqueKey":"oneOf.2","typeLabel":"object"},{"type":"object","required":["subscriberId","integrationIdentifier","type","endpoint"],"properties":{"subscriberId":{"type":"string","description":"The subscriber ID to which the channel endpoint is linked","example":"subscriber-123","isRequired":true,"uniqueKey":"oneOf.3.subscriberId","typeLabel":"string"},"integrationIdentifier":{"type":"string","description":"The identifier of the integration to use for this channel endpoint.","example":"slack-prod","isRequired":true,"uniqueKey":"oneOf.3.integrationIdentifier","typeLabel":"string"},"type":{"type":"string","description":"Type of channel endpoint","enum":["phone"],"example":"phone","isRequired":true,"uniqueKey":"oneOf.3.type","typeLabel":"enum\u003cstring>"},"endpoint":{"type":"object","description":"Phone endpoint data","required":["phoneNumber"],"properties":{"phoneNumber":{"type":"string","description":"Phone number in E.164 format","example":"+1234567890","isRequired":true,"uniqueKey":"oneOf.3.endpoint.phoneNumber","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.endpoint","typeLabel":"object"},"identifier":{"type":"string","description":"The unique identifier for the channel endpoint. If not provided, one will be generated automatically.","example":"slack-channel-user123-abc4","uniqueKey":"oneOf.3.identifier","typeLabel":"string"},"createSubscriberIfMissing":{"type":"boolean","description":"When true, the subscriber is created if it does not exist yet (existing subscribers are never modified). When false or omitted, an unknown subscriberId returns 404.","default":false,"uniqueKey":"oneOf.3.createSubscriberIfMissing","typeLabel":"boolean"},"context":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","description":"Simple context id","example":"org-acme","uniqueKey":"oneOf.3.context.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","description":"Rich context object with id and optional data","required":["id"],"properties":{"id":{"type":"string","example":"org-acme","isRequired":true,"uniqueKey":"oneOf.3.context.additionalProperties.oneOf.1.id","typeLabel":"string"},"data":{"type":"object","description":"Optional additional context data","additionalProperties":true,"example":{"name":"Acme Corp","region":"us-east-1"},"uniqueKey":"oneOf.3.context.additionalProperties.oneOf.1.data","typeLabel":"object"}},"uniqueKey":"oneOf.3.context.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.3.context.additionalProperties","typeLabel":"string | object"},"uniqueKey":"oneOf.3.context","typeLabel":"object"},"connectionIdentifier":{"type":"string","description":"The identifier of the channel connection to use for this channel endpoint.","example":"slack-connection-abc123","uniqueKey":"oneOf.3.connectionIdentifier","typeLabel":"string"}},"uniqueKey":"oneOf.3","typeLabel":"object"},{"type":"object","required":["subscriberId","integrationIdentifier","type","endpoint"],"properties":{"subscriberId":{"type":"string","description":"The subscriber ID to which the channel endpoint is linked","example":"subscriber-123","isRequired":true,"uniqueKey":"oneOf.4.subscriberId","typeLabel":"string"},"integrationIdentifier":{"type":"string","description":"The identifier of the integration to use for this channel endpoint.","example":"slack-prod","isRequired":true,"uniqueKey":"oneOf.4.integrationIdentifier","typeLabel":"string"},"type":{"type":"string","description":"Type of channel endpoint","enum":["ms_teams_channel"],"example":"ms_teams_channel","isRequired":true,"uniqueKey":"oneOf.4.type","typeLabel":"enum\u003cstring>"},"endpoint":{"type":"object","description":"MS Teams channel endpoint data","required":["teamId","channelId"],"properties":{"teamId":{"type":"string","description":"MS Teams team ID","example":"19:[email protected]","isRequired":true,"uniqueKey":"oneOf.4.endpoint.teamId","typeLabel":"string"},"channelId":{"type":"string","description":"MS Teams channel ID","example":"19:[email protected]","isRequired":true,"uniqueKey":"oneOf.4.endpoint.channelId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.endpoint","typeLabel":"object"},"identifier":{"type":"string","description":"The unique identifier for the channel endpoint. If not provided, one will be generated automatically.","example":"slack-channel-user123-abc4","uniqueKey":"oneOf.4.identifier","typeLabel":"string"},"createSubscriberIfMissing":{"type":"boolean","description":"When true, the subscriber is created if it does not exist yet (existing subscribers are never modified). When false or omitted, an unknown subscriberId returns 404.","default":false,"uniqueKey":"oneOf.4.createSubscriberIfMissing","typeLabel":"boolean"},"context":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","description":"Simple context id","example":"org-acme","uniqueKey":"oneOf.4.context.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","description":"Rich context object with id and optional data","required":["id"],"properties":{"id":{"type":"string","example":"org-acme","isRequired":true,"uniqueKey":"oneOf.4.context.additionalProperties.oneOf.1.id","typeLabel":"string"},"data":{"type":"object","description":"Optional additional context data","additionalProperties":true,"example":{"name":"Acme Corp","region":"us-east-1"},"uniqueKey":"oneOf.4.context.additionalProperties.oneOf.1.data","typeLabel":"object"}},"uniqueKey":"oneOf.4.context.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.4.context.additionalProperties","typeLabel":"string | object"},"uniqueKey":"oneOf.4.context","typeLabel":"object"},"connectionIdentifier":{"type":"string","description":"The identifier of the channel connection to use for this channel endpoint.","example":"slack-connection-abc123","uniqueKey":"oneOf.4.connectionIdentifier","typeLabel":"string"}},"uniqueKey":"oneOf.4","typeLabel":"object"},{"type":"object","required":["subscriberId","integrationIdentifier","type","endpoint"],"properties":{"subscriberId":{"type":"string","description":"The subscriber ID to which the channel endpoint is linked","example":"subscriber-123","isRequired":true,"uniqueKey":"oneOf.5.subscriberId","typeLabel":"string"},"integrationIdentifier":{"type":"string","description":"The identifier of the integration to use for this channel endpoint.","example":"slack-prod","isRequired":true,"uniqueKey":"oneOf.5.integrationIdentifier","typeLabel":"string"},"type":{"type":"string","description":"Type of channel endpoint","enum":["ms_teams_user"],"example":"ms_teams_user","isRequired":true,"uniqueKey":"oneOf.5.type","typeLabel":"enum\u003cstring>"},"endpoint":{"type":"object","description":"MS Teams user endpoint data","required":["userId"],"properties":{"userId":{"type":"string","description":"MS Teams user ID","example":"29:1234567890abcdef","isRequired":true,"uniqueKey":"oneOf.5.endpoint.userId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.5.endpoint","typeLabel":"object"},"identifier":{"type":"string","description":"The unique identifier for the channel endpoint. If not provided, one will be generated automatically.","example":"slack-channel-user123-abc4","uniqueKey":"oneOf.5.identifier","typeLabel":"string"},"createSubscriberIfMissing":{"type":"boolean","description":"When true, the subscriber is created if it does not exist yet (existing subscribers are never modified). When false or omitted, an unknown subscriberId returns 404.","default":false,"uniqueKey":"oneOf.5.createSubscriberIfMissing","typeLabel":"boolean"},"context":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","description":"Simple context id","example":"org-acme","uniqueKey":"oneOf.5.context.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","description":"Rich context object with id and optional data","required":["id"],"properties":{"id":{"type":"string","example":"org-acme","isRequired":true,"uniqueKey":"oneOf.5.context.additionalProperties.oneOf.1.id","typeLabel":"string"},"data":{"type":"object","description":"Optional additional context data","additionalProperties":true,"example":{"name":"Acme Corp","region":"us-east-1"},"uniqueKey":"oneOf.5.context.additionalProperties.oneOf.1.data","typeLabel":"object"}},"uniqueKey":"oneOf.5.context.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.5.context.additionalProperties","typeLabel":"string | object"},"uniqueKey":"oneOf.5.context","typeLabel":"object"},"connectionIdentifier":{"type":"string","description":"The identifier of the channel connection to use for this channel endpoint.","example":"slack-connection-abc123","uniqueKey":"oneOf.5.connectionIdentifier","typeLabel":"string"}},"uniqueKey":"oneOf.5","typeLabel":"object"},{"type":"object","required":["subscriberId","integrationIdentifier","type","endpoint"],"properties":{"subscriberId":{"type":"string","description":"The subscriber ID to which the channel endpoint is linked","example":"subscriber-123","isRequired":true,"uniqueKey":"oneOf.6.subscriberId","typeLabel":"string"},"integrationIdentifier":{"type":"string","description":"The identifier of the integration to use for this channel endpoint.","example":"slack-prod","isRequired":true,"uniqueKey":"oneOf.6.integrationIdentifier","typeLabel":"string"},"type":{"type":"string","description":"Type of channel endpoint","enum":["telegram_chat"],"example":"telegram_chat","isRequired":true,"uniqueKey":"oneOf.6.type","typeLabel":"enum\u003cstring>"},"endpoint":{"type":"object","description":"Telegram chat endpoint data","required":["chatId"],"properties":{"chatId":{"type":"string","description":"Telegram chat ID","example":"123456789","isRequired":true,"uniqueKey":"oneOf.6.endpoint.chatId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.6.endpoint","typeLabel":"object"},"identifier":{"type":"string","description":"The unique identifier for the channel endpoint. If not provided, one will be generated automatically.","example":"slack-channel-user123-abc4","uniqueKey":"oneOf.6.identifier","typeLabel":"string"},"createSubscriberIfMissing":{"type":"boolean","description":"When true, the subscriber is created if it does not exist yet (existing subscribers are never modified). When false or omitted, an unknown subscriberId returns 404.","default":false,"uniqueKey":"oneOf.6.createSubscriberIfMissing","typeLabel":"boolean"},"context":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","description":"Simple context id","example":"org-acme","uniqueKey":"oneOf.6.context.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","description":"Rich context object with id and optional data","required":["id"],"properties":{"id":{"type":"string","example":"org-acme","isRequired":true,"uniqueKey":"oneOf.6.context.additionalProperties.oneOf.1.id","typeLabel":"string"},"data":{"type":"object","description":"Optional additional context data","additionalProperties":true,"example":{"name":"Acme Corp","region":"us-east-1"},"uniqueKey":"oneOf.6.context.additionalProperties.oneOf.1.data","typeLabel":"object"}},"uniqueKey":"oneOf.6.context.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.6.context.additionalProperties","typeLabel":"string | object"},"uniqueKey":"oneOf.6.context","typeLabel":"object"},"connectionIdentifier":{"type":"string","description":"The identifier of the channel connection to use for this channel endpoint.","example":"slack-connection-abc123","uniqueKey":"oneOf.6.connectionIdentifier","typeLabel":"string"}},"uniqueKey":"oneOf.6","typeLabel":"object"},{"type":"object","required":["subscriberId","integrationIdentifier","type","endpoint"],"properties":{"subscriberId":{"type":"string","description":"The subscriber ID to which the channel endpoint is linked","example":"subscriber-123","isRequired":true,"uniqueKey":"oneOf.7.subscriberId","typeLabel":"string"},"integrationIdentifier":{"type":"string","description":"The identifier of the integration to use for this channel endpoint.","example":"slack-prod","isRequired":true,"uniqueKey":"oneOf.7.integrationIdentifier","typeLabel":"string"},"type":{"type":"string","description":"Type of channel endpoint","enum":["webex_room"],"example":"webex_room","isRequired":true,"uniqueKey":"oneOf.7.type","typeLabel":"enum\u003cstring>"},"endpoint":{"type":"object","description":"Webex room endpoint data","required":["roomId"],"properties":{"roomId":{"type":"string","description":"Webex room ID","example":"Y2lzY29zcGFyazovL3VzL1JPT00v...","isRequired":true,"uniqueKey":"oneOf.7.endpoint.roomId","typeLabel":"string"},"parentId":{"type":"string","description":"Optional Webex parent message ID for threaded replies","example":"Y2lzY29zcGFyazovL3VzL01FU1NBR0Uv...","uniqueKey":"oneOf.7.endpoint.parentId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.7.endpoint","typeLabel":"object"},"identifier":{"type":"string","description":"The unique identifier for the channel endpoint. If not provided, one will be generated automatically.","example":"slack-channel-user123-abc4","uniqueKey":"oneOf.7.identifier","typeLabel":"string"},"createSubscriberIfMissing":{"type":"boolean","description":"When true, the subscriber is created if it does not exist yet (existing subscribers are never modified). When false or omitted, an unknown subscriberId returns 404.","default":false,"uniqueKey":"oneOf.7.createSubscriberIfMissing","typeLabel":"boolean"},"context":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","description":"Simple context id","example":"org-acme","uniqueKey":"oneOf.7.context.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","description":"Rich context object with id and optional data","required":["id"],"properties":{"id":{"type":"string","example":"org-acme","isRequired":true,"uniqueKey":"oneOf.7.context.additionalProperties.oneOf.1.id","typeLabel":"string"},"data":{"type":"object","description":"Optional additional context data","additionalProperties":true,"example":{"name":"Acme Corp","region":"us-east-1"},"uniqueKey":"oneOf.7.context.additionalProperties.oneOf.1.data","typeLabel":"object"}},"uniqueKey":"oneOf.7.context.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.7.context.additionalProperties","typeLabel":"string | object"},"uniqueKey":"oneOf.7.context","typeLabel":"object"},"connectionIdentifier":{"type":"string","description":"The identifier of the channel connection to use for this Webex endpoint.","example":"webex-connection-abc123","uniqueKey":"oneOf.7.connectionIdentifier","typeLabel":"string"}},"uniqueKey":"oneOf.7","typeLabel":"object"},{"type":"object","required":["subscriberId","integrationIdentifier","type","endpoint"],"properties":{"subscriberId":{"type":"string","description":"The subscriber ID to which the channel endpoint is linked","example":"subscriber-123","isRequired":true,"uniqueKey":"oneOf.8.subscriberId","typeLabel":"string"},"integrationIdentifier":{"type":"string","description":"The identifier of the integration to use for this channel endpoint.","example":"slack-prod","isRequired":true,"uniqueKey":"oneOf.8.integrationIdentifier","typeLabel":"string"},"type":{"type":"string","description":"Type of channel endpoint","enum":["webex_person"],"example":"webex_person","isRequired":true,"uniqueKey":"oneOf.8.type","typeLabel":"enum\u003cstring>"},"endpoint":{"type":"object","description":"Webex person endpoint data. Provide exactly one of personId or personEmail.","properties":{"personId":{"type":"string","description":"Webex person ID. Provide exactly one of personId or personEmail.","example":"Y2lzY29zcGFyazovL3VzL1BFT1BMRS8...","uniqueKey":"oneOf.8.endpoint.personId","typeLabel":"string"},"personEmail":{"type":"string","description":"Webex person email. Provide exactly one of personId or personEmail.","example":"[email protected]","uniqueKey":"oneOf.8.endpoint.personEmail","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.8.endpoint","typeLabel":"object"},"identifier":{"type":"string","description":"The unique identifier for the channel endpoint. If not provided, one will be generated automatically.","example":"slack-channel-user123-abc4","uniqueKey":"oneOf.8.identifier","typeLabel":"string"},"createSubscriberIfMissing":{"type":"boolean","description":"When true, the subscriber is created if it does not exist yet (existing subscribers are never modified). When false or omitted, an unknown subscriberId returns 404.","default":false,"uniqueKey":"oneOf.8.createSubscriberIfMissing","typeLabel":"boolean"},"context":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","description":"Simple context id","example":"org-acme","uniqueKey":"oneOf.8.context.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","description":"Rich context object with id and optional data","required":["id"],"properties":{"id":{"type":"string","example":"org-acme","isRequired":true,"uniqueKey":"oneOf.8.context.additionalProperties.oneOf.1.id","typeLabel":"string"},"data":{"type":"object","description":"Optional additional context data","additionalProperties":true,"example":{"name":"Acme Corp","region":"us-east-1"},"uniqueKey":"oneOf.8.context.additionalProperties.oneOf.1.data","typeLabel":"object"}},"uniqueKey":"oneOf.8.context.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.8.context.additionalProperties","typeLabel":"string | object"},"uniqueKey":"oneOf.8.context","typeLabel":"object"},"connectionIdentifier":{"type":"string","description":"The identifier of the channel connection to use for this Webex endpoint.","example":"webex-connection-abc123","uniqueKey":"oneOf.8.connectionIdentifier","typeLabel":"string"}},"uniqueKey":"oneOf.8","typeLabel":"object"},{"type":"object","required":["subscriberId","integrationIdentifier","type","endpoint"],"properties":{"subscriberId":{"type":"string","description":"The subscriber ID to which the channel endpoint is linked","example":"subscriber-123","isRequired":true,"uniqueKey":"oneOf.9.subscriberId","typeLabel":"string"},"integrationIdentifier":{"type":"string","description":"The identifier of the integration to use for this channel endpoint.","example":"slack-prod","isRequired":true,"uniqueKey":"oneOf.9.integrationIdentifier","typeLabel":"string"},"type":{"type":"string","description":"Type of channel endpoint","enum":["line_user"],"example":"line_user","isRequired":true,"uniqueKey":"oneOf.9.type","typeLabel":"enum\u003cstring>"},"endpoint":{"type":"object","description":"LINE user endpoint data","required":["userId"],"properties":{"userId":{"type":"string","description":"LINE user ID","example":"U1234567890abcdef","isRequired":true,"uniqueKey":"oneOf.9.endpoint.userId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.9.endpoint","typeLabel":"object"},"identifier":{"type":"string","description":"The unique identifier for the channel endpoint. If not provided, one will be generated automatically.","example":"slack-channel-user123-abc4","uniqueKey":"oneOf.9.identifier","typeLabel":"string"},"createSubscriberIfMissing":{"type":"boolean","description":"When true, the subscriber is created if it does not exist yet (existing subscribers are never modified). When false or omitted, an unknown subscriberId returns 404.","default":false,"uniqueKey":"oneOf.9.createSubscriberIfMissing","typeLabel":"boolean"},"context":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","description":"Simple context id","example":"org-acme","uniqueKey":"oneOf.9.context.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","description":"Rich context object with id and optional data","required":["id"],"properties":{"id":{"type":"string","example":"org-acme","isRequired":true,"uniqueKey":"oneOf.9.context.additionalProperties.oneOf.1.id","typeLabel":"string"},"data":{"type":"object","description":"Optional additional context data","additionalProperties":true,"example":{"name":"Acme Corp","region":"us-east-1"},"uniqueKey":"oneOf.9.context.additionalProperties.oneOf.1.data","typeLabel":"object"}},"uniqueKey":"oneOf.9.context.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.9.context.additionalProperties","typeLabel":"string | object"},"uniqueKey":"oneOf.9.context","typeLabel":"object"},"connectionIdentifier":{"type":"string","description":"The identifier of the channel connection to use for this channel endpoint.","example":"slack-connection-abc123","uniqueKey":"oneOf.9.connectionIdentifier","typeLabel":"string"}},"uniqueKey":"oneOf.9","typeLabel":"object"},{"type":"object","required":["subscriberId","integrationIdentifier","type","endpoint"],"properties":{"subscriberId":{"type":"string","description":"The subscriber ID to which the channel endpoint is linked","example":"subscriber-123","isRequired":true,"uniqueKey":"oneOf.10.subscriberId","typeLabel":"string"},"integrationIdentifier":{"type":"string","description":"The identifier of the integration to use for this channel endpoint.","example":"slack-prod","isRequired":true,"uniqueKey":"oneOf.10.integrationIdentifier","typeLabel":"string"},"type":{"type":"string","description":"Type of channel endpoint","enum":["pagerduty_service"],"example":"pagerduty_service","isRequired":true,"uniqueKey":"oneOf.10.type","typeLabel":"enum\u003cstring>"},"endpoint":{"type":"object","description":"PagerDuty service endpoint data. `routingKey` is encrypted at rest on the channel endpoint (`endpoint` field); `region` remains plaintext. No linked channel connection.","required":["routingKey","region"],"properties":{"routingKey":{"type":"string","pattern":"/^[a-zA-Z0-9]{32}$/","description":"PagerDuty Events API v2 integration key (32-character alphanumeric string). Encrypted at rest on the channel endpoint (`endpoint` field).","example":"R0UTINGK3YEXAMPLE000000000000000","minLength":32,"maxLength":32,"isRequired":true,"uniqueKey":"oneOf.10.endpoint.routingKey","typeLabel":"string"},"region":{"type":"string","description":"PagerDuty account region — determines the events API data-center endpoint.","enum":["us","eu"],"example":"us","isRequired":true,"uniqueKey":"oneOf.10.endpoint.region","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"oneOf.10.endpoint","typeLabel":"object"},"identifier":{"type":"string","description":"The unique identifier for the channel endpoint. If not provided, one will be generated automatically.","example":"slack-channel-user123-abc4","uniqueKey":"oneOf.10.identifier","typeLabel":"string"},"createSubscriberIfMissing":{"type":"boolean","description":"When true, the subscriber is created if it does not exist yet (existing subscribers are never modified). When false or omitted, an unknown subscriberId returns 404.","default":false,"uniqueKey":"oneOf.10.createSubscriberIfMissing","typeLabel":"boolean"},"context":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","description":"Simple context id","example":"org-acme","uniqueKey":"oneOf.10.context.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","description":"Rich context object with id and optional data","required":["id"],"properties":{"id":{"type":"string","example":"org-acme","isRequired":true,"uniqueKey":"oneOf.10.context.additionalProperties.oneOf.1.id","typeLabel":"string"},"data":{"type":"object","description":"Optional additional context data","additionalProperties":true,"example":{"name":"Acme Corp","region":"us-east-1"},"uniqueKey":"oneOf.10.context.additionalProperties.oneOf.1.data","typeLabel":"object"}},"uniqueKey":"oneOf.10.context.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.10.context.additionalProperties","typeLabel":"string | object"},"uniqueKey":"oneOf.10.context","typeLabel":"object"},"connectionIdentifier":{"type":"string","description":"The identifier of the channel connection to use for this channel endpoint.","example":"slack-connection-abc123","uniqueKey":"oneOf.10.connectionIdentifier","typeLabel":"string"}},"uniqueKey":"oneOf.10","typeLabel":"object"},{"type":"object","required":["subscriberId","integrationIdentifier","type","endpoint"],"properties":{"subscriberId":{"type":"string","description":"The subscriber ID to which the channel endpoint is linked","example":"subscriber-123","isRequired":true,"uniqueKey":"oneOf.11.subscriberId","typeLabel":"string"},"integrationIdentifier":{"type":"string","description":"The identifier of the integration to use for this channel endpoint.","example":"slack-prod","isRequired":true,"uniqueKey":"oneOf.11.integrationIdentifier","typeLabel":"string"},"type":{"type":"string","description":"Type of channel endpoint","enum":["opsgenie_integration"],"example":"opsgenie_integration","isRequired":true,"uniqueKey":"oneOf.11.type","typeLabel":"enum\u003cstring>"},"endpoint":{"type":"object","description":"Opsgenie integration endpoint data. `apiKey` is encrypted at rest on the channel endpoint (`endpoint` field); `region` remains plaintext. No linked channel connection.","required":["apiKey","region"],"properties":{"apiKey":{"type":"string","pattern":"OPSGENIE_API_KEY_PATTERN","description":"Opsgenie API integration key (GenieKey) in UUID format. Encrypted at rest on the channel endpoint (`endpoint` field).","example":"abcdefg-a25a-4652-883c-73703b12345","isRequired":true,"uniqueKey":"oneOf.11.endpoint.apiKey","typeLabel":"string"},"region":{"type":"string","description":"Opsgenie account region that determines the alert API data-center endpoint.","enum":["us","eu"],"example":"us","isRequired":true,"uniqueKey":"oneOf.11.endpoint.region","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"oneOf.11.endpoint","typeLabel":"object"},"identifier":{"type":"string","description":"The unique identifier for the channel endpoint. If not provided, one will be generated automatically.","example":"slack-channel-user123-abc4","uniqueKey":"oneOf.11.identifier","typeLabel":"string"},"createSubscriberIfMissing":{"type":"boolean","description":"When true, the subscriber is created if it does not exist yet (existing subscribers are never modified). When false or omitted, an unknown subscriberId returns 404.","default":false,"uniqueKey":"oneOf.11.createSubscriberIfMissing","typeLabel":"boolean"},"context":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","description":"Simple context id","example":"org-acme","uniqueKey":"oneOf.11.context.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","description":"Rich context object with id and optional data","required":["id"],"properties":{"id":{"type":"string","example":"org-acme","isRequired":true,"uniqueKey":"oneOf.11.context.additionalProperties.oneOf.1.id","typeLabel":"string"},"data":{"type":"object","description":"Optional additional context data","additionalProperties":true,"example":{"name":"Acme Corp","region":"us-east-1"},"uniqueKey":"oneOf.11.context.additionalProperties.oneOf.1.data","typeLabel":"object"}},"uniqueKey":"oneOf.11.context.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.11.context.additionalProperties","typeLabel":"string | object"},"uniqueKey":"oneOf.11.context","typeLabel":"object"},"connectionIdentifier":{"type":"string","description":"The identifier of the channel connection to use for this channel endpoint.","example":"slack-connection-abc123","uniqueKey":"oneOf.11.connectionIdentifier","typeLabel":"string"}},"uniqueKey":"oneOf.11","typeLabel":"object"},{"type":"object","required":["subscriberId","integrationIdentifier","type","endpoint"],"properties":{"subscriberId":{"type":"string","description":"The subscriber ID to which the channel endpoint is linked","example":"subscriber-123","isRequired":true,"uniqueKey":"oneOf.12.subscriberId","typeLabel":"string"},"integrationIdentifier":{"type":"string","description":"The identifier of the integration to use for this channel endpoint.","example":"slack-prod","isRequired":true,"uniqueKey":"oneOf.12.integrationIdentifier","typeLabel":"string"},"type":{"type":"string","description":"Type of channel endpoint","enum":["grafana_oncall_integration"],"example":"grafana_oncall_integration","isRequired":true,"uniqueKey":"oneOf.12.type","typeLabel":"enum\u003cstring>"},"endpoint":{"type":"object","description":"Grafana OnCall integration endpoint data. `url` and `authToken` are encrypted at rest on the channel endpoint (`endpoint` field). No linked channel connection.","required":["url"],"properties":{"url":{"type":"string","pattern":"GRAFANA_ONCALL_WEBHOOK_URL_PATTERN","description":"Grafana IRM/OnCall incoming-webhook (Formatted Webhook) integration URL. The routing secret is embedded in the URL path. Encrypted at rest on the channel endpoint (`endpoint` field).","example":"https://acme.grafana.net/integrations/v1/formatted_webhook/m12xmIjOcgwH74UF8CN4dk0Dh/","isRequired":true,"uniqueKey":"oneOf.12.endpoint.url","typeLabel":"string"},"authToken":{"type":"string","description":"Optional Grafana service account bearer token, required when the integration enforces authenticated ingestion. Encrypted at rest on the channel endpoint (`endpoint` field).","example":"glsa_abc123...","uniqueKey":"oneOf.12.endpoint.authToken","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.12.endpoint","typeLabel":"object"},"identifier":{"type":"string","description":"The unique identifier for the channel endpoint. If not provided, one will be generated automatically.","example":"slack-channel-user123-abc4","uniqueKey":"oneOf.12.identifier","typeLabel":"string"},"createSubscriberIfMissing":{"type":"boolean","description":"When true, the subscriber is created if it does not exist yet (existing subscribers are never modified). When false or omitted, an unknown subscriberId returns 404.","default":false,"uniqueKey":"oneOf.12.createSubscriberIfMissing","typeLabel":"boolean"},"context":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","description":"Simple context id","example":"org-acme","uniqueKey":"oneOf.12.context.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","description":"Rich context object with id and optional data","required":["id"],"properties":{"id":{"type":"string","example":"org-acme","isRequired":true,"uniqueKey":"oneOf.12.context.additionalProperties.oneOf.1.id","typeLabel":"string"},"data":{"type":"object","description":"Optional additional context data","additionalProperties":true,"example":{"name":"Acme Corp","region":"us-east-1"},"uniqueKey":"oneOf.12.context.additionalProperties.oneOf.1.data","typeLabel":"object"}},"uniqueKey":"oneOf.12.context.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.12.context.additionalProperties","typeLabel":"string | object"},"uniqueKey":"oneOf.12.context","typeLabel":"object"},"connectionIdentifier":{"type":"string","description":"The identifier of the channel connection to use for this channel endpoint.","example":"slack-connection-abc123","uniqueKey":"oneOf.12.connectionIdentifier","typeLabel":"string"}},"uniqueKey":"oneOf.12","typeLabel":"object"},{"type":"object","required":["subscriberId","integrationIdentifier","type","endpoint"],"properties":{"subscriberId":{"type":"string","description":"The subscriber ID to which the channel endpoint is linked","example":"subscriber-123","isRequired":true,"uniqueKey":"oneOf.13.subscriberId","typeLabel":"string"},"integrationIdentifier":{"type":"string","description":"The identifier of the integration to use for this channel endpoint.","example":"slack-prod","isRequired":true,"uniqueKey":"oneOf.13.integrationIdentifier","typeLabel":"string"},"type":{"type":"string","description":"Type of channel endpoint","enum":["tool_webhook"],"example":"tool_webhook","isRequired":true,"uniqueKey":"oneOf.13.type","typeLabel":"enum\u003cstring>"},"endpoint":{"type":"object","description":"Tool webhook endpoint data. `url` and header values are encrypted at rest on the channel endpoint (`endpoint` field); `method` remains plaintext. No linked channel connection.","required":["url"],"properties":{"url":{"type":"string","description":"Destination webhook URL (often a per-subscriber capability URL). Encrypted at rest on the channel endpoint (`endpoint` field).","example":"https://example.com/tools/incoming","isRequired":true,"uniqueKey":"oneOf.13.endpoint.url","typeLabel":"string"},"headers":{"type":"object","description":"Optional headers (e.g. auth tokens) sent with every request to this webhook. Header values are encrypted at rest on the channel endpoint (`endpoint` field).","example":{"Authorization":"Bearer \u003ctoken>"},"uniqueKey":"oneOf.13.endpoint.headers","typeLabel":"object"},"method":{"type":"string","description":"Optional HTTP method override for this webhook. Defaults to the integration-level method.","enum":["POST","PUT","PATCH"],"example":"POST","uniqueKey":"oneOf.13.endpoint.method","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"oneOf.13.endpoint","typeLabel":"object"},"identifier":{"type":"string","description":"The unique identifier for the channel endpoint. If not provided, one will be generated automatically.","example":"slack-channel-user123-abc4","uniqueKey":"oneOf.13.identifier","typeLabel":"string"},"createSubscriberIfMissing":{"type":"boolean","description":"When true, the subscriber is created if it does not exist yet (existing subscribers are never modified). When false or omitted, an unknown subscriberId returns 404.","default":false,"uniqueKey":"oneOf.13.createSubscriberIfMissing","typeLabel":"boolean"},"context":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","description":"Simple context id","example":"org-acme","uniqueKey":"oneOf.13.context.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"object","description":"Rich context object with id and optional data","required":["id"],"properties":{"id":{"type":"string","example":"org-acme","isRequired":true,"uniqueKey":"oneOf.13.context.additionalProperties.oneOf.1.id","typeLabel":"string"},"data":{"type":"object","description":"Optional additional context data","additionalProperties":true,"example":{"name":"Acme Corp","region":"us-east-1"},"uniqueKey":"oneOf.13.context.additionalProperties.oneOf.1.data","typeLabel":"object"}},"uniqueKey":"oneOf.13.context.additionalProperties.oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.13.context.additionalProperties","typeLabel":"string | object"},"uniqueKey":"oneOf.13.context","typeLabel":"object"},"connectionIdentifier":{"type":"string","description":"The identifier of the channel connection to use for this channel endpoint.","example":"slack-connection-abc123","uniqueKey":"oneOf.13.connectionIdentifier","typeLabel":"string"}},"uniqueKey":"oneOf.13","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"subscriberId":"subscriber-123","integrationIdentifier":"slack-prod","type":"slack_channel","endpoint":{"channelId":"C123456789"},"identifier":"slack-channel-user123-abc4","createSubscriberIfMissing":false,"context":{},"connectionIdentifier":"slack-connection-abc123"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"b615ba8e-0284-4bfb-a0d1-bef0481e9360":{"description":"Created","headers":{"Content-Type":{"required":true,"description":"The MIME type of the response body.","schema":{"type":"string"},"example":"application/json"},"RateLimit-Limit":{"required":false,"description":"The number of requests that the client is permitted to make per second. The actual maximum may differ when burst is enabled.","schema":{"type":"string"},"example":"100"},"RateLimit-Remaining":{"required":false,"description":"The number of requests remaining until the next window.","schema":{"type":"string"},"example":"93"},"RateLimit-Reset":{"required":false,"description":"The remaining seconds until a request of the same cost will be refreshed.","schema":{"type":"string"},"example":"8"},"RateLimit-Policy":{"required":false,"description":"The rate limit policy that was used to evaluate the request.","schema":{"type":"string"},"example":"100;w=1;burst=110;comment=\"token bucket\";category=\"trigger\";cost=\"single\""},"Idempotency-Key":{"required":false,"description":"The idempotency key used to evaluate the request.","schema":{"type":"string"},"example":"8"},"Idempotency-Replay":{"required":false,"description":"Whether the request was a replay of a previous request.","schema":{"type":"string"},"example":"true"}},"content":{"application/json":{"schema":{"type":"object","properties":{"identifier":{"type":"string","description":"The unique identifier of the channel endpoint.","isRequired":true,"uniqueKey":"identifier","typeLabel":"string"},"channel":{"oneOf":[{"enum":["in_app","email","sms","chat","push","tool"],"type":"string","description":"The channel type (email, sms, push, chat, etc.).","isRequired":true,"uniqueKey":"channel.oneOf.0","typeLabel":"enum\u003cstring>"},{"enum":["in_app","email","sms","chat","push","tool"],"type":"null","description":"The channel type (email, sms, push, chat, etc.).","isRequired":true,"uniqueKey":"channel.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"channel","typeLabel":"enum\u003cstring> | null"},"providerId":{"oneOf":[{"type":"string","description":"The provider identifier (e.g., sendgrid, twilio, slack, etc.).","enum":["anypost","emailjs","mailgun","mailjet","mandrill","nodemailer","postmark","sendgrid","sendinblue","ses","netcore","infobip-email","resend","plunk","mailersend","mailtrap","clickatell","outlook365","novu-email","sparkpost","email-webhook","braze","novu-email-agent","nexmo","plivo","sms77","sms-central","sns","telnyx","twilio","gupshup","firetext","infobip-sms","burst-sms","bulk-sms","isend-sms","forty-six-elks","kannel","maqsam","termii","africas-talking","novu-sms","sendchamp","generic-sms","clicksend","bandwidth","messagebird","simpletexting","azure-sms","ring-central","brevo-sms","eazy-sms","mobishastra","afro-message","unifonic","smsmode","imedia","sinch","isendpro-sms","cm-telecom","ruach-sms","fcm","apns","expo","one-signal","pushpad","push-webhook","pusher-beams","appio","novu","slack","discord","msteams","webex-messaging","mattermost","ryver","zulip","grafana-on-call","getstream","rocket-chat","whatsapp-business","line","chat-webhook","novu-slack","telegram","sendblue","novu-web-chat","anthropic","novu-anthropic","anthropic-aws","pagerduty","opsgenie","grafana","tool-webhook"],"example":"slack","isRequired":true,"uniqueKey":"providerId.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The provider identifier (e.g., sendgrid, twilio, slack, etc.).","enum":["anypost","emailjs","mailgun","mailjet","mandrill","nodemailer","postmark","sendgrid","sendinblue","ses","netcore","infobip-email","resend","plunk","mailersend","mailtrap","clickatell","outlook365","novu-email","sparkpost","email-webhook","braze","novu-email-agent","nexmo","plivo","sms77","sms-central","sns","telnyx","twilio","gupshup","firetext","infobip-sms","burst-sms","bulk-sms","isend-sms","forty-six-elks","kannel","maqsam","termii","africas-talking","novu-sms","sendchamp","generic-sms","clicksend","bandwidth","messagebird","simpletexting","azure-sms","ring-central","brevo-sms","eazy-sms","mobishastra","afro-message","unifonic","smsmode","imedia","sinch","isendpro-sms","cm-telecom","ruach-sms","fcm","apns","expo","one-signal","pushpad","push-webhook","pusher-beams","appio","novu","slack","discord","msteams","webex-messaging","mattermost","ryver","zulip","grafana-on-call","getstream","rocket-chat","whatsapp-business","line","chat-webhook","novu-slack","telegram","sendblue","novu-web-chat","anthropic","novu-anthropic","anthropic-aws","pagerduty","opsgenie","grafana","tool-webhook"],"example":"slack","isRequired":true,"uniqueKey":"providerId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"providerId","typeLabel":"enum\u003cstring> | null"},"integrationIdentifier":{"oneOf":[{"type":"string","description":"The identifier of the integration to use for this channel endpoint.","example":"slack-prod","isRequired":true,"uniqueKey":"integrationIdentifier.oneOf.0","typeLabel":"string"},{"type":"null","description":"The identifier of the integration to use for this channel endpoint.","example":"slack-prod","isRequired":true,"uniqueKey":"integrationIdentifier.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"integrationIdentifier","typeLabel":"string | null"},"connectionIdentifier":{"oneOf":[{"type":"string","description":"The identifier of the channel connection used for this endpoint.","example":"slack-connection-abc123","isRequired":true,"uniqueKey":"connectionIdentifier.oneOf.0","typeLabel":"string"},{"type":"null","description":"The identifier of the channel connection used for this endpoint.","example":"slack-connection-abc123","isRequired":true,"uniqueKey":"connectionIdentifier.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"connectionIdentifier","typeLabel":"string | null"},"subscriberId":{"oneOf":[{"type":"string","description":"The subscriber ID to which the channel endpoint is linked","example":"subscriber-123","isRequired":true,"uniqueKey":"subscriberId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The subscriber ID to which the channel endpoint is linked","example":"subscriber-123","isRequired":true,"uniqueKey":"subscriberId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"subscriberId","typeLabel":"string | null"},"contextKeys":{"description":"The context of the channel connection","example":["tenant:org-123","region:us-east-1"],"type":"array","items":{"type":"string","uniqueKey":"contextKeys.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"contextKeys","typeLabel":"string[]"},"type":{"type":"string","description":"Type of channel endpoint","enum":["slack_channel","slack_user","webhook","phone","ms_teams_channel","ms_teams_user","telegram_chat","webex_room","webex_person","line_user","pagerduty_service","opsgenie_integration","grafana_oncall_integration","tool_webhook"],"example":"slack_channel","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"endpoint":{"oneOf":[{"type":"object","description":"Endpoint data specific to the channel type","required":["channelId"],"properties":{"channelId":{"type":"string","description":"Slack channel ID","example":"C123456789","isRequired":true,"uniqueKey":"endpoint.oneOf.0.channelId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"endpoint.oneOf.0","typeLabel":"object"},{"type":"object","description":"Endpoint data specific to the channel type","required":["userId"],"properties":{"userId":{"type":"string","description":"Slack user ID","example":"U123456789","isRequired":true,"uniqueKey":"endpoint.oneOf.1.userId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"endpoint.oneOf.1","typeLabel":"object"},{"type":"object","description":"Endpoint data specific to the channel type","required":["url"],"properties":{"url":{"type":"string","description":"Webhook URL","example":"https://example.com/webhook","isRequired":true,"uniqueKey":"endpoint.oneOf.2.url","typeLabel":"string"},"channel":{"type":"string","description":"Optional channel identifier","uniqueKey":"endpoint.oneOf.2.channel","typeLabel":"string"}},"isRequired":true,"uniqueKey":"endpoint.oneOf.2","typeLabel":"object"},{"type":"object","description":"Endpoint data specific to the channel type","required":["phoneNumber"],"properties":{"phoneNumber":{"type":"string","description":"Phone number in E.164 format","example":"+1234567890","isRequired":true,"uniqueKey":"endpoint.oneOf.3.phoneNumber","typeLabel":"string"}},"isRequired":true,"uniqueKey":"endpoint.oneOf.3","typeLabel":"object"},{"type":"object","description":"Endpoint data specific to the channel type","required":["teamId","channelId"],"properties":{"teamId":{"type":"string","description":"MS Teams team ID","example":"19:[email protected]","isRequired":true,"uniqueKey":"endpoint.oneOf.4.teamId","typeLabel":"string"},"channelId":{"type":"string","description":"MS Teams channel ID","example":"19:[email protected]","isRequired":true,"uniqueKey":"endpoint.oneOf.4.channelId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"endpoint.oneOf.4","typeLabel":"object"},{"type":"object","description":"Endpoint data specific to the channel type","required":["userId"],"properties":{"userId":{"type":"string","description":"MS Teams user ID","example":"29:1234567890abcdef","isRequired":true,"uniqueKey":"endpoint.oneOf.5.userId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"endpoint.oneOf.5","typeLabel":"object"},{"type":"object","description":"Endpoint data specific to the channel type","required":["chatId"],"properties":{"chatId":{"type":"string","description":"Telegram chat ID","example":"123456789","isRequired":true,"uniqueKey":"endpoint.oneOf.6.chatId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"endpoint.oneOf.6","typeLabel":"object"},{"type":"object","description":"Endpoint data specific to the channel type","required":["roomId"],"properties":{"roomId":{"type":"string","description":"Webex room ID","example":"Y2lzY29zcGFyazovL3VzL1JPT00v...","isRequired":true,"uniqueKey":"endpoint.oneOf.7.roomId","typeLabel":"string"},"parentId":{"type":"string","description":"Optional Webex parent message ID for threaded replies","example":"Y2lzY29zcGFyazovL3VzL01FU1NBR0Uv...","uniqueKey":"endpoint.oneOf.7.parentId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"endpoint.oneOf.7","typeLabel":"object"},{"type":"object","description":"Endpoint data specific to the channel type","properties":{"personId":{"type":"string","description":"Webex person ID. Provide exactly one of personId or personEmail.","example":"Y2lzY29zcGFyazovL3VzL1BFT1BMRS8...","uniqueKey":"endpoint.oneOf.8.personId","typeLabel":"string"},"personEmail":{"type":"string","description":"Webex person email. Provide exactly one of personId or personEmail.","example":"[email protected]","uniqueKey":"endpoint.oneOf.8.personEmail","typeLabel":"string"}},"isRequired":true,"uniqueKey":"endpoint.oneOf.8","typeLabel":"object"},{"type":"object","description":"Endpoint data specific to the channel type","required":["userId"],"properties":{"userId":{"type":"string","description":"LINE user ID","example":"U1234567890abcdef","isRequired":true,"uniqueKey":"endpoint.oneOf.9.userId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"endpoint.oneOf.9","typeLabel":"object"},{"type":"object","description":"Endpoint data specific to the channel type","required":["routingKey","region"],"properties":{"routingKey":{"type":"string","pattern":"/^[a-zA-Z0-9]{32}$/","description":"PagerDuty Events API v2 integration key (32-character alphanumeric string). Encrypted at rest on the channel endpoint (`endpoint` field).","example":"R0UTINGK3YEXAMPLE000000000000000","minLength":32,"maxLength":32,"isRequired":true,"uniqueKey":"endpoint.oneOf.10.routingKey","typeLabel":"string"},"region":{"type":"string","description":"PagerDuty account region — determines the events API data-center endpoint.","enum":["us","eu"],"example":"us","isRequired":true,"uniqueKey":"endpoint.oneOf.10.region","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"endpoint.oneOf.10","typeLabel":"object"},{"type":"object","description":"Endpoint data specific to the channel type","required":["apiKey","region"],"properties":{"apiKey":{"type":"string","pattern":"OPSGENIE_API_KEY_PATTERN","description":"Opsgenie API integration key (GenieKey) in UUID format. Encrypted at rest on the channel endpoint (`endpoint` field).","example":"abcdefg-a25a-4652-883c-73703b12345","isRequired":true,"uniqueKey":"endpoint.oneOf.11.apiKey","typeLabel":"string"},"region":{"type":"string","description":"Opsgenie account region that determines the alert API data-center endpoint.","enum":["us","eu"],"example":"us","isRequired":true,"uniqueKey":"endpoint.oneOf.11.region","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"endpoint.oneOf.11","typeLabel":"object"},{"type":"object","description":"Endpoint data specific to the channel type","required":["url"],"properties":{"url":{"type":"string","pattern":"GRAFANA_ONCALL_WEBHOOK_URL_PATTERN","description":"Grafana IRM/OnCall incoming-webhook (Formatted Webhook) integration URL. The routing secret is embedded in the URL path. Encrypted at rest on the channel endpoint (`endpoint` field).","example":"https://acme.grafana.net/integrations/v1/formatted_webhook/m12xmIjOcgwH74UF8CN4dk0Dh/","isRequired":true,"uniqueKey":"endpoint.oneOf.12.url","typeLabel":"string"},"authToken":{"type":"string","description":"Optional Grafana service account bearer token, required when the integration enforces authenticated ingestion. Encrypted at rest on the channel endpoint (`endpoint` field).","example":"glsa_abc123...","uniqueKey":"endpoint.oneOf.12.authToken","typeLabel":"string"}},"isRequired":true,"uniqueKey":"endpoint.oneOf.12","typeLabel":"object"},{"type":"object","description":"Endpoint data specific to the channel type","required":["url"],"properties":{"url":{"type":"string","description":"Destination webhook URL (often a per-subscriber capability URL). Encrypted at rest on the channel endpoint (`endpoint` field).","example":"https://example.com/tools/incoming","isRequired":true,"uniqueKey":"endpoint.oneOf.13.url","typeLabel":"string"},"headers":{"type":"object","description":"Optional headers (e.g. auth tokens) sent with every request to this webhook. Header values are encrypted at rest on the channel endpoint (`endpoint` field).","example":{"Authorization":"Bearer \u003ctoken>"},"uniqueKey":"endpoint.oneOf.13.headers","typeLabel":"object"},"method":{"type":"string","description":"Optional HTTP method override for this webhook. Defaults to the integration-level method.","enum":["POST","PUT","PATCH"],"example":"POST","uniqueKey":"endpoint.oneOf.13.method","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"endpoint.oneOf.13","typeLabel":"object"}],"isRequired":true,"uniqueKey":"endpoint","typeLabel":"object"},"createdAt":{"type":"string","description":"The timestamp indicating when the channel endpoint was created, in ISO 8601 format.","isRequired":true,"uniqueKey":"createdAt","typeLabel":"string"},"updatedAt":{"type":"string","description":"The timestamp indicating when the channel endpoint was last updated, in ISO 8601 format.","isRequired":true,"uniqueKey":"updatedAt","typeLabel":"string"}},"required":["identifier","channel","providerId","integrationIdentifier","connectionIdentifier","subscriberId","contextKeys","type","endpoint","createdAt","updatedAt"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"identifier":"\u003cstring>","channel":"in_app","providerId":"slack","integrationIdentifier":"slack-prod","connectionIdentifier":"slack-connection-abc123","subscriberId":"subscriber-123","contextKeys":["tenant:org-123","region:us-east-1"],"type":"slack_channel","endpoint":{"channelId":"C123456789"},"createdAt":"\u003cstring>","updatedAt":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"fd255567-9f34-4715-99fd-be30d073fb1a":{"description":"Bad Request","headers":{"Content-Type":{"required":true,"description":"The MIME type of the response body.","schema":{"type":"string"},"example":"application/json"},"RateLimit-Limit":{"required":false,"description":"The number of requests that the client is permitted to make per second. The actual maximum may differ when burst is enabled.","schema":{"type":"string"},"example":"100"},"RateLimit-Remaining":{"required":false,"description":"The number of requests remaining until the next window.","schema":{"type":"string"},"example":"93"},"RateLimit-Reset":{"required":false,"description":"The remaining seconds until a request of the same cost will be refreshed.","schema":{"type":"string"},"example":"8"},"RateLimit-Policy":{"required":false,"description":"The rate limit policy that was used to evaluate the request.","schema":{"type":"string"},"example":"100;w=1;burst=110;comment=\"token bucket\";category=\"trigger\";cost=\"single\""},"Idempotency-Key":{"required":false,"description":"The idempotency key used to evaluate the request.","schema":{"type":"string"},"example":"8"},"Idempotency-Replay":{"required":false,"description":"Whether the request was a replay of a previous request.","schema":{"type":"string"},"example":"true"}},"content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number","description":"HTTP status code of the error response.","example":404,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"number"},"timestamp":{"type":"string","description":"Timestamp of when the error occurred.","example":"2024-12-12T13:00:00Z","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string"},"path":{"type":"string","description":"The path where the error occurred.","example":"/api/v1/resource","isRequired":true,"uniqueKey":"path","typeLabel":"string"},"message":{"oneOf":[{"type":"string","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.1","typeLabel":"null"},{"type":"number","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.2","typeLabel":"number"},{"type":"boolean","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.3","typeLabel":"boolean"},{"type":"object","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.4","typeLabel":"object"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.5","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.1","typeLabel":"null"},{"type":"number","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.2","typeLabel":"number"},{"type":"boolean","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.3","typeLabel":"boolean"},{"type":"object","additionalProperties":true,"uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"message.oneOf.6.items.[INDEX]","typeLabel":"string | null | number | boolean | object"},"description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.6","typeLabel":"(string | null | number | boolean | object)[]"}],"uniqueKey":"message","typeLabel":"string · null · number · boolean · object · null · (string | null | number | boolean | object)[]"},"ctx":{"type":"object","description":"Optional context object for additional error details.","additionalProperties":true,"example":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"uniqueKey":"ctx","typeLabel":"object"},"errorId":{"type":"string","description":"Optional unique identifier for the error, useful for tracking using Sentry and \n New Relic, only available for 500.","example":"abc123","uniqueKey":"errorId","typeLabel":"string"}},"required":["statusCode","timestamp","path"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":404,"timestamp":"2024-12-12T13:00:00Z","path":"/api/v1/resource","message":"xx xx xx ","ctx":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"errorId":"abc123"}}},"exampleType":"generated"}},"exampleType":"generated"},"1d43fd34-4f1f-4539-9512-45ddf25ef47c":{"description":"Unauthorized","headers":{"Content-Type":{"required":true,"description":"The MIME type of the response body.","schema":{"type":"string"},"example":"application/json"},"RateLimit-Limit":{"required":false,"description":"The number of requests that the client is permitted to make per second. The actual maximum may differ when burst is enabled.","schema":{"type":"string"},"example":"100"},"RateLimit-Remaining":{"required":false,"description":"The number of requests remaining until the next window.","schema":{"type":"string"},"example":"93"},"RateLimit-Reset":{"required":false,"description":"The remaining seconds until a request of the same cost will be refreshed.","schema":{"type":"string"},"example":"8"},"RateLimit-Policy":{"required":false,"description":"The rate limit policy that was used to evaluate the request.","schema":{"type":"string"},"example":"100;w=1;burst=110;comment=\"token bucket\";category=\"trigger\";cost=\"single\""},"Idempotency-Key":{"required":false,"description":"The idempotency key used to evaluate the request.","schema":{"type":"string"},"example":"8"},"Idempotency-Replay":{"required":false,"description":"Whether the request was a replay of a previous request.","schema":{"type":"string"},"example":"true"}},"content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number","description":"HTTP status code of the error response.","example":404,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"number"},"timestamp":{"type":"string","description":"Timestamp of when the error occurred.","example":"2024-12-12T13:00:00Z","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string"},"path":{"type":"string","description":"The path where the error occurred.","example":"/api/v1/resource","isRequired":true,"uniqueKey":"path","typeLabel":"string"},"message":{"oneOf":[{"type":"string","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.1","typeLabel":"null"},{"type":"number","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.2","typeLabel":"number"},{"type":"boolean","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.3","typeLabel":"boolean"},{"type":"object","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.4","typeLabel":"object"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.5","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.1","typeLabel":"null"},{"type":"number","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.2","typeLabel":"number"},{"type":"boolean","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.3","typeLabel":"boolean"},{"type":"object","additionalProperties":true,"uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"message.oneOf.6.items.[INDEX]","typeLabel":"string | null | number | boolean | object"},"description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.6","typeLabel":"(string | null | number | boolean | object)[]"}],"uniqueKey":"message","typeLabel":"string · null · number · boolean · object · null · (string | null | number | boolean | object)[]"},"ctx":{"type":"object","description":"Optional context object for additional error details.","additionalProperties":true,"example":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"uniqueKey":"ctx","typeLabel":"object"},"errorId":{"type":"string","description":"Optional unique identifier for the error, useful for tracking using Sentry and \n New Relic, only available for 500.","example":"abc123","uniqueKey":"errorId","typeLabel":"string"}},"required":["statusCode","timestamp","path"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":404,"timestamp":"2024-12-12T13:00:00Z","path":"/api/v1/resource","message":"xx xx xx ","ctx":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"errorId":"abc123"}}},"exampleType":"generated"}},"exampleType":"generated"},"e2b4c6a5-e456-4206-ab45-60762da235bd":{"description":"Forbidden","headers":{"Content-Type":{"required":true,"description":"The MIME type of the response body.","schema":{"type":"string"},"example":"application/json"},"RateLimit-Limit":{"required":false,"description":"The number of requests that the client is permitted to make per second. The actual maximum may differ when burst is enabled.","schema":{"type":"string"},"example":"100"},"RateLimit-Remaining":{"required":false,"description":"The number of requests remaining until the next window.","schema":{"type":"string"},"example":"93"},"RateLimit-Reset":{"required":false,"description":"The remaining seconds until a request of the same cost will be refreshed.","schema":{"type":"string"},"example":"8"},"RateLimit-Policy":{"required":false,"description":"The rate limit policy that was used to evaluate the request.","schema":{"type":"string"},"example":"100;w=1;burst=110;comment=\"token bucket\";category=\"trigger\";cost=\"single\""},"Idempotency-Key":{"required":false,"description":"The idempotency key used to evaluate the request.","schema":{"type":"string"},"example":"8"},"Idempotency-Replay":{"required":false,"description":"Whether the request was a replay of a previous request.","schema":{"type":"string"},"example":"true"}},"content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number","description":"HTTP status code of the error response.","example":404,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"number"},"timestamp":{"type":"string","description":"Timestamp of when the error occurred.","example":"2024-12-12T13:00:00Z","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string"},"path":{"type":"string","description":"The path where the error occurred.","example":"/api/v1/resource","isRequired":true,"uniqueKey":"path","typeLabel":"string"},"message":{"oneOf":[{"type":"string","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.1","typeLabel":"null"},{"type":"number","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.2","typeLabel":"number"},{"type":"boolean","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.3","typeLabel":"boolean"},{"type":"object","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.4","typeLabel":"object"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.5","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.1","typeLabel":"null"},{"type":"number","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.2","typeLabel":"number"},{"type":"boolean","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.3","typeLabel":"boolean"},{"type":"object","additionalProperties":true,"uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"message.oneOf.6.items.[INDEX]","typeLabel":"string | null | number | boolean | object"},"description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.6","typeLabel":"(string | null | number | boolean | object)[]"}],"uniqueKey":"message","typeLabel":"string · null · number · boolean · object · null · (string | null | number | boolean | object)[]"},"ctx":{"type":"object","description":"Optional context object for additional error details.","additionalProperties":true,"example":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"uniqueKey":"ctx","typeLabel":"object"},"errorId":{"type":"string","description":"Optional unique identifier for the error, useful for tracking using Sentry and \n New Relic, only available for 500.","example":"abc123","uniqueKey":"errorId","typeLabel":"string"}},"required":["statusCode","timestamp","path"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":404,"timestamp":"2024-12-12T13:00:00Z","path":"/api/v1/resource","message":"xx xx xx ","ctx":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"errorId":"abc123"}}},"exampleType":"generated"}},"exampleType":"generated"},"757dd8f3-205c-4c6c-9e27-4928c9b8c97e":{"description":"Not Found","headers":{"Content-Type":{"required":true,"description":"The MIME type of the response body.","schema":{"type":"string"},"example":"application/json"},"RateLimit-Limit":{"required":false,"description":"The number of requests that the client is permitted to make per second. The actual maximum may differ when burst is enabled.","schema":{"type":"string"},"example":"100"},"RateLimit-Remaining":{"required":false,"description":"The number of requests remaining until the next window.","schema":{"type":"string"},"example":"93"},"RateLimit-Reset":{"required":false,"description":"The remaining seconds until a request of the same cost will be refreshed.","schema":{"type":"string"},"example":"8"},"RateLimit-Policy":{"required":false,"description":"The rate limit policy that was used to evaluate the request.","schema":{"type":"string"},"example":"100;w=1;burst=110;comment=\"token bucket\";category=\"trigger\";cost=\"single\""},"Idempotency-Key":{"required":false,"description":"The idempotency key used to evaluate the request.","schema":{"type":"string"},"example":"8"},"Idempotency-Replay":{"required":false,"description":"Whether the request was a replay of a previous request.","schema":{"type":"string"},"example":"true"}},"content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number","description":"HTTP status code of the error response.","example":404,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"number"},"timestamp":{"type":"string","description":"Timestamp of when the error occurred.","example":"2024-12-12T13:00:00Z","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string"},"path":{"type":"string","description":"The path where the error occurred.","example":"/api/v1/resource","isRequired":true,"uniqueKey":"path","typeLabel":"string"},"message":{"oneOf":[{"type":"string","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.1","typeLabel":"null"},{"type":"number","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.2","typeLabel":"number"},{"type":"boolean","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.3","typeLabel":"boolean"},{"type":"object","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.4","typeLabel":"object"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.5","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.1","typeLabel":"null"},{"type":"number","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.2","typeLabel":"number"},{"type":"boolean","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.3","typeLabel":"boolean"},{"type":"object","additionalProperties":true,"uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"message.oneOf.6.items.[INDEX]","typeLabel":"string | null | number | boolean | object"},"description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.6","typeLabel":"(string | null | number | boolean | object)[]"}],"uniqueKey":"message","typeLabel":"string · null · number · boolean · object · null · (string | null | number | boolean | object)[]"},"ctx":{"type":"object","description":"Optional context object for additional error details.","additionalProperties":true,"example":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"uniqueKey":"ctx","typeLabel":"object"},"errorId":{"type":"string","description":"Optional unique identifier for the error, useful for tracking using Sentry and \n New Relic, only available for 500.","example":"abc123","uniqueKey":"errorId","typeLabel":"string"}},"required":["statusCode","timestamp","path"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":404,"timestamp":"2024-12-12T13:00:00Z","path":"/api/v1/resource","message":"xx xx xx ","ctx":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"errorId":"abc123"}}},"exampleType":"generated"}},"exampleType":"generated"},"e12c8664-32c2-4514-b36d-08b3249b6eaf":{"description":"Method Not Allowed","headers":{"Content-Type":{"required":true,"description":"The MIME type of the response body.","schema":{"type":"string"},"example":"application/json"},"RateLimit-Limit":{"required":false,"description":"The number of requests that the client is permitted to make per second. The actual maximum may differ when burst is enabled.","schema":{"type":"string"},"example":"100"},"RateLimit-Remaining":{"required":false,"description":"The number of requests remaining until the next window.","schema":{"type":"string"},"example":"93"},"RateLimit-Reset":{"required":false,"description":"The remaining seconds until a request of the same cost will be refreshed.","schema":{"type":"string"},"example":"8"},"RateLimit-Policy":{"required":false,"description":"The rate limit policy that was used to evaluate the request.","schema":{"type":"string"},"example":"100;w=1;burst=110;comment=\"token bucket\";category=\"trigger\";cost=\"single\""},"Idempotency-Key":{"required":false,"description":"The idempotency key used to evaluate the request.","schema":{"type":"string"},"example":"8"},"Idempotency-Replay":{"required":false,"description":"Whether the request was a replay of a previous request.","schema":{"type":"string"},"example":"true"}},"content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number","description":"HTTP status code of the error response.","example":404,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"number"},"timestamp":{"type":"string","description":"Timestamp of when the error occurred.","example":"2024-12-12T13:00:00Z","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string"},"path":{"type":"string","description":"The path where the error occurred.","example":"/api/v1/resource","isRequired":true,"uniqueKey":"path","typeLabel":"string"},"message":{"oneOf":[{"type":"string","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.1","typeLabel":"null"},{"type":"number","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.2","typeLabel":"number"},{"type":"boolean","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.3","typeLabel":"boolean"},{"type":"object","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.4","typeLabel":"object"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.5","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.1","typeLabel":"null"},{"type":"number","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.2","typeLabel":"number"},{"type":"boolean","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.3","typeLabel":"boolean"},{"type":"object","additionalProperties":true,"uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"message.oneOf.6.items.[INDEX]","typeLabel":"string | null | number | boolean | object"},"description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.6","typeLabel":"(string | null | number | boolean | object)[]"}],"uniqueKey":"message","typeLabel":"string · null · number · boolean · object · null · (string | null | number | boolean | object)[]"},"ctx":{"type":"object","description":"Optional context object for additional error details.","additionalProperties":true,"example":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"uniqueKey":"ctx","typeLabel":"object"},"errorId":{"type":"string","description":"Optional unique identifier for the error, useful for tracking using Sentry and \n New Relic, only available for 500.","example":"abc123","uniqueKey":"errorId","typeLabel":"string"}},"required":["statusCode","timestamp","path"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":404,"timestamp":"2024-12-12T13:00:00Z","path":"/api/v1/resource","message":"xx xx xx ","ctx":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"errorId":"abc123"}}},"exampleType":"generated"}},"exampleType":"generated"},"cf0566c4-90b0-43d4-b91e-da2b979bbc62":{"description":"Conflict","headers":{"Content-Type":{"required":true,"description":"The MIME type of the response body.","schema":{"type":"string"},"example":"application/json"},"RateLimit-Limit":{"required":false,"description":"The number of requests that the client is permitted to make per second. The actual maximum may differ when burst is enabled.","schema":{"type":"string"},"example":"100"},"RateLimit-Remaining":{"required":false,"description":"The number of requests remaining until the next window.","schema":{"type":"string"},"example":"93"},"RateLimit-Reset":{"required":false,"description":"The remaining seconds until a request of the same cost will be refreshed.","schema":{"type":"string"},"example":"8"},"RateLimit-Policy":{"required":false,"description":"The rate limit policy that was used to evaluate the request.","schema":{"type":"string"},"example":"100;w=1;burst=110;comment=\"token bucket\";category=\"trigger\";cost=\"single\""},"Idempotency-Key":{"required":false,"description":"The idempotency key used to evaluate the request.","schema":{"type":"string"},"example":"8"},"Idempotency-Replay":{"required":false,"description":"Whether the request was a replay of a previous request.","schema":{"type":"string"},"example":"true"}},"content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number","description":"HTTP status code of the error response.","example":404,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"number"},"timestamp":{"type":"string","description":"Timestamp of when the error occurred.","example":"2024-12-12T13:00:00Z","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string"},"path":{"type":"string","description":"The path where the error occurred.","example":"/api/v1/resource","isRequired":true,"uniqueKey":"path","typeLabel":"string"},"message":{"oneOf":[{"type":"string","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.1","typeLabel":"null"},{"type":"number","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.2","typeLabel":"number"},{"type":"boolean","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.3","typeLabel":"boolean"},{"type":"object","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.4","typeLabel":"object"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.5","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.1","typeLabel":"null"},{"type":"number","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.2","typeLabel":"number"},{"type":"boolean","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.3","typeLabel":"boolean"},{"type":"object","additionalProperties":true,"uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"message.oneOf.6.items.[INDEX]","typeLabel":"string | null | number | boolean | object"},"description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.6","typeLabel":"(string | null | number | boolean | object)[]"}],"uniqueKey":"message","typeLabel":"string · null · number · boolean · object · null · (string | null | number | boolean | object)[]"},"ctx":{"type":"object","description":"Optional context object for additional error details.","additionalProperties":true,"example":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"uniqueKey":"ctx","typeLabel":"object"},"errorId":{"type":"string","description":"Optional unique identifier for the error, useful for tracking using Sentry and \n New Relic, only available for 500.","example":"abc123","uniqueKey":"errorId","typeLabel":"string"}},"required":["statusCode","timestamp","path"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":404,"timestamp":"2024-12-12T13:00:00Z","path":"/api/v1/resource","message":"xx xx xx ","ctx":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"errorId":"abc123"}}},"exampleType":"generated"}},"exampleType":"generated"},"c7b04cc8-d6ed-4e74-82de-9d7f40444365":{"description":"Payload Too Large","headers":{"Content-Type":{"required":true,"description":"The MIME type of the response body.","schema":{"type":"string"},"example":"application/json"},"RateLimit-Limit":{"required":false,"description":"The number of requests that the client is permitted to make per second. The actual maximum may differ when burst is enabled.","schema":{"type":"string"},"example":"100"},"RateLimit-Remaining":{"required":false,"description":"The number of requests remaining until the next window.","schema":{"type":"string"},"example":"93"},"RateLimit-Reset":{"required":false,"description":"The remaining seconds until a request of the same cost will be refreshed.","schema":{"type":"string"},"example":"8"},"RateLimit-Policy":{"required":false,"description":"The rate limit policy that was used to evaluate the request.","schema":{"type":"string"},"example":"100;w=1;burst=110;comment=\"token bucket\";category=\"trigger\";cost=\"single\""},"Idempotency-Key":{"required":false,"description":"The idempotency key used to evaluate the request.","schema":{"type":"string"},"example":"8"},"Idempotency-Replay":{"required":false,"description":"Whether the request was a replay of a previous request.","schema":{"type":"string"},"example":"true"}},"content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number","description":"HTTP status code of the error response.","example":404,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"number"},"timestamp":{"type":"string","description":"Timestamp of when the error occurred.","example":"2024-12-12T13:00:00Z","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string"},"path":{"type":"string","description":"The path where the error occurred.","example":"/api/v1/resource","isRequired":true,"uniqueKey":"path","typeLabel":"string"},"message":{"oneOf":[{"type":"string","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.1","typeLabel":"null"},{"type":"number","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.2","typeLabel":"number"},{"type":"boolean","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.3","typeLabel":"boolean"},{"type":"object","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.4","typeLabel":"object"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.5","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.1","typeLabel":"null"},{"type":"number","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.2","typeLabel":"number"},{"type":"boolean","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.3","typeLabel":"boolean"},{"type":"object","additionalProperties":true,"uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"message.oneOf.6.items.[INDEX]","typeLabel":"string | null | number | boolean | object"},"description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.6","typeLabel":"(string | null | number | boolean | object)[]"}],"uniqueKey":"message","typeLabel":"string · null · number · boolean · object · null · (string | null | number | boolean | object)[]"},"ctx":{"type":"object","description":"Optional context object for additional error details.","additionalProperties":true,"example":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"uniqueKey":"ctx","typeLabel":"object"},"errorId":{"type":"string","description":"Optional unique identifier for the error, useful for tracking using Sentry and \n New Relic, only available for 500.","example":"abc123","uniqueKey":"errorId","typeLabel":"string"}},"required":["statusCode","timestamp","path"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":404,"timestamp":"2024-12-12T13:00:00Z","path":"/api/v1/resource","message":"xx xx xx ","ctx":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"errorId":"abc123"}}},"exampleType":"generated"}},"exampleType":"generated"},"f7dd12e7-6ab1-4ce8-b7d3-d09e1af4af06":{"description":"URI Too Long","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number","description":"HTTP status code of the error response.","example":404,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"number"},"timestamp":{"type":"string","description":"Timestamp of when the error occurred.","example":"2024-12-12T13:00:00Z","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string"},"path":{"type":"string","description":"The path where the error occurred.","example":"/api/v1/resource","isRequired":true,"uniqueKey":"path","typeLabel":"string"},"message":{"oneOf":[{"type":"string","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.1","typeLabel":"null"},{"type":"number","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.2","typeLabel":"number"},{"type":"boolean","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.3","typeLabel":"boolean"},{"type":"object","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.4","typeLabel":"object"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.5","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.1","typeLabel":"null"},{"type":"number","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.2","typeLabel":"number"},{"type":"boolean","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.3","typeLabel":"boolean"},{"type":"object","additionalProperties":true,"uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"message.oneOf.6.items.[INDEX]","typeLabel":"string | null | number | boolean | object"},"description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.6","typeLabel":"(string | null | number | boolean | object)[]"}],"uniqueKey":"message","typeLabel":"string · null · number · boolean · object · null · (string | null | number | boolean | object)[]"},"ctx":{"type":"object","description":"Optional context object for additional error details.","additionalProperties":true,"example":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"uniqueKey":"ctx","typeLabel":"object"},"errorId":{"type":"string","description":"Optional unique identifier for the error, useful for tracking using Sentry and \n New Relic, only available for 500.","example":"abc123","uniqueKey":"errorId","typeLabel":"string"}},"required":["statusCode","timestamp","path"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":404,"timestamp":"2024-12-12T13:00:00Z","path":"/api/v1/resource","message":"xx xx xx ","ctx":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"errorId":"abc123"}}},"exampleType":"generated"}},"exampleType":"generated"},"705a7d94-5a3e-4d2d-82a7-46a06cd8d105":{"description":"Unsupported Media Type","headers":{"Content-Type":{"required":true,"description":"The MIME type of the response body.","schema":{"type":"string"},"example":"application/json"},"RateLimit-Limit":{"required":false,"description":"The number of requests that the client is permitted to make per second. The actual maximum may differ when burst is enabled.","schema":{"type":"string"},"example":"100"},"RateLimit-Remaining":{"required":false,"description":"The number of requests remaining until the next window.","schema":{"type":"string"},"example":"93"},"RateLimit-Reset":{"required":false,"description":"The remaining seconds until a request of the same cost will be refreshed.","schema":{"type":"string"},"example":"8"},"RateLimit-Policy":{"required":false,"description":"The rate limit policy that was used to evaluate the request.","schema":{"type":"string"},"example":"100;w=1;burst=110;comment=\"token bucket\";category=\"trigger\";cost=\"single\""},"Idempotency-Key":{"required":false,"description":"The idempotency key used to evaluate the request.","schema":{"type":"string"},"example":"8"},"Idempotency-Replay":{"required":false,"description":"Whether the request was a replay of a previous request.","schema":{"type":"string"},"example":"true"}},"content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number","description":"HTTP status code of the error response.","example":404,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"number"},"timestamp":{"type":"string","description":"Timestamp of when the error occurred.","example":"2024-12-12T13:00:00Z","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string"},"path":{"type":"string","description":"The path where the error occurred.","example":"/api/v1/resource","isRequired":true,"uniqueKey":"path","typeLabel":"string"},"message":{"oneOf":[{"type":"string","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.1","typeLabel":"null"},{"type":"number","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.2","typeLabel":"number"},{"type":"boolean","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.3","typeLabel":"boolean"},{"type":"object","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.4","typeLabel":"object"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.5","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.1","typeLabel":"null"},{"type":"number","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.2","typeLabel":"number"},{"type":"boolean","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.3","typeLabel":"boolean"},{"type":"object","additionalProperties":true,"uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"message.oneOf.6.items.[INDEX]","typeLabel":"string | null | number | boolean | object"},"description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.6","typeLabel":"(string | null | number | boolean | object)[]"}],"uniqueKey":"message","typeLabel":"string · null · number · boolean · object · null · (string | null | number | boolean | object)[]"},"ctx":{"type":"object","description":"Optional context object for additional error details.","additionalProperties":true,"example":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"uniqueKey":"ctx","typeLabel":"object"},"errorId":{"type":"string","description":"Optional unique identifier for the error, useful for tracking using Sentry and \n New Relic, only available for 500.","example":"abc123","uniqueKey":"errorId","typeLabel":"string"}},"required":["statusCode","timestamp","path"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":404,"timestamp":"2024-12-12T13:00:00Z","path":"/api/v1/resource","message":"xx xx xx ","ctx":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"errorId":"abc123"}}},"exampleType":"generated"}},"exampleType":"generated"},"ac3c967d-d7b5-4d9c-a8b1-a8ce9dfaed68":{"description":"Unprocessable Entity","headers":{"Content-Type":{"required":true,"description":"The MIME type of the response body.","schema":{"type":"string"},"example":"application/json"},"RateLimit-Limit":{"required":false,"description":"The number of requests that the client is permitted to make per second. The actual maximum may differ when burst is enabled.","schema":{"type":"string"},"example":"100"},"RateLimit-Remaining":{"required":false,"description":"The number of requests remaining until the next window.","schema":{"type":"string"},"example":"93"},"RateLimit-Reset":{"required":false,"description":"The remaining seconds until a request of the same cost will be refreshed.","schema":{"type":"string"},"example":"8"},"RateLimit-Policy":{"required":false,"description":"The rate limit policy that was used to evaluate the request.","schema":{"type":"string"},"example":"100;w=1;burst=110;comment=\"token bucket\";category=\"trigger\";cost=\"single\""},"Idempotency-Key":{"required":false,"description":"The idempotency key used to evaluate the request.","schema":{"type":"string"},"example":"8"},"Idempotency-Replay":{"required":false,"description":"Whether the request was a replay of a previous request.","schema":{"type":"string"},"example":"true"}},"content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number","description":"HTTP status code of the error response.","example":404,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"number"},"timestamp":{"type":"string","description":"Timestamp of when the error occurred.","example":"2024-12-12T13:00:00Z","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string"},"path":{"type":"string","description":"The path where the error occurred.","example":"/api/v1/resource","isRequired":true,"uniqueKey":"path","typeLabel":"string"},"errors":{"type":"object","description":"A record of validation errors keyed by field name","additionalProperties":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"string","uniqueKey":"errors.additionalProperties.messages.items.[INDEX]","typeLabel":"string"},"description":"List of validation error messages","example":["Field is required","Invalid format"],"isRequired":true,"uniqueKey":"errors.additionalProperties.messages","typeLabel":"string[]"},"value":{"oneOf":[{"type":"string","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"errors.additionalProperties.value.oneOf.0","typeLabel":"string"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"errors.additionalProperties.value.oneOf.1","typeLabel":"null"},{"type":"number","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"errors.additionalProperties.value.oneOf.2","typeLabel":"number"},{"type":"boolean","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"errors.additionalProperties.value.oneOf.3","typeLabel":"boolean"},{"type":"object","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"errors.additionalProperties.value.oneOf.4","typeLabel":"object"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"errors.additionalProperties.value.oneOf.5.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"errors.additionalProperties.value.oneOf.5.items.[INDEX].oneOf.1","typeLabel":"null"},{"type":"number","uniqueKey":"errors.additionalProperties.value.oneOf.5.items.[INDEX].oneOf.2","typeLabel":"number"},{"type":"boolean","uniqueKey":"errors.additionalProperties.value.oneOf.5.items.[INDEX].oneOf.3","typeLabel":"boolean"},{"type":"object","additionalProperties":true,"uniqueKey":"errors.additionalProperties.value.oneOf.5.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"errors.additionalProperties.value.oneOf.5.items.[INDEX]","typeLabel":"string | null | number | boolean | object"},"description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"errors.additionalProperties.value.oneOf.5","typeLabel":"(string | null | number | boolean | object)[]"}],"uniqueKey":"errors.additionalProperties.value","typeLabel":"string | null | number | boolean | object | (string | null | number | boolean | object)[]"}},"required":["messages"],"uniqueKey":"errors.additionalProperties","typeLabel":"object"},"example":{"fieldName1":{"messages":["Field is required","Must be a valid email address"],"value":"invalidEmail"},"fieldName2":{"messages":["Must be at least 18 years old"],"value":17},"fieldName3":{"messages":["Must be a boolean value"],"value":true},"fieldName4":{"messages":["Must be a valid object"],"value":{"key":"value"}},"fieldName5":{"messages":["Field is missing"],"value":null},"fieldName6":{"messages":["Undefined value"]}},"isRequired":true,"uniqueKey":"errors","typeLabel":"object"},"message":{"oneOf":[{"type":"string","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.1","typeLabel":"null"},{"type":"number","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.2","typeLabel":"number"},{"type":"boolean","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.3","typeLabel":"boolean"},{"type":"object","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.4","typeLabel":"object"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.5","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.1","typeLabel":"null"},{"type":"number","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.2","typeLabel":"number"},{"type":"boolean","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.3","typeLabel":"boolean"},{"type":"object","additionalProperties":true,"uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"message.oneOf.6.items.[INDEX]","typeLabel":"string | null | number | boolean | object"},"description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.6","typeLabel":"(string | null | number | boolean | object)[]"}],"uniqueKey":"message","typeLabel":"string · null · number · boolean · object · null · (string | null | number | boolean | object)[]"},"ctx":{"type":"object","description":"Optional context object for additional error details.","additionalProperties":true,"example":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"uniqueKey":"ctx","typeLabel":"object"},"errorId":{"type":"string","description":"Optional unique identifier for the error, useful for tracking using Sentry and \n New Relic, only available for 500.","example":"abc123","uniqueKey":"errorId","typeLabel":"string"}},"required":["statusCode","timestamp","path","errors"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":404,"timestamp":"2024-12-12T13:00:00Z","path":"/api/v1/resource","errors":{"fieldName1":{"messages":["Field is required","Must be a valid email address"],"value":"invalidEmail"},"fieldName2":{"messages":["Must be at least 18 years old"],"value":17},"fieldName3":{"messages":["Must be a boolean value"],"value":true},"fieldName4":{"messages":["Must be a valid object"],"value":{"key":"value"}},"fieldName5":{"messages":["Field is missing"],"value":null},"fieldName6":{"messages":["Undefined value"]}},"message":"xx xx xx ","ctx":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"errorId":"abc123"}}},"exampleType":"generated"}},"exampleType":"generated"},"f49f7456-f1b6-4678-b52f-4b136f67c325":{"description":"The client has sent too many requests in a given amount of time. ","headers":{"Content-Type":{"required":true,"description":"The MIME type of the response body.","schema":{"type":"string"},"example":"application/json"},"RateLimit-Limit":{"required":false,"description":"The number of requests that the client is permitted to make per second. The actual maximum may differ when burst is enabled.","schema":{"type":"string"},"example":"100"},"RateLimit-Remaining":{"required":false,"description":"The number of requests remaining until the next window.","schema":{"type":"string"},"example":"93"},"RateLimit-Reset":{"required":false,"description":"The remaining seconds until a request of the same cost will be refreshed.","schema":{"type":"string"},"example":"8"},"RateLimit-Policy":{"required":false,"description":"The rate limit policy that was used to evaluate the request.","schema":{"type":"string"},"example":"100;w=1;burst=110;comment=\"token bucket\";category=\"trigger\";cost=\"single\""},"Idempotency-Key":{"required":false,"description":"The idempotency key used to evaluate the request.","schema":{"type":"string"},"example":"8"},"Idempotency-Replay":{"required":false,"description":"Whether the request was a replay of a previous request.","schema":{"type":"string"},"example":"true"},"Retry-After":{"required":false,"description":"The number of seconds after which the client may retry the request that was previously rejected.","schema":{"type":"string"},"example":"8"}},"content":{"application/json":{"schema":{"type":"string","example":"API rate limit exceeded","uniqueKey":"","typeLabel":"string"},"examples":{"Example":{"title":"Example","value":"API rate limit exceeded"}},"exampleType":"generated"}},"exampleType":"generated"},"86efd391-8497-423b-a539-12e31c0c8089":{"description":"Internal Server Error","headers":{"Content-Type":{"required":true,"description":"The MIME type of the response body.","schema":{"type":"string"},"example":"application/json"},"RateLimit-Limit":{"required":false,"description":"The number of requests that the client is permitted to make per second. The actual maximum may differ when burst is enabled.","schema":{"type":"string"},"example":"100"},"RateLimit-Remaining":{"required":false,"description":"The number of requests remaining until the next window.","schema":{"type":"string"},"example":"93"},"RateLimit-Reset":{"required":false,"description":"The remaining seconds until a request of the same cost will be refreshed.","schema":{"type":"string"},"example":"8"},"RateLimit-Policy":{"required":false,"description":"The rate limit policy that was used to evaluate the request.","schema":{"type":"string"},"example":"100;w=1;burst=110;comment=\"token bucket\";category=\"trigger\";cost=\"single\""},"Idempotency-Key":{"required":false,"description":"The idempotency key used to evaluate the request.","schema":{"type":"string"},"example":"8"},"Idempotency-Replay":{"required":false,"description":"Whether the request was a replay of a previous request.","schema":{"type":"string"},"example":"true"}},"content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number","description":"HTTP status code of the error response.","example":404,"isRequired":true,"uniqueKey":"statusCode","typeLabel":"number"},"timestamp":{"type":"string","description":"Timestamp of when the error occurred.","example":"2024-12-12T13:00:00Z","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string"},"path":{"type":"string","description":"The path where the error occurred.","example":"/api/v1/resource","isRequired":true,"uniqueKey":"path","typeLabel":"string"},"message":{"oneOf":[{"type":"string","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.1","typeLabel":"null"},{"type":"number","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.2","typeLabel":"number"},{"type":"boolean","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.3","typeLabel":"boolean"},{"type":"object","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.4","typeLabel":"object"},{"type":"null","description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.5","typeLabel":"null"},{"type":"array","items":{"oneOf":[{"type":"string","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.1","typeLabel":"null"},{"type":"number","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.2","typeLabel":"number"},{"type":"boolean","uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.3","typeLabel":"boolean"},{"type":"object","additionalProperties":true,"uniqueKey":"message.oneOf.6.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"message.oneOf.6.items.[INDEX]","typeLabel":"string | null | number | boolean | object"},"description":"Value that failed validation","example":"xx xx xx ","uniqueKey":"message.oneOf.6","typeLabel":"(string | null | number | boolean | object)[]"}],"uniqueKey":"message","typeLabel":"string · null · number · boolean · object · null · (string | null | number | boolean | object)[]"},"ctx":{"type":"object","description":"Optional context object for additional error details.","additionalProperties":true,"example":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"uniqueKey":"ctx","typeLabel":"object"},"errorId":{"type":"string","description":"Optional unique identifier for the error, useful for tracking using Sentry and \n New Relic, only available for 500.","example":"abc123","uniqueKey":"errorId","typeLabel":"string"}},"required":["statusCode","timestamp","path"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":404,"timestamp":"2024-12-12T13:00:00Z","path":"/api/v1/resource","message":"xx xx xx ","ctx":{"workflowId":"some_wf_id","stepId":"some_wf_id"},"errorId":"abc123"}}},"exampleType":"generated"}},"exampleType":"generated"},"92000309-7e11-43f0-9b81-a3c002492168":{"description":"The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.","headers":{"Content-Type":{"required":true,"description":"The MIME type of the response body.","schema":{"type":"string"},"example":"application/json"},"RateLimit-Limit":{"required":false,"description":"The number of requests that the client is permitted to make per second. The actual maximum may differ when burst is enabled.","schema":{"type":"string"},"example":"100"},"RateLimit-Remaining":{"required":false,"description":"The number of requests remaining until the next window.","schema":{"type":"string"},"example":"93"},"RateLimit-Reset":{"required":false,"description":"The remaining seconds until a request of the same cost will be refreshed.","schema":{"type":"string"},"example":"8"},"RateLimit-Policy":{"required":false,"description":"The rate limit policy that was used to evaluate the request.","schema":{"type":"string"},"example":"100;w=1;burst=110;comment=\"token bucket\";category=\"trigger\";cost=\"single\""},"Idempotency-Key":{"required":false,"description":"The idempotency key used to evaluate the request.","schema":{"type":"string"},"example":"8"},"Idempotency-Replay":{"required":false,"description":"Whether the request was a replay of a previous request.","schema":{"type":"string"},"example":"true"},"Retry-After":{"required":false,"description":"The number of seconds after which the client may retry the request that was previously rejected.","schema":{"type":"string"},"example":"8"}},"content":{"application/json":{"schema":{"type":"string","example":"Please wait some time, then try again.","uniqueKey":"","typeLabel":"string"},"examples":{"Example":{"title":"Example","value":"Please wait some time, then try again."}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"1869f35f-b36c-47a9-a452-3b17ae40a507":{"secretKey":{"type":"apiKey","name":"Authorization","in":"header","description":"API key authentication. Allowed headers-- \"Authorization: ApiKey \u003cnovu_secret_key>\".","x-speakeasy-example":"YOUR_SECRET_KEY_HERE","scopes":[]}},"0ad30f47-4ef2-4041-88b8-ade72a970a93":{"secretKey":{"type":"apiKey","name":"Authorization","in":"header","description":"API key authentication. Allowed headers-- \"Authorization: ApiKey \u003cnovu_secret_key>\".","x-speakeasy-example":"YOUR_SECRET_KEY_HERE","scopes":[]}}},"servers":{"29cc13d7-64c7-40f9-8a35-9c01537b78f4":{"url":"https://api.novu.co"},"7588375a-aa7e-462d-a5bf-d94b8564f985":{"url":"https://eu.api.novu.co"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","name":"Authorization","in":"header","description":"API key authentication. Allowed headers-- \"Authorization: ApiKey \u003cnovu_secret_key>\".","x-speakeasy-example":"YOUR_SECRET_KEY_HERE","scopes":[]},"schema":{"title":"Authorization","type":"string","description":"API key authentication. Allowed headers-- \"Authorization: ApiKey \u003cnovu_secret_key>\".","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"secretKey","name":"Authorization"}],"title":"secretKey"},{"schemes":[{"scheme":{"type":"apiKey","name":"Authorization","in":"header","description":"API key authentication. Allowed headers-- \"Authorization: ApiKey \u003cnovu_secret_key>\".","x-speakeasy-example":"YOUR_SECRET_KEY_HERE","scopes":[]},"schema":{"title":"Authorization","type":"string","description":"API key authentication. Allowed headers-- \"Authorization: ApiKey \u003cnovu_secret_key>\".","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"secretKey","name":"Authorization"}],"title":"secretKey"}]},"originalFileLocation":"https://spec.speakeasy.com/novu/novu/json-development-with-code-samples"},"subdomain":"novu-c5de82d9","siteName":"Novu","title":"Create a channel endpoint - Novu","contextualStarterQuestions":[{"_id":"6a65ba628b4bdb92498a688b","deploymentId":"6a3b890b89d2acbacf3fa68a","questionText":"What endpoint types are supported?","status":"active","generatedBy":"contextual","path":"api-reference/channel-endpoints/create-a-channel-endpoint","createdAt":"2026-07-26T07:42:26.885Z","updatedAt":"2026-07-26T07:42:26.885Z","__v":0},{"_id":"6a65ba628b4bdb92498a688c","deploymentId":"6a3b890b89d2acbacf3fa68a","questionText":"Can I use multiple webhooks?","status":"active","generatedBy":"contextual","path":"api-reference/channel-endpoints/create-a-channel-endpoint","createdAt":"2026-07-26T07:42:26.885Z","updatedAt":"2026-07-26T07:42:26.885Z","__v":0},{"_id":"6a65ba628b4bdb92498a688a","deploymentId":"6a3b890b89d2acbacf3fa68a","questionText":"How do I create a tool webhook?","status":"active","generatedBy":"contextual","path":"api-reference/channel-endpoints/create-a-channel-endpoint","createdAt":"2026-07-26T07:42:26.885Z","updatedAt":"2026-07-26T07:42:26.885Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-26T07:42:14.743Z","originalFileLocation":"api-reference/channel-endpoints/create-a-channel-endpoint.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=\"Create a new channel endpoint for a resource.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Novu\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/novu-c5de82d9/hif-BqO_gbG8zfWr/_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/novu-c5de82d9/hif-BqO_gbG8zfWr/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/novu-c5de82d9/hif-BqO_gbG8zfWr/_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/novu-c5de82d9/hif-BqO_gbG8zfWr/_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/novu-c5de82d9/hif-BqO_gbG8zfWr/_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/novu-c5de82d9/hif-BqO_gbG8zfWr/_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/novu-c5de82d9/hif-BqO_gbG8zfWr/_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/novu-c5de82d9/hif-BqO_gbG8zfWr/_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/novu-c5de82d9/hif-BqO_gbG8zfWr/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a channel endpoint - Novu\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a new channel endpoint for a resource.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Novu\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.novu.co/api-reference/channel-endpoints/create-a-channel-endpoint\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://novu-c5de82d9.mintlify.app/_mintlify/api/og/v2?division=Channel+Endpoints\u0026amp;title=Create+a+channel+endpoint\u0026amp;description=Create+a+new+channel+endpoint+for+a+resource.\u0026amp;theme=1ee19fc55ed421ff750b0681\u0026amp;signature=cc4b772c492ca0b2968e0f1f9f4d8c68dff11dc0cc45305f1c866e82a38dd737\">\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 channel endpoint - Novu\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a new channel endpoint for a resource.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://novu-c5de82d9.mintlify.app/_mintlify/api/og/v2?division=Channel+Endpoints\u0026amp;title=Create+a+channel+endpoint\u0026amp;description=Create+a+new+channel+endpoint+for+a+resource.\u0026amp;theme=1ee19fc55ed421ff750b0681\u0026amp;signature=cc4b772c492ca0b2968e0f1f9f4d8c68dff11dc0cc45305f1c866e82a38dd737\">\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/novu-c5de82d9/hif-BqO_gbG8zfWr/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Novu\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0e121b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.novu.co/api-reference/channel-endpoints/create-a-channel-endpoint\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/channel-endpoints/create-a-channel-endpoint.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.novu.co/#organization\",\"name\":\"Novu\",\"url\":\"https://docs.novu.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/novu-c5de82d9/2Q_L4HxwUfLmJjB8/logo/light.svg?fit=max\u0026auto=format\u0026n=2Q_L4HxwUfLmJjB8\u0026q=85\u0026s=23e7050191303b6a0ac4a671dfed8df4\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.novu.co#website\",\"name\":\"Novu\",\"url\":\"https://docs.novu.co\",\"publisher\":{\"@id\":\"https://docs.novu.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.novu.co/api-reference/channel-endpoints/create-a-channel-endpoint#webpage\",\"url\":\"https://docs.novu.co/api-reference/channel-endpoints/create-a-channel-endpoint\",\"name\":\"Create a channel endpoint\",\"description\":\"Create a new channel endpoint for a resource.\",\"dateModified\":\"2026-07-26T07:42:14.743Z\",\"isPartOf\":{\"@id\":\"https://docs.novu.co#website\"},\"breadcrumb\":{\"@id\":\"https://docs.novu.co/api-reference/channel-endpoints/create-a-channel-endpoint#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.novu.co/api-reference/channel-endpoints/create-a-channel-endpoint#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Data\",\"item\":\"https://docs.novu.co/api-reference/subscribers/subscriber-schema\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a channel endpoint\",\"item\":\"https://docs.novu.co/api-reference/channel-endpoints/create-a-channel-endpoint\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.novu.co/api-reference/channel-endpoints/create-a-channel-endpoint#apireference\",\"headline\":\"Create a channel endpoint\",\"name\":\"Create a channel endpoint\",\"description\":\"Create a new channel endpoint for a resource.\",\"url\":\"https://docs.novu.co/api-reference/channel-endpoints/create-a-channel-endpoint\",\"mainEntityOfPage\":{\"@id\":\"https://docs.novu.co/api-reference/channel-endpoints/create-a-channel-endpoint#webpage\"},\"dateModified\":\"2026-07-26T07:42:14.743Z\",\"publisher\":{\"@id\":\"https://docs.novu.co/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.novu.co#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Novu\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Novu","nav":{"global":{"anchors":[]},"tabs":[{"tab":"Notify","pages":[{"title":"Notify","href":"/platform"}]},{"tab":"Agent Connect","pages":[{"title":"Agent Connect","href":"/agents"}]},{"tab":"API Reference","groups":[{"group":"Getting Started","pages":[{"title":"Novu REST API Reference","sidebarTitle":"Overview","href":"/api-reference"},{"title":"Authentication","href":"/api-reference/authentication"},{"title":"Errors","href":"/api-reference/errors"},{"title":"Pagination","href":"/api-reference/pagination"},{"title":"Rate Limiting","href":"/api-reference/rate-limiting"},{"title":"Idempotency","href":"/api-reference/idempotency"},{"title":"Payload Limits","href":"/api-reference/payload-limits"}]},{"group":"Notification delivery","icon":"send","pages":[{"group":"Events","expanded":false,"pages":[{"title":"Trigger event","openapi":"POST /v1/events/trigger","href":"/api-reference/events/trigger-event"},{"title":"Bulk trigger event","openapi":"POST /v1/events/trigger/bulk","href":"/api-reference/events/bulk-trigger-event"},{"title":"Broadcast event to all","openapi":"POST /v1/events/trigger/broadcast","href":"/api-reference/events/broadcast-event-to-all"},{"title":"Cancel triggered event","openapi":"DELETE /v1/events/trigger/{transactionId}","href":"/api-reference/events/cancel-triggered-event"}]},{"group":"Notifications","expanded":false,"pages":[{"title":"Notification event schema","sidebarTitle":"Schema","href":"/api-reference/notifications/notification-event-schema"},{"title":"List all events","openapi":"GET /v1/notifications","href":"/api-reference/notifications/list-all-events"},{"title":"Retrieve an event","openapi":"GET /v1/notifications/{notificationId}","href":"/api-reference/notifications/retrieve-an-event"}]},{"group":"Messages","expanded":false,"pages":[{"title":"Message schema","sidebarTitle":"Schema","href":"/api-reference/messages/message-schema"},{"title":"List all messages","openapi":"GET /v1/messages","href":"/api-reference/messages/list-all-messages"},{"title":"Delete a message","openapi":"DELETE /v1/messages/{messageId}","href":"/api-reference/messages/delete-a-message"},{"title":"Delete messages by transactionId","openapi":"DELETE /v1/messages/transaction/{transactionId}","href":"/api-reference/messages/delete-messages-by-transactionid"}]},{"group":"Activity","expanded":false,"pages":[{"title":"Track activity and engagement events","openapi":"POST /v2/inbound-webhooks/delivery-providers/{environmentId}/{integrationId}","href":"/api-reference/activity/track-activity-and-engagement-events"}]}]},{"group":"Agents","icon":"bot","pages":[{"title":"Agent schema","sidebarTitle":"Schema","href":"/api-reference/agents/agent-schema"},{"group":"Management","expanded":false,"pages":[{"title":"Create an agent","openapi":"POST /v1/agents","href":"/api-reference/agents/create-an-agent"},{"title":"List all agents","openapi":"GET /v1/agents","href":"/api-reference/agents/list-all-agents"},{"title":"Retrieve an agent","openapi":"GET /v1/agents/{identifier}","href":"/api-reference/agents/retrieve-an-agent"},{"title":"Update an agent","openapi":"PATCH /v1/agents/{identifier}","href":"/api-reference/agents/update-an-agent"},{"title":"Delete an agent","openapi":"DELETE /v1/agents/{identifier}","href":"/api-reference/agents/delete-an-agent"}]},{"group":"Runtime","expanded":false,"pages":[{"title":"Update an agent bridge","openapi":"PUT /v1/agents/{identifier}/bridge","href":"/api-reference/agents/update-an-agent-bridge"},{"title":"Send an agent reply","openapi":"POST /v1/agents/{agentId}/reply","href":"/api-reference/agents/send-an-agent-reply"}]},{"group":"Integrations","expanded":false,"pages":[{"title":"Create an agent integration","openapi":"POST /v1/agents/{identifier}/integrations","href":"/api-reference/agents/create-an-agent-integration"},{"title":"List agent integrations","openapi":"GET /v1/agents/{identifier}/integrations","href":"/api-reference/agents/list-agent-integrations"},{"title":"Update an agent integration","openapi":"PATCH /v1/agents/{identifier}/integrations/{agentIntegrationId}","href":"/api-reference/agents/update-an-agent-integration"},{"title":"Delete an agent integration","openapi":"DELETE /v1/agents/{identifier}/integrations/{agentIntegrationId}","href":"/api-reference/agents/delete-an-agent-integration"}]}]},{"group":"Data","icon":"database","pages":[{"group":"Subscribers","expanded":false,"pages":[{"title":"Subscriber schema","sidebarTitle":"Schema","href":"/api-reference/subscribers/subscriber-schema"},{"group":"Management","expanded":false,"pages":[{"title":"Create a subscriber","openapi":"POST /v2/subscribers","href":"/api-reference/subscribers/create-a-subscriber"},{"title":"Retrieve a subscriber","openapi":"GET /v2/subscribers/{subscriberId}","href":"/api-reference/subscribers/retrieve-a-subscriber"},{"title":"Update a subscriber","openapi":"PATCH /v2/subscribers/{subscriberId}","href":"/api-reference/subscribers/update-a-subscriber"},{"title":"Delete a subscriber","openapi":"DELETE /v2/subscribers/{subscriberId}","href":"/api-reference/subscribers/delete-a-subscriber"},{"title":"Search subscribers","openapi":"GET /v2/subscribers","href":"/api-reference/subscribers/search-subscribers"},{"title":"Bulk create subscribers","openapi":"POST /v1/subscribers/bulk","href":"/api-reference/subscribers/bulk-create-subscribers"}]},{"group":"Subscriptions","expanded":false,"pages":[{"title":"Retrieve subscriber subscriptions","openapi":"GET /v2/subscribers/{subscriberId}/subscriptions","href":"/api-reference/subscribers/retrieve-subscriber-subscriptions"}]},{"group":"Preferences","expanded":false,"pages":[{"title":"Retrieve subscriber preferences","openapi":"GET /v2/subscribers/{subscriberId}/preferences","href":"/api-reference/subscribers/retrieve-subscriber-preferences"},{"title":"Update subscriber preferences","openapi":"PATCH /v2/subscribers/{subscriberId}/preferences","href":"/api-reference/subscribers/update-subscriber-preferences"},{"title":"Bulk update subscriber preferences","openapi":"PATCH /v2/subscribers/{subscriberId}/preferences/bulk","href":"/api-reference/subscribers/bulk-update-subscriber-preferences"}]},{"group":"Credentials","expanded":false,"pages":[{"title":"Update provider credentials","openapi":"PUT /v1/subscribers/{subscriberId}/credentials","href":"/api-reference/subscribers/update-provider-credentials"},{"title":"Upsert provider credentials","openapi":"PATCH /v1/subscribers/{subscriberId}/credentials","href":"/api-reference/subscribers/upsert-provider-credentials"},{"title":"Delete provider credentials","openapi":"DELETE /v1/subscribers/{subscriberId}/credentials/{providerId}","href":"/api-reference/subscribers/delete-provider-credentials"}]},{"group":"Notification state","expanded":false,"pages":[{"title":"Retrieve subscriber notifications","openapi":"GET /v1/subscribers/{subscriberId}/notifications/feed","href":"/api-reference/subscribers/retrieve-subscriber-notifications"},{"title":"Update notifications state","openapi":"POST /v1/subscribers/{subscriberId}/messages/mark-as","href":"/api-reference/subscribers/update-notifications-state"},{"title":"Update all notifications state","openapi":"POST /v1/subscribers/{subscriberId}/messages/mark-all","href":"/api-reference/subscribers/update-all-notifications-state"},{"title":"Update subscriber online status","openapi":"PATCH /v1/subscribers/{subscriberId}/online-status","href":"/api-reference/subscribers/update-subscriber-online-status"},{"title":"Retrieve unseen notifications count","openapi":"GET /v1/subscribers/{subscriberId}/notifications/unseen","href":"/api-reference/subscribers/retrieve-unseen-notifications-count"},{"title":"Update notification action status","openapi":"POST /v1/subscribers/{subscriberId}/messages/{messageId}/actions/{type}","href":"/api-reference/subscribers/update-notification-action-status"}]}]},{"group":"Inbox","expanded":false,"pages":[{"group":"Counts","expanded":false,"pages":[{"title":"Retrieve subscriber notifications count","openapi":"GET /v2/subscribers/{subscriberId}/notifications/count","href":"/api-reference/subscribers/retrieve-subscriber-notifications-count"}]},{"group":"Read \u0026 seen","expanded":false,"pages":[{"title":"Mark a notification as read","openapi":"PATCH /v2/subscribers/{subscriberId}/notifications/{notificationId}/read","href":"/api-reference/subscribers/mark-a-notification-as-read"},{"title":"Mark a notification as unread","openapi":"PATCH /v2/subscribers/{subscriberId}/notifications/{notificationId}/unread","href":"/api-reference/subscribers/mark-a-notification-as-unread"},{"title":"Mark all notifications as read","openapi":"POST /v2/subscribers/{subscriberId}/notifications/read","href":"/api-reference/subscribers/mark-all-notifications-as-read"},{"title":"Mark notifications as seen","openapi":"POST /v2/subscribers/{subscriberId}/notifications/seen","href":"/api-reference/subscribers/mark-notifications-as-seen"}]},{"group":"Snooze","expanded":false,"pages":[{"title":"Snooze a notification","openapi":"PATCH /v2/subscribers/{subscriberId}/notifications/{notificationId}/snooze","href":"/api-reference/subscribers/snooze-a-notification"},{"title":"Unsnooze a notification","openapi":"PATCH /v2/subscribers/{subscriberId}/notifications/{notificationId}/unsnooze","href":"/api-reference/subscribers/unsnooze-a-notification"}]},{"group":"Archive","expanded":false,"pages":[{"title":"Archive a notification","openapi":"PATCH /v2/subscribers/{subscriberId}/notifications/{notificationId}/archive","href":"/api-reference/subscribers/archive-a-notification"},{"title":"Unarchive a notification","openapi":"PATCH /v2/subscribers/{subscriberId}/notifications/{notificationId}/unarchive","href":"/api-reference/subscribers/unarchive-a-notification"},{"title":"Archive all notifications","openapi":"POST /v2/subscribers/{subscriberId}/notifications/archive","href":"/api-reference/subscribers/archive-all-notifications"},{"title":"Archive all read notifications","openapi":"POST /v2/subscribers/{subscriberId}/notifications/read-archive","href":"/api-reference/subscribers/archive-all-read-notifications"}]},{"group":"Delete","expanded":false,"pages":[{"title":"Delete a notification","openapi":"DELETE /v2/subscribers/{subscriberId}/notifications/{notificationId}","href":"/api-reference/subscribers/delete-a-notification"},{"title":"Delete all notifications","openapi":"POST /v2/subscribers/{subscriberId}/notifications/delete","href":"/api-reference/subscribers/delete-all-notifications"}]},{"group":"Actions","expanded":false,"pages":[{"title":"Complete a notification action","openapi":"PATCH /v2/subscribers/{subscriberId}/notifications/{notificationId}/actions/{actionType}/complete","href":"/api-reference/subscribers/complete-a-notification-action"},{"title":"Revert a notification action","openapi":"PATCH /v2/subscribers/{subscriberId}/notifications/{notificationId}/actions/{actionType}/revert","href":"/api-reference/subscribers/revert-a-notification-action"}]}]},{"group":"Topics","expanded":false,"pages":[{"title":"Topic schema","sidebarTitle":"Schema","href":"/api-reference/topics/topic-schema"},{"group":"Management","expanded":false,"pages":[{"title":"Create a topic","openapi":"POST /v2/topics","href":"/api-reference/topics/create-a-topic"},{"title":"Retrieve a topic","openapi":"GET /v2/topics/{topicKey}","href":"/api-reference/topics/retrieve-a-topic"},{"title":"Update a topic","openapi":"PATCH /v2/topics/{topicKey}","href":"/api-reference/topics/update-a-topic"},{"title":"Delete a topic","openapi":"DELETE /v2/topics/{topicKey}","href":"/api-reference/topics/delete-a-topic"},{"title":"List all topics","openapi":"GET /v2/topics","href":"/api-reference/topics/list-all-topics"}]},{"group":"Subscriptions","expanded":false,"pages":[{"title":"Create topic subscriptions","openapi":"POST /v2/topics/{topicKey}/subscriptions","href":"/api-reference/topics/create-topic-subscriptions"},{"title":"Delete topic subscriptions","openapi":"DELETE /v2/topics/{topicKey}/subscriptions","href":"/api-reference/topics/delete-topic-subscriptions"},{"title":"Update a topic subscription","openapi":"PATCH /v2/topics/{topicKey}/subscriptions/{identifier}","href":"/api-reference/topics/update-a-topic-subscription"},{"title":"List topic subscriptions","openapi":"GET /v2/topics/{topicKey}/subscriptions","href":"/api-reference/topics/list-topic-subscriptions"},{"title":"Check topic subscriber","openapi":"GET /v1/topics/{topicKey}/subscribers/{externalSubscriberId}","href":"/api-reference/topics/check-topic-subscriber"},{"title":"Retrieve a topic subscription","openapi":"GET /v2/topics/{topicKey}/subscriptions/{identifier}","href":"/api-reference/topics/retrieve-a-topic-subscription"}]}]},{"group":"Contexts","expanded":false,"pages":[{"title":"Context schema","sidebarTitle":"Schema","href":"/api-reference/contexts/context-schema"},{"title":"Create a context","openapi":"POST /v2/contexts","href":"/api-reference/contexts/create-a-context"},{"title":"Retrieve a context","openapi":"GET /v2/contexts/{type}/{id}","href":"/api-reference/contexts/retrieve-a-context"},{"title":"Update a context","openapi":"PATCH /v2/contexts/{type}/{id}","href":"/api-reference/contexts/update-a-context"},{"title":"Delete a context","openapi":"DELETE /v2/contexts/{type}/{id}","href":"/api-reference/contexts/delete-a-context"},{"title":"List all contexts","openapi":"GET /v2/contexts","href":"/api-reference/contexts/list-all-contexts"}]},{"group":"Channel Connections","expanded":false,"pages":[{"title":"Create a channel connection","openapi":"POST /v1/channel-connections","href":"/api-reference/channel-connections/create-a-channel-connection"},{"title":"Retrieve a channel connection","openapi":"GET /v1/channel-connections/{identifier}","href":"/api-reference/channel-connections/retrieve-a-channel-connection"},{"title":"Update a channel connection","openapi":"PATCH /v1/channel-connections/{identifier}","href":"/api-reference/channel-connections/update-a-channel-connection"},{"title":"Delete a channel connection","openapi":"DELETE /v1/channel-connections/{identifier}","href":"/api-reference/channel-connections/delete-a-channel-connection"},{"title":"List all channel connections","openapi":"GET /v1/channel-connections","description":"List all channel connections for a resource.","href":"/api-reference/channel-connections/list-all-channel-connections"}]},{"group":"Channel Endpoints","expanded":false,"pages":[{"title":"Create a channel endpoint","openapi":"POST /v1/channel-endpoints","href":"/api-reference/channel-endpoints/create-a-channel-endpoint"},{"title":"Retrieve a channel endpoint","openapi":"GET /v1/channel-endpoints/{identifier}","description":"Retrieve a specific channel endpoint by its unique identifier.","href":"/api-reference/channel-endpoints/retrieve-a-channel-endpoint"},{"title":"Update a channel endpoint","openapi":"PATCH /v1/channel-endpoints/{identifier}","href":"/api-reference/channel-endpoints/update-a-channel-endpoint"},{"title":"Delete a channel endpoint","openapi":"DELETE /v1/channel-endpoints/{identifier}","href":"/api-reference/channel-endpoints/delete-a-channel-endpoint"},{"title":"List all channel endpoints","openapi":"GET /v1/channel-endpoints","href":"/api-reference/channel-endpoints/list-all-channel-endpoints"}]}]},{"group":"Workflows \u0026 content","icon":"git-branch","pages":[{"group":"Workflows","expanded":false,"pages":[{"title":"Workflow schema","sidebarTitle":"Schema","href":"/api-reference/workflows/workflow-schema"},{"title":"Create a workflow","openapi":"POST /v2/workflows","href":"/api-reference/workflows/create-a-workflow"},{"title":"Retrieve a workflow","openapi":"GET /v2/workflows/{workflowId}","href":"/api-reference/workflows/retrieve-a-workflow"},{"title":"Update a workflow","openapi":"PUT /v2/workflows/{workflowId}","href":"/api-reference/workflows/update-a-workflow"},{"title":"Delete a workflow","openapi":"DELETE /v2/workflows/{workflowId}","href":"/api-reference/workflows/delete-a-workflow"},{"title":"List all workflows","openapi":"GET /v2/workflows","href":"/api-reference/workflows/list-all-workflows"},{"title":"Sync a workflow","openapi":"PUT /v2/workflows/{workflowId}/sync","href":"/api-reference/workflows/sync-a-workflow"},{"title":"Retrieve workflow step","openapi":"GET /v2/workflows/{workflowId}/steps/{stepId}","href":"/api-reference/workflows/retrieve-workflow-step"},{"title":"Generate a step preview","openapi":"POST /v2/workflows/{workflowId}/step/{stepId}/preview","href":"/api-reference/workflows/generate-a-step-preview"}]},{"group":"Translations","expanded":false,"pages":[{"title":"Create a translation","openapi":"POST /v2/translations","href":"/api-reference/translations/create-a-translation"},{"title":"Retrieve a translation","openapi":"GET /v2/translations/{resourceType}/{resourceId}/{locale}","href":"/api-reference/translations/retrieve-a-translation"},{"title":"Delete a translation","openapi":"DELETE /v2/translations/{resourceType}/{resourceId}/{locale}","href":"/api-reference/translations/delete-a-translation"},{"title":"Retrieve a translation group","openapi":"GET /v2/translations/group/{resourceType}/{resourceId}","href":"/api-reference/translations/retrieve-a-translation-group"},{"title":"Delete a translation group","openapi":"DELETE /v2/translations/{resourceType}/{resourceId}","href":"/api-reference/translations/delete-a-translation-group"},{"title":"Import master translations JSON","openapi":"POST /v2/translations/master-json","href":"/api-reference/translations/import-master-translations-json"},{"title":"Retrieve master translations JSON","openapi":"GET /v2/translations/master-json","href":"/api-reference/translations/retrieve-master-translations-json"},{"title":"Upload master translations JSON file","openapi":"POST /v2/translations/master-json/upload","href":"/api-reference/translations/upload-master-translations-json-file"},{"title":"Upload translation files","openapi":"POST /v2/translations/upload","href":"/api-reference/translations/upload-translation-files"}]},{"group":"Layouts","expanded":false,"pages":[{"title":"Create a layout","openapi":"POST /v2/layouts","href":"/api-reference/layouts/create-a-layout"},{"title":"Delete a layout","openapi":"DELETE /v2/layouts/{layoutId}","href":"/api-reference/layouts/delete-a-layout"},{"title":"Duplicate a layout","openapi":"POST /v2/layouts/{layoutId}/duplicate","href":"/api-reference/layouts/duplicate-a-layout"},{"title":"Generate layout preview","openapi":"POST /v2/layouts/{layoutId}/preview","href":"/api-reference/layouts/generate-layout-preview"},{"title":"Get layout usage","openapi":"GET /v2/layouts/{layoutId}/usage","href":"/api-reference/layouts/get-layout-usage"},{"title":"List all layouts","openapi":"GET /v2/layouts","href":"/api-reference/layouts/list-all-layouts"},{"title":"Retrieve a layout","openapi":"GET /v2/layouts/{layoutId}","href":"/api-reference/layouts/retrieve-a-layout"},{"title":"Update a layout","openapi":"PUT /v2/layouts/{layoutId}","href":"/api-reference/layouts/update-a-layout"}]}]},{"group":"Platform \u0026 channels","icon":"settings","pages":[{"group":"Environments","expanded":false,"pages":[{"title":"Environment schema","sidebarTitle":"Schema","href":"/api-reference/environments/environment-schema"},{"title":"Create an environment","openapi":"POST /v1/environments","href":"/api-reference/environments/create-an-environment"},{"title":"Update an environment","openapi":"PUT /v1/environments/{environmentId}","href":"/api-reference/environments/update-an-environment"},{"title":"Delete an environment","openapi":"DELETE /v1/environments/{environmentId}","href":"/api-reference/environments/delete-an-environment"},{"title":"List all environments","openapi":"GET /v1/environments","href":"/api-reference/environments/list-all-environments"},{"title":"List environment tags","openapi":"GET /v2/environments/{environmentId}/tags","href":"/api-reference/environments/list-environment-tags"},{"title":"Compare resources between environments","openapi":"POST /v2/environments/{targetEnvironmentId}/diff","href":"/api-reference/environments/compare-resources-between-environments"},{"title":"Publish resources to target environment","openapi":"POST /v2/environments/{targetEnvironmentId}/publish","href":"/api-reference/environments/publish-resources-to-target-environment"}]},{"group":"Environment Variables","expanded":false,"pages":[{"title":"Environment variable schema","sidebarTitle":"Schema","href":"/api-reference/environment-variables/environment-variable-schema"},{"title":"Create a variable","openapi":"POST /v1/environment-variables","href":"/api-reference/environment-variables/create-a-variable"},{"title":"Retrieve a variable","openapi":"GET /v1/environment-variables/{variableKey}","href":"/api-reference/environment-variables/retrieve-a-variable"},{"title":"Update a variable","openapi":"PATCH /v1/environment-variables/{variableKey}","href":"/api-reference/environment-variables/update-a-variable"},{"title":"Delete a variable","openapi":"DELETE /v1/environment-variables/{variableKey}","href":"/api-reference/environment-variables/delete-a-variable"},{"title":"List all variables","openapi":"GET /v1/environment-variables","href":"/api-reference/environment-variables/list-all-variables"},{"title":"Retrieve a variable usage","openapi":"GET /v1/environment-variables/{variableKey}/usage","href":"/api-reference/environment-variables/retrieve-a-variable-usage"}]},{"group":"Integrations","expanded":false,"pages":[{"title":"Integration schema","sidebarTitle":"Schema","href":"/api-reference/integrations/integration-schema"},{"title":"Create an integration","openapi":"POST /v1/integrations","href":"/api-reference/integrations/create-an-integration"},{"title":"Update an integration","openapi":"PUT /v1/integrations/{integrationId}","href":"/api-reference/integrations/update-an-integration"},{"title":"Delete an integration","openapi":"DELETE /v1/integrations/{integrationId}","href":"/api-reference/integrations/delete-an-integration"},{"title":"List all integrations","openapi":"GET /v1/integrations","href":"/api-reference/integrations/list-all-integrations"},{"title":"List active integrations","openapi":"GET /v1/integrations/active","href":"/api-reference/integrations/list-active-integrations"},{"title":"Update integration as primary","openapi":"POST /v1/integrations/{integrationId}/set-primary","href":"/api-reference/integrations/update-integration-as-primary"},{"title":"Generate chat OAuth URL","openapi":"POST /v1/integrations/chat/oauth","href":"/api-reference/integrations/generate-chat-oauth-url"},{"title":"Auto-configure an integration for inbound webhooks","openapi":"POST /v1/integrations/{integrationId}/auto-configure","href":"/api-reference/integrations/auto-configure-an-integration-for-inbound-webhooks"}]}]}]},{"tab":"Resources","menu":[{"item":"Guides","pages":[{"title":"Guides","href":"/guides"}]},{"item":"Framework","pages":[{"title":"Framework","href":"/framework"}]},{"item":"Community","pages":[{"title":"Community","href":"/community"}]}],"pages":[{"title":"Resources","href":"/guides"}]}]},"title":"Create a channel endpoint - Novu","buildId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","deploymentId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-BRm_l__d.js","utils-f1l1Oc-G.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BlhqDhJO.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DHCB7rsC.js","snippetPresets-CYXLx6Hv.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-kQh739Uz.js","ApiExamples-B78P2dEq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C4YLPVAh.js","shallow-vlLnTDkQ.js","getApiPlaygroundDisplay-D_98hhvf.js","CodeSnippet-DtnZHGqq.js","CodeSnippets-CLFb8KJt.js","getPastedJson-Cq-zlbnU.js","icon-sN3t983t.js","MethodPill-P_YQ2s09.js","DuplicateIcon-BVzyNsGJ.js","createIcon-B3jqgqC6.js","DynamicMarkdown-Crwq6WG_.js","SectionHeading-C7pGS2Bb.js","axios-vUo_bRtp.js","Markdown-BuPH8yuW.js","clsx-CCOYKgaU.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BnkC_6oA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BM4S31-f.js"]}