---
title: "Read a delivery attempt"
method: GET
path: "/v1/schedules/{scheduleId}/occurrences/{occurrenceId}/attempts/{attemptId}"
---

# Read a delivery attempt

`GET /v1/schedules/{scheduleId}/occurrences/{occurrenceId}/attempts/{attemptId}`

## Request

- Base URL: `https://docs.greatwait.dev` (the document declares no server; this is the origin it was published from)
- URL: `https://docs.greatwait.dev/v1/schedules/{scheduleId}/occurrences/{occurrenceId}/attempts/{attemptId}`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer and API key in header `Greatwait-Environment` and API key in header `Greatwait-Project`

Reads one immutable delivery attempt from its occurrence's PostgreSQL authority. Ambiguous means the receiver may have acted and is never rewritten into certainty without durable result evidence. Optional first-outbound fields come only from trusted transport evidence and absence means unknown, never zero. The bounded response omits callback payloads, response bodies, destinations, signing material, secrets and raw transport failures by construction.

## Path parameters

- `scheduleId` string, required
- `occurrenceId` string, required
- `attemptId` string, required

## Response `200`

Read a delivery attempt

- object
  - `attempt` object, required
    - `attemptNumber` integer, required
    - `classifiedAt` string
    - `delivery` string, required
    - `diagnostic` string
    - `dispatchRecoveries` integer
    - `durationMs` integer
    - `firstAttemptLatenessMs` integer
    - `firstAttemptStartedAt` string
    - `timingEligibility` 'eligible' | 'customer_blocked' | 'platform_blocked'
    - `timingEligibilityReason` string
    - `timingPolicyVersion` string
    - `id` string, required
    - `localReceiptRecoveries` integer
    - `occurrence` string, required
    - `rescues` integer
    - `remediation` 'none' | 'review_retry_policy' | 'inspect_receiver' | 'review_endpoint' | 'replace_payload' | 'contact_support' | 'review_before_redelivery'
    - `failureSnippet` object
      - `contentType` string, required
      - `text` string, required
      - `truncated` boolean, required
    - `response` object
      - `statusText` string, required
      - `headers` object[], required
        - `name` string, required
        - `value` string, required
      - `bodyState` 'captured' | 'empty' | 'expired' | 'not_captured', required
      - `body` object
        - `contentType` string, required
        - `encoding` 'utf8' | 'base64', required
        - `content` string, required
        - `capturedBytes` integer, required
        - `originalBytes` integer
        - `truncated` boolean, required
        - `redacted` boolean
        - `incomplete` boolean
    - `request` object
      - `method` 'GET' | 'POST' | 'PUT', required
      - `url` string, required
      - `headers` object[], required
        - `name` string, required
        - `value` string, required
      - `body` string, required
    - `requestState` 'captured' | 'expired' | 'not_captured'
    - `responseHeaders` object[]
      - `name` string, required
      - `value` string, required
    - `responseStatus` integer
    - `startedAt` string, required
    - `state` 'succeeded' | 'retryable_failure' | 'terminal_failure' | 'ambiguous'
    - `trigger` union, required
      - object
        - `kind` 'automatic', required
      - object
        - `kind` 'redelivery', required
        - `sourceAttemptId` string, required
  - `freshness` object, required
    - `kind` 'authoritative', required

## Other responses

- `400`: Problem document. Possible codes at this status: invalid_request.
- `401`: Problem document. Possible codes at this status: authentication_required, credential_expired, credential_revoked.
- `403`: Problem document. Possible codes at this status: scope_missing.
- `404`: Problem document. Possible codes at this status: not_found.
- `409`: Problem document. Possible codes at this status: project_archived.
- `429`: Problem document. Possible codes at this status: rate_limited.
- `503`: Problem document. Possible codes at this status: capability_not_configured, service_unavailable.

---

[API](https://skmtc.dev/greatwait/apis/greatwait-v1.md) · [All operations](https://skmtc.dev/greatwait/apis/greatwait-v1/llms.txt) · [OpenAPI document](https://skmtc.dev/greatwait/apis/greatwait-v1/revisions/6855bce23e72?raw)
