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

# List webhook delivery history.

> Returns recent webhook delivery records for the authenticated integrator with their source event
payloads and recorded delivery attempts.



## OpenAPI

````yaml /api-reference/openapi-integrator.json get /v1/webhooks/deliveries
openapi: 3.0.3
info:
  title: Byzantine Integrator API
  description: Byzantine REST API for integrators.
  license:
    name: ''
  version: 0.2.0
servers:
  - url: https://sandbox.api.byzantine.fi
    description: Sandbox
security: []
tags:
  - name: API health
    description: Check API status.
  - name: Customer management
    description: Endpoints to create, update, and retrieve customer information.
  - name: Account management
    description: Endpoints to manage accounts, bank accounts, invitations, and user roles.
  - name: Products
    description: Endpoints to get data about products and vaults.
  - name: Transactions
    description: Endpoints to create and manage transactions.
  - name: OTP authentication
    description: Endpoints to initialize and manage user authentication with OTP.
  - name: Webhooks
    description: Integrator-managed outbound webhook subscriptions and delivery history.
  - name: Integrator key management
    description: >-
      Endpoints to inspect the current integrator credential scope, create,
      update and delete integrator keys.
paths:
  /v1/webhooks/deliveries:
    get:
      tags:
        - Webhooks
      summary: List webhook delivery history.
      description: >-
        Returns recent webhook delivery records for the authenticated integrator
        with their source event

        payloads and recorded delivery attempts.
      operationId: list_deliveries
      parameters:
        - name: limit
          in: query
          description: >-
            Page size for delivery history. Defaults to 100 and is capped at
            250.
          required: false
          schema:
            type: integer
            format: int64
            nullable: true
        - name: offset
          in: query
          description: Number of delivery records to skip. Defaults to 0.
          required: false
          schema:
            type: integer
            format: int64
            nullable: true
        - name: includeAttempts
          in: query
          description: >-
            Include delivery attempt records for each delivery. Defaults to true
            for backwards compatibility; set false for lighter list views.
          required: false
          schema:
            type: boolean
            nullable: true
        - name: subscriptionId
          in: query
          description: Restrict to one webhook subscription.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/Uuid'
            nullable: true
        - name: eventId
          in: query
          description: Restrict to one webhook event row.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/Uuid'
            nullable: true
        - name: eventType
          in: query
          description: >-
            Restrict to one public event type, e.g. `customer.active` or
            `webhook.test`.
          required: false
          schema:
            type: string
            nullable: true
        - name: status
          in: query
          description: Restrict to one delivery status, e.g. `failed` or `terminal_failed`.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/WebhookDeliveryStatus'
            nullable: true
        - name: sourceType
          in: query
          description: >-
            Restrict to source type. Known values include `bridge`, `sumsub`,
            and `customer_api`; future sources are exact-match strings.
          required: false
          schema:
            type: string
            nullable: true
        - name: sourceId
          in: query
          description: Restrict to the durable event source id.
          required: false
          schema:
            type: string
            nullable: true
        - name: accountId
          in: query
          description: >-
            Restrict to lifecycle events for an account id in the webhook
            payload.
          required: false
          schema:
            allOf:
              - $ref: '#/components/schemas/Uuid'
            nullable: true
        - name: providerEventId
          in: query
          description: >-
            Restrict to lifecycle events with this provider event id in the
            webhook payload.
          required: false
          schema:
            type: string
            nullable: true
        - name: X-Pubkey
          in: header
          description: >-
            Integrator's ECDSA public key (P-256 curve, compressed SEC1 format).
            Example:
            0x038fedef7c12f93bbf342ad8943b7a825a3b41f61c9dc118b2c718efebabbf62fd
          required: true
          schema:
            type: string
        - name: X-Timestamp
          in: header
          description: >-
            Unix timestamp in seconds (UTC). Must be within tolerance window (1
            minute) to prevent replay attacks. Example: 1760375826
          required: true
          schema:
            type: string
        - name: X-Signature
          in: header
          description: >-
            ECDSA signature (DER-encoded, hex with 0x prefix). Signs the
            message: {timestamp}{METHOD}{path_and_query}{json_body}. Example:
            0x3045022100...
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Webhook delivery history
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListWebhookDeliveriesResponse'
      security:
        - integrator_auth: []
components:
  schemas:
    Uuid:
      type: string
      format: uuid
      description: A UUID string
      example: 550e8400-e29b-41d4-a716-446655440000
    WebhookDeliveryStatus:
      type: string
      description: Durable webhook delivery lifecycle status stored as TEXT in Postgres.
      enum:
        - pending
        - sending
        - succeeded
        - failed
        - terminal_failed
      example: pending
    ListWebhookDeliveriesResponse:
      type: object
      required:
        - deliveries
        - limit
        - offset
        - hasMore
        - attemptsIncluded
      properties:
        deliveries:
          type: array
          items:
            $ref: '#/components/schemas/WebhookDeliveryWithAttempts'
        limit:
          type: integer
          format: int64
        offset:
          type: integer
          format: int64
        hasMore:
          type: boolean
        attemptsIncluded:
          type: boolean
    WebhookDeliveryWithAttempts:
      type: object
      required:
        - delivery
        - event
        - attempts
      properties:
        delivery:
          $ref: '#/components/schemas/WebhookDelivery'
        event:
          $ref: '#/components/schemas/WebhookEvent'
        attempts:
          type: array
          items:
            $ref: '#/components/schemas/WebhookDeliveryAttempt'
    WebhookDelivery:
      type: object
      required:
        - id
        - subscriptionId
        - eventId
        - status
        - attemptCount
        - createdAt
        - updatedAt
      properties:
        id:
          $ref: '#/components/schemas/Uuid'
        subscriptionId:
          $ref: '#/components/schemas/Uuid'
        eventId:
          $ref: '#/components/schemas/Uuid'
        status:
          $ref: '#/components/schemas/WebhookDeliveryStatus'
        nextAttemptAt:
          type: string
          format: date-time
          nullable: true
        attemptCount:
          type: integer
          format: int32
        terminalReason:
          type: string
          nullable: true
        lastResponseSummary:
          nullable: true
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    WebhookEvent:
      type: object
      required:
        - id
        - eventType
        - sourceType
        - sourceId
        - payload
        - payloadVersion
        - sourceTransitionMetadata
        - createdAt
      properties:
        id:
          $ref: '#/components/schemas/Uuid'
        eventType:
          type: string
        sourceType:
          type: string
        sourceId:
          type: string
        payload: {}
        payloadVersion:
          type: integer
          format: int32
        sourceTransitionMetadata: {}
        createdAt:
          type: string
          format: date-time
    WebhookDeliveryAttempt:
      type: object
      required:
        - id
        - deliveryId
        - attemptNumber
        - outcome
        - signedAt
        - signedTimestamp
        - createdAt
      properties:
        id:
          $ref: '#/components/schemas/Uuid'
        deliveryId:
          $ref: '#/components/schemas/Uuid'
        signingKeyId:
          allOf:
            - $ref: '#/components/schemas/Uuid'
          nullable: true
        attemptNumber:
          type: integer
          format: int32
        outcome:
          $ref: '#/components/schemas/WebhookDeliveryAttemptOutcome'
        statusCode:
          type: integer
          format: int32
          nullable: true
        error:
          type: string
          nullable: true
        latencyMs:
          type: integer
          format: int32
          nullable: true
        signedAt:
          type: string
          format: date-time
        signedTimestamp:
          type: string
        responseSummary:
          nullable: true
        actor:
          type: string
          nullable: true
        createdAt:
          type: string
          format: date-time
    WebhookDeliveryAttemptOutcome:
      type: string
      description: Outcome of one webhook delivery attempt stored as TEXT in Postgres.
      enum:
        - succeeded
        - failed
      example: succeeded
  securitySchemes:
    integrator_auth:
      type: apiKey
      in: header
      name: X-Pubkey, X-Timestamp, X-Signature

````