---
title: "Redeliver an occurrence"
method: POST
path: "/v1/schedules/{scheduleId}/occurrences/{occurrenceId}/redeliver"
---

# Redeliver an occurrence

`POST /v1/schedules/{scheduleId}/occurrences/{occurrenceId}/redeliver`

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

Creates one new immutable attempt under the same retained terminal occurrence and dispatches it through the ordinary delivery boundary. The required Idempotency-Key makes an identical replay converge on the same attempt and conflicting reuse is refused. The new attempt names the retained attempt that caused the redelivery; no earlier identity or outcome is changed. MCP marks this outbound mutation for explicit approval even though it is non-destructive.

## Path parameters

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

## Headers

- `Idempotency-Key` string, required

## Response `201`

Redeliver an occurrence

- 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: idempotency_key_reused, project_archived, state_conflict.
- `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)
