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

# List Disbursements

> Retrieve all disbursements across all businesses under the platform. Use this endpoint for financial reconciliation across your sub-businesses.



## OpenAPI

````yaml /openapi/workforce-management.yaml get /v1/platform/disbursements
openapi: 3.0.0
info:
  description: APIs for interacting with Cadana Payroll Platform
  version: 1.0.0
  title: Business Workforce Management
  termsOfService: https://cadanapay.com/terms-and-conditions
  contact:
    email: api@cadanapay.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://api.cadanapay.com
    description: Prod Server
  - url: https://dev-api.cadanapay.com
    description: Dev Server
security:
  - Authorization: []
tags:
  - name: Custom Auth
    description: APIs for interacting with Custom Authentication
  - name: Persons
    description: APIs for interacting with the HR module
  - name: Milestones
    description: APIs for milestone-based contractor pay
  - name: Instant Pay
    description: APIs for interacting with Instant Pay functionality
  - name: Users
    description: APIs for interacting with employee/contractor Cadana accounts
  - name: Files
    description: APIs for interacting with file uploads
  - name: Payrolls
    description: APIs for interacting with Payroll
  - name: Platform
    description: Platform APIs for interacting with businesses
  - name: Businesses
    description: APIs for interacting with Business
  - name: Contracts
    description: APIs for interacting with contracts
  - name: Sandbox
    description: APIs for relevant sandbox simulations
  - name: Invoices
    description: APIs for interacting with invoices
  - name: Reimbursements
    description: APIs for interacting with reimbursements
  - name: Entities
    description: >-
      APIs for managing legal sub-entities (subsidiaries, branches) under a
      parent business
paths:
  /v1/platform/disbursements:
    get:
      tags:
        - Platform
      summary: List Disbursements
      description: >-
        Retrieve all disbursements across all businesses under the platform. Use
        this endpoint for financial reconciliation across your sub-businesses.
      operationId: getPlatformDisbursements
      parameters:
        - in: query
          name: businessId
          schema:
            type: string
            format: uuid
          description: >
            Scope results to a single business account. Returns only rows where
            that business's account is the sender or recipient — both money it
            sent (payroll, vendor payments, payouts) and money it received
            (deposits, refunds/reversals). This is narrower than `tenantKey`,
            which returns every row under a tenant.
          example: 1e6c5a83-7b86-4a32-a7da-0e5e2b3d8f10
        - in: query
          name: currency
          schema:
            type: string
          description: >-
            Filter by the business-facing currency — matches either the
            destination `amount` or the `sourceAmount`.
          example: USD
        - in: query
          name: startDate
          schema:
            type: string
            format: date
          description: >-
            Start of date range (ISO 8601, e.g. 2026-01-01). Defaults to 7 days
            ago.
        - in: query
          name: endDate
          schema:
            type: string
            format: date
          description: End of date range (ISO 8601, e.g. 2026-02-01). Defaults to now.
        - in: query
          name: type
          schema:
            type: string
          description: >
            Comma-separated, repeatable filter of disbursement type(s) to
            include. Supported values: PAYROLL, PAYOUT, TRANSFER,
            CARD_MAINTENANCE_FEE, CARD_CREATION_FEE, STOCK_BUY, STOCK_SELL,
            PAYROLL_FEE, INTEREST. When scoped to a single business with
            `businessId`, the business-relevant types are PAYROLL_TOTAL,
            PAYROLL, PAYROLL_FEE, PAYROLL_REVERSAL, DEPOSIT, DEPOSIT_REVERSAL,
            VENDOR, REVENUE_SHARE_PAYOUT, REIMBURSEMENT, SUBSCRIPTION_PAYMENT,
            STATUTORY_DEPOSIT; by default the per-employee PAYROLL legs and
            PAYROLL_FEE are collapsed into the single PAYROLL_TOTAL row, and
            passing an explicit `type` returns the raw rows.
          example: PAYROLL,PAYOUT
        - in: query
          name: status
          schema:
            type: string
            enum:
              - SUCCESS
              - FAILED
              - INITIATED
              - PROCESSING
              - ROUTED
          description: Filter by transaction status.
          example: SUCCESS
        - in: query
          name: includeRevenueShare
          schema:
            type: boolean
            default: false
          description: >-
            Set to `true` to include the revenue-share fields
            (`feeRevenueShare`, `fxRevenueShare`, `totalRevenueShare`) in each
            item. Omitted by default.
          example: true
        - in: query
          name: limit
          schema:
            type: integer
            minimum: 1
            default: 50
            maximum: 100
          description: Maximum number of items to return per page.
        - in: query
          name: next
          schema:
            type: string
          description: >-
            Opaque cursor for the next page — pass the `cursor.next` value from
            the previous response. Keep paging until `cursor.next` is null.
        - in: query
          name: previous
          schema:
            type: string
          description: Cursor to fetch the previous page of results.
      responses:
        '200':
          $ref: '#/components/responses/GetPlatformDisbursementsResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        5XX:
          $ref: '#/components/responses/InternalError'
      security:
        - Authorization: []
components:
  responses:
    GetPlatformDisbursementsResponse:
      description: List of disbursements across all platform businesses
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                type: array
                items:
                  $ref: '#/components/schemas/PlatformDisbursement'
              cursor:
                $ref: '#/components/schemas/node'
          examples:
            payrollAndPayout:
              $ref: '#/components/examples/platformDisbursementsResponse'
    BadRequestError:
      description: Bad input provided by client
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BadRequestError'
    InternalError:
      description: Internal error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InternalError'
  schemas:
    PlatformDisbursement:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique transaction identifier
          example: 87eec1a4-d757-45be-a75e-f3638d044750
        tenantKey:
          type: string
          description: Identifies which business this transaction belongs to
          example: tbl28153208
        status:
          type: string
          description: Transaction status
          enum:
            - SUCCESS
            - FAILED
            - INITIATED
            - PROCESSING
            - ROUTED
          example: SUCCESS
        referenceId:
          type: string
          format: uuid
          description: >-
            External reference ID. Payroll transactions from the same run share
            the same referenceId.
          example: 9c4829a8-0177-4dad-a0d8-e4f8fc42276a
        description:
          type: string
          description: Human-readable description of the transaction
          example: January 2026 Payment
        type:
          type: string
          description: >
            Transaction type. The possible values depend on the endpoint — see
            the operation description for the set each endpoint returns. A
            business disbursement is one of: PAYROLL_TOTAL, PAYROLL,
            PAYROLL_FEE, PAYROLL_REVERSAL, DEPOSIT, DEPOSIT_REVERSAL, VENDOR,
            REVENUE_SHARE_PAYOUT, REIMBURSEMENT, SUBSCRIPTION_PAYMENT,
            STATUTORY_DEPOSIT.
          enum:
            - PAYOUT
            - PAYROLL
            - PAYROLL_TOTAL
            - PAYROLL_FEE
            - PAYROLL_REVERSAL
            - VENDOR
            - DEPOSIT
            - DEPOSIT_REVERSAL
            - REVENUE_SHARE_PAYOUT
            - REIMBURSEMENT
            - SUBSCRIPTION_PAYMENT
            - STATUTORY_DEPOSIT
            - CARD_MAINTENANCE_FEE
            - CARD_CREATION_FEE
            - STOCK_BUY
            - STOCK_SELL
            - INTEREST
          example: PAYROLL_TOTAL
        fxRate:
          type: number
          nullable: true
          description: >-
            Foreign exchange rate applied. Only present for cross-currency
            transactions.
          example: 5.7896
        paymentMethod:
          type: string
          description: How funds were delivered
          enum:
            - bank
            - momo
            - wallet
            - ach
            - card
            - proxy
          example: bank
        paymentDetails:
          $ref: '#/components/schemas/paymentMethods'
        userId:
          type: string
          format: uuid
          description: >-
            The wallet/user account ID. Present on wallet-based transactions.
            For payroll, only present when payment is delivered to a wallet.
          example: 8cb1d569-5dfd-4b33-b25e-4fab0ee14251
        personId:
          type: string
          format: uuid
          nullable: true
          description: The employee or contractor ID. Present only on payroll transactions.
          example: 7fc25070-8037-44f8-8c42-9d05ffc01f0b
        userName:
          type: string
          description: Recipient name
          example: Paula Torres
        amount:
          description: Amount the recipient receives in the destination currency
          allOf:
            - $ref: '#/components/schemas/Amount'
        sourceAmount:
          description: Cost in the source currency before fees
          allOf:
            - $ref: '#/components/schemas/Amount'
        feeAmount:
          description: Fees charged in the source currency
          allOf:
            - $ref: '#/components/schemas/Amount'
        totalAmount:
          description: Total debited from the sender (sourceAmount + feeAmount)
          allOf:
            - $ref: '#/components/schemas/Amount'
        fxRevenueShare:
          nullable: true
          description: Revenue earned from the FX spread. Only present when applicable.
          allOf:
            - $ref: '#/components/schemas/RevenueShare'
        feeRevenueShare:
          nullable: true
          description: Revenue earned from transaction fees. Only present when applicable.
          allOf:
            - $ref: '#/components/schemas/RevenueShare'
        totalRevenueShare:
          nullable: true
          description: Combined total revenue share
          allOf:
            - $ref: '#/components/schemas/Amount'
        estimatedDelivery:
          type: string
          nullable: true
          description: Estimated time the funds will be delivered to the recipient
        externalReference:
          type: string
          nullable: true
          description: External reference associated with the transaction, when available
        createdTimestamp:
          type: string
          description: Timestamp when the transaction was created
          example: 2026-01-28 14:29:09 +0000 UTC
        lastUpdatedTimestamp:
          type: string
          description: Timestamp when the transaction was last updated
          example: 2026-01-28 14:29:18 +0000 UTC
    node:
      type: object
      description: Node pagination
      properties:
        previous:
          type: string
          nullable: true
        next:
          type: string
          nullable: true
    BadRequestError:
      description: Bad input provided by client
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            params:
              description: A map for meta data around the error that occurred
              type: object
      example:
        code: invalid_request_body
        message: The request body provided is not valid
        params:
          field: Value is invalid.
    InternalError:
      description: Internal server error
      allOf:
        - $ref: '#/components/schemas/Error'
      example:
        code: internal_error
        message: An unexpected error occurred. Please try again later.
    paymentMethods:
      type: object
      required:
        - preferredMethod
      properties:
        preferredMethod:
          type: string
          enum:
            - momo
            - bank
            - swift
            - ach
            - wallet
            - wire
          description: The preferred payment method type
          example: bank
        momo:
          $ref: '#/components/schemas/momoDetails'
        bank:
          $ref: '#/components/schemas/bankDetails'
        swift:
          $ref: '#/components/schemas/swiftDetails'
        ach:
          $ref: '#/components/schemas/achDetails'
        wallet:
          $ref: '#/components/schemas/walletDetails'
        wire:
          $ref: '#/components/schemas/wireDetails'
    Amount:
      type: object
      required:
        - value
        - currency
      properties:
        value:
          type: string
          description: The value of the amount
          example: '10.00'
        currency:
          type: string
          description: The currency of the asset
          example: USD
    RevenueShare:
      type: object
      properties:
        amount:
          $ref: '#/components/schemas/Amount'
        rate:
          type: number
          description: The revenue share percentage
          example: 1
    Error:
      type: object
      properties:
        code:
          description: A machine parsable error code
          type: string
          enum:
            - invalid_request_body
            - resource_not_found
            - forbidden
            - internal_error
        message:
          description: A human readable message describing the error
          type: string
    momoDetails:
      type: object
      properties:
        accountName:
          type: string
          description: The name associated with the mobile money account
          example: John Doe
        provider:
          type: string
          description: The name of the mobile money provider
          example: MTN
        providerCode:
          type: string
          description: The code identifying the mobile money provider
          example: MTN
        phoneNumber:
          $ref: '#/components/schemas/phoneNumber'
        currency:
          type: string
          description: The currency of the mobile money account
          example: GHS
    bankDetails:
      type: object
      properties:
        accountName:
          type: string
          description: The name on the bank account
          example: John Doe
        accountNumber:
          type: string
          description: The bank account number
          example: '1234567890'
        accountType:
          type: string
          description: The type of bank account (e.g., Checking, Savings)
          example: Checking
        ownerType:
          type: string
          description: The type of account owner
          enum:
            - Individual
            - Business
          example: Individual
        bankCode:
          type: string
          description: The bank identification code
          example: EXMPJPJT
        bankName:
          type: string
          description: The name of the bank
          example: Gotham City Bank
        branchName:
          type: string
          description: The name of the bank branch
          example: Downtown Branch
        sortCode:
          type: string
          description: The bank sort code (UK); carries the IFSC for India
          example: '401234'
        iban:
          type: string
          description: The International Bank Account Number
          example: GB00000000000000000000
        provider:
          type: string
          description: The platform providing this account (e.g., wise)
          example: wise
        currency:
          type: string
          description: The currency of the bank account
          example: USD
        beneficiaryId:
          $ref: '#/components/schemas/beneficiaryId'
        address:
          $ref: '#/components/schemas/address'
        phoneNumber:
          $ref: '#/components/schemas/phoneNumber'
        email:
          type: string
          format: email
          description: The email address of the account holder
          example: john.doe@example.com
    swiftDetails:
      type: object
      required:
        - currency
        - iban
        - accountName
        - accountNumber
        - bankName
        - swiftCode
        - address
      properties:
        currency:
          type: string
          description: The currency of the bank account
          example: EUR
        iban:
          type: string
          description: The International Bank Account Number
          example: DE00000000000000000000
        accountName:
          type: string
          description: The name on the bank account
          example: John Doe
        accountNumber:
          type: string
          description: The bank account number
          example: '1234567890'
        bankName:
          type: string
          description: The name of the bank
          example: Example Bank
        swiftCode:
          type: string
          description: The SWIFT/BIC code of the bank
          example: EXMPDEFF
        address:
          $ref: '#/components/schemas/address'
    achDetails:
      type: object
      properties:
        bankName:
          type: string
          description: The name of the bank
          example: Example Bank
        accountName:
          type: string
          description: The name on the bank account
          example: John Doe
        routingNumber:
          type: string
          description: The ACH routing number of the bank
          example: '000000000'
        accountNumber:
          type: string
          description: The bank account number
          example: '1234567890'
        accountType:
          type: string
          description: The type of bank account (Checking or Savings)
          example: Checking
        provider:
          type: string
          description: The platform providing this account (e.g., wise)
          example: wise
        address:
          $ref: '#/components/schemas/address'
    walletDetails:
      type: object
      properties:
        type:
          type: string
          description: The type of wallet account
          enum:
            - user
            - business
          example: user
        identifier:
          type: string
          description: The unique identifier for the wallet account
          example: 69a2a928-ed49-4e53-92ec-a72b4ee7eacc
        currency:
          type: string
          description: The currency of the wallet
          example: USD
    wireDetails:
      type: object
      description: Wire transfer payment details
      properties:
        bankName:
          type: string
          description: The name of the bank
          example: Example Bank
        accountName:
          type: string
          description: The name on the account
          example: John Doe
        routingNumber:
          type: string
          description: The routing number
          example: '000000000'
        accountNumber:
          type: string
          description: The account number
          example: '123456789'
        address:
          $ref: '#/components/schemas/address'
    phoneNumber:
      type: object
      description: Person's phone number
      properties:
        countryCode:
          type: string
          example: '1'
        number:
          type: string
          example: '2345678901'
    beneficiaryId:
      type: object
      description: ID details for the beneficiary
      properties:
        type:
          type: string
          enum:
            - NIT
            - CC
            - CE
            - TI
            - PASS
          description: Type of beneficiary ID
          example: NIT
        value:
          type: string
          description: ID number of the beneficiary
          example: '123456789'
    address:
      type: object
      description: Address
      required:
        - countryCode
      properties:
        line1:
          type: string
          example: Street 1
        line2:
          type: string
          example: Apt 1
        city:
          type: string
          example: Gotham
        postalCode:
          type: string
          example: '10001'
        state:
          type: string
          example: NY
        countryCode:
          type: string
          example: US
  examples:
    platformDisbursementsResponse:
      summary: Platform Disbursements Response
      value:
        data:
          - id: c6250a16-eb63-41de-a952-8122d305ebbf
            tenantKey: tbl12101631
            status: SUCCESS
            referenceId: 7b82d74e-4ad5-4fbf-af9c-a0f11b224c7a
            description: January 2026 Payment
            type: PAYROLL
            paymentMethod: wallet
            paymentDetails:
              preferredMethod: wallet
              wallet:
                type: USER
                identifier: 060e3aeb-4a9d-4a90-aff5-17f8d69635ce
                currency: USD
            userId: 060e3aeb-4a9d-4a90-aff5-17f8d69635ce
            personId: 8ab2ba37-3c37-485d-9af9-122d11c96bf9
            userName: Reed Maygone
            amount:
              value: '1000.00'
              currency: USD
            sourceAmount:
              value: '1000.00'
              currency: USD
            feeAmount:
              value: '0.00'
              currency: USD
            totalAmount:
              value: '1000.00'
              currency: USD
            createdTimestamp: 2026-01-28 14:20:47 +0000 UTC
            lastUpdatedTimestamp: 2026-01-28 14:20:55 +0000 UTC
          - id: 6658ae8b-07fd-4e33-b66d-eb1e1420e102
            tenantKey: cad35916961
            status: SUCCESS
            referenceId: aaae74a1-b4ac-44e8-b3a8-abd3bcaa0d3b
            type: PAYOUT
            fxRate: 5.7896
            paymentMethod: bank
            paymentDetails:
              preferredMethod: bank
              bank:
                accountName: Maria Santos
                accountNumber: '00123456'
                bankCode: '001'
                bankName: Banco do Brasil
                currency: BRL
            userId: 3ace5e66-9981-4bdc-b694-8a4e5dd9d1c6
            userName: Maria Santos
            amount:
              value: '578.96'
              currency: BRL
            sourceAmount:
              value: '100.00'
              currency: USD
            feeAmount:
              value: '13.50'
              currency: USD
            totalAmount:
              value: '113.50'
              currency: USD
            fxRevenueShare:
              amount:
                value: '1.00'
                currency: USD
              rate: 1
            feeRevenueShare:
              amount:
                value: '10.00'
                currency: USD
            totalRevenueShare:
              value: '11.00'
              currency: USD
            createdTimestamp: 2026-01-12 19:58:28 +0000 UTC
            lastUpdatedTimestamp: 2026-01-12 19:58:41 +0000 UTC
        cursor:
          previous: null
          next: null
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer
      bearerFormat: API_SECRET_KEY

````