Skip to content

List webhook deliveries

Returns the survey webhook's recent delivery attempts, newest first, with the status each one got.

HTTP request

GET https://www.asqiro.com/api/v1/surveys/{id}/webhook/deliveries

Any API key in the survey's workspace.

Path parameters

ParameterTypeDescription
idstringThe survey id, as returned by the surveys endpoints.Required

Query parameters

ParameterTypeDescription
limitintegerNumber of attempts to return, newest first. The delivery log is not cursor-paged.Optional · Default: 25 · Maximum: 100

Response body

FieldTypeDescription
idstringId of this attempt. Unique per attempt, not per event.
eventIdstringThe event that was delivered. Matches id in the payload and the x-asqiro-event-id header, and is the same across both scopes when a workspace and a survey webhook both received it.
eventTypestringThe event type that was sent, such as response.completed.
surveyIdstring· nullableThe survey the event came from. Null only for a workspace test event, which belongs to no survey.
okbooleanWhether the endpoint accepted the delivery with a 2xx status.
responseStatusinteger· nullableThe HTTP status your endpoint answered with. Null when no exchange happened, such as a timeout, a refused host, or a blocked redirect.
errorstring· nullableWhy the attempt failed, truncated to 200 characters. Null on a successful delivery.
attemptedAtstring (ISO 8601)When the attempt was made.
Note Attempts are kept for 30 days and then expire. The log records what was attempted, never the payload that was sent - read the event back from the responses endpoint using eventId if you need its contents.

Errors

  • unauthorized · 401 · The API key is missing, malformed, deleted, or its creator lost workspace access. Check the Authorization header, then the key itself.
  • forbidden · 403 · The key is valid but lacks the access this call needs - most often a read-only key attempting a write.
  • not_found · 404 · No survey with that id is reachable by this key. A survey in another workspace answers the same way as one that does not exist.
  • plan_upgrade_required · 403 · The workspace owner's plan does not include API access. Upgrading the plan restores it; retrying will not.
  • rate_limited · 429 · Too many requests. The Retry-After response header carries the number of seconds to wait.

Example request

bash
curl "https://www.asqiro.com/api/v1/surveys/s_7t2qk8wvbf31/webhook/deliveries?limit=2" \
  -H "Authorization: Bearer $ASQIRO_API_KEY"

Returns 200 on success.

Example response
json
{
  "data": [
    {
      "id": "d_4k1p8w",
      "eventId": "0f2c8d5a-6b41-4f0e-9d3a-1c7b52e0aa19",
      "eventType": "response.completed",
      "surveyId": "s_7t2qk8wvbf31",
      "ok": false,
      "responseStatus": 503,
      "error": "Outbound webhook returned 503.",
      "attemptedAt": "2026-08-13T10:24:08.512Z"
    },
    {
      "id": "d_4k1p7a",
      "eventId": "b41d7a02-9c8e-4a15-8f6d-2e0c9a7b3155",
      "eventType": "survey.published",
      "surveyId": "s_7t2qk8wvbf31",
      "ok": true,
      "responseStatus": 200,
      "error": null,
      "attemptedAt": "2026-08-13T09:02:41.204Z"
    }
  ]
}