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

# List Payment Methods

> List all payment methods for the authenticated user. Results are cursor-paginated and sorted by creation date (newest first by default). Use the `nextCursor` or `previousCursor` returned in the response to navigate between pages.

**API scope required**: `payment-methods.read`

<Warning>
  This endpoint requires a JWT from an **external auth provider** (Auth0, Firebase, Stytch, etc.) or a **custom JWT** backed by a JWKS endpoint. Crossmint Auth is not supported.
</Warning>


## OpenAPI

````yaml get /unstable/payment-methods
openapi: 3.0.0
info:
  title: Crossmint Payments API
  description: Crossmint Payments API
  version: 1.0.0
  contact:
    name: Crossmint Support
    url: https://www.crossmint.com
    email: support@crossmint.com
servers:
  - url: https://staging.crossmint.com/api
    description: Staging environment (testnets)
  - url: https://www.crossmint.com/api
    description: Production environment (mainnets)
security: []
tags: []
paths:
  /unstable/payment-methods:
    get:
      tags:
        - Payment Methods
      summary: List Payment Methods
      description: >-
        List all payment methods for the authenticated user. Results are
        cursor-paginated and sorted by creation date (newest first by default).
        Use the `nextCursor` or `previousCursor` returned in the response to
        navigate between pages.


        **API scope required**: `payment-methods.read`
      operationId: PaymentMethodsController-getPaymentMethods-2
      parameters:
        - name: X-API-KEY
          in: header
          description: API key required for authentication
          required: true
          schema:
            type: string
        - name: userLocator
          in: query
          required: false
          description: >-
            Identifies the target user when authenticating with a server API
            key. Format: `<type>:<value>` (e.g., `email:alice@example.com`,
            `userId:abc123`, `phoneNumber:+12125551234`, `twitter:alice`).
            Required for API-key authentication; ignored when authenticating
            with a JWT (the JWT subject is used).
          schema:
            type: string
        - name: type
          in: query
          required: false
          description: Filter by payment method type.
          schema:
            type: string
            enum:
              - card
              - bank-account-us
              - bank-account-mx
              - bank-account-ar
              - bank-account-br
              - pix
        - name: cursor
          in: query
          required: false
          description: >-
            Opaque cursor from a previous response's `nextCursor` or
            `previousCursor`. Omit on the first request.
          schema:
            type: string
        - name: limit
          in: query
          required: false
          description: >-
            Maximum number of items to return per page. Must be between 1 and
            100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 30
        - name: sort
          in: query
          required: false
          description: >-
            Sort order by creation date. Defaults to `desc` (newest first). Once
            a page has been requested with a given sort, follow-up requests
            using the returned cursor preserve that order.
          schema:
            type: string
            enum:
              - asc
              - desc
            default: desc
      responses:
        '200':
          description: Returns a paginated list of payment methods
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserPaymentMethodOutputListResponseDto'
components:
  schemas:
    UserPaymentMethodOutputListResponseDto:
      type: object
      required:
        - data
      properties:
        data:
          type: array
          description: Page of payment methods in the requested sort order.
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                  - card
              paymentMethodId:
                type: string
              default:
                type: boolean
              display:
                type: object
                properties:
                  imageUrl:
                    type: string
                    format: uri
              card:
                type: object
                properties:
                  source:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - basis-theory-token
                      id:
                        type: string
                      networkTokenId:
                        type: string
                    required:
                      - type
                      - id
                  brand:
                    type: string
                    enum:
                      - visa
                      - mastercard
                      - amex
                      - discover
                      - jcb
                      - unionpay
                      - diners-club
                  last4:
                    type: string
                  expiration:
                    type: object
                    properties:
                      month:
                        type: string
                      year:
                        type: string
                    required:
                      - month
                      - year
                  billing:
                    type: object
                    properties:
                      name:
                        type: string
                      address:
                        type: object
                        properties:
                          line1:
                            type: string
                            minLength: 1
                            maxLength: 200
                          line2:
                            type: string
                            maxLength: 60
                          city:
                            type: string
                            minLength: 1
                            maxLength: 50
                          stateOrRegion:
                            type: string
                            maxLength: 50
                          postalCode:
                            type: string
                            minLength: 1
                            maxLength: 20
                          country:
                            type: string
                            minLength: 2
                            maxLength: 2
                        required:
                          - line1
                          - city
                          - postalCode
                          - country
                      phone:
                        type: string
                    required:
                      - name
                  fundingType:
                    type: string
                    enum:
                      - credit
                      - debit
                      - prepaid
                      - unknown
                  bin:
                    type: string
                required:
                  - source
                  - brand
                  - last4
                  - expiration
                  - billing
            required:
              - type
              - paymentMethodId
              - card
        nextCursor:
          type: string
          description: >-
            Cursor to fetch the next page. Absent when there are no more
            results.
        previousCursor:
          type: string
          description: Cursor to fetch the previous page. Absent on the first page.
      example:
        data:
          - type: card
            paymentMethodId: pm_8d6a4b1f-9c8a-4cba-b2c1-3a5b8c0d6f12
            default: true
            display:
              imageUrl: https://example.com/card-art.png
            card:
              source:
                type: basis-theory-token
                id: 01GZ1S0F2K3M4N5P6Q7R8S9T0V
              brand: visa
              last4: '4242'
              expiration:
                month: '12'
                year: '2030'
              billing:
                name: Jane Doe
              fundingType: credit
              bin: '424242'
        nextCursor: >-
          eyJkaXJlY3Rpb24iOiJmb3J3YXJkIiwic29ydE9yZGVyIjoiZGVzYyIsInZlcnNpb24iOjEsImRhdGEiOnsiaWQiOiJwbV84ZDZhNGIxZi05YzhhLTRjYmEtYjJjMS0zYTViOGMwZDZmMTIifX0

````