Sample - Stripe API
POST/v1/issuing/cards/{card}

Update an Issuing card

Updates an Issuing card by changing only the fields included in the request. Use status to activate, deactivate, or cancel the card, and provide cancellation_reason when canceling it because it was lost or stolen. You can also update the PIN, shipping information, personalization design, metadata, and spending controls.

  • RetriesRetries up to 2×, 500ms backoff, 30s timeout.
  • IdempotentThe SDK sends Idempotency-Key, so a retried request is only applied once.

1 parameter · 8 body fields
cardstringrequired
The unique identifier of the Issuing card to update. Maximum 5,000 characters.

Optional partial card update fields. Omitted fields remain unchanged.

cancellation_reasonstringoptional
Reason why the `status` of this card is `canceled`.
Allowed:loststolen
expandarray<string>optional
Specifies which fields in the response should be expanded.
metadataobjectoptional
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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
personalization_designstringoptional
The identifier of the personalization design to apply to the card. Maximum 5,000 characters.
pinobjectoptional
The desired new PIN for this card.
shippingobjectoptional
Updated shipping information for the card.
spending_controlsobjectoptional
Rules that control spending for this card. Refer to our [documentation](https://docs.stripe.com/issuing/controls/spending-controls) for more details.
statusstringoptional
Dictates whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to `inactive`. If this card is being canceled because it was lost or stolen, this information should be provided as `cancellation_reason`.
Allowed:activecanceledinactive

2 status codes
200Returns the updated Issuing card object, including its cardholder, status, currency, expiration details, metadata, and spending controls.
brandstringrequired
The brand of the card.
cancellation_reasonstringoptional
The reason why the card was canceled.
Allowed:design_rejectedfulfillment_errorloststolen
cardholderobjectrequired
An Issuing `Cardholder` object represents an individual or business entity who is [issued](https://docs.stripe.com/issuing) cards. Related guide: [How to create a cardholder](https://docs.stripe.com/issuing/cards/virtual/issue-cards#create-cardholder)
createdintegerrequired
Time at which the object was created. Measured in seconds since the Unix epoch.
currencystringrequired
Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Supported currencies are `usd` in the US, `eur` in the EU, and `gbp` in the UK.
cvcstringoptional
The card's CVC. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the `expand` parameter](https://docs.stripe.com/api/expanding_objects). Additionally, it's only available via the ["Retrieve a card" endpoint](https://docs.stripe.com/api/issuing/cards/retrieve), not via "List all cards" or any other endpoint.
exp_monthintegerrequired
The expiration month of the card.
exp_yearintegerrequired
The expiration year of the card.
financial_accountstringoptional
The financial account this card is attached to.
idstringrequired
Unique identifier for the object.
last4stringrequired
The last 4 digits of the card number.
latest_fraud_warningobjectoptional
Stripe’s assessment of whether this card’s details have been compromised. If this property isn't null, cancel and reissue the card to prevent fraudulent activity risk.
lifecycle_controlsobjectoptional
Rules that control the lifecycle of this card, such as automatic cancellation. Refer to our [documentation](/issuing/controls/lifecycle-controls) for more details.
livemodebooleanrequired
If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
metadataobjectrequired
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.
numberstringoptional
The full unredacted card number. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the `expand` parameter](https://docs.stripe.com/api/expanding_objects). Additionally, it's only available via the ["Retrieve a card" endpoint](https://docs.stripe.com/api/issuing/cards/retrieve), not via "List all cards" or any other endpoint.
objectstringrequired
String representing the object's type. Objects of the same type share the same value.
Allowed:issuing.card
personalization_designstringoptional
The personalization design object belonging to this card.
replaced_bystringoptional
The latest card that replaces this card, if any.
replacement_forstringoptional
The card this card replaces, if any.
replacement_reasonstringoptional
The reason why the previous card needed to be replaced.
Allowed:damagedexpiredfulfillment_errorloststolen
second_linestringoptional
Text separate from cardholder name, printed on the card.
shippingobjectoptional
Where and how the card will be shipped.
spending_controlsobjectrequired
statusstringrequired
Whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to `inactive`.
Allowed:activecanceledinactive
typestringrequired
The type of the card.
Allowed:physicalvirtual
walletsobjectoptional
Information relating to digital wallets (like Apple Pay and Google Pay).
defaultError response.
errorobjectrequired

Error handling

card must identify the card to update and must not exceed 5,000 characters. status must be active, canceled, or inactive, while cancellation_reason must be lost or stolen when supplied. Nested shipping data requires address and name, and the address requires city, country, line1, and postal_code.