> ## 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.

# Get webhook delivery status

> Requires jobs:read and the submitting API key. Available only for jobs with a webhook delivery record. Save the exact quoted ETag to request redelivery.



## OpenAPI

````yaml /openapi.json get /v1/jobs/{id}/webhook
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:
    get:
      tags:
        - Webhook delivery
      summary: Get webhook delivery status
      description: >-
        Requires jobs:read and the submitting API key. Available only for jobs
        with a webhook delivery record. Save the exact quoted ETag to request
        redelivery.
      operationId: getWebhookDelivery
      parameters:
        - name: id
          in: path
          description: Job ID returned by submission. Use the original submitting API key.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Current delivery status.
          headers:
            ETag:
              description: Quoted generation, for example "0".
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  data:
                    $ref: '#/components/schemas/WebhookStatus'
                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'
        '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:
    WebhookStatus:
      type: object
      properties:
        id:
          type: string
        state:
          type: string
          enum:
            - pending
            - delivered
            - failed
        attempts:
          type: integer
        generation:
          type: integer
        statusCode:
          anyOf:
            - type: integer
            - type: 'null'
      required:
        - id
        - state
        - attempts
        - generation
        - statusCode
    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.