cherami.
API referenceWebhooks

Read a webhook

GET /v1/webhooks/{webhook_id}

Read as Markdown ↗

GET /v1/webhooks/{webhook_id}

Requires an API key: Authorization: Bearer YOUR_CREDENTIAL.

Returns one owned webhook with its live provider configuration and state, exactly as in the listing. Missing, deleted and other-account webhooks return 404. A webhook whose provider endpoint has disappeared reads status: "unknown" with null configuration; delete it and add again.

Parameters

ParameterLocationRequiredTypeMeaning
webhook_idpathYesstringOwned Cherami resource ID returned by the API.

curl example

Replace resource-ID placeholders with returned IDs. Supply CHERAMI_API_KEY through your private shell environment.

curl --silent --show-error --include --request GET \
  "https://cherami.to/v1/webhooks/WEBHOOK_ID" \
  --header "Authorization: Bearer $CHERAMI_API_KEY"

Responses

HTTP 200

Successful operation; inspect resource state and outcome fields.

  • X-Request-ID: Support correlation ID, not an idempotency key.

Content type: application/json.

Webhook

{
  "id": "55555555-5555-4555-8555-555555555555",
  "created_at": "2026-10-01T00:00:00.000Z",
  "url": "https://example.com/hooks/cherami",
  "event_types": [
    "message.received"
  ],
  "inbox_ids": [
    "11111111-1111-4111-8111-111111111111"
  ],
  "deleted_inbox_ids": [],
  "enabled": true,
  "updated_at": "2026-10-01T00:00:00.000Z",
  "status": "active",
  "pending_operation": null,
  "secret_rotated_at": null,
  "previous_secret_expires_at": null
}

HTTP 401

unauthorized: Provide a valid bearer credential. Use human-approved recovery if access is lost.

  • X-Request-ID: Support correlation ID, not an idempotency key.
  • WWW-Authenticate: "Bearer"

Content type: application/json.

Error

HTTP 404

not_found: Resource is absent or inaccessible to this account. Reply targets must be in the sending inbox.

  • X-Request-ID: Support correlation ID, not an idempotency key.

Content type: application/json.

Error

HTTP 503

webhooks_unavailable: Webhook management is unavailable or the operation's outcome is unknown. Read or list webhooks before repeating a change; adding again can create a duplicate.

  • X-Request-ID: Support correlation ID, not an idempotency key.

Content type: application/json.

Error

Schema: Webhook

status is the provider's live state: active delivers, disabled does not (set by you or by the provider after persistent failures), pending means creation or removal is unconfirmed, unknown means the provider could not be read or no longer has the endpoint. pending_operation is distinct from status and names unconfirmed work. Secrets never appear here.

FieldRequiredTypeMeaning and constraints
idYesstringCherami resource ID, distinct from the RFC Message-ID. Use the returned value.
created_atYesstringUTC service instant with milliseconds and Z suffix. format: date-time pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
urlYesstring or null
event_typesYesarray of WebhookEventType or null
inbox_idsYesarray of string or null
deleted_inbox_idsYesarray of stringScoped inbox IDs that are no longer live inboxes. They match nothing; re-scope to remove them.
enabledYesboolean or null
updated_atYesstring or null
statusYes"active" or "disabled" or "pending" or "unknown"
pending_operationYesobject or null
secret_rotated_atYesstring or null
previous_secret_expires_atYesstring or null

Schema: WebhookEventType

message.received: received mail became ready to read. message.sent: provider acceptance of a send was persisted; not delivery.

"message.received" or "message.sent"

Schema: Error

FieldRequiredTypeMeaning and constraints
errorYesobject

error fields

FieldRequiredTypeMeaning and constraints
codeYesstringProgrammatic error code. Handle unrecognized codes by status and operation-specific recovery.
messageYesstringHuman-readable context, not a stable string to match.

HTTP conventions, errors and pagination · Download OpenAPI 3.1

On this page