Recent delivery attempts

Overview

Get recent delivery attempts for the subscription, newest first (orderByDesc('id')). Includes the signed-payload signature and HTTP/error details so partners can re-verify a missed delivery. Bounded by limit (default 50, clamped to 10–100).

Prerequisites

  • A bearer token. Callable with Partner tokens.
  • The webhookSubscriptionId of the record you are targeting.

Base URL

EnvironmentURL
Productionhttps://production-api.shoutaboutus.com
Developmenthttps://development-api.shoutaboutus.com

Endpoint

GET /api/v1/partner/webhooks/{webhookSubscriptionId}/deliveries

Authentication

  • Requires a bearer token in the Authorization: Bearer <bearer-token> header.
  • Who can call it: Partner tokens.
  • findCallerSubscription enforces bundle_id === 1 and scopes by partner_company_id (404 if not owned).

Rate limit

  • No rate limit.

Path parameters

ParameterTypeRequiredDescription
webhookSubscriptionIdintegerRequiredDigits only.

Query parameters

  • Query: limit (int, optional) — default 50; supplied values are clamped to 10–100, not rejected.

Response

  • data.data[].id (int)
  • data.data[].event (string) — from event_action (e.g. webhook.test)
  • data.data[].event_id (string)
  • data.data[].review_history_id (string|null) — null for test deliveries
  • data.data[].attempt_number (int)
  • data.data[].http_status (int|null)
  • data.data[].error_message (string|null)
  • data.data[].response_body_snippet (string|null)
  • data.data[].signature (string) — e.g. sha256=.
  • data.data[].attempted_at (string ISO-8601|null)
  • data.data[].delivered_at (string ISO-8601|null)
  • data.data[].next_retry_at (string ISO-8601|null)

200 Success · 200

{ "data": { "data": [
  {
    "id": 7,
    "event": "webhook.test",
    "event_id": "01KV7ZHF5KYNK2Q2AXN8KQFS5R",
    "review_history_id": null,
    "attempt_number": 3,
    "http_status": null,
    "error_message": "cURL error 6: Could not resolve host: dummy.url",
    "response_body_snippet": null,
    "signature": "sha256=0000000000000000000000000000000000000000000000000000000000000000",
    "attempted_at": "2026-06-16T10:27:30+00:00",
    "delivered_at": null,
    "next_retry_at": null
  }
] } }

Errors

StatusMeaning
401The bearer token is missing, expired or invalid
404Returned if not owned
500Unexpected server error

Example request

curl --request GET \
  --url "https://production-api.shoutaboutus.com/api/v1/partner/webhooks/123/deliveries?limit=50" \
  --header 'Authorization: Bearer {{bearerToken}}' \
  --header 'Accept: application/json'

Did this page help you?