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

# List saved payment methods for a customer

> Returns the customer's saved, active payment methods, newest first, with redacted details only: card brand, last four digits and expiry, or the last four digits of a bank account. `is_default` marks the payment method that auto-pay charges when a subscription has no payment method of its own. Payment methods saved through a checkout session with `checkout_intent: vault` appear here once the customer completes the session. The `id` path parameter accepts the Alguna account ID, a customer alias, or a connected-account external ID (such as a Stripe customer ID).



## OpenAPI

````yaml /api-reference/v2/specs/2026-04-01.json get /customers/{id}/payment-methods
openapi: 3.1.0
info:
  title: Alguna Public API
  version: '2026-04-01'
servers:
  - url: https://api.alguna.io
security:
  - bearerAuth: []
tags:
  - name: Billing Events and Metrics
  - name: Checkout Sessions
  - name: Credit Notes
  - name: Credits
  - name: Customer Portal Sessions
  - name: Customers
  - name: Insights
  - name: Integrations
  - name: Invoices
  - name: Merchants
  - name: Payments
  - name: Plans
  - name: Product Bundles
  - name: Products
  - name: Quotes
  - name: Refunds
  - name: Revenue Schedules
  - name: Subscription Changes
  - name: Subscription Versions
  - name: Subscriptions
  - name: Tags
  - name: Tax
  - name: Wallet Grants
  - name: Wallets
paths:
  /customers/{id}/payment-methods:
    get:
      tags:
        - Customers
      summary: List saved payment methods for a customer
      description: >-
        Returns the customer's saved, active payment methods, newest first, with
        redacted details only: card brand, last four digits and expiry, or the
        last four digits of a bank account. `is_default` marks the payment
        method that auto-pay charges when a subscription has no payment method
        of its own. Payment methods saved through a checkout session with
        `checkout_intent: vault` appear here once the customer completes the
        session. The `id` path parameter accepts the Alguna account ID, a
        customer alias, or a connected-account external ID (such as a Stripe
        customer ID).
      operationId: list-customer-payment-methods
      parameters:
        - in: header
          name: Alguna-Version
          required: true
          schema:
            enum:
              - '2026-04-01'
            type: string
        - in: path
          name: id
          required: true
          schema:
            description: Unique identifier for the customer
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentMethodListResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
components:
  schemas:
    PaymentMethodListResponse:
      properties:
        data:
          description: List of payment methods
          items:
            $ref: '#/components/schemas/PaymentMethodResponse'
          type: array
      required:
        - data
      type: object
    ErrorResponse:
      properties:
        detail:
          type: string
        status:
          format: int64
          type: integer
      required:
        - status
        - detail
      type: object
    PaymentMethodResponse:
      properties:
        created_at:
          description: Timestamp when the payment method was saved
          example: '2026-04-01T10:00:00Z'
          format: date-time
          type: string
        customer_id:
          description: Customer the payment method belongs to
          example: cust_01H1VECT
          type: string
        details:
          allOf:
            - $ref: '#/components/schemas/PaymentMethodDetails'
          description: >-
            Redacted details of the payment method. Exactly one key is set, and
            it matches type.
        id:
          description: Unique identifier for the payment method
          example: pm_01H1VECT
          type: string
        is_default:
          description: >-
            Whether this is the customer's default payment method. Auto-pay
            charges the default unless the subscription has its own payment
            method.
          type: boolean
        provider:
          description: Payment provider that stores the payment method
          example: stripe
          type: string
        type:
          description: Kind of payment method. Selects which key of details is set.
          example: payment_card
          type: string
      required:
        - created_at
        - customer_id
        - details
        - id
        - is_default
        - provider
        - type
      type: object
    PaymentMethodDetails:
      properties:
        bank_account:
          allOf:
            - $ref: '#/components/schemas/PaymentMethodBankAccount'
          description: Set when type is bank_transfer
          nullable: true
        card:
          allOf:
            - $ref: '#/components/schemas/PaymentMethodCard'
          description: Set when type is payment_card
          nullable: true
      type: object
    PaymentMethodBankAccount:
      properties:
        account_holder_name:
          description: Name of the account holder
          example: Acme Inc.
          type: string
        country:
          description: ISO 3166-1 alpha-2 country of the bank account
          example: US
          nullable: true
          type: string
        last4:
          description: Last four digits of the account number
          example: '6789'
          type: string
      required:
        - account_holder_name
        - last4
      type: object
    PaymentMethodCard:
      properties:
        brand:
          description: Card network
          example: visa
          type: string
        exp_month:
          description: Expiry month, 1 to 12
          example: 12
          format: int64
          type: integer
        exp_year:
          description: Four-digit expiry year
          example: 2030
          format: int64
          type: integer
        last4:
          description: Last four digits of the card number
          example: '4242'
          type: string
      required:
        - brand
        - exp_month
        - exp_year
        - last4
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: API Key
      description: API key authentication. Pass your API key as a Bearer token.
      scheme: bearer
      type: http

````