Skip to content
TriedDocs
Account

List webhook deliveries

List recent webhook delivery attempts with their status code, timing and bodies.

GEThttps://api.tried.com.au/webhook-deliveries

Returns the log of webhook attempts sent by the workspace, newest first. Every attempt is stored, including retries, so one event can appear several times with a rising attempt. Use it to debug a webhook endpoint that is failing or slow.

Request#

Query parameter Type Required Description
limit integer No Attempts to return, 1 to 500. Default 100.
call_id string No Only attempts for this call.
event string No Only attempts for this event, for example call_ended or test.

Example request#

curl "https://api.tried.com.au/webhook-deliveries?event=call_ended&limit=20" \
  -H "Authorization: Bearer $TRIED_API_KEY"
const params = new URLSearchParams({ event: "call_ended", limit: "20" });
const res = await fetch(`https://api.tried.com.au/webhook-deliveries?${params}`, {
  headers: { Authorization: `Bearer ${process.env.TRIED_API_KEY}` },
});
const deliveries = await res.json();
import os, requests

res = requests.get(
    "https://api.tried.com.au/webhook-deliveries",
    headers={"Authorization": f"Bearer {os.environ['TRIED_API_KEY']}"},
    params={"event": "call_ended", "limit": 20},
)
deliveries = res.json()

Response#

200 OK

[
  {
    "delivery_id": "whd_8a1c3e5b7d9f2a4c6e0b1d3f",
    "call_id": "call_7b1d3f5a9c2e4b6d8f0a1c3e",
    "event": "call_ended",
    "url": "https://hooks.example.com.au/tried",
    "attempt": 2,
    "success": true,
    "status_code": 200,
    "error": null,
    "duration_ms": 184,
    "request_body": { "event": "call_ended", "call": { "call_id": "call_7b1d3f5a9c2e4b6d8f0a1c3e" } },
    "response_body": "ok",
    "created_timestamp": 1760918263500
  },
  {
    "delivery_id": "whd_2f4b6d8a0c1e3f5a7b9d1c3e",
    "call_id": "call_7b1d3f5a9c2e4b6d8f0a1c3e",
    "event": "call_ended",
    "url": "https://hooks.example.com.au/tried",
    "attempt": 1,
    "success": false,
    "status_code": 503,
    "error": "HTTP 503",
    "duration_ms": 92,
    "request_body": { "event": "call_ended", "call": { "call_id": "call_7b1d3f5a9c2e4b6d8f0a1c3e" } },
    "response_body": "Service Unavailable",
    "created_timestamp": 1760918262300
  }
]

The request_body above is shortened; the stored body holds the full payload that was sent.

Field Type Description
call_id string or null The call the event belongs to. null for test events.
attempt integer 1 for the first try. Failed deliveries are retried up to 3 times with exponential backoff.
success boolean Whether the endpoint answered with a 2xx status.
status_code integer or null HTTP status from your endpoint. null when no response arrived (timeout, DNS failure, blocked address).
error string or null HTTP <status> for a non-2xx answer, or the network error.
duration_ms integer Time from sending the request to the end of the attempt.
request_body object The JSON payload that was sent.
response_body string or null Your endpoint's response body, cut to 4,000 characters.

Errors#

Status When
400 A query parameter fails validation, for example limit above 500.
401 Missing or invalid API key.
403 The key's IP allowlist or scopes reject the request. This route needs the admin scope.
429 Rate limit exceeded. See Rate limits.

See Errors for the body format.