Skip to content
Prepaid, no subscription trap. Top up a balance and we draw the monthly fee from it.
tcggraph

Get a webhook

One endpoint and its last 20 deliveries.

GEThttps://api.tcggraph.com/v1/webhooks/{id}No credits · metering

deliveries is the newest 20 attempts, to debug a failing endpoint without a log of your own.

Path parameters

ParameterTypeDescription
idrequiredstringThe endpoint's id.

Response

200 The endpoint.

FieldTypeDescription
dataWebhookEndpoint (WebhookEndpoint reference)A WebhookEndpoint with deliveries.
data.deliveriesobject[]Newest first.
data.deliveries[].idstringDelivery id.
data.deliveries[].eventIdstringThe event's id, which is also id in the delivered body.
data.deliveries[].eventTypestringThe event type.

One of: set.published, card.created, card.updated, card.legality.changed, price.threshold.crossed

data.deliveries[].statusstringpending while retries remain.

One of: pending, delivered, failed

data.deliveries[].attemptsintegerAttempts so far.
data.deliveries[].statusCodeinteger | nullYour server's last HTTP status.
data.deliveries[].errorstring | nullWhy the last attempt failed.
data.deliveries[].durationMsinteger | nullHow long the last attempt took.
data.deliveries[].nextAttemptAtstring | nullWhen the next retry is due.
data.deliveries[].deliveredAtstring | nullWhen it succeeded.
data.deliveries[].createdAtstringWhen it was queued.

Examples

Real responses from the production API, recorded on 2026-09-24 by the script that also checks every field above against them. Arrays are shown in full.

The endpoint created above

curl "https://api.tcggraph.com/v1/webhooks/c3290649-ffc6-467c-9470-c5307925ca78" \
  -H "Authorization: Bearer $TCGGRAPH_API_KEY"
200 · X-Credits-Cost: 0
{
  "data": {
    "id": "c3290649-ffc6-467c-9470-c5307925ca78",
    "url": "https://example.com/tcggraph-docs",
    "events": [
      "set.published",
      "card.legality.changed"
    ],
    "games": [
      "pokemon"
    ],
    "description": "docs example",
    "status": "active",
    "disabledAt": null,
    "disabledReason": null,
    "failures": 0,
    "lastDeliveryAt": null,
    "lastStatusCode": null,
    "createdAt": "2026-09-24T07:47:43.874Z",
    "deliveries": []
  }
}

Errors

Every error has the same body; switch on error.code. Any endpoint can also answer 401, 402, 403 or 429 for reasons of key, plan or rate; those are on Errors.

StatusCodeWhen
404not_foundNo endpoint with that id on this account.

Unknown id

curl "https://api.tcggraph.com/v1/webhooks/00000000-0000-0000-0000-000000000000" \
  -H "Authorization: Bearer $TCGGRAPH_API_KEY"
404
{
  "error": {
    "code": "not_found",
    "message": "No webhook endpoint with id \"00000000-0000-0000-0000-000000000000\"."
  }
}