curl --request GET \
--url https://api.nohead.io/v1/webhooks/{webhook_id} \
--header 'Authorization: Bearer <token>'import { Nohead } from "@nohead/sdk"
const nohead = new Nohead()
const result = await nohead.webhooks.get("wh_01J9ZQ3F8X")
from nohead import Nohead
nohead = Nohead()
result = nohead.webhooks.get("wh_01J9ZQ3F8X")
require "nohead"
nohead = Nohead::Client.new
result = nohead.webhooks.get("wh_01J9ZQ3F8X")
{
"id": "wh_01J9ZQ3F8X5W2K7M4N6P0R1S2T",
"object": "webhook",
"project_id": "<string>",
"url": "<string>",
"description": "<string>",
"event_types": [
"record.created"
],
"published_only": true,
"enabled": true,
"deleted_at": "2023-11-07T05:31:56Z",
"purge_after": "2023-11-07T05:31:56Z",
"created_at": "2026-09-27T12:00:00.000Z",
"updated_at": "2026-09-27T12:00:00.000Z"
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"request_id": "req_01J9ZQ3F8X5W2K7M4N6P0R1S2T",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>",
"usage": 123,
"limit": 123,
"current_revision": 123,
"record_id": "<string>",
"draft_id": "<string>"
}
]
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"request_id": "req_01J9ZQ3F8X5W2K7M4N6P0R1S2T",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>",
"usage": 123,
"limit": 123,
"current_revision": 123,
"record_id": "<string>",
"draft_id": "<string>"
}
]
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"request_id": "req_01J9ZQ3F8X5W2K7M4N6P0R1S2T",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>",
"usage": 123,
"limit": 123,
"current_revision": 123,
"record_id": "<string>",
"draft_id": "<string>"
}
]
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"request_id": "req_01J9ZQ3F8X5W2K7M4N6P0R1S2T",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>",
"usage": 123,
"limit": 123,
"current_revision": 123,
"record_id": "<string>",
"draft_id": "<string>"
}
]
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"request_id": "req_01J9ZQ3F8X5W2K7M4N6P0R1S2T",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>",
"usage": 123,
"limit": 123,
"current_revision": 123,
"record_id": "<string>",
"draft_id": "<string>"
}
]
}
}Get a webhook
Also a deleted webhook, with deleted_at and purge_after, so it can be restored.
curl --request GET \
--url https://api.nohead.io/v1/webhooks/{webhook_id} \
--header 'Authorization: Bearer <token>'import { Nohead } from "@nohead/sdk"
const nohead = new Nohead()
const result = await nohead.webhooks.get("wh_01J9ZQ3F8X")
from nohead import Nohead
nohead = Nohead()
result = nohead.webhooks.get("wh_01J9ZQ3F8X")
require "nohead"
nohead = Nohead::Client.new
result = nohead.webhooks.get("wh_01J9ZQ3F8X")
{
"id": "wh_01J9ZQ3F8X5W2K7M4N6P0R1S2T",
"object": "webhook",
"project_id": "<string>",
"url": "<string>",
"description": "<string>",
"event_types": [
"record.created"
],
"published_only": true,
"enabled": true,
"deleted_at": "2023-11-07T05:31:56Z",
"purge_after": "2023-11-07T05:31:56Z",
"created_at": "2026-09-27T12:00:00.000Z",
"updated_at": "2026-09-27T12:00:00.000Z"
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"request_id": "req_01J9ZQ3F8X5W2K7M4N6P0R1S2T",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>",
"usage": 123,
"limit": 123,
"current_revision": 123,
"record_id": "<string>",
"draft_id": "<string>"
}
]
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"request_id": "req_01J9ZQ3F8X5W2K7M4N6P0R1S2T",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>",
"usage": 123,
"limit": 123,
"current_revision": 123,
"record_id": "<string>",
"draft_id": "<string>"
}
]
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"request_id": "req_01J9ZQ3F8X5W2K7M4N6P0R1S2T",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>",
"usage": 123,
"limit": 123,
"current_revision": 123,
"record_id": "<string>",
"draft_id": "<string>"
}
]
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"request_id": "req_01J9ZQ3F8X5W2K7M4N6P0R1S2T",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>",
"usage": 123,
"limit": 123,
"current_revision": 123,
"record_id": "<string>",
"draft_id": "<string>"
}
]
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"request_id": "req_01J9ZQ3F8X5W2K7M4N6P0R1S2T",
"details": [
{
"code": "<string>",
"message": "<string>",
"field": "<string>",
"usage": 123,
"limit": 123,
"current_revision": 123,
"record_id": "<string>",
"draft_id": "<string>"
}
]
}
}Authorizations
Project-scoped API key, e.g. nohead_sk_k7fz0a9c3m2q_<secret>, or
nohead_pk_… for a published-only key. Used by servers, CI, the CLI
and coding agents.
Path Parameters
Response
The webhook.
"wh_01J9ZQ3F8X5W2K7M4N6P0R1S2T"
The subscribed event types and wildcards (record.*, or * for all).
An event webhooks can subscribe to: the same names as the activity
log's actions. A subscription can also be every type of a resource
(record.*, draft.*, collection.*, field.*, asset.*) or * for all.
record.created, record.updated, record.published, record.unpublished, record.deleted, record.restored, record.reverted, record.redacted, record.scheduled, record.unscheduled, record.schedule_failed, draft.created, draft.updated, draft.discarded, draft.scheduled, draft.unscheduled, draft.schedule_failed, collection.created, collection.updated, collection.deleted, collection.restored, collection.fields_reordered, field.created, field.updated, field.deleted, field.restored, field.migrated, field.alias_removed, asset.created, asset.updated, asset.deleted, asset.restored, asset.purged Send only events that change what a published-only API key can read: a record's change while it is published (or that publishes, unpublishes, deletes or restores it), schema changes, and changes to assets that published records use. Drafts, schedules, history redactions, uploads and purges are never sent. webhook.test always is.
When the webhook was deleted; null unless it is.
When a deleted webhook is removed for good, with its delivery log, unless restored first.
ISO 8601 timestamp in UTC.
"2026-09-27T12:00:00.000Z"
ISO 8601 timestamp in UTC.
"2026-09-27T12:00:00.000Z"