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

# Redeliver a webhook

> Requires screenshot:write and the submitting API key. Sends the existing result without another render or capture charge. A stale generation, pending delivery, or unavailable record returns 409.



## OpenAPI

````yaml /openapi.json post /v1/jobs/{id}/webhook/redeliver
openapi: 3.1.0
info:
  title: ScreenshotAPI
  version: 1.0.0
  description: >-
    Hosted ScreenshotAPI capture endpoints, authentication, request options, and
    response envelopes.
servers:
  - url: https://api.screenshotapi.tech
    description: ScreenshotAPI production REST API
security:
  - bearerAuth: []
tags:
  - name: Captures
  - name: Jobs
  - name: Webhook delivery
  - name: Service
paths:
  /v1/jobs/{id}/webhook/redeliver:
    post:
      tags:
        - Webhook delivery
      summary: Redeliver a webhook
      description: >-
        Requires screenshot:write and the submitting API key. Sends the existing
        result without another render or capture charge. A stale generation,
        pending delivery, or unavailable record returns 409.
      operationId: redeliverWebhook
      parameters:
        - name: id
          in: path
          description: Job ID returned by submission. Use the original submitting API key.
          required: true
          schema:
            type: string
        - name: If-Match
          in: header
          description: Exact quoted ETag from the delivery-status response.
          required: true
          schema:
            type: string
            pattern: ^"[0-9]{1,3}"$
            example: '"0"'
      responses:
        '202':
          description: Redelivery queued.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  data:
                    type: object
                    properties:
                      job_id:
                        type: string
                      state:
                        type: string
                        enum:
                          - pending
                    required:
                      - job_id
                      - state
                required:
                  - ok
                  - data
        '400':
          description: >-
            Structured failure. Inspect error.code, error.retriable, and
            error.details before retrying.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: >-
            Structured failure. Inspect error.code, error.retriable, and
            error.details before retrying.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: >-
            Structured failure. Inspect error.code, error.retriable, and
            error.details before retrying.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: >-
            Structured failure. Inspect error.code, error.retriable, and
            error.details before retrying.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: >-
            Structured failure. Inspect error.code, error.retriable, and
            error.details before retrying.
          headers:
            Retry-After:
              description: Delay in seconds when provided.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: >-
            Structured failure. Inspect error.code, error.retriable, and
            error.details before retrying.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        ok:
          type: boolean
          const: false
        request_id:
          type: string
        error:
          $ref: '#/components/schemas/CaptureError'
      required:
        - ok
        - request_id
        - error
    CaptureError:
      type: object
      properties:
        code:
          type: string
          enum:
            - invalid_request
            - idempotency_conflict
            - unauthorized
            - forbidden
            - quota_exceeded
            - rate_limited
            - render_timeout
            - render_incomplete
            - navigation_failed
            - blocked_by_target
            - target_error
            - render_crashed
            - internal_error
            - unsupported_option
            - egress_unavailable
            - egress_mismatch
        message:
          type: string
        retriable:
          type: boolean
        request_id:
          type: string
        docs_url:
          type: string
        details:
          type: object
          additionalProperties: {}
      required:
        - code
        - message
        - retriable
        - request_id
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Active sf_live_ API key with endpoint-specific scopes. Keep this
        credential server-side.

````

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