Skip to main content
POST
Create a notification channel

Notes

  • To authenticate, you’ll need a Tako API key. It’s best practice to store it as an environment variable to avoid hardcoding sensitive credentials in your code.
  • Create the channel before the monitor that uses it — Create a monitor answers 404 for a channel_ids entry that names no channel of yours.
  • url must be https. Tako rejects http, and rejects a URL that embeds credentials.
  • A channel starts active. Tako pauses it after two consecutive failed deliveries; see Pause or resume a notification channel.
The 201 returns secret, and no later request ever returns it again. Store it when you read this response. Every delivery to this channel carries a signature computed with it, so losing it means deleting the channel and creating a new one.

Choosing a kind

kind decides how Tako shapes the request body it posts:
  • webhook (the default) — nested JSON that namespaces the monitor, the firing, and the payload.
  • slack_workflow — a flat body of strings, for a Slack Workflow Builder trigger, which rejects any nested value.

Authorizations

X-API-Key
string
header
required

Body

application/json
name
string
required
Required string length: 1 - 255
url
string<uri>
required

The https destination the channel posts to. Tako rejects http, and rejects a URL that embeds credentials.

Maximum string length: 2048
kind
enum<string>
default:webhook

How Tako shapes the body it posts. Send slack_workflow for a Slack Workflow Builder trigger, which rejects a nested value.

Available options:
webhook,
slack_workflow

Response

The created channel, with the signing secret this response alone returns

id
string<uuid>
required
name
string
required
kind
enum<string>
required

How Tako shapes the request body it posts to a channel: webhook sends nested JSON that namespaces the monitor, the firing, and the payload, and slack_workflow sends a flat body of strings for a Slack Workflow Builder trigger, which rejects any nested value.

Available options:
webhook,
slack_workflow
url
string
required
status
enum<string>
required
Available options:
active,
paused
status_reason
enum<string> | null
required

Why Tako paused the channel. Null while the channel is active, and null when you paused it yourself.

Available options:
delivery_failures
created_at
string<date-time>
required
updated_at
string<date-time>
required
secret
string
required

The signing secret for this channel. Store it now: this response is the only place it appears, and no later request returns it. Every delivery to this channel carries a signature computed with it.