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

# Get a projected Partner webhook event

> Returns the exact public envelope and its eventually consistent delivery summaries. Unknown, cross-account, and domain-inaccessible identifiers all return 404.



## OpenAPI

````yaml /openapi/openapi.json get /partner/webhook/events/{event_id}
openapi: 3.1.0
info:
  title: Stabyl API
  description: >-
    REST API for approved Stabyl accounts to automate exchange, wallet, and
    non-production simulation workflows.
  contact:
    name: Stabyl Support
    email: support@stabyl.com
  license:
    name: Proprietary
  version: 1.0.0
servers:
  - url: https://api.stabyl.com/v1
    description: Production
  - url: https://api-staging.stabyl.com/v1
    description: Staging
security: []
tags:
  - name: Exchange
    description: Trading market data and order management for account automation.
  - name: Wallets
    description: >-
      Supported routes, deposit destinations, balances, transactions, and saved
      recipients.
  - name: Webhooks
    description: >-
      Outbound event delivery configuration and eventually consistent delivery
      history. Verify Standard Webhooks webhook-id, webhook-timestamp, and
      webhook-signature headers against the unchanged raw request body before
      parsing JSON.
  - name: Simulation
    description: Non-production endpoints for testing integration behavior.
paths:
  /partner/webhook/events/{event_id}:
    get:
      tags:
        - Webhooks
      summary: Get a projected Partner webhook event
      description: >-
        Returns the exact public envelope and its eventually consistent delivery
        summaries. Unknown, cross-account, and domain-inaccessible identifiers
        all return 404.
      operationId: get_partner_webhook_events_event_id
      parameters:
        - name: event_id
          in: path
          description: Deterministic event identifier
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Event envelope and delivery summaries
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - data
                properties:
                  data:
                    $ref: '#/components/schemas/PartnerWebhookEventDetailResponse'
                  status:
                    type: string
                    enum:
                      - success
              example:
                data:
                  deliveries:
                    - attempt_count: 1
                      cancelled_at: null
                      created_at: '2026-07-12T11:05:00Z'
                      delivered_at: '2026-07-12T11:05:01.083Z'
                      event_id: d1232fb7-a993-52ec-a8f0-0ec026397553
                      event_type: exchange.accepted
                      failed_at: null
                      id: 63422af5-8417-5ffc-8607-26c1dd2e5a4b
                      last_attempt_at: '2026-07-12T11:05:01Z'
                      last_error_code: null
                      last_http_status: 204
                      next_attempt_at: null
                      status: delivered
                      updated_at: '2026-07-12T11:05:01.083Z'
                      webhook_id: 01980d95-5537-76aa-88a8-ad59117632ef
                  event:
                    data:
                      order:
                        avg_fill_price: null
                        cancel_reason: null
                        client_order_id: partner-order-1042
                        created_at: '2026-07-12T11:05:00Z'
                        filled_quantity: '0'
                        id: 01980d95-5537-76aa-88a8-ad59117632ef
                        order_type: limit
                        pair_id: USD/NGN
                        price: '1650.00'
                        quantity: '100.00'
                        reject_reason: null
                        remaining_quantity: '100.00'
                        replace:
                          replaced_by_order_id: null
                          replaces_order_id: null
                        side: buy
                        status: accepted
                        time_in_force: gtc
                    id: d1232fb7-a993-52ec-a8f0-0ec026397553
                    occurred_at: '2026-07-12T11:05:00Z'
                    type: exchange.accepted
                    version: 1
                status: success
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: string
                        example: UNAUTHORIZED
                      message:
                        type: string
                        example: missing X-Api-Key header
                  status:
                    type: string
                    enum:
                      - error
              example:
                error:
                  code: UNAUTHORIZED
                  message: missing X-Api-Key header
                status: error
        '403':
          description: Missing `webhooks:view`
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: string
                        example: MISSING_SCOPE
                      message:
                        type: string
                        example: missing_scope
                  status:
                    type: string
                    enum:
                      - error
              example:
                error:
                  code: MISSING_SCOPE
                  message: missing_scope
                status: error
        '404':
          description: Event not found
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: string
                        example: NOT_FOUND
                      message:
                        type: string
                        example: resource not found
                  status:
                    type: string
                    enum:
                      - error
              example:
                error:
                  code: NOT_FOUND
                  message: resource not found
                status: error
      security:
        - api_key: []
components:
  schemas:
    PartnerWebhookEventDetailResponse:
      type: object
      required:
        - event
        - deliveries
      properties:
        deliveries:
          type: array
          items:
            $ref: '#/components/schemas/PartnerWebhookDeliveryResponse'
          description: >-
            Delivery history is eventually consistent with the live webhook
            pipeline.
        event:
          $ref: '#/components/schemas/PartnerWebhookEnvelope'
    PartnerWebhookDeliveryResponse:
      type: object
      required:
        - id
        - event_id
        - webhook_id
        - event_type
        - status
        - attempt_count
        - created_at
        - updated_at
      properties:
        attempt_count:
          type: integer
          format: int32
        cancelled_at:
          type:
            - string
            - 'null'
          format: date-time
        created_at:
          type: string
          format: date-time
        delivered_at:
          type:
            - string
            - 'null'
          format: date-time
        event_id:
          type: string
          format: uuid
        event_type:
          $ref: '#/components/schemas/PartnerWebhookEventType'
        failed_at:
          type:
            - string
            - 'null'
          format: date-time
        id:
          type: string
          format: uuid
        last_attempt_at:
          type:
            - string
            - 'null'
          format: date-time
        last_error_code:
          type:
            - string
            - 'null'
        last_http_status:
          type:
            - integer
            - 'null'
          format: int32
        next_attempt_at:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            Display-only projection; delivery scheduling remains authoritative
            in the broker.
        status:
          type: string
        updated_at:
          type: string
          format: date-time
        webhook_id:
          type: string
          format: uuid
    PartnerWebhookEnvelope:
      type: object
      description: >-
        Frozen Partner webhook public body. Internal routing metadata must
        remain outside this type.
      required:
        - id
        - type
        - version
        - occurred_at
        - data
      properties:
        data:
          $ref: '#/components/schemas/PartnerWebhookData'
        id:
          type: string
          format: uuid
        occurred_at:
          type: string
          format: date-time
        type:
          $ref: '#/components/schemas/PartnerWebhookEventType'
        version:
          type: integer
          format: int32
          minimum: 0
      additionalProperties: false
    PartnerWebhookEventType:
      type: string
      description: Exact Partner webhook topics supported by the V1 public contract.
      enum:
        - deposit.action_required
        - deposit.success
        - deposit.failed
        - withdrawal.success
        - withdrawal.failed
        - exchange.accepted
        - exchange.filled
        - exchange.replaced
        - exchange.cancelled
        - exchange.rejected
    PartnerWebhookData:
      oneOf:
        - $ref: '#/components/schemas/ReplacementWebhookData'
        - $ref: '#/components/schemas/FillWebhookData'
        - $ref: '#/components/schemas/WalletTransactionWebhookData'
        - $ref: '#/components/schemas/OrderWebhookData'
    ReplacementWebhookData:
      type: object
      required:
        - original_order
        - replacement_order
      properties:
        original_order:
          $ref: '#/components/schemas/OrderInfo'
        replacement_order:
          $ref: '#/components/schemas/OrderInfo'
      additionalProperties: false
    FillWebhookData:
      type: object
      required:
        - order
        - fill
      properties:
        fill:
          $ref: '#/components/schemas/FillInfo'
        order:
          $ref: '#/components/schemas/OrderInfo'
      additionalProperties: false
    WalletTransactionWebhookData:
      type: object
      required:
        - transaction
      properties:
        transaction:
          $ref: '#/components/schemas/WalletTransactionDetail'
      additionalProperties: false
    OrderWebhookData:
      type: object
      required:
        - order
      properties:
        order:
          $ref: '#/components/schemas/OrderInfo'
      additionalProperties: false
    OrderInfo:
      type: object
      description: >-
        Order state, quantities, pricing, time-in-force, and replacement
        linkage.
      required:
        - id
        - pair_id
        - side
        - order_type
        - time_in_force
        - status
        - quantity
        - filled_quantity
        - remaining_quantity
        - replace
        - created_at
      properties:
        avg_fill_price:
          type:
            - string
            - 'null'
        cancel_reason:
          type:
            - string
            - 'null'
        client_order_id:
          type:
            - string
            - 'null'
        created_at:
          type: string
        filled_quantity:
          type: string
        id:
          type: string
          format: uuid
        order_type:
          type: string
        pair_id:
          type: string
        price:
          type:
            - string
            - 'null'
        quantity:
          type: string
        reject_reason:
          type:
            - string
            - 'null'
        remaining_quantity:
          type: string
        replace:
          $ref: '#/components/schemas/OrderReplaceInfo'
        side:
          type: string
        status:
          type: string
        time_in_force:
          type: string
    FillInfo:
      type: object
      description: Execution linked to an account order.
      required:
        - id
        - price
        - quantity
        - fee
        - fee_currency
        - created_at
      properties:
        created_at:
          type: string
        fee:
          type: string
        fee_currency:
          type: string
        id:
          type: string
          format: uuid
        price:
          type: string
        quantity:
          type: string
    WalletTransactionDetail:
      type: object
      description: >-
        Detailed wallet transaction record with settlement information where
        available.
      required:
        - id
        - rail
        - currency
        - tx_type
        - status
        - amount
        - created_at
        - settlement_details
      properties:
        amount:
          type: string
        created_at:
          type: string
        currency:
          type: string
        description:
          type:
            - string
            - 'null'
        failure_reason:
          type:
            - string
            - 'null'
        id:
          type: string
        rail:
          $ref: '#/components/schemas/WalletRail'
        reference:
          type:
            - string
            - 'null'
        required_action:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/RequiredAction'
        settlement_details:
          $ref: '#/components/schemas/WalletSettlementDetails'
        settlement_rail:
          type:
            - string
            - 'null'
        status:
          type: string
        tx_type:
          type: string
        updated_at:
          type:
            - string
            - 'null'
    OrderReplaceInfo:
      type: object
      description: Links an order to the order it replaced or the order that replaced it.
      properties:
        replaced_by_order_id:
          type:
            - string
            - 'null'
          format: uuid
        replaces_order_id:
          type:
            - string
            - 'null'
          format: uuid
    WalletRail:
      type: string
      description: Stablecoin rail and enabled chain routes for USD settlement.
      enum:
        - fiat
        - crypto
    RequiredAction:
      type: object
      required:
        - type
        - status
        - submission_url
      properties:
        status:
          $ref: '#/components/schemas/RequiredActionStatus'
        submission_url:
          type: string
        type:
          $ref: '#/components/schemas/RequiredActionType'
    WalletSettlementDetails:
      oneOf:
        - allOf:
            - $ref: '#/components/schemas/BankTransferSettlementDetails'
            - type: object
              required:
                - type
              properties:
                type:
                  type: string
                  enum:
                    - bank_transfer
        - allOf:
            - $ref: '#/components/schemas/CryptoSettlementDetails'
            - type: object
              required:
                - type
              properties:
                type:
                  type: string
                  enum:
                    - crypto
        - allOf:
            - $ref: '#/components/schemas/UsdCashSettlementDetails'
            - type: object
              required:
                - type
              properties:
                type:
                  type: string
                  enum:
                    - usd_cash
      description: Settlement details for a wallet transaction.
    RequiredActionStatus:
      type: string
      enum:
        - required
        - submitted
    RequiredActionType:
      type: string
      enum:
        - travel_rule
    BankTransferSettlementDetails:
      type: object
      description: Bank transfer settlement details for a fiat wallet transaction.
      required:
        - rail_reference
      properties:
        confirmed_at:
          type:
            - string
            - 'null'
        failed_at:
          type:
            - string
            - 'null'
        rail_reference:
          type: string
        recipient:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/BankAccountDetails'
        transfer_count:
          type:
            - integer
            - 'null'
          minimum: 0
        transfers:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/BankTransferSplitPreview'
    CryptoSettlementDetails:
      type: object
      description: Blockchain settlement details for a stablecoin wallet transaction.
      required:
        - rail_reference
      properties:
        beneficiary_nickname:
          type:
            - string
            - 'null'
        block_number:
          type:
            - integer
            - 'null'
          format: int64
        blockchain_tx_hash:
          type:
            - string
            - 'null'
        confirmations:
          type:
            - integer
            - 'null'
          format: int64
        confirmed_at:
          type:
            - string
            - 'null'
        destination_address:
          type:
            - string
            - 'null'
        explorer_url:
          type:
            - string
            - 'null'
        failed_at:
          type:
            - string
            - 'null'
        network:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/CryptoNetworkInfo'
        network_display:
          type:
            - string
            - 'null'
        network_fee:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/MoneyAmount'
        principal_amount:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/MoneyAmount'
        rail_reference:
          type: string
        sender_address:
          type:
            - string
            - 'null'
    UsdCashSettlementDetails:
      type: object
      description: USD cash settlement details for a wallet transaction.
      required:
        - rail_reference
      properties:
        confirmed_at:
          type:
            - string
            - 'null'
        destination:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/BankAccountDetails'
        failed_at:
          type:
            - string
            - 'null'
        rail_reference:
          type: string
    BankAccountDetails:
      type: object
      description: >-
        Bank account details attached to a fiat recipient or fiat settlement
        record.
      properties:
        account_name:
          type:
            - string
            - 'null'
        account_number:
          type:
            - string
            - 'null'
        bank_code:
          type:
            - string
            - 'null'
        bank_name:
          type:
            - string
            - 'null'
    BankTransferSplitPreview:
      type: object
      required:
        - sequence
        - item_index
        - item_transfer_index
        - amount
        - status
      properties:
        amount:
          type: string
        client_item_id:
          type:
            - string
            - 'null'
        description:
          type:
            - string
            - 'null'
        item_index:
          type: integer
          format: int32
        item_transfer_index:
          type: integer
          format: int32
        recipient:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/BankAccountDetails'
        sequence:
          type: integer
          format: int32
        status:
          type: string
    CryptoNetworkInfo:
      type: object
      description: Network metadata attached to a stablecoin settlement record.
      properties:
        chain:
          type:
            - string
            - 'null'
        chain_id:
          type:
            - integer
            - 'null'
          format: int64
        display_name:
          type:
            - string
            - 'null'
        slug:
          type:
            - string
            - 'null'
        token_standard:
          type:
            - string
            - 'null'
    MoneyAmount:
      type: object
      description: Decimal amount and currency code.
      required:
        - amount
        - currency
      properties:
        amount:
          type: string
        currency:
          type: string
  securitySchemes:
    api_key:
      type: apiKey
      in: header
      name: X-Api-Key
      description: >-
        API credential. Withdrawal quote and submit operations additionally
        require the documented Ed25519 timestamp, nonce, and signature headers.
      x-default: sb_test_your_key

````