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

# List payouts

> Your payouts, newest first. Pass `next_before_id` back as `before_id` for the next page; null means done.



## OpenAPI

````yaml /openapi.json get /payouts
openapi: 3.1.0
info:
  title: Jenzy Hermes Client API
  version: 1.0.0
  description: >-
    Draw down your prefunded MWK balance as payouts to Malawian banks and mobile
    money. Authenticate with your `jz_live_…` API key as a bearer token.
servers:
  - url: https://api.jenzy.com/v1
    description: Production
security: []
paths:
  /payouts:
    get:
      summary: List payouts
      description: >-
        Your payouts, newest first. Pass `next_before_id` back as `before_id`
        for the next page; null means done.
      parameters:
        - schema:
            type: integer
            minimum: 1
            maximum: 200
            description: Page size, 1-200 (default 50).
          required: false
          description: Page size, 1-200 (default 50).
          name: limit
          in: query
        - schema:
            type: string
            format: uuid
            description: 'Keyset cursor: the `next_before_id` from the previous page.'
          required: false
          description: 'Keyset cursor: the `next_before_id` from the previous page.'
          name: before_id
          in: query
      responses:
        '200':
          description: One page of payouts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutList'
        '400':
          description: Malformed `limit` or `before_id`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '401':
          description: Missing, malformed, or revoked API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    PayoutList:
      type: object
      properties:
        payouts:
          type: array
          items:
            $ref: '#/components/schemas/Payout'
        has_more:
          type: boolean
        next_before_id:
          type:
            - string
            - 'null'
          format: uuid
          description: Pass back as `before_id` for the next page; null means done.
      required:
        - payouts
        - has_more
        - next_before_id
    ErrorEnvelope:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - validation_error
                - unauthorized
                - forbidden
                - not_found
                - conflict
                - rate_limited
                - internal_error
                - unknown_bank
                - unknown_operator
                - invalid_mobile_number
                - invalid_account_number
                - service_unavailable
                - insufficient_funds
                - rail_disabled
                - amount_limit_exceeded
                - org_limit_exceeded
              description: >-
                Stable identifier a client may branch on — never renamed or
                removed.
            message:
              type: string
          required:
            - code
            - message
      required:
        - error
    Payout:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Payout id — your handle for polling and support.
        amount_mwk:
          type: integer
          example: 250000
        rail:
          type: string
          enum:
            - bank
            - momo
        status:
          type: string
          enum:
            - received
            - validated
            - held
            - submitted
            - pending
            - succeeded
            - failed
          description: >-
            Lifecycle: received → validated → held → submitted → pending →
            succeeded | failed. Only `succeeded` and `failed` are terminal.
          example: succeeded
        destination:
          $ref: '#/components/schemas/PayoutDestination'
        failure:
          $ref: '#/components/schemas/PayoutFailure'
        created_at:
          type: string
          format: date-time
        terminal_at:
          type:
            - string
            - 'null'
          format: date-time
      required:
        - id
        - amount_mwk
        - rail
        - status
        - destination
        - failure
        - created_at
        - terminal_at
    PayoutDestination:
      anyOf:
        - type: object
          properties:
            bank_uuid:
              type: string
            account_number:
              type: string
            account_name:
              type: string
          required:
            - bank_uuid
            - account_number
        - type: object
          properties:
            operator_ref_id:
              type: string
            mobile_number:
              type: string
          required:
            - operator_ref_id
            - mobile_number
      description: The destination snapshot as validated at accept — shape follows `rail`.
    PayoutFailure:
      type:
        - object
        - 'null'
      properties:
        code:
          type: string
          enum:
            - recipient_account_invalid
            - declined
            - provider_unavailable
            - temporarily_unavailable
          description: Published failure codes — never renamed or removed; additions only.
        message:
          type: string
          description: Fixed per-code copy — safe to show to your own users.
      required:
        - code
        - message
      description: Set exactly when status is `failed`; null otherwise.
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      description: 'Your Jenzy API key: `Authorization: Bearer jz_live_…`'

````