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

# Payout Callback

> Payout outcome from integration-service (webhook forward or reconciler).

Body: {payout_reference?, order_key?, status: paid|failed|submit_not_received,
       amount?, currency?, failure_reason?, gateway_payload?}

Idempotent: Redis NX dedup + FOR UPDATE lock + terminal-state guards.
submit_not_received uses a distinct dedup key so it doesn't collide
with a future paid/failed callback for the same reference.



## OpenAPI

````yaml /openapi.json post /transactions/payout-callback
openapi: 3.1.0
info:
  title: Slate API
  version: 1.0.0
  description: Trading infrastructure API.
servers:
  - url: https://api.{your-broker}.slate-labs.com
    variables:
      your-broker:
        default: broker
security: []
tags:
  - name: Authentication
  - name: API Tokens
  - name: Customers
  - name: Accounts
  - name: Orders
  - name: Instruments & Groups
  - name: Transactions
  - name: Payments
  - name: Transfers
  - name: Risk
  - name: Workflow & CRM
  - name: Messaging
  - name: Integrations
  - name: Webhooks
  - name: Compliance
  - name: Promo codes
  - name: Reporting
  - name: Audit
  - name: Fraud & moderation
  - name: Broker settings
  - name: Users
  - name: Roles & Teams
  - name: Streams (SSE)
  - name: Simulator
  - name: Observability
  - name: Prop trading
paths:
  /transactions/payout-callback:
    post:
      tags:
        - Transactions
      summary: Payout Callback
      description: >-
        Payout outcome from integration-service (webhook forward or reconciler).


        Body: {payout_reference?, order_key?, status:
        paid|failed|submit_not_received,
               amount?, currency?, failure_reason?, gateway_payload?}

        Idempotent: Redis NX dedup + FOR UPDATE lock + terminal-state guards.

        submit_not_received uses a distinct dedup key so it doesn't collide

        with a future paid/failed callback for the same reference.
      operationId: payout_callback_transactions_payout_callback_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}

````