# Create a card

When you create a new debit card, you must specify a [connected account](https://docs.stripe.com/api/external_account_cards/create.md#accounts) to create it on. You can only specify connected accounts where [account.controller.requirement_collection](https://docs.stripe.com/api/accounts/object.md#account_object-controller-requirement_collection) is `application` (includes [Custom accounts](https://docs.stripe.com/connect/custom-accounts.md)).

If the account has no default destination card, then the new card will become the default. However, if the owner already has a default then it will not change. To change the default, you should set `default_for_currency` to `true`.

## Request

```curl
curl https://api.stripe.com/v1/accounts/{{ACCOUNT_ID}}/external_accounts \
  -u "<<YOUR_SECRET_KEY>>" \
  -d external_account=tok_visa_debit
```

### Response

```json
{
  "id": "card_1NAiaG2eZvKYlo2CDXvcMb6m",
  "object": "card",
  "account": "acct_1032D82eZvKYlo2C",
  "address_city": null,
  "address_country": null,
  "address_line1": null,
  "address_line1_check": null,
  "address_line2": null,
  "address_state": null,
  "address_zip": null,
  "address_zip_check": null,
  "brand": "Visa",
  "country": "US",
  "cvc_check": "pass",
  "dynamic_last4": null,
  "exp_month": 8,
  "exp_year": 2024,
  "fingerprint": "Xt5EWLLDS7FJjR1c",
  "funding": "credit",
  "last4": "4242",
  "metadata": {},
  "name": null,
  "redaction": null,
  "tokenization_method": null,
  "wallet": null
}
```

## Returns

Returns the card object

## Parameters

- [`external_account`](https://docs.stripe.com/api/external_account_cards/create.md?query=external_account) (object | string, required)
  A token, like the ones returned by [Stripe.js](https://docs.stripe.com/js.md) or a dictionary containing a user’s card details (with the options shown below). Stripe will automatically validate the card.

- `default_for_currency` (boolean, optional)
  When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency.

- `metadata` (map, optional)
  Set of [key-value pairs](https://docs.stripe.com/api/metadata.md) 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`.
