Skip to content
Norbelys
Esc
↑↓navigate↵open⌘Jpreview

Retrieve a webhook delivery with its latest attempt.

GET/v1/webhook_deliveries/{id}
Authorization
AuthorizationBearer token · headerrequired

An API key (nb_live_…, nb_test_…), a workspace token (nbs_…) or a CLI token (nbc_…).

Path parameters
idId_WebhookDeliveryrequired

The delivery id (whd_…), also the webhook-id header.

matches ^whd_[0-9a-f]{32}$
Responses
200

The delivery.

attemptsinteger<int32>required

Attempts made so far.

created_atTimestamprequired
delivered_atTimestamp | null
Show properties
One of:
Timestamp
string<date-time>
null
null
event_idId_OutboxEventrequired
matches ^evt_[0-9a-f]{32}$
event_typeEventTyperequired

The type of an event: the closed vocabulary webhook endpoints subscribe to. New types may be added.

Allowed:message.queuedmessage.sentmessage.failedmessage.uncertainmessage.cancelledmessage.snippets_fallbackdelivery_event.recordedinbound_message.receivedenrollment.stoppedenrollment.completedcampaign.status_changedconnection.health_changedimport.completedexport.completedsuppression.createdai.budget_warningai.budget_exceededendpoint.testwebhook_endpoint.disabled
idId_WebhookDeliveryrequired
matches ^whd_[0-9a-f]{32}$
last_attemptLastAttempt | null
Show properties
One of:
LastAttempt
duration_msinteger<int32> | null
response_excerptstring | null

The answer's first kilobyte, or what went wrong when nothing was answered.

response_statusinteger<int32> | null

The answer's status; null when nothing was answered.

started_atTimestamprequired
null
null
next_attempt_atTimestamp | null
Show properties
One of:
Timestamp
string<date-time>
null
null
stateWebhookDeliveryStaterequired

Where a webhook delivery is (webhook_deliveries.state): pending while an attempt is due at next_attempt_at, delivered, failed once the schedule is exhausted, or disabled when its endpoint was disabled.

Allowed:pendingdeliveredfaileddisabled
webhook_endpoint_idId_WebhookEndpointrequired
matches ^whe_[0-9a-f]{32}$
401

No valid credential.

codeProblemCoderequired

The closed registry of problem codes: programs branch on a problem's code, never on its text. A code may be added, never repurposed.

Allowed:invalid_requestunauthorizedforbiddensession_requirednot_foundarchivedmethod_not_allowedconflictinvalid_stateidempotency_in_progressprecondition_failedpayload_too_largeunsupported_media_typevalidation_failedidempotency_mismatchsuppressedcaptcha_failedinsufficient_scoperate_limitedquota_exceededinternal_errorservice_unavailabletimeout
detailstringrequired

What went wrong, for a person; never an internal cause.

errorsFieldError[]

With validation_failed only: every invalid field.

Show properties
Array of FieldError
codestringrequired

What is wrong (required, range, length, format, invalid, …).

detailstringrequired

A safe, human-readable explanation.

pointerstringrequired

RFC 6901 pointer into the body, or ?name for a query parameter.

instancestringrequired

The request's path.

request_idstringrequired

The request's id, also in X-Request-Id: what support needs to find the request.

retry_afterinteger<int64> | null

With 429 and 503: the seconds to wait, as in Retry-After.

min 0
statusinteger<int32>required

The HTTP status.

min 0
titlestringrequired

Fixed per code.

typestringrequired

https://docs.norbelys.com/errors/<code>, a page that explains the code.

403

The credential lacks automation:read.

codeProblemCoderequired

The closed registry of problem codes: programs branch on a problem's code, never on its text. A code may be added, never repurposed.

Allowed:invalid_requestunauthorizedforbiddensession_requirednot_foundarchivedmethod_not_allowedconflictinvalid_stateidempotency_in_progressprecondition_failedpayload_too_largeunsupported_media_typevalidation_failedidempotency_mismatchsuppressedcaptcha_failedinsufficient_scoperate_limitedquota_exceededinternal_errorservice_unavailabletimeout
detailstringrequired

What went wrong, for a person; never an internal cause.

errorsFieldError[]

With validation_failed only: every invalid field.

Show properties
Array of FieldError
codestringrequired

What is wrong (required, range, length, format, invalid, …).

detailstringrequired

A safe, human-readable explanation.

pointerstringrequired

RFC 6901 pointer into the body, or ?name for a query parameter.

instancestringrequired

The request's path.

request_idstringrequired

The request's id, also in X-Request-Id: what support needs to find the request.

retry_afterinteger<int64> | null

With 429 and 503: the seconds to wait, as in Retry-After.

min 0
statusinteger<int32>required

The HTTP status.

min 0
titlestringrequired

Fixed per code.

typestringrequired

https://docs.norbelys.com/errors/<code>, a page that explains the code.

404

No such delivery in this workspace.

codeProblemCoderequired

The closed registry of problem codes: programs branch on a problem's code, never on its text. A code may be added, never repurposed.

Allowed:invalid_requestunauthorizedforbiddensession_requirednot_foundarchivedmethod_not_allowedconflictinvalid_stateidempotency_in_progressprecondition_failedpayload_too_largeunsupported_media_typevalidation_failedidempotency_mismatchsuppressedcaptcha_failedinsufficient_scoperate_limitedquota_exceededinternal_errorservice_unavailabletimeout
detailstringrequired

What went wrong, for a person; never an internal cause.

errorsFieldError[]

With validation_failed only: every invalid field.

Show properties
Array of FieldError
codestringrequired

What is wrong (required, range, length, format, invalid, …).

detailstringrequired

A safe, human-readable explanation.

pointerstringrequired

RFC 6901 pointer into the body, or ?name for a query parameter.

instancestringrequired

The request's path.

request_idstringrequired

The request's id, also in X-Request-Id: what support needs to find the request.

retry_afterinteger<int64> | null

With 429 and 503: the seconds to wait, as in Retry-After.

min 0
statusinteger<int32>required

The HTTP status.

min 0
titlestringrequired

Fixed per code.

typestringrequired

https://docs.norbelys.com/errors/<code>, a page that explains the code.

Try it
Server
Authorization
Parameters
Request
curl -X GET 'https://api.norbelys.com/v1/webhook_deliveries/whd_0190f8a2b4c87a10b6d2e4f6a8c0e2f4' \
  -H 'Authorization: Bearer YOUR_TOKEN'
Response
{
  "attempts": 0,
  "created_at": "2019-08-24T14:15:22Z",
  "delivered_at": "2019-08-24T14:15:22Z",
  "event_id": "evt_0190f8a2b4c87a10b6d2e4f6a8c0e2f4",
  "event_type": "message.queued",
  "id": "whd_0190f8a2b4c87a10b6d2e4f6a8c0e2f4",
  "last_attempt": {
    "duration_ms": 0,
    "response_excerpt": "string",
    "response_status": 0,
    "started_at": "2019-08-24T14:15:22Z"
  },
  "next_attempt_at": "2019-08-24T14:15:22Z",
  "state": "pending",
  "webhook_endpoint_id": "whe_0190f8a2b4c87a10b6d2e4f6a8c0e2f4"
}