Skip to main content
GET
Get a webhook subscription by ID

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

webhook_subscription_id
string<uuid>
required

The subscription's id. Anything that is not a UUID does not match the route and returns 404.

Response

OK

A webhook subscription. The job_* filters are only set on job subscriptions and app_id only on app subscriptions; the unused ones come back as null rather than being omitted.

id
string<uuid>
required
secret
string<uuid>
required

Sent back on every delivery in the X-Narrative-Secret header. Compare it against this value to confirm a callback came from Narrative.

status
enum<string>
required

Archiving is one-way. The read endpoints only return active subscriptions, so in practice this is always active — an archived subscription responds 404.

Available options:
active,
archived
company_id
integer<int64>
required

The company that owns the subscription.

url
string<uri>
required

The endpoint events are delivered to.

created_at
string
required

An ISO 8601 local date-time with no offset or zone — 2025-04-29T16:12:45.123456. Read it as UTC. This is deliberately not format: date-time, which means RFC 3339 and would require an offset the server does not send. Note that the delivered event envelope uses a different format: its created_at does carry a Z.

Pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?$
Example:

"2025-04-29T16:12:45.123456"

updated_at
string
required

An ISO 8601 local date-time with no offset or zone — 2025-04-29T16:12:45.123456. Read it as UTC. This is deliberately not format: date-time, which means RFC 3339 and would require an offset the server does not send. Note that the delivered event envelope uses a different format: its created_at does carry a Z.

Pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?$
Example:

"2025-04-29T16:12:45.123456"

app_id
integer<int64> | null

The app this subscription follows. Null on job subscriptions.

name
string | null

The label supplied at creation time. Null if none was given.

job_ids
object | null

The job_ids filter, or null if the subscription does not filter by job.

Example:
job_states
object | null

The states filter, or null if the subscription does not filter by state.

Example:
job_types
object | null

The job_types filter, or null if the subscription does not filter by type.

Example: