Skip to content
pols.so docs
Esc
↑↓navigate↵open⌘Jpreview

The endpoint's recent deliveries and their outcome

The 100 most recent deliveries to the endpoint, newest first. Each event is one delivery per endpoint that was subscribed to its type when it happened; its attempts are counted in attempts. Deliveries are kept for 30 days. Answers 503 when the deployment has no vault key.

GET/v1/webhooks/{webhook}/deliveries
Authorization
AuthorizationBearer token · headerrequired

Org-scoped API key, pols_....

Path parameters
webhookstringrequired

Webhook endpoint ID (whk_...).

Responses
200

The deliveries, newest first.

deliveriesWebhookDelivery[]required
Show properties
Array of WebhookDelivery
idstringrequired
webhook_idstringrequired
event_idstringrequired
event_typeWebhookEventTyperequired

What happened to a sandbox. sandbox.ready: its status became running after a create, resume or fork, so exec and file calls work. sandbox.stopped: its status became stopped, after a stop, when the org's monthly sandbox-hours (billing off) or credit (billing on) ran out or a trial org held too much disk, or because its VM stopped by itself (then last_error says so). sandbox.error: its status became error. sandbox.expired: its expires_at passed and it is being deleted. Going to standby and waking from it raise no event.

Allowed:sandbox.readysandbox.stoppedsandbox.errorsandbox.expired
sandbox_idstring | null
statestringrequired

pending until an attempt succeeds (succeeded) or the last retry fails (failed).

Allowed:pendingsucceededfailed
attemptsintegerrequired

Attempts made so far.

response_statusinteger | null

The HTTP status the last attempt got; absent when it got no response.

last_errorstring | null

Why the last attempt failed, like HTTP 500 or timeout.

created_atstring<date-time>required
last_attempt_atstring<date-time> | null
next_attempt_atstring<date-time> | null

When a pending delivery is tried next.

delivered_atstring<date-time> | null
429

Rate limited (rate_limited): too many requests or failed authentications from this address, too many requests or lifecycle calls for this org, or too many of its exec, file, computer and CDP calls in progress at once. Retry after Retry-After seconds.

errorobjectrequired
Show properties
codestringrequired

Stable machine-readable code: bad_request (400), unauthorized (401), insufficient_credit (402, no credit left to start a sandbox), forbidden (403), quota_exceeded (403), trial_limit (403, beyond what a trial org may run), not_found (404), conflict (409), billing_details_required (409, save the billing details before topping up), topup_not_available (409, the org cannot top up as it would be taxed; the message says why), withdrawal_consent_required (409, a consumer orders a top-up or the subscription only with withdrawal_consent), desktop_controlled (409, a person viewing the desktop has taken control of it, see control), rate_limited (429, see Retry-After), trial_capacity (429, all trial capacity in use; retry after Retry-After), host_capacity (429, the host is short of memory right now, so nothing new starts there; retry after Retry-After), internal (500), runtime_error (502, the sandbox host failed), payment_provider_error (502, Mollie could not be reached or refused a payment), unavailable (503, the feature is not configured on this deployment), waking (503, the sandbox is still waking from standby or booting; retry), timeout (504, or 408 when a request body stalls).

messagestringrequired
controlDesktopControl

Who has control of a sandbox's desktop. In an error, it is present only with code desktop_controlled.

Show properties
heldbooleanrequired

Someone viewing the desktop has taken control of it.

holderstring

Only when held; their name as the desktop's viewers see it, their user's name or else their API key's.

sincestring<date-time>

Only when held; when they took control.

expires_atstring<date-time>

Only when held; when control lapses unless they use the desktop before.

default

Error.

errorobjectrequired
Show properties
codestringrequired

Stable machine-readable code: bad_request (400), unauthorized (401), insufficient_credit (402, no credit left to start a sandbox), forbidden (403), quota_exceeded (403), trial_limit (403, beyond what a trial org may run), not_found (404), conflict (409), billing_details_required (409, save the billing details before topping up), topup_not_available (409, the org cannot top up as it would be taxed; the message says why), withdrawal_consent_required (409, a consumer orders a top-up or the subscription only with withdrawal_consent), desktop_controlled (409, a person viewing the desktop has taken control of it, see control), rate_limited (429, see Retry-After), trial_capacity (429, all trial capacity in use; retry after Retry-After), host_capacity (429, the host is short of memory right now, so nothing new starts there; retry after Retry-After), internal (500), runtime_error (502, the sandbox host failed), payment_provider_error (502, Mollie could not be reached or refused a payment), unavailable (503, the feature is not configured on this deployment), waking (503, the sandbox is still waking from standby or booting; retry), timeout (504, or 408 when a request body stalls).

messagestringrequired
controlDesktopControl

Who has control of a sandbox's desktop. In an error, it is present only with code desktop_controlled.

Show properties
heldbooleanrequired

Someone viewing the desktop has taken control of it.

holderstring

Only when held; their name as the desktop's viewers see it, their user's name or else their API key's.

sincestring<date-time>

Only when held; when they took control.

expires_atstring<date-time>

Only when held; when control lapses unless they use the desktop before.

Request
curl -X GET 'https://api.pols.so/v1/webhooks/string/deliveries' \
  -H 'Authorization: Bearer YOUR_TOKEN'
Response
{
  "deliveries": [
    {
      "id": "dlv_8f2k1m9x0q3z",
      "webhook_id": "string",
      "event_id": "string",
      "event_type": "sandbox.ready",
      "sandbox_id": "string",
      "state": "pending",
      "attempts": 0,
      "response_status": 0,
      "last_error": "string",
      "created_at": "2019-08-24T14:15:22Z",
      "last_attempt_at": "2019-08-24T14:15:22Z",
      "next_attempt_at": "2019-08-24T14:15:22Z",
      "delivered_at": "2019-08-24T14:15:22Z"
    }
  ]
}