---
title: "Create a vendor card"
method: POST
path: "/v3/spend/cards"
tags: ["cards"]
---

# Create a vendor card

`POST /v3/spend/cards`

Create a new vendor card.

See [Vendor cards](https://developer.bill.com/docs/virtual-cards) in the Guides section for more information, sample requests, and responses.

## Headers

- `apiToken` string, nullable — Access token for Spend & Expense API authentication

## Request body

- CreateCardRequestDto — Create a virtual charge card
  - `name` string, required — Card name
  - `userId` string, required — BILL-generated ID or UUID of the user linked with the card
  - `budgetId` string, required — BILL-generated ID or UUID of the budget linked with the card
  - `limit` number, nullable — Card spend limit for the current budget period
  - `recurringLimit` number, nullable — Card spend limit for all future budget periods
  - `expirationDate` string, date, nullable — User-generated expiration date. The value is in the `yyyy-MM-dd` format. BILL automatically closes the card account on this date. **Note**: Use the `validThru` value in the response as the expiration date in a card payment. Do not use the `expirationDate` value for this operation.
  - `shareBudgetFunds` boolean, nullable — Set as `true` to share all the budget funds with the card. This option enables the card user to spend from unallocated budget funds when the allocation is empty.

## Response `200`

Create a vendor card response

- CardResponseDto — Cards response.
  - `id` string — BILL-generated ID of the card
  - `uuid` string — BILL-generated UUID of the card
  - `name` string — Card name
  - `userId` string — BILL-generated ID of the user linked with the card
  - `userUuid` string — BILL-generated UUID of the user linked with the card
  - `budgetId` string — BILL-generated ID of the budget linked with the card
  - `budgetUuid` string — BILL-generated UUID of the budget linked with the card
  - `lastFour` string — Last four digits of the card number
  - `validThru` string — BILL-generated card expiration date. The value is in the `MM/YY` format. **Note**: Use the `validThru` value as the expiration date in a card payment. Do not use the `expirationDate` value for this operation.
  - `expirationDate` string, date — User-generated card expiration date. This value is in the `yyyy-MM-dd` format. BILL automatically closes the card account on this date. **Note**: Use the `validThru` value as the expiration date in a card payment. Do not use the `expirationDate` value for this operation.
  - `status` 'ACTIVATED' | 'NOT_ACTIVATED' | 'FROZEN' | 'DELETED' — Card status.
  - `deletedReason` 'CANCELLED' | 'LOST' | 'STOLEN' | 'MISPLACED' | 'FRAUD_CONFIRMED' — Delete card reason. This field is available in the response only when `status` is `DELETED`.
  - `type` 'PHYSICAL' | 'VIRTUAL_MEMBER' | 'VIRTUAL_VENDOR' | 'VIRTUAL' — Card type.
  - `shareBudgetFunds` boolean — Set as `true` to share all the budget funds with the card. This option enables the card user to spend from unallocated budget funds when the allocation is empty.
  - `recurring` boolean — Set as `true` to renew the card funds in the next budget period
  - `recurringLimit` number — Card spend limit for the all future budget periods
  - `currentPeriod` object — Current budget period information about the card
    - `limit` number — Card spend limit for the current budget period
    - `spent` number — Amount spent with the card for the current budget period
  - `createdTime` string, date-time — Created date and time
  - `updatedTime` string, date-time — Updated date and time

## Other responses

- `4XX` — List of errors.
- `5XX` — List of errors.

---

[API](https://skmtc.net/bill/apis/bill-v3-api.md) · [All operations](https://skmtc.net/bill/apis/bill-v3-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bill/bill-v3-api/versions/0483350c434e/schema)
