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

# Create manual payout

> Same-currency NGN and mobile-money payouts auto-execute. USD/EUR/GBP bank
payouts and all cross-currency (USD source, local destination) payouts are created
PENDING for admin approval. For cross-currency, `amount` is the destination amount.
Send a unique `Idempotency-Key` header or `clientReference` body field. Repeating
the same key and request returns the original payout without executing it again.




## OpenAPI

````yaml openapi.json post /v1/payouts
openapi: 3.0.0
info:
  title: Inflow API
  version: 1.0.0
  description: API service for managing customer cards
  contact:
    name: API Support
servers:
  - url: https://sandbox.inflowafrica.com/api
    description: Sandbox
  - url: https://app.inflowpay.net/api
    description: Production
  - url: http://localhost:3000/api
    description: Local
security:
  - bearerAuth: []
tags: []
paths:
  /v1/payouts:
    post:
      tags:
        - External API - Payouts
      summary: Create manual payout
      description: >
        Same-currency NGN and mobile-money payouts auto-execute. USD/EUR/GBP
        bank

        payouts and all cross-currency (USD source, local destination) payouts
        are created

        PENDING for admin approval. For cross-currency, `amount` is the
        destination amount.

        Send a unique `Idempotency-Key` header or `clientReference` body field.
        Repeating

        the same key and request returns the original payout without executing
        it again.
      parameters:
        - in: header
          name: Idempotency-Key
          required: false
          schema:
            type: string
            maxLength: 128
          description: >-
            Required unless clientReference is supplied in the request body.
            Unique per organization.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - payoutAccountId
                - amount
              properties:
                payoutAccountId:
                  type: string
                  format: uuid
                amount:
                  type: number
                  description: >-
                    Destination amount for cross-currency; else
                    source==destination
                sourceCurrency:
                  type: string
                  example: USD
                  description: Wallet to debit; omit for same-currency
                clientReference:
                  type: string
                  maxLength: 128
                  description: >-
                    Required unless Idempotency-Key is supplied. Must match the
                    header when both are sent.
                metadata:
                  type: object
      responses:
        '200':
          description: >-
            Existing payout returned for an idempotent replay;
            Idempotency-Replayed is true
        '201':
          description: Payout created (processing if auto-executed, else pending)
        '400':
          description: Validation / insufficient balance / unsupported corridor
        '404':
          description: Payout account not found
        '409':
          description: Idempotency key was already used with different payout details
      security:
        - apiKeyAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Enter JWT token
    apiKeyAuth:
      type: http
      scheme: bearer
      description: Enter your API key starting with gtw_sk_

````