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

# Redeliver callback

> Create a new callback delivery for a run. Builds fresh payload from current run state.



## OpenAPI

````yaml /api/openapi.public.json post /v1/runs/{run_id}/callback-redeliveries
openapi: 3.1.0
info:
  title: Runflow API
  version: 0.1.0
  description: >-
    Public Runflow API. Run AI image and video models, manage media, inspect run
    history, and configure webhooks. Auth: HTTP Bearer.


    This document is the customer integration surface only. Admin and internal
    operations plus generic system reference-data tables are intentionally
    omitted.
servers:
  - url: https://api.runflow.io
    description: Production
security:
  - HTTPBearer: []
tags:
  - name: Models
    description: >-
      Browse the model catalog and dispatch model runs. The primary surface for
      running AI image and video generation.
  - name: Runs
    description: >-
      Inspect, cancel, and re-run model executions. Fetch logs, node-runs, and
      callback delivery history.
  - name: Media
    description: >-
      Upload images and videos as inputs. Organize assets into folders.
      Three-step presigned upload flow for large files.
  - name: Batches
    description: >-
      Run a model on multiple inputs in one request. Includes per-item status
      and a single callback when the batch completes.
  - name: Evaluations
    description: >-
      Submit an image generated anywhere for automated quality evaluation, then
      read a pass verdict, a 0-1 score, and structured issues. No Runflow run
      required.
  - name: Webhooks
    description: >-
      Subscribe to platform events. Inspect delivery history, redeliver failed
      callbacks, manage signing secrets.
  - name: Account
    description: Read your account identity and credit balance.
  - name: Status
    description: Health and readiness probes for the API.
paths:
  /v1/runs/{run_id}/callback-redeliveries:
    post:
      tags:
        - Runs
      summary: Redeliver callback
      description: >-
        Create a new callback delivery for a run. Builds fresh payload from
        current run state.
      operationId: createRunCallbackRedelivery
      parameters:
        - name: run_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Run Id
        - name: X-Organization-Id
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: X-Organization-Id
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/models__run_callback_delivery__RunCallbackDelivery__FullValidator
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: >-
            Forbidden — inspect response body `code` for the specific reason
            (for example: PERMISSION_DENIED, EMAIL_NOT_VERIFIED,
            ORGANIZATION_MEMBERSHIP_REQUIRED, ROLE_UNRESOLVED,
            IMPERSONATION_READ_ONLY)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - HTTPBearer: []
components:
  schemas:
    models__run_callback_delivery__RunCallbackDelivery__FullValidator:
      properties:
        id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Id
        run_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Run Id
        callback_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Callback Url
        payload_bytes:
          anyOf:
            - type: string
            - type: 'null'
          title: Payload Bytes
        payload:
          anyOf:
            - $ref: '#/components/schemas/CallbackPayload'
            - type: 'null'
        signing_secret_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Signing Secret Id
        is_automatic:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Automatic
        status_code:
          anyOf:
            - $ref: '#/components/schemas/DeliveryStatusCodeLiteral'
            - type: 'null'
        failure_reason_code:
          anyOf:
            - $ref: '#/components/schemas/DeliveryFailureReasonCodeLiteral'
            - type: 'null'
        failure_detail:
          anyOf:
            - type: string
            - type: 'null'
          title: Failure Detail
        attempt_count:
          anyOf:
            - type: integer
            - type: 'null'
          title: Attempt Count
        max_attempts:
          anyOf:
            - type: integer
            - type: 'null'
          title: Max Attempts
        next_attempt_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Next Attempt At
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
        updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updated At
        completed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Completed At
        attempts:
          anyOf:
            - items:
                $ref: >-
                  #/components/schemas/models__run_callback_delivery__RunCallbackDeliveryAttempt__FullValidator
              type: array
            - type: 'null'
          title: Attempts
      type: object
      title: FullValidator
      description: Response shape.
    ErrorResponse:
      properties:
        code:
          type: string
          title: Code
        message:
          type: string
          title: Message
        errors:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          title: Errors
      type: object
      required:
        - code
        - message
      title: ErrorResponse
      description: Standard error envelope — matches exception handler output.
    CallbackPayload:
      properties:
        event:
          $ref: '#/components/schemas/CallbackEvent'
          description: Event type.
        run_id:
          type: string
          format: uuid
          title: Run Id
          description: The unique identifier of the run.
        status:
          $ref: '#/components/schemas/CallbackStatus'
          description: Terminal run status.
        output:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Output
          description: >-
            The run output. For singleton runs: the normalized model output on
            success; ``{error: <message>, attempts: [...]}`` when the provider
            returned a failure; ``{kind: 'output_shape_mismatch', errors:
            [...]}`` when fail-closed output validation rejected the provider
            response; and ``null`` when the run was cancelled without a provider
            response. For batch runs (``/runs/batch``): always a self-describing
            envelope of ``{items:[{id, sequence_index, status_code, client_ref,
            input, output|error}], succeeded, failed, total}`` regardless of
            terminal status. Each item carries three correlation handles
            (``sequence_index`` = original array position, ``id`` = server-side
            UUIDv7 handle, ``client_ref`` = customer-supplied batch-layer
            string, nullable) plus the verbatim ``input`` fragment that was
            dispatched, so customers don't need to cross-reference their own
            request. ``run.cost`` is the sum of successful items only.
        duration_ms:
          anyOf:
            - type: integer
            - type: 'null'
          title: Duration Ms
          description: Total run duration in milliseconds.
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
          description: ISO 8601 timestamp when the run was created.
        completed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Completed At
          description: ISO 8601 timestamp when the run reached terminal state.
        metadata:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Metadata
          description: The metadata object passed at run creation, if any.
      additionalProperties: false
      type: object
      required:
        - event
        - run_id
        - status
        - output
        - duration_ms
        - created_at
        - completed_at
        - metadata
      title: CallbackPayload
      description: >-
        JSON payload delivered to a customer's ``callback_url`` when a run
        reaches a terminal state.


        This is the contract between Runflow and the customer's webhook
        endpoint.

        It is frozen at delivery time and stored as ``payload_bytes`` on the
        delivery row.


        Datetime fields are serialized using ``.isoformat()`` (emitting
        ``+00:00`` for UTC)

        to preserve byte-equivalence with the pre-contract payload builder,
        which customers'

        HMAC signature verification may depend on.
    DeliveryStatusCodeLiteral:
      type: string
      enum:
        - pending
        - queued
        - processing
        - succeeded
        - failed
        - failed_non_retryable
    DeliveryFailureReasonCodeLiteral:
      type: string
      enum:
        - dns_validation_failed
        - max_attempts_exhausted
        - client_rejected
    models__run_callback_delivery__RunCallbackDeliveryAttempt__FullValidator:
      properties:
        id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Id
        delivery_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Delivery Id
        attempt_number:
          anyOf:
            - type: integer
            - type: 'null'
          title: Attempt Number
        status_code:
          anyOf:
            - type: integer
            - type: 'null'
          title: Status Code
        response_body:
          anyOf:
            - type: string
            - type: 'null'
          title: Response Body
        response_time_ms:
          anyOf:
            - type: integer
            - type: 'null'
          title: Response Time Ms
        error_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Error Message
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
      type: object
      title: FullValidator
      description: Response shape.
    CallbackEvent:
      type: string
      enum:
        - run.completed
        - run.failed
        - run.cancelled
        - run.partial_succeeded
    CallbackStatus:
      type: string
      enum:
        - succeeded
        - failed
        - cancelled
        - partial_succeeded
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````