> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trycontour.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Retry a delivery

> Queue another attempt now, even if the automatic retries were used up.

The payload is re-signed with the endpoint's current secret and sent with
the same `X-Contour-Delivery-Id`.



## OpenAPI

````yaml api-reference/openapi.json POST /v1/webhook-endpoints/{endpoint_id}/deliveries/{delivery_id}/retry
openapi: 3.1.0
info:
  description: >-
    Programmatic access to Contour from your own backend: place outbound calls,
    read their results, and manage the webhook endpoints that receive signed
    `call.started`, `call.ended` and `call.analyzed` events.
  title: Contour API
  version: '1.0'
servers:
  - url: https://api.contourvoice.com
security:
  - HTTPBearer: []
tags:
  - description: Place outbound calls and read their state and recordings.
    name: Calls
  - description: >-
      Register URLs to receive signed events, send test events, and inspect or
      retry deliveries.
    name: Webhook Endpoints
paths:
  /v1/webhook-endpoints/{endpoint_id}/deliveries/{delivery_id}/retry:
    post:
      tags:
        - Webhook Endpoints
      summary: Retry a delivery
      description: >-
        Queue another attempt now, even if the automatic retries were used up.


        The payload is re-signed with the endpoint's current secret and sent
        with

        the same `X-Contour-Delivery-Id`.
      operationId: retry_webhook_delivery
      parameters:
        - in: path
          name: endpoint_id
          required: true
          schema:
            format: uuid
            title: Endpoint Id
            type: string
        - in: path
          name: delivery_id
          required: true
          schema:
            format: uuid
            title: Delivery Id
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookDeliverySummary'
          description: Successful Response
        '401':
          content:
            application/json:
              example:
                detail: Invalid or expired API key
          description: Missing or invalid API key.
        '404':
          content:
            application/json:
              example:
                detail: Delivery not found.
          description: No delivery with this id on this endpoint.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
        - HTTPBearer: []
components:
  schemas:
    WebhookDeliverySummary:
      examples:
        - attempts: 1
          call_id: 9d2f7a3c-8e4b-4f1d-a6c7-2b3c4d5e6f70
          created_at: '2026-09-10T14:04:36Z'
          delivered_at: '2026-09-10T14:04:36Z'
          endpoint_id: b7e1c2d3-4f5a-4b6c-8d7e-9f0a1b2c3d4e
          event: call.ended
          id: 6a0d5e4f-3c2b-4a19-8e7d-6c5b4a392817
          last_status_code: 200
          max_attempts: 8
          status: succeeded
      properties:
        attempts:
          description: Attempts made so far.
          title: Attempts
          type: integer
        call_id:
          description: The call this event is about.
          title: Call Id
          type: string
        created_at:
          format: date-time
          title: Created At
          type: string
        delivered_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: When your server first answered 2xx.
          title: Delivered At
        endpoint_id:
          format: uuid
          title: Endpoint Id
          type: string
        event:
          description: >-
            One of `call.started`, `call.ended`, `call.analyzed`, or `test` for
            sample events.
          title: Event
          type: string
        id:
          description: >-
            Delivery id. Sent as `X-Contour-Delivery-Id` and as `id` in the body
            on every attempt; deduplicate on it.
          format: uuid
          title: Id
          type: string
        last_error:
          anyOf:
            - type: string
            - type: 'null'
          description: Error from the most recent attempt.
          title: Last Error
        last_status_code:
          anyOf:
            - type: integer
            - type: 'null'
          description: HTTP status from the most recent attempt.
          title: Last Status Code
        max_attempts:
          description: Attempts allowed before the delivery is marked failed.
          title: Max Attempts
          type: integer
        next_attempt_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: When the next retry is due, while `status` is `pending`.
          title: Next Attempt At
        status:
          description: >-
            One of `pending`, `in_flight`, `succeeded`, `failed`, `cancelled`.
            `pending` means a retry is scheduled; `failed` means every attempt
            was used.
          title: Status
          type: string
      required:
        - id
        - endpoint_id
        - event
        - call_id
        - status
        - attempts
        - max_attempts
        - created_at
      title: WebhookDeliverySummary
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    ValidationError:
      properties:
        ctx:
          title: Context
          type: object
        input:
          title: Input
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object
  securitySchemes:
    HTTPBearer:
      description: >-
        Your organization's API key (`sk_cont_...`), sent as `Authorization:
        Bearer sk_cont_...`. Keep it server-side.
      scheme: bearer
      type: http

````