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

# Get Bags Payout History

> List the payouts of a token, newest first, with cursor pagination. Claims are not populated in history pages; use the single payout endpoint for them.

The `status` filter takes a comma-separated list of payout statuses and/or the groups `in_progress`, `done` and `attention`. Unknown query parameters are rejected.



## OpenAPI

````yaml GET /bags-payout/history
openapi: 3.1.0
info:
  title: Bags Public API v2
  description: API endpoints for Bags platform
  version: 2.0.0
  contact:
    name: Bags Support
    url: https://support.bags.fm
servers:
  - url: https://public-api-v2.bags.fm/api/v1
    description: Production server
security:
  - ApiKeyAuth: []
tags:
  - name: Token Launch
    description: Endpoints for creating and managing token launches
  - name: Fee Share
    description: Endpoints for managing fee sharing configs
  - name: Fee Share Admin
    description: >-
      Endpoints for fee share admin operations including listing, transferring
      admin authority, and updating configs
  - name: Analytics
    description: Endpoints for retrieving token analytics and metadata
  - name: Fee Claiming
    description: Endpoints for claiming fees from various sources
  - name: State
    description: Endpoints for retrieving on-chain state and derived state
  - name: Trade
    description: Endpoints for getting trade quotes and executing token swaps
  - name: Partner
    description: Endpoints for managing partner configurations and claiming partner fees
  - name: Solana
    description: Endpoints for direct Solana blockchain interactions
  - name: EVM
    description: Endpoints for reading Bags EVM token data
  - name: Robinhood Chain
    description: Read endpoints for Bags V2 tokens on Robinhood Chain (chain id 4663)
  - name: Dexscreener
    description: >-
      Endpoints for managing Dexscreener token info orders, payments, and image
      uploads
  - name: Bags Payout
    description: >-
      Endpoints for reading where a token's creator fees are paid out, its
      payout history and claims, and for changing its payout handle
  - name: Auth
    description: Endpoints for retrieving authenticated user information
  - name: Agent
    description: Endpoints for AI agent wallet-signature authentication (V2)
paths:
  /bags-payout/history:
    get:
      tags:
        - Bags Payout
      summary: Get Bags payout history
      description: >-
        List the payouts of a token, newest first, with cursor pagination.
        Claims are not populated in history pages; use the single payout
        endpoint for them.


        The `status` filter takes a comma-separated list of payout statuses
        and/or the groups `in_progress`, `done` and `attention`. Unknown query
        parameters are rejected.
      parameters:
        - name: tokenMint
          in: query
          required: true
          schema:
            type: string
          description: Token mint address
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 50
            default: 20
          description: Number of payouts to return (1 to 50, default 20)
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            pattern: ^[0-9a-fA-F]{24}$
          description: >-
            Pagination cursor: the `nextCursor` of the previous page (24 hex
            characters)
        - name: status
          in: query
          required: false
          schema:
            type: string
            maxLength: 256
          description: >-
            Comma-separated payout statuses and/or groups (`in_progress`,
            `done`, `attention`). Statuses: pending, bridging, bridged, listing,
            awaiting_buyer, matched, partially_paid, paid, closed,
            manual_review, cancelled. Omit for no filter.
      responses:
        '200':
          description: Successfully retrieved payout history
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/SuccessResponse'
                  - type: object
                    properties:
                      response:
                        $ref: '#/components/schemas/BagsPayoutHistoryPage'
        '400':
          description: >-
            Bad request - Invalid tokenMint, limit, cursor or status, or unknown
            parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BagsPayoutErrorResponse'
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too many requests - Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BagsPayoutErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BagsPayoutErrorResponse'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    SuccessResponse:
      type: object
      properties:
        success:
          type: boolean
          example: true
        response:
          description: ''
      required:
        - success
    BagsPayoutHistoryPage:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/BagsPayoutHistoryItem'
          description: Payouts, newest first
        hasMore:
          type: boolean
          description: Whether older items exist
        nextCursor:
          type: string
          description: Pass as `cursor` to get the next (older) page; null on the last page
          nullable: true
      required:
        - items
        - hasMore
        - nextCursor
    BagsPayoutErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        response:
          type: string
          description: Error message describing why the request failed.
      required:
        - success
        - response
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: string
          description: Error message
      required:
        - success
        - error
    BagsPayoutHistoryItem:
      type: object
      properties:
        id:
          type: string
          description: Payout id (24 hex), also the pagination cursor
        tokenMint:
          type: string
          description: Token mint address
        origin:
          type: string
          description: >-
            `claims` when funded by confirmed claims, `carry` when funded only
            by carried-over USDC remainders
          enum:
            - claims
            - carry
        status:
          $ref: '#/components/schemas/BagsPayoutStatus'
        statusGroup:
          $ref: '#/components/schemas/BagsPayoutStatusGroup'
        statusLabel:
          type: string
          description: Display label of the status
        cashoutMethod:
          $ref: '#/components/schemas/BagsPayoutCashoutMethod'
        username:
          type: string
          description: Payout handle frozen on this payout
        claimCount:
          type: integer
          description: Number of claims funding this payout
        totalClaimedLamports:
          type: string
          description: Total lamports claimed for this payout, as string to support bigint
        bridge:
          $ref: '#/components/schemas/BagsPayoutBridge'
        order:
          $ref: '#/components/schemas/BagsPayoutOrder'
        usdcPaidRaw:
          type: string
          description: >-
            USDC delivered to the recipient, in USDC base units (6 decimals), as
            string to support bigint
        fiatPaidCents:
          type: string
          description: Verified fiat paid, in USD cents, as string to support bigint
        carryOutRaw:
          type: string
          description: >-
            Unfilled remainder of a closed order carried into the token's next
            payout, in USDC base units (6 decimals), or null
          nullable: true
        carryAppliedToPayoutId:
          type: string
          description: >-
            The payout that absorbed `carryOutRaw`, or null while it is still
            waiting
          nullable: true
        claims:
          type: array
          items:
            $ref: '#/components/schemas/BagsPayoutClaim'
          description: >-
            Confirmed claims of this payout. Populated by `GET
            /bags-payout/payout`; null in history pages.
          nullable: true
        manualReviewReason:
          type: string
          enum:
            - relay_failed
            - relay_stuck
            - relay_attempts_exhausted
            - relay_measurement_failed
            - relay_quote_rejected
            - payee_registration_failed
            - peer_tx_failed
            - evm_tx_stuck
            - insufficient_usdc
            - order_inconsistent
            - ledger_inconsistent
            - operator
          description: Why the payout is under review, or null
          nullable: true
        timeline:
          type: array
          items:
            $ref: '#/components/schemas/BagsPayoutTimelineEntry'
          description: Status changes in order
        createdAt:
          type: string
          description: ISO timestamp the payout was created
        updatedAt:
          type: string
          description: ISO timestamp of the last update
        completedAt:
          type: string
          description: ISO timestamp the payout finished, or null
          nullable: true
      required:
        - id
        - tokenMint
        - origin
        - status
        - statusGroup
        - statusLabel
        - cashoutMethod
        - username
        - claimCount
        - totalClaimedLamports
        - bridge
        - order
        - usdcPaidRaw
        - fiatPaidCents
        - carryOutRaw
        - carryAppliedToPayoutId
        - claims
        - manualReviewReason
        - timeline
        - createdAt
        - updatedAt
        - completedAt
    BagsPayoutStatus:
      type: string
      enum:
        - pending
        - bridging
        - bridged
        - listing
        - awaiting_buyer
        - matched
        - partially_paid
        - paid
        - closed
        - manual_review
        - cancelled
      description: >-
        Lifecycle status of a payout. In progress: `pending` (fees claimed),
        `bridging` (converting to USDC), `bridged`, `listing` (creating payment
        order), `awaiting_buyer`, `matched`, `partially_paid`. Done: `paid`,
        `closed` (unfilled remainder carried over), `cancelled`. Attention:
        `manual_review`.
    BagsPayoutStatusGroup:
      type: string
      enum:
        - in_progress
        - done
        - attention
      description: Coarse grouping of a payout status.
    BagsPayoutCashoutMethod:
      type: string
      enum:
        - venmo
        - cashapp
        - xmoney
      description: >-
        Supported payout method: `venmo` (Venmo username), `cashapp` (Cash App
        cashtag) or `xmoney` (X username with X Money enabled).
    BagsPayoutBridge:
      type: object
      properties:
        state:
          type: string
          description: State of the conversion from SOL to USDC
          enum:
            - pending
            - sent
            - deposited
            - filled
            - skipped
            - manual_review
        amountInLamports:
          type: string
          description: Lamports sent for conversion, as string to support bigint
        expectedOutRaw:
          type: string
          description: Quote-time expected USDC, in USDC base units (6 decimals), or null
          nullable: true
        minimumOutRaw:
          type: string
          description: >-
            Quote-time guaranteed minimum USDC, in USDC base units (6 decimals),
            or null
          nullable: true
        usdcReceivedRaw:
          type: string
          description: Measured USDC received, in USDC base units (6 decimals), or null
          nullable: true
        relayRequestId:
          type: string
          description: Conversion request id, or null
          nullable: true
        depositSignature:
          type: string
          description: Solana deposit signature, only once it landed
          nullable: true
        depositConfirmedAt:
          type: string
          description: ISO timestamp the deposit was confirmed, or null
          nullable: true
        depositFeeLamports:
          type: string
          description: >-
            Solana network and priority fee of the deposit, in lamports, as
            string to support bigint, or null
          nullable: true
        fillTxHashes:
          type: array
          items:
            type: string
            description: Transaction hash on Base
          description: Base fill transaction hashes, only once filled
        filledAt:
          type: string
          description: ISO timestamp the conversion was filled, or null
          nullable: true
        retries:
          type: integer
          description: Number of ended attempts
        attempts:
          type: array
          items:
            $ref: '#/components/schemas/BagsPayoutBridgeAttempt'
          description: Ended attempts (refunded, expired or reverted deposits)
      required:
        - state
        - amountInLamports
        - expectedOutRaw
        - minimumOutRaw
        - usdcReceivedRaw
        - relayRequestId
        - depositSignature
        - depositConfirmedAt
        - depositFeeLamports
        - fillTxHashes
        - filledAt
        - retries
        - attempts
    BagsPayoutOrder:
      type: object
      properties:
        depositId:
          type: string
          description: >-
            Payment order deposit id `<escrow>_<onchainId>`, or null before the
            order exists
          nullable: true
        amountRaw:
          type: string
          description: >-
            Order size: this payout's USDC plus carried-over remainders, in USDC
            base units (6 decimals), or null
          nullable: true
        carryInRaw:
          type: string
          description: >-
            USDC carried in from earlier payouts, in USDC base units (6
            decimals), as string to support bigint
        filledRaw:
          type: string
          description: >-
            USDC filled so far, in USDC base units (6 decimals), as string to
            support bigint
        pendingRaw:
          type: string
          description: >-
            USDC locked by buyers who are paying, in USDC base units (6
            decimals), as string to support bigint
        returnedRaw:
          type: string
          description: >-
            USDC returned after the order closed, in USDC base units (6
            decimals), as string to support bigint
        createTxHash:
          type: string
          description: Transaction hash that created the order, or null
          nullable: true
        accessPolicyTxHashes:
          type: array
          items:
            type: string
            description: Transaction hash
          description: >-
            Venmo only: transactions restricting buyers to a vetted merchant
            group
        withdrawTxHashes:
          type: array
          items:
            type: string
            description: Transaction hash
          description: >-
            Transactions that closed the order and returned the unfilled
            remainder
        discountBps:
          type: integer
          description: >-
            Discount below the market rate in basis points (0 = market rate).
            Orders are discounted to fill faster: by default 1000 (10%) from
            listing and 2000 (20%) once the order is 24 hours old. The payee
            receives that much less cash per USDC.
        discountTxHashes:
          type: array
          items:
            type: string
            description: Transaction hash
          description: Confirmed transactions that set the order's discount
        carryInFromPayoutIds:
          type: array
          items:
            type: string
            description: Payout id
          description: Earlier payouts whose carried-over remainders are part of this order
        listedAt:
          type: string
          description: ISO timestamp the order went live, or null
          nullable: true
        closedAt:
          type: string
          description: ISO timestamp the order closed, or null
          nullable: true
        fills:
          type: array
          items:
            $ref: '#/components/schemas/BagsPayoutFill'
          description: Buyer fills of the order
      required:
        - depositId
        - amountRaw
        - carryInRaw
        - filledRaw
        - pendingRaw
        - returnedRaw
        - createTxHash
        - accessPolicyTxHashes
        - withdrawTxHashes
        - discountBps
        - discountTxHashes
        - carryInFromPayoutIds
        - listedAt
        - closedAt
        - fills
    BagsPayoutClaim:
      type: object
      properties:
        signature:
          type: string
          description: Claim transaction signature
        claimedLamports:
          type: string
          description: Gross lamports claimed, as string to support bigint
        slot:
          type: integer
          description: Slot the claim landed in, or null
          nullable: true
        confirmedAt:
          type: string
          description: ISO timestamp the claim was confirmed, or null
          nullable: true
      required:
        - signature
        - claimedLamports
        - slot
        - confirmedAt
    BagsPayoutTimelineEntry:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/BagsPayoutStatus'
        at:
          type: string
          description: ISO timestamp the payout entered this status
        note:
          type: string
          description: Optional note, or null
          nullable: true
      required:
        - status
        - at
        - note
    BagsPayoutBridgeAttempt:
      type: object
      properties:
        outcome:
          type: string
          description: Why the attempt ended without a fill
          enum:
            - expired
            - reverted
            - refunded
        at:
          type: string
          description: ISO timestamp the attempt ended
        depositSignature:
          type: string
          description: Solana deposit signature, only when that deposit landed
          nullable: true
        refundedLamports:
          type: string
          description: >-
            Lamports refunded for this attempt, as string to support bigint, or
            null
          nullable: true
      required:
        - outcome
        - at
        - depositSignature
        - refundedLamports
    BagsPayoutFill:
      type: object
      properties:
        status:
          type: string
          description: >-
            Fill status, one of `SIGNALED` (buyer paying), `FULFILLED` (paid and
            proven), `PRUNED` (buyer never paid), `MANUALLY_RELEASED`
        amountRaw:
          type: string
          description: >-
            Filled amount, in USDC base units (6 decimals), as string to support
            bigint
        fiatPaidCents:
          type: string
          description: Fiat paid, in USD cents, as string to support bigint, or null
          nullable: true
        paidAt:
          type: string
          description: ISO timestamp of payment, or null
          nullable: true
        signaledAt:
          type: string
          description: ISO timestamp the buyer signaled payment, or null
          nullable: true
        fulfilledAt:
          type: string
          description: ISO timestamp the fill was fulfilled, or null
          nullable: true
      required:
        - status
        - amountRaw
        - fiatPaidCents
        - paidAt
        - signaledAt
        - fulfilledAt
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key authentication. Provide your API key as the header value.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.