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

# Get Default Payment Method

> Retrieve the default payment method on file for an account. Returns `card: null` when no payment method has been saved yet — the top-up dialog uses this to decide whether to show a pre-charge confirmation (card present) or route to a checkout session to collect one (`card: null`). Cards are returned even when expired; callers should compare `exp_month` / `exp_year` against the current date and warn the customer, since an off-session charge against an expired card will decline.



## OpenAPI

````yaml api-reference/openapi/accounts.json GET /api/accounts/{id}/payment-method
openapi: 3.1.0
info:
  title: Recoup API - Accounts
  description: >-
    API documentation for the Recoup platform - an AI agent platform for the
    music industry
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.recoupable.dev
security: []
paths:
  /api/accounts/{id}/payment-method:
    get:
      description: >-
        Retrieve the default payment method on file for an account. Returns
        `card: null` when no payment method has been saved yet — the top-up
        dialog uses this to decide whether to show a pre-charge confirmation
        (card present) or route to a checkout session to collect one (`card:
        null`). Cards are returned even when expired; callers should compare
        `exp_month` / `exp_year` against the current date and warn the customer,
        since an off-session charge against an expired card will decline.
      parameters:
        - name: id
          in: path
          description: >-
            The unique identifier (UUID) of the account. Must be the
            authenticated account or another accessible via organization
            membership.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: >-
            Default payment method retrieved successfully (may be `null` if none
            on file).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountPaymentMethodResponse'
        '401':
          description: Unauthorized - invalid or missing authentication
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountPaymentMethodErrorResponse'
              example:
                error: Unauthorized
        '403':
          description: Forbidden - account not accessible to the authenticated account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountPaymentMethodErrorResponse'
        '404':
          description: Account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountPaymentMethodErrorResponse'
      security:
        - apiKeyAuth: []
        - bearerAuth: []
components:
  schemas:
    AccountPaymentMethodResponse:
      type: object
      required:
        - account_id
        - card
      properties:
        account_id:
          type: string
          format: uuid
          description: The unique identifier of the account this payment method belongs to.
          example: 550e8400-e29b-41d4-a716-446655440000
        card:
          oneOf:
            - $ref: '#/components/schemas/SavedCard'
            - type: 'null'
          description: >-
            Default card on file. `null` when the account has never saved a
            payment method — the top-up flow will route through a checkout
            session in that case.
    AccountPaymentMethodErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Human-readable error message.
          example: Unauthorized
    SavedCard:
      type: object
      required:
        - brand
        - last4
        - exp_month
        - exp_year
        - funding
      properties:
        brand:
          type: string
          description: >-
            Card brand. Common values: `visa`, `mastercard`, `amex`, `discover`,
            `diners`, `jcb`, `unionpay`, `unknown`.
          example: visa
        last4:
          type: string
          pattern: ^\d{4}$
          description: >-
            Last four digits of the card number. Safe to display in UI for
            identification.
          example: '4242'
        exp_month:
          type: integer
          minimum: 1
          maximum: 12
          description: >-
            Card expiration month (1-12). Compare against the current month to
            detect expired cards.
          example: 12
        exp_year:
          type: integer
          description: >-
            Card expiration year (full 4-digit year). Compare against the
            current year to detect expired cards.
          example: 2026
        funding:
          type: string
          description: >-
            Funding type. Common values: `credit`, `debit`, `prepaid`,
            `unknown`.
          example: credit
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Your Recoup API key. [Learn more](/quickstart#api-keys).
    bearerAuth:
      type: http
      scheme: bearer

````