Stripe: Retrieve a card — customers get Customers Customer Cards Id
Stripe customers.getCustomersCustomerCardsId: arguments, response, policy and SDK examples.
← Customers operations · Get started
Operation stripe.getcustomerscustomercardsid
Provider route: GET /v1/customers/{customer}/cards/{id}. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”Install @alter-ai/sdk @alter-ai/stripe with npm, or alter-sdk-stripe with pip. Supply your connected customer’s grant ID and the arguments described below.
import { App } from "@alter-ai/sdk";import { StripeIntegration } from "@alter-ai/stripe";
async function execute(input: Parameters<StripeIntegration["customers"]["getCustomersCustomerCardsId"]>[0]) { const app = new App({ apiKey: process.env.ALTER_API_KEY! }); try { const provider = new StripeIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! }); const call = await provider.customers.getCustomersCustomerCardsId(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom alter_sdk_stripe import StripeIntegration
async def execute(arguments): async with App(api_key=os.environ["ALTER_API_KEY"]) as app: provider = StripeIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]}) call = await provider.customers.get_customers_customer_cards_id(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
path | object | Required within parent | Additional keys: not allowed |
path.customer | string | Required within parent | Maximum length: 5000 |
path.id | string | Required within parent | Maximum length: 5000 |
query | object | Optional | Additional keys: not allowed |
query.expand | array | Optional | |
query.expand[] | string | Each item | Maximum length: 5000 |
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | Model | Root | Expand Retrieve a card — customers get Customers Customer Cards Id — response body |
Referenced models: Retrieve a card — customers get Customers Customer Cards Id — response body
Schemas
Section titled “Schemas”708 more schemas are linked from the tables above, on the schema pages.
Retrieve a card — customers get Customers Customer Cards Id — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | You can store multiple cards on a customer in order to charge the customer later. You can also store multiple debit cards on a recipient in order to transfer to those cards later. Related guide: [Card payments with Sources](https://docs.stripe.com/sources/cards) |
account | JSON | Optional | |
account (anyOf 1) | JSON | Alternative | |
account (anyOf 1) (anyOf 1) | string | Alternative | Maximum length: 5000 |
account (anyOf 1) (anyOf 2) | Model | Alternative | Expand Create an account — response body |
account (anyOf 2) | null | Alternative | |
address_city | JSON | Optional | |
address_city (anyOf 1) | string | Alternative | City/District/Suburb/Town/Village. Maximum length: 5000 |
address_city (anyOf 2) | null | Alternative | |
address_country | JSON | Optional | |
address_country (anyOf 1) | string | Alternative | Billing address country, if provided when creating card. Maximum length: 5000 |
address_country (anyOf 2) | null | Alternative | |
address_line1 | JSON | Optional | |
address_line1 (anyOf 1) | string | Alternative | Address line 1 (Street address/PO Box/Company name). Maximum length: 5000 |
address_line1 (anyOf 2) | null | Alternative | |
address_line1_check | JSON | Optional | |
address_line1_check (anyOf 1) | string | Alternative | If `address_line1` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. Maximum length: 5000 |
address_line1_check (anyOf 2) | null | Alternative | |
address_line2 | JSON | Optional | |
address_line2 (anyOf 1) | string | Alternative | Address line 2 (Apartment/Suite/Unit/Building). Maximum length: 5000 |
address_line2 (anyOf 2) | null | Alternative | |
address_state | JSON | Optional | |
address_state (anyOf 1) | string | Alternative | State/County/Province/Region. Maximum length: 5000 |
address_state (anyOf 2) | null | Alternative | |
address_zip | JSON | Optional | |
address_zip (anyOf 1) | string | Alternative | ZIP or postal code. Maximum length: 5000 |
address_zip (anyOf 2) | null | Alternative | |
address_zip_check | JSON | Optional | |
address_zip_check (anyOf 1) | string | Alternative | If `address_zip` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. Maximum length: 5000 |
address_zip_check (anyOf 2) | null | Alternative | |
allow_redisplay | JSON | Optional | |
allow_redisplay (anyOf 1) | string | Alternative | This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to “unspecified”. Known values: always, limited, unspecified |
allow_redisplay (anyOf 2) | null | Alternative | |
available_payout_methods | JSON | Optional | |
available_payout_methods (anyOf 1) | array | Alternative | A set of available payout methods for this card. Only values from this set should be passed as the `method` when creating a payout. |
available_payout_methods (anyOf 1)[] | string | Each item | Known values: instant, standard |
available_payout_methods (anyOf 2) | null | Alternative | |
brand | string | Required within parent | Card brand. Can be `American Express`, `Cartes Bancaires`, `Diners Club`, `Discover`, `Eftpos Australia`, `Girocard`, `JCB`, `MasterCard`, `UnionPay`, `Visa`, or `Unknown`. Maximum length: 5000 |
country | JSON | Optional | |
country (anyOf 1) | string | Alternative | Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. Maximum length: 5000 |
country (anyOf 2) | null | Alternative | |
currency | JSON | Optional | |
currency (anyOf 1) | string | Alternative | Three-letter [ISO code for currency](https://www.iso.org/iso-4217-currency-codes.html) in lowercase. Must be a [supported currency](https://docs.stripe.com/currencies). Only applicable on accounts (not customers or recipients). The card can be used as a transfer destination for funds in this currency. This property is only available when returned as an [External Account](/api/external_account_cards/object) where [controller.is_controller](/api/accounts/object#account_object-controller-is_controller) is `true`. Format: currency |
currency (anyOf 2) | null | Alternative | |
customer | JSON | Optional | |
customer (anyOf 1) | JSON | Alternative | The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead. |
customer (anyOf 1) (anyOf 1) | string | Alternative | Maximum length: 5000 |
customer (anyOf 1) (anyOf 2) | Model | Alternative | Expand Create a customer — response body |
customer (anyOf 1) (anyOf 3) | Model | Alternative | Expand Delete a customer — response body |
customer (anyOf 2) | null | Alternative | |
cvc_check | JSON | Optional | |
cvc_check (anyOf 1) | string | Alternative | If a CVC was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. A result of unchecked indicates that CVC was provided but hasn't been checked yet. Checks are typically performed when attaching a card to a Customer object, or when creating a charge. For more details, see [Check if a card is valid without a charge](https://support.stripe.com/questions/check-if-a-card-is-valid-without-a-charge). Maximum length: 5000 |
cvc_check (anyOf 2) | null | Alternative | |
default_for_currency | JSON | Optional | |
default_for_currency (anyOf 1) | boolean | Alternative | Whether this card is the default external account for its currency. This property is only available for accounts where [controller.requirement_collection](/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. |
default_for_currency (anyOf 2) | null | Alternative | |
dynamic_last4 | JSON | Optional | |
dynamic_last4 (anyOf 1) | string | Alternative | (For tokenized numbers only.) The last four digits of the device account number. Maximum length: 5000 |
dynamic_last4 (anyOf 2) | null | Alternative | |
exp_month | JSON | Required within parent | |
exp_month (anyOf 1) | integer | Alternative | Two-digit number representing the card's expiration month. |
exp_month (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
exp_year | JSON | Required within parent | |
exp_year (anyOf 1) | integer | Alternative | Four-digit number representing the card's expiration year. |
exp_year (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
fingerprint | JSON | Optional | |
fingerprint (anyOf 1) | string | Alternative | Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* Maximum length: 5000 |
fingerprint (anyOf 2) | null | Alternative | |
funding | string | Required within parent | Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. Maximum length: 5000 |
id | string | Required within parent | Unique identifier for the object. Maximum length: 5000 |
last4 | string | Required within parent | The last four digits of the card. Maximum length: 5000 |
metadata | JSON | Optional | |
metadata (anyOf 1) | object | Alternative | Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Additional keys: see wildcard field |
metadata (anyOf 1).* | string | Additional keys | Maximum length: 500 |
metadata (anyOf 2) | null | Alternative | |
name | JSON | Optional | |
name (anyOf 1) | string | Alternative | Cardholder name. Maximum length: 5000 |
name (anyOf 2) | null | Alternative | |
networks | Model | Optional | Expand Retrieve a card — customers get Customers Customer Cards Id — response body — networks |
object | string | Required within parent | String representing the object's type. Objects of the same type share the same value. Known values: card |
regulated_status | JSON | Optional | |
regulated_status (anyOf 1) | string | Alternative | Status of a card based on the card issuer. Known values: regulated, unregulated |
regulated_status (anyOf 2) | null | Alternative | |
status | JSON | Optional | |
status (anyOf 1) | string | Alternative | For external accounts that are cards, possible values are `new` and `errored`. If a payout fails, the status is set to `errored` and [scheduled payouts](https://stripe.com/docs/payouts#payout-schedule) are stopped until account details are updated. Maximum length: 5000 |
status (anyOf 2) | null | Alternative | |
tokenization_method | JSON | Optional | |
tokenization_method (anyOf 1) | string | Alternative | If the card number is tokenized, this is the method that was used. Can be `android_pay` (includes Google Pay), `apple_pay`, `masterpass`, `visa_checkout`, or null. Maximum length: 5000 |
tokenization_method (anyOf 2) | null | Alternative |
Referenced models: Create an account — response body, Create a customer — response body, Delete a customer — response body, Retrieve a card — customers get Customers Customer Cards Id — response body — networks
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: stripe.getcustomerscustomercardsid. Catalog operation: GetCustomersCustomerCardsId. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.
Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.
Pinned headers: {"Stripe-Version": "2026-09-30.endive"}