# Create a card

Creates an Issuing `Card` object.

## Request

```curl
curl https://api.stripe.com/v1/issuing/cards \
  -u "<<YOUR_SECRET_KEY>>" \
  -d cardholder={{CARDHOLDER_ID}} \
  -d currency=usd \
  -d type=virtual
```

### Response

```json
{
  "id": "ic_1MvSieLkdIwHu7ixn6uuO0Xu",
  "object": "issuing.card",
  "brand": "Visa",
  "cancellation_reason": null,
  "cardholder": {
    "id": "ich_1MsKAB2eZvKYlo2C3eZ2BdvK",
    "object": "issuing.cardholder",
    "billing": {
      "address": {
        "city": "Anytown",
        "country": "US",
        "line1": "123 Main Street",
        "line2": null,
        "postal_code": "12345",
        "state": "CA"
      }
    },
    "company": null,
    "created": 1680415995,
    "email": null,
    "individual": null,
    "livemode": false,
    "metadata": {},
    "name": "John Doe",
    "phone_number": null,
    "requirements": {
      "disabled_reason": "requirements.past_due",
      "past_due": [
        "individual.card_issuing.user_terms_acceptance.ip",
        "individual.card_issuing.user_terms_acceptance.date",
        "individual.first_name",
        "individual.last_name"
      ]
    },
    "spending_controls": {
      "allowed_categories": [],
      "blocked_categories": [],
      "spending_limits": [],
      "spending_limits_currency": null
    },
    "status": "active",
    "type": "individual"
  },
  "created": 1681163868,
  "currency": "usd",
  "exp_month": 8,
  "exp_year": 2024,
  "last4": "4242",
  "livemode": false,
  "metadata": {},
  "replaced_by": null,
  "replacement_for": null,
  "replacement_reason": null,
  "shipping": null,
  "spending_controls": {
    "allowed_categories": null,
    "blocked_categories": null,
    "spending_limits": [],
    "spending_limits_currency": null
  },
  "status": "active",
  "type": "virtual",
  "wallets": {
    "apple_pay": {
      "eligible": false,
      "ineligible_reason": "missing_cardholder_contact"
    },
    "google_pay": {
      "eligible": false,
      "ineligible_reason": "missing_cardholder_contact"
    },
    "primary_account_identifier": null
  }
}
```

## Returns

Returns an Issuing `Card` object if creation succeeds.

## Parameters

- `currency` (string, required)
  The currency for the card.

- `type` (enum, required)
  The type of card to issue. Possible values are `physical` or `virtual`.
Possible enum values:
  - `physical`
    A physical card will be printed and shipped. It can be used at physical terminals.

  - `virtual`
    No physical card will be printed. The card can be used online and can be [added to digital wallets](https://docs.stripe.com/issuing/cards/digital-wallets.md).

- `cardholder` (string, required)
  The [Cardholder](https://docs.stripe.com/api.md#issuing_cardholder_object) object with which the card will be associated.

- `exp_month` (integer, optional)
  The desired expiration month (1-12) for this card if [specifying a custom expiration date](https://docs.stripe.com/issuing/cards/virtual/issue-cards.md?testing-method=with-code#exp-dates).

- `exp_year` (integer, optional)
  The desired 4-digit expiration year for this card if [specifying a custom expiration date](https://docs.stripe.com/issuing/cards/virtual/issue-cards.md?testing-method=with-code#exp-dates).

- [`lifecycle_controls`](https://docs.stripe.com/api/issuing/cards/create.md?query=lifecycle_controls) (object, optional)
  Rules that control the lifecycle of this card, such as automatic cancellation. Refer to our [documentation](https://docs.stripe.com/issuing/controls/lifecycle-controls.md) for more details.

- `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`.

- `personalization_design` (string, optional)
  The personalization design object belonging to this card.

- [`pin`](https://docs.stripe.com/api/issuing/cards/create.md?query=pin) (object, optional)
  The desired PIN for this card.

- `replacement_for` (string, optional)
  The card this is meant to be a replacement for (if any).

- `replacement_reason` (enum, optional)
  If `replacement_for` is specified, this should indicate why that card is being replaced.
Possible enum values:
  - `damaged`
    The physical card has been damaged and cannot be used at terminals. This reason is only valid for cards of type `physical`.

  - `expired`
    The expiration date has passed or is imminent.

  - `lost`
    The card was lost. This status is only valid if the card it replaces is marked as lost.

  - `stolen`
    The card was stolen. This status is only valid if the card it replaces is marked as stolen.

- `second_line` (string, optional)
  The second line to print on the card. Max length: 24 characters.

- [`shipping`](https://docs.stripe.com/api/issuing/cards/create.md?query=shipping) (object, optional)
  The address where the card will be shipped.

- [`spending_controls`](https://docs.stripe.com/api/issuing/cards/create.md?query=spending_controls) (object, optional)
  Rules that control spending for this card. Refer to our [documentation](https://docs.stripe.com/issuing/controls/spending-controls.md) for more details.

- `status` (enum, optional)
  Whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to `inactive`.
Possible enum values:
  - `active`
    The card can approve authorizations. If the card is linked to a cardholder with past-due requirements, you may be unable to change the card’s status to ‘active’.

  - `inactive`
    The card will decline authorizations with the `card_inactive` reason.
