Skip to main content
PATCH
Update a webhook

Authorizations

Authorization
string
header
required

An organization-scoped API key, minted in control under Settings → API keys. Every failure to authenticate answers one identical 401: "Provide a valid organization-scoped API key or an active session." Each operation names the one scope it is filed under, <resource>:<read|write>, where the resource is the first path segment after /api/v1/; a key minted today carries all 22 of them. Scopes are RECORDED — on the key and on every audit row — and are not yet enforced: no request is refused for want of one.

Headers

Idempotency-Key
string

Any unique string.

Path Parameters

id
string
required

The webhook id. A malformed id answers 404, exactly as another organization's well-formed id does.

Body

application/json
name
string

1–120 characters.

description
string | null

null clears it.

surfaceKind
enum<string>

A room, or a direct message with one person.

Available options:
channel,
dm
channelId
string

Required when surfaceKind is channel.

slackUserId
string

Required when surfaceKind is dm.

threading
enum<string>

Sets the run settings: same_thread keeps memory and runs events one at a time; the others overlap with a fresh conversation each.

Available options:
top_level,
new_thread,
same_thread
rootText
string | null

Unused: stored, and nothing reads it.

promptTemplate
string | null

null falls back to the built-in wording.

enabled
boolean

False makes every delivery answer 410 without retiring the endpoint. True re-enables it. A REVOKED webhook is not re-enabled by either.

Response

Success.

data
object
required

An inbound URL that starts a turn.