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

# Replay webhook deliveries

> Sends a range of past deliveries again, starting from a time or a sequence number. Held deliveries are released; succeeded and dead deliveries are queued again as new deliveries with the same event `id`, so deduplicate on it.



## OpenAPI

````yaml /openapi.json post /webhooks/{id}/replay
openapi: 3.1.0
info:
  title: Centaur API
  version: 1.0.0
  description: >-
    Public API for reading Centaur's data over REST, with a companion MCP
    surface, and for partners to manage the webhook endpoints that receive
    Centaur events.
servers:
  - url: https://api.centaur.io/v1
    description: Centaur API v1
security: []
tags:
  - name: System
    description: Health and service metadata endpoints.
  - name: Discovery
    description: Read-only trader and asset directory discovery endpoints.
  - name: Events
    description: >-
      Historical trade-event reads with source, trader, asset, and position
      context.
  - name: Messages
    description: >-
      Read-only access to source messages by message timestamp or Source Message
      ID.
  - name: Channel Summaries
    description: Generated channel narrative summaries selected by Source Window overlap.
  - name: Aggregate Summaries
    description: >-
      Generated aggregate narrative summaries selected by Aggregate Window
      overlap.
  - name: Positions
    description: Read-only position history and open-position live state reads.
  - name: Stats
    description: Read-only aggregate trader and asset stats.
  - name: Webhooks
    description: >-
      Register HTTPS endpoints that receive signed event deliveries, manage
      their state and secrets, replay past deliveries and inspect delivery
      history. Requires the `webhooks.manage` permission on a partner account.
externalDocs:
  description: Canonical Centaur API documentation
  url: https://docs.centaur.io
paths:
  /webhooks/{id}/replay:
    post:
      tags:
        - Webhooks
      summary: Replay webhook deliveries
      description: >-
        Sends a range of past deliveries again, starting from a time or a
        sequence number. Held deliveries are released; succeeded and dead
        deliveries are queued again as new deliveries with the same event `id`,
        so deduplicate on it.
      operationId: replayWebhookDeliveries
      parameters:
        - schema:
            type: string
            format: uuid
            description: Endpoint ID.
          required: true
          description: Endpoint ID.
          name: id
          in: path
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookReplayRequest'
      responses:
        '200':
          description: How many deliveries were released and queued again
          content:
            application/json:
              example:
                success: true
                data:
                  released: 3
                  reenqueued: 12
                requestId: c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                  data:
                    $ref: '#/components/schemas/WebhookReplayResult'
                  requestId:
                    type: string
                    example: c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8
                required:
                  - success
                  - data
                  - requestId
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              example:
                success: false
                error:
                  code: UNAUTHORIZED
                  message: Unauthorized
                requestId: c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '403':
          description: >-
            The API key lacks the `webhooks.manage` permission, or the account
            is not an active partner account (`PARTNER_REQUIRED`,
            `PARTNER_SUSPENDED`)
          content:
            application/json:
              example:
                success: false
                error:
                  code: FORBIDDEN
                  message: API key lacks webhooks.manage permission
                requestId: c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '404':
          description: No such endpoint on this account
          content:
            application/json:
              example:
                success: false
                error:
                  code: NOT_FOUND
                  message: Webhook endpoint not found
                requestId: c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '422':
          description: >-
            Request validation failed, the endpoint is not active
            (`ENDPOINT_NOT_ACTIVE`), or `from` is older than the retention
            window (`REPLAY_WINDOW_EXCEEDED`)
          content:
            application/json:
              example:
                success: false
                error:
                  code: ENDPOINT_NOT_ACTIVE
                  message: >-
                    Only an active endpoint can be replayed. Resume or re-enable
                    it first.
                requestId: c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '429':
          description: A replay that queued deliveries again ran less than a minute ago
          headers:
            Retry-After:
              description: Seconds to wait before replaying again
              schema:
                type: integer
                minimum: 1
          content:
            application/json:
              example:
                success: false
                error:
                  code: REPLAY_RATE_LIMITED
                  message: >-
                    One replay per endpoint every 60 seconds. Retry in 42
                    seconds.
                requestId: c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '503':
          description: Authentication service temporarily unavailable
          headers:
            Retry-After:
              description: Seconds to wait before retrying authentication
              schema:
                type: integer
                minimum: 1
          content:
            application/json:
              example:
                success: false
                error:
                  code: AUTHENTICATION_UNAVAILABLE
                  message: Authentication is temporarily unavailable
                requestId: c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    WebhookReplayRequest:
      anyOf:
        - type: object
          properties:
            from:
              type: string
              format: date-time
              description: >-
                Replay deliveries created at or after this time. At most 7 days
                ago, the retention window.
          required:
            - from
          additionalProperties: false
        - type: object
          properties:
            fromSequence:
              type: integer
              minimum: 1
              description: >-
                Replay deliveries whose `sequence` is at least this value.
                Deliveries that were never attempted have no sequence yet; use
                `from` to include them.
          required:
            - fromSequence
          additionalProperties: false
      description: >-
        The start of the range to replay: `from` (ISO-8601 time) or
        `fromSequence`. Within the range, held deliveries are released in place,
        succeeded and dead deliveries are queued again as new deliveries with
        the same event `id` (deduplicate on it), and deliveries already pending
        or in flight are left alone. The endpoint must be `ACTIVE`. A replay
        that queues deliveries again can run once per 60 seconds per endpoint.
    WebhookReplayResult:
      type: object
      properties:
        released:
          type: integer
          description: Held deliveries released to be sent.
        reenqueued:
          type: integer
          description: Succeeded or dead deliveries queued again as new deliveries.
      required:
        - released
        - reenqueued
    ErrorEnvelope:
      type: object
      properties:
        success:
          type: boolean
          enum:
            - false
        error:
          $ref: '#/components/schemas/Error'
        requestId:
          type: string
          example: c8e2c6e4-80dd-4ffc-9d66-4e31bf64c6b8
      required:
        - success
        - error
        - requestId
    Error:
      type: object
      properties:
        code:
          type: string
          description: Stable machine-readable error code.
          example: UNAUTHORIZED
        message:
          type: string
          description: Human-readable explanation for the failure.
          example: Unauthorized
        details:
          description: Optional structured details for validation or input failures.
      required:
        - code
        - message
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key issued by Centaur.
      x-default: <api-key>

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.