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

# List payments

> Returns a paginated list of payment intents for your organization. Supports filtering by recipient, batch, and reference.



## OpenAPI

````yaml /api-reference/openapi.json get /payments
openapi: 3.1.0
info:
  title: Karat Payout API
  description: >-
    Your gateway to seamless, automated, and scalable payment solutions. The
    Karat Payout API lets you create recipients, send payouts, track payment
    status, manage tax documents, record external payments, and subscribe to
    webhook events.
  version: 1.0.0
servers:
  - url: https://payouts.api.trykarat.com
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Payments
    description: Create and manage outgoing payouts to recipients.
  - name: Recipients
    description: Manage the payees you send payouts to.
  - name: Tax
    description: Retrieve recipient tax forms (W-9) and download links.
  - name: External Payments
    description: Record and manage payments made outside of Karat.
  - name: Webhooks
    description: Subscribe to event notifications for payout activity.
paths:
  /payments:
    get:
      tags:
        - Payments
      summary: List payments
      description: >-
        Returns a paginated list of payment intents for your organization.
        Supports filtering by recipient, batch, and reference.
      operationId: getPayments
      parameters:
        - $ref: '#/components/parameters/Limit'
        - $ref: '#/components/parameters/Offset'
        - name: recipientId
          in: query
          description: Filter payments by recipient ID.
          required: false
          schema:
            type: string
            format: uuid
        - name: batchId
          in: query
          description: Filter payments by the batch they were created in.
          required: false
          schema:
            type: string
            format: uuid
        - name: referenceId
          in: query
          description: Filter payments by your own reference ID.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: A paginated list of payments.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Payment'
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  parameters:
    Limit:
      name: limit
      in: query
      description: Maximum number of results to return (max 100, default 100).
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 100
    Offset:
      name: offset
      in: query
      description: Number of results to skip for pagination (default 0).
      required: false
      schema:
        type: integer
        minimum: 0
        default: 0
  schemas:
    Payment:
      type: object
      properties:
        id:
          type: string
          format: uuid
        amount:
          type: integer
          description: Amount in cents.
        description:
          type: string
        referenceId:
          type: string
        createdAt:
          type: string
          format: date-time
        statusUpdates:
          type: array
          items:
            $ref: '#/components/schemas/StatusUpdate'
        recipient:
          $ref: '#/components/schemas/PaymentRecipient'
        payoutLink:
          type: string
          format: uri
          description: Link the recipient can use to view and accept the payout.
    PaginationMeta:
      type: object
      properties:
        total:
          type: integer
          description: Total number of matching records.
        limit:
          type: integer
        offset:
          type: integer
    StatusUpdate:
      type: object
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          example: processing
        reason:
          type: string
        date:
          type: string
          format: date-time
    PaymentRecipient:
      type: object
      properties:
        id:
          type: string
          format: uuid
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
          format: email
        autoAcceptPayouts:
          type: boolean
    Error:
      type: object
      description: Standard error envelope returned for all non-2xx responses.
      properties:
        error:
          type: object
          properties:
            message:
              type: string
            code:
              type: string
          required:
            - message
      required:
        - error
  responses:
    BadRequest:
      description: The request was invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              message: 'amount: amount must be positive'
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              message: Invalid api key
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Pass your API key as a bearer token: `Authorization: Bearer <API_KEY>`.'

````