---
title: "List Consumer External Payment Cards"
method: GET
path: "/v2/consumers/{consumer_id}/payment-cards/external/"
tags: ["consumers"]
---

# List Consumer External Payment Cards

`GET /v2/consumers/{consumer_id}/payment-cards/external/`

List the external debit cards a consumer has registered through the card-registration component. Call this after the component reports success to confirm the card was saved and to read the `external_id` that the OCT and AFT endpoints require. Check `pushEnabled` before creating an OCT and `pullEnabled` before creating an AFT — a card may support one direction and not the other.

A card is saved once the card processor confirms the registration, so an empty result immediately after the component closes means the confirmation has not landed yet rather than that registration failed. Poll briefly before treating it as a failure.

Requires any one of `api:read`, `api:card-management:read`, or `api:consumer-profile:read`.

## Path parameters

- `consumer_id` string, uuid, required

## Query parameters

- `page` integer
- `page_size` integer

## Headers

- `Authorization` string, required

## Response `200`

- ConsumersListConsumerExternalPaymentCardsResponse200
  - `count` integer, required
  - `next` string, uri, nullable
  - `previous` string, uri, nullable
  - `results` ExternalPaymentCard[], required
    - `external_id` string, uuid, required — Pass this as `external_payment_card_id` when creating an OCT or AFT.
    - `card_token` string, required — Network token representing the card.
    - `last_four` string — Last four digits of the card number. Empty when unavailable.
    - `expiry_month` string
    - `expiry_year` string
    - `status` 'active' | 'canceled' | 'closed' | 'deactivated' | 'expired' | 'frozen' | 'in_default' | 'in_progress', required — Card status. Only `active` cards can be used for OCT or AFT.
    - `deactivated_at` string, date-time, nullable — When the card was deactivated, if applicable.
    - `rail` string — Payment rail the card is reachable on.
    - `pushEnabled` boolean, required — Whether the card accepts OCT (push) transactions.
    - `pullEnabled` boolean, required — Whether the card accepts AFT (pull) transactions.
    - `card_company` string — Card network or issuing brand.

## Other responses

- `422` — The consumer ID is malformed, unknown, or belongs to another partner

---

[API](https://skmtc.net/upwardli/apis/api-reference.md) · [All operations](https://skmtc.net/upwardli/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/upwardli/api-reference/revisions/8a237f1f704f/schema)
