---
title: "One endpoint's delivery log"
method: GET
path: "/webhooks/{id}/deliveries"
tags: ["webhooks"]
---

# One endpoint's delivery log

`GET /webhooks/{id}/deliveries`

## Request

- Base URL: `https://api.gogoscreen.com/api/v1`
- URL: `https://api.gogoscreen.com/api/v1/webhooks/{id}/deliveries`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Every delivery attempted to this endpoint, newest first: which event, how many attempts, what the receiver answered and how long it took. There is no retry operation — delivery is at-least-once with six automatic attempts, and a seventh on demand would be a different promise from the one the signature headers make.

## Path parameters

- `id` string, uuid, required

## Query parameters

- `limit` integer
- `cursor` string

## Response `200`

One endpoint's delivery log

- object
  - `data` object[], required
    - `attempt` number, required: How many times this delivery has been tried. Six at most.
    - `createdAt` string, date-time, required
    - `deliveredAt` string, date-time, nullable, required
    - `endpointId` string, required
    - `eventId` string, required: Also sent as the `Gogoscreen-Event-Id` header. Dedupe on it: delivery is at-least-once.
    - `eventType` 'storyboard.succeeded' | 'storyboard.failed' | 'storyboard.cancelled' | 'render.succeeded' | 'render.failed' | 'render.cancelled' | 'marketing.source.succeeded' | 'marketing.source.failed' | 'marketing.source.cancelled' | 'marketing.generation.succeeded' | 'marketing.generation.failed' | 'marketing.generation.cancelled' | 'marketing.export.succeeded' | 'marketing.export.failed' | 'marketing.export.cancelled' | 'webhook.test', required
    - `id` string, required
    - `lastError` string, nullable, required: A status line or an error code. Never a response body beyond 256 characters.
    - `nextAttemptAt` string, date-time, nullable, required
    - `responseMs` number, nullable, required
    - `responseStatus` number, nullable, required
    - `status` 'pending' | 'succeeded' | 'failed' | 'exhausted', required: `exhausted` means all six attempts failed; `failed` means we stopped trying because the endpoint was switched off under it.
    - `updatedAt` string, date-time, required
  - `nextCursor` string, nullable, required: Pass as `cursor` for the next page; null on the last page.

## Other responses

- `400`: `validation_failed` — That request is not valid. · `invalid_cursor` — That page cursor is not valid.
- `401`: `unauthorized` — Authentication is required.
- `403`: `forbidden_scope` — This credential does not carry the scope this operation needs.
- `404`: `not_found` — No such resource.
- `429`: `rate_limited` — Too many requests. Try again shortly.
- `500`: `internal_error` — Something went wrong. Try again.

---

[API](https://skmtc.dev/gogoscreen/apis/gogoscreen-api.md) · [All operations](https://skmtc.dev/gogoscreen/apis/gogoscreen-api/llms.txt) · [OpenAPI document](https://skmtc.dev/gogoscreen/apis/gogoscreen-api/revisions/2fd812319d75?raw)
