List workspace deliveries
Returns the workspace webhook's recent delivery attempts across every survey, newest first.
HTTP request
GET https://www.asqiro.com/api/v1/webhooks/deliveries
Any API key in the survey's workspace.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| limit | integer | Number of attempts to return, newest first. The delivery log is not cursor-paged.Optional · Default: 25 · Maximum: 100 |
Response body
| Field | Type | Description |
|---|---|---|
| id | string | Id of this attempt. Unique per attempt, not per event. |
| eventId | string | The 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. |
| eventType | string | The event type that was sent, such as response.completed. |
| surveyId | string· nullable | The survey the event came from. Null only for a workspace test event, which belongs to no survey. |
| ok | boolean | Whether the endpoint accepted the delivery with a 2xx status. |
| responseStatus | integer· nullable | The HTTP status your endpoint answered with. Null when no exchange happened, such as a timeout, a refused host, or a blocked redirect. |
| error | string· nullable | Why the attempt failed, truncated to 200 characters. Null on a successful delivery. |
| attemptedAt | string (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.
- 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/webhooks/deliveries?limit=2" \
-H "Authorization: Bearer $ASQIRO_API_KEY"Returns 200 on success.
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"
}
]
}