cURL
curl -X GET "https://app.emailx.ai/api/v1/workspaces/123/webhook-deliveries" \
-H "Authorization: Bearer $EMAILX_API_KEY"import os, requests
response = requests.get(
"https://app.emailx.ai/api/v1/workspaces/123/webhook-deliveries",
headers={"Authorization": "Bearer " + os.environ["EMAILX_API_KEY"]},
timeout=30,
)
response.raise_for_status()
print(response.json())const response = await fetch("https://app.emailx.ai/api/v1/workspaces/123/webhook-deliveries", {
method: "GET",
headers: { Authorization: `Bearer ${process.env.EMAILX_API_KEY}` },
signal: AbortSignal.timeout(30000),
});
if (!response.ok) throw new Error(`Emailx: ${response.status}`);
console.log(await response.json());{
"data": [
{
"id": 31,
"endpoint_id": 7,
"event_id": "evt_00000000000000000000000000000000",
"event_type": "operation.succeeded",
"status": "succeeded",
"attempt_count": 1,
"next_attempt_at": null,
"last_attempt_at": "2026-11-01T09:00:02Z",
"last_status_code": 200,
"last_error": null,
"delivered_at": "2026-11-01T09:00:02Z",
"created_at": "2026-11-01T09:00:01Z"
}
],
"has_more": false,
"next_cursor": null
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}Webhooks
List deliveries
Lists delivery attempts and their result. Filter by webhook or status.
Permission: webhooks:read
GET
/
workspaces
/
{workspace_id}
/
webhook-deliveries
cURL
curl -X GET "https://app.emailx.ai/api/v1/workspaces/123/webhook-deliveries" \
-H "Authorization: Bearer $EMAILX_API_KEY"import os, requests
response = requests.get(
"https://app.emailx.ai/api/v1/workspaces/123/webhook-deliveries",
headers={"Authorization": "Bearer " + os.environ["EMAILX_API_KEY"]},
timeout=30,
)
response.raise_for_status()
print(response.json())const response = await fetch("https://app.emailx.ai/api/v1/workspaces/123/webhook-deliveries", {
method: "GET",
headers: { Authorization: `Bearer ${process.env.EMAILX_API_KEY}` },
signal: AbortSignal.timeout(30000),
});
if (!response.ok) throw new Error(`Emailx: ${response.status}`);
console.log(await response.json());{
"data": [
{
"id": 31,
"endpoint_id": 7,
"event_id": "evt_00000000000000000000000000000000",
"event_type": "operation.succeeded",
"status": "succeeded",
"attempt_count": 1,
"next_attempt_at": null,
"last_attempt_at": "2026-11-01T09:00:02Z",
"last_status_code": 200,
"last_error": null,
"delivered_at": "2026-11-01T09:00:02Z",
"created_at": "2026-11-01T09:00:01Z"
}
],
"has_more": false,
"next_cursor": null
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"details": {}
}
}Authorizations
ex_test_ or ex_live_ key issued by an Emailx operator. Never use provider keys or session cookies.
Path Parameters
Emailx workspace (Clients) ID, not the agency workspace link ID.
Required range:
x >= 1Query Parameters
Required range:
1 <= x <= 100Opaque next_cursor from the previous response. Keep filters unchanged.
Required range:
x >= 1Available options:
pending, delivering, succeeded, failed, abandoned 
