---
title: "Search delivery attempts by actual time"
method: GET
path: "/v1/attempts"
---

# Search delivery attempts by actual time

`GET /v1/attempts`

## 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/attempts`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer and API key in header `Greatwait-Environment` and API key in header `Greatwait-Project`

Search all retained delivery attempts by actual startedAt in the required UTC interval [startedFrom, startedBefore), newest first with attempt ID breaking ties. Combine HTTP responseStatus, statusClass, attempt outcome or diagnostic, endpoint, schedule and exact host identifier/tag filters. The matched attempt outcome remains searchable after recovery; occurrence.state is its current outcome. Follow schedule and occurrence IDs to retained details and attempts.list for the complete retry chain. Only safe metadata is returned. Retention horizons describe normal plan history and attempt-detail limits; absence after expiry is not evidence that a delivery never happened. Unavailable queries fail explicitly. Cursors are bound to the verified authority and every selected filter.

## Query parameters

- `cursor` string
- `diagnostic` 'completion_timed_out' | 'delivered' | 'duplicate_inflight' | 'endpoint_unavailable' | 'endpoint_unsafe' | 'http_refused' | 'http_retryable' | 'http_terminal' | 'identity_conflict' | 'network_ambiguous' | 'payload_unavailable' | 'rate_limited'
- `endpoint` union
  - string
  - 'none'
- `external_identifier` string: Host application identifier, matched exactly and case-sensitively; at most 256 UTF-8 bytes. Readable by schedule readers; do not include secrets.
- `limit` integer
- `outcome` union
  - 'succeeded' | 'retryable_failure' | 'terminal_failure' | 'ambiguous'
  - 'in_flight'
- `responseStatus` integer
- `schedule` string
- `startedBefore` string, required
- `startedFrom` string, required
- `statusClass` '1xx' | '2xx' | '3xx' | '4xx' | '5xx'
- `tag` string: An exact, case-sensitive tag of at most 64 UTF-8 bytes.

## Response `200`

Search delivery attempts by actual time

- object
  - `data` object[], required
    - `attempt` object, required
      - `id` string, required
      - `attemptNumber` integer, required
      - `occurrence` string, required
      - `startedAt` string, required
      - `state` 'succeeded' | 'retryable_failure' | 'terminal_failure' | 'ambiguous'
      - `classifiedAt` string
      - `durationMs` integer
      - `responseStatus` integer
      - `diagnostic` string
      - `remediation` 'none' | 'review_retry_policy' | 'inspect_receiver' | 'review_endpoint' | 'replace_payload' | 'contact_support' | 'review_before_redelivery'
      - `trigger` union, required
        - object
          - `kind` 'automatic', required
        - object
          - `kind` 'redelivery', required
          - `sourceAttemptId` string, required
    - `occurrence` object, required
      - `attemptCount` integer, required
      - `firstAttemptLatenessMs` integer
      - `firstAttemptStartedAt` string
      - `timingEligibility` 'eligible' | 'customer_blocked' | 'platform_blocked'
      - `timingEligibilityReason` string
      - `timingPolicyVersion` string
      - `generation` integer, required
      - `id` string, required
      - `plannedFor` string, required
      - `schedule` string, required
      - `sequence` integer, required
      - `settledAt` string
      - `state` 'planned' | 'due' | 'dispatching' | 'retry_wait' | 'ambiguous' | 'succeeded' | 'terminal_failed' | 'cancelled' | 'skipped_stale', required
    - `schedule` object, required
      - `id` string, required
      - `name` string
      - `endpoint` string
      - `external_identifier` string: Host application identifier, matched exactly and case-sensitively; at most 256 UTF-8 bytes. Readable by schedule readers; do not include secrets.
      - `tags` string[]: Up to 16 distinct searchable tags. Omission preserves tags on replacement; [] clears them.
  - `freshness` object, required
    - `kind` 'authoritative', required
  - `nextCursor` string
  - `retention` object, required
    - `from` string, required
    - `detailsFrom` string, 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.
- `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)
