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

# List payouts

> Returns commission payouts for the organisation resolved from the authenticated API key. Use filters to pull payouts ready for your finance workflow.



## OpenAPI

````yaml /openapi.json get /api/v1/payouts
openapi: 3.1.0
info:
  title: Introw API
  version: '2026-05-20'
  description: >-
    Customer-facing API for Introw. Manage partners, delegate commission payout
    operations to your finance software, embed the partner portal in your
    product with pre-authenticated sessions, and ingest affiliate conversions.
servers:
  - url: https://api.introw.io
  - url: https://api.staging.introw.io
security:
  - ApiKeyAuth: []
tags:
  - name: Partners
    description: >-
      Read and manage partners for the organisation associated with the
      authenticated API key.
  - name: Payouts
    description: >-
      Read and update commission payouts. Delegate approval, scheduling, and
      payment status to your ERP or accounts-payable stack.
  - name: Commission lines
    description: >-
      Create, read, update, decline, and detach commission line items. Lines can
      live in the pending pool or be attached to a payout.
  - name: Auth
    description: >-
      Create pre-authenticated partner portal sessions. Exchange a visitor email
      for a short-lived, single-use portal URL that you embed in an iframe
      inside your own product — one login, fully branded, no login screen for
      the partner.
  - name: Affiliate
    description: >-
      Ingest affiliate conversions from your backend or directly from the
      browser via affiliate.js. Every conversion is anchored to a signed,
      server-side click token (the first-party `_introw_aff` cookie),
      deduplicated, and mapped onto a campaign form submission — so attribution
      cannot be forged or double-counted.
paths:
  /api/v1/payouts:
    get:
      tags:
        - Payouts
      summary: List payouts
      description: >-
        Returns commission payouts for the organisation resolved from the
        authenticated API key. Use filters to pull payouts ready for your
        finance workflow.
      operationId: listPayouts
      parameters:
        - name: limit
          in: query
          required: false
          description: Maximum number of payouts to return. Defaults to 25.
          schema:
            description: Maximum number of payouts to return.
            default: 25
            type: integer
            minimum: 1
            maximum: 100
        - name: cursor
          in: query
          required: false
          description: Cursor returned by a previous list response.
          schema:
            description: Cursor returned by a previous list response.
            type: string
        - name: stage
          in: query
          required: false
          description: Filter payouts by stage.
          schema:
            description: Filter payouts by stage.
            type: string
            enum:
              - DRAFT
              - PENDING_REVIEW
              - PENDING_INVOICE
              - APPROVED
              - SCHEDULED
              - PENDING_PAYMENT
              - PAID
              - DECLINED
              - POSTPONED
              - BLOCKED
              - FAILED
        - name: partnerId
          in: query
          required: false
          description: Filter payouts for a single partner.
          schema:
            description: Filter payouts for a single partner.
            type: string
        - name: periodStart
          in: query
          required: false
          description: Filter payouts with a period starting on or after this date.
          schema:
            description: Filter payouts with a period starting on or after this date.
            type: string
            format: date-time
            pattern: >-
              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
        - name: periodEnd
          in: query
          required: false
          description: Filter payouts with a period ending on or before this date.
          schema:
            description: Filter payouts with a period ending on or before this date.
            type: string
            format: date-time
            pattern: >-
              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
      responses:
        '200':
          description: Payout page returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPayoutsResponse'
              example:
                data:
                  - id: pay_2x7n4q8z0w1a2b3c4d5e6f7g
                    partner:
                      id: ptn_01HVK6Y8Z8Q7J8J8J8J8J8J8J8
                      name: Acme Partners
                    batchId: pbt_9h8g7f6e5d4c3b2a1z0w9v8u
                    periodStart: '2026-01-01T00:00:00.000Z'
                    periodEnd: '2026-03-31T23:59:59.000Z'
                    amount:
                      value: '4250.00'
                      currency: USD
                    stage: PENDING_REVIEW
                    poNumber: null
                    createdAt: '2026-04-05T09:00:00.000Z'
                    updatedAt: '2026-04-05T09:00:00.000Z'
                  - id: pay_2x7n4q8z0w1a2b3c4d5e6f7g
                    partner:
                      id: ptn_01HVK6Y8Z8Q7J8J8J8J8J8J8J8
                      name: Acme Partners
                    batchId: pbt_9h8g7f6e5d4c3b2a1z0w9v8u
                    periodStart: '2026-01-01T00:00:00.000Z'
                    periodEnd: '2026-03-31T23:59:59.000Z'
                    amount:
                      value: '4250.00'
                      currency: USD
                    stage: APPROVED
                    poNumber: PO-ACME-2026-Q1
                    createdAt: '2026-04-05T09:00:00.000Z'
                    updatedAt: '2026-04-08T14:30:00.000Z'
                pagination:
                  nextCursor: null
          headers:
            x-ratelimit-limit-minute:
              description: Maximum number of requests allowed in the current minute.
              schema:
                type: string
            x-ratelimit-remaining-minute:
              description: Number of requests remaining in the current minute.
              schema:
                type: string
        '401':
          description: API key is missing, invalid, expired, or revoked.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '403':
          description: API key does not include the commissions:read scope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '422':
          description: Query parameters failed validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '500':
          description: Unexpected server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
components:
  schemas:
    ListPayoutsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              id:
                description: Introw payout identifier.
                type: string
              partner:
                type: object
                properties:
                  id:
                    description: Introw partner identifier.
                    type: string
                  name:
                    description: Partner display name.
                    type: string
                required:
                  - id
                  - name
                additionalProperties: false
              batchId:
                description: >-
                  Identifier of the payout batch this payout belongs to, when
                  assigned.
                anyOf:
                  - type: string
                  - type: 'null'
              periodStart:
                description: Start of the commission period covered by this payout.
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              periodEnd:
                description: End of the commission period covered by this payout.
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              amount:
                type: object
                properties:
                  value:
                    description: Decimal amount as a string, e.g. "1250.00".
                    type: string
                  currency:
                    description: ISO 4217 currency code, e.g. "USD".
                    type: string
                    minLength: 3
                    maxLength: 3
                required:
                  - value
                  - currency
                additionalProperties: false
              stage:
                description: >-
                  Current stage of the commission payout in your finance
                  workflow.
                type: string
                enum:
                  - DRAFT
                  - PENDING_REVIEW
                  - PENDING_INVOICE
                  - APPROVED
                  - SCHEDULED
                  - PENDING_PAYMENT
                  - PAID
                  - DECLINED
                  - POSTPONED
                  - BLOCKED
                  - FAILED
              poNumber:
                description: Partner purchase order number, when provided.
                anyOf:
                  - type: string
                  - type: 'null'
              createdAt:
                description: ISO 8601 timestamp for when the payout was created.
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              updatedAt:
                description: ISO 8601 timestamp for when the payout was last updated.
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
            required:
              - id
              - partner
              - batchId
              - periodStart
              - periodEnd
              - amount
              - stage
              - poNumber
              - createdAt
              - updatedAt
            additionalProperties: false
        pagination:
          type: object
          properties:
            nextCursor:
              description: >-
                Cursor for the next page, or null when there are no more
                results.
              anyOf:
                - type: string
                - type: 'null'
          required:
            - nextCursor
          additionalProperties: false
      required:
        - data
        - pagination
      additionalProperties: false
    PublicApiError:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              description: Stable machine-readable error code.
              type: string
            message:
              description: Human-readable error message.
              type: string
            details:
              description: Optional structured details for validation and debugging.
          required:
            - code
            - message
          additionalProperties: false
      required:
        - error
      additionalProperties: false
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Introw API key shown once when the credential is created.

````