Recent deliveries

GET/v1/webhooks/{id}/deliveries

Lists a webhook's latest deliveries (up to 100, kept 90 days) with each one's status, attempts and your endpoint's last response, free.

View as MarkdownOpenAPI specAll docs for LLMs

Use it to debug your endpoint: lastStatus and lastError show what it answered, and nextAttemptAt when we will retry.

The webhook's latest deliveries, newest first, kept 90 days. Free. Scope events:read.

Request

curl "https://api.installgraph.com/v1/webhooks/6731b2e4c9a1f20d8e4b7c15/deliveries?limit=1" \
  -H "Authorization: Bearer $INSTALLGRAPH_API_KEY"

Path parameters

Name Type Required Description
id string Yes

Query parameters

Name Type Required Description
limit integer No 1–100. Default 50.

Response

200. The example's stores are fictional.

{
  "data": [
    {
      "id": "6733d1a07be42c19f5a8e301",
      "eventId": "evt_6720a4c3f1b2",
      "type": "removed",
      "domain": "example.com",
      "status": "delivered",
      "attempts": 1,
      "lastStatus": 204,
      "lastError": null,
      "credits": 10,
      "refunded": false,
      "createdAt": "2026-11-12T04:21:05.000Z",
      "lastAttemptAt": "2026-11-12T04:21:07.000Z",
      "nextAttemptAt": null,
      "deliveredAt": "2026-11-12T04:21:07.000Z"
    }
  ],
  "meta": {
    "requestId": "6f1c2a9e-4b7d-4e2a-9c51-0d3b8e7f2a14",
    "creditsUsed": 0,
    "creditsCharged": 0,
    "creditsRemaining": 2480,
    "freeRepulls": 0
  }
}

Fields

Field Type Description
data[].id string The payload's id and the Installgraph-Webhook-Id header.
data[].eventId string The event's id in GET /v1/events.
data[].type string One of installed, removed.
data[].domain string
data[].status string failed: every retry failed (refunded). expired: your balance did not cover it within 7 days (never charged). cancelled: the webhook was deleted or disabled first. One of pending, awaiting_credits, delivered, failed, expired, cancelled.
data[].attempts integer
data[].lastStatus integer | null Your endpoint's HTTP status on the last attempt.
data[].lastError string | null
data[].credits integer
data[].refunded boolean
data[].createdAt string (date-time)
data[].lastAttemptAt string (date-time) | null
data[].nextAttemptAt string (date-time) | null
data[].deliveredAt string (date-time) | null

Every keyed response also carries meta (requestId, creditsUsed, creditsRemaining, freeRepulls) and the X-Credits-* and X-RateLimit-* headers. See Credits and Rate limits.

Errors

Status Code Meaning What to do
400 invalid_request A parameter or body field is missing or malformed. Fix the request; message names the field. Do not retry unchanged.
404 not_found No such endpoint, app, or store (or not scanned yet). Check the slug or domain. Store 404s are free within the lookup-miss allowance.

All codes: Errors.