Skip to main content
GET
/
webhooks
/
{id}
/
deliveries
List a webhook endpoint's deliveries
curl --request GET \
  --url https://teambattles.gg/api/v1/webhooks/{id}/deliveries \
  --header 'Authorization: Bearer <token>'
{
  "page": [
    {
      "id": "<string>",
      "idempotencyId": "<string>",
      "event": "<string>",
      "attemptCount": 0,
      "statusCode": 0,
      "errorMessage": "<string>",
      "nextAttemptAt": 123,
      "isTest": true,
      "createdAt": 123,
      "updatedAt": 123,
      "deliveredAt": 123
    }
  ],
  "isDone": true,
  "continueCursor": "<string>"
}

Permission Required

This endpoint requires the webhooks.manage permission (the { kind: "webhook" } scope) on your API key, plus the webhooks feature. Webhooks are gated to api_pro or higher plans: a key on a free plan receives 403 error_api_feature_required.

Access / Membership Rules

Webhooks are owner-scoped. The {id} must resolve to an endpoint in your key’s own derived scope (user, game, or league, depending on your key type). An endpoint owned by another scope - or an unknown id - is reported as 404 error_webhook_not_found.

Pagination

This endpoint uses native cursor pagination. Pass limit (1-100, default 25) and cursor query parameters. The response carries continueCursor and isDone; pass continueCursor back as cursor to fetch the next page. A limit outside 1-100 returns 400 error_invalid_limit, and a malformed cursor returns 400 error_invalid_cursor.

What’s Returned

Returns { page, isDone, continueCursor }, ordered newest first. page is an array of delivery-log rows, each with id, idempotencyId (the stable evt_ id reused across retries), event, status (pending, delivering, delivered, failed, or dead_lettered), attemptCount, statusCode (last HTTP response, or null), errorMessage, nextAttemptAt (next scheduled retry, or null), isTest (true for test.ping deliveries), createdAt, updatedAt, and deliveredAt.
Use idempotencyId to dedupe retries of the same logical delivery on your side. For the signature scheme and event catalog, see the Webhooks guide.

Authorizations

Authorization
string
header
required

Send your API key as: Authorization: Bearer tb_

Path Parameters

id
string
required

Webhook endpoint id.

Query Parameters

limit
string

Page size 1-100 (default 25), enforced by the handler.

cursor
string

Opaque continuation cursor from a prior page's continueCursor.

Response

Cursor-paginated result. continueCursor is non-null even when isDone is true.

page
object[]
required
isDone
boolean
required
continueCursor
string
required