---
title: "Issue Card with Cardholder (Instant)"
method: POST
path: "/cards/instant"
tags: ["Cards"]
---

# Issue Card with Cardholder (Instant)

`POST /cards/instant`

## Request

- Base URL: `https://partner-api.getpliant.com/api`
- URL: `https://partner-api.getpliant.com/api/cards/instant`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/getpliant/apis/pliant-customer-api/docs/cards/instant/post.ts> (a function with typed inputs; its response is checked against the schema)

This endpoint offers similar card issuing functionality as [the main card issuing and cardholder creation endpoint](./issue-card-with-cardholder), but specifically allows for a _synchronous_ and _instant_ card issuing and cardholder creation, 
whereas the main card issuing flow works asynchronously and requires the consumption of a callback to confirm the card is actually active. 
This endpoint issues cards instantly in a synchronous fashion. Meaning the card is active and usable when this endpoint returns a `200 Ok` response. 
The use case being here a fully automated card issuing flow, followed by an immediate card usage on API level for normally PCI-DSS certified companies. 
Please note, that the [sensitive card data](./card-pan-and-cvv-pci-vault) still needs to be fetched separately after issuing a new card (if PCI-DSS compliant).

**This endpoint should only be used if aligned with Pliant upfront. In 90% of cases, you want to use the normal card issuing endpoint instead, as linked above.**

## Request body

- 0 (unresolved $ref)

## Response `200`

Ok. The card can be directly used now.

- object
  - `cardId` string, uuid: The Pliant card id (UUIDv4) of the card.
  - `type` 'VIRTUAL' | 'SINGLE_USE' | 'PHYSICAL' | 'BLACK' | 'TRAVEL', nullable: Deprecated, please use `cardConfig` instead. `VIRTUAL` - Virtual credit card `SINGLE_USE` - One-time virtual credit card (only one authorization allowed per card) `PHYSICAL` - Physical credit card `BLACK` - Physical black premium credit card `TRAVEL` - Virtual cards used specifically in travel industry related use cases Either `type` or `cardConfig` has to be provided. Please prefer `cardConfig`.
  - `cardConfig` string: The Pliant card configuration of this card. This describes all feature of this card in one single configuration, e.g. the type of the card and also the design of the card etc. It replaces the deprecated card `type`. Please refer to the [guide section](/docs/card-entity) to learn more about possible values. Either `type` or `cardConfig` has to be provided. Please prefer `cardConfig`.
  - `cardDesignId` string, uuid, nullable: The unique identifier of the card design used for this card. Present only for virtual cards.
  - `cardholderId` string, uuid: The ID of the [cardholder](/docs/cardholder-entity) this card is issued for.
  - `organizationId` string, uuid: The ID of the organization this card is issued for.
  - `cardAccountId` string, uuid: The ID of the [card account](/docs/card-account) this card is issued for.
  - `transactionLimit` object
    - `value` number: The value of the monetary amount, converted to minor units of the currency. For instance 1.00 EUR is 100 cents, thus the value here is `100`. See our [guides](/docs/monetary-values) for more details about how to handle monetary amounts.
    - `currency` string: The currency of the monetary amount in ISO 4217 format, for example `EUR` for Euro or `USD` for US Dollar.
  - `monthlyLimit` object: Use `limit` instead
    - `value` number: The value of the monetary amount, converted to minor units of the currency. For instance 1.00 EUR is 100 cents, thus the value here is `100`. See our [guides](/docs/monetary-values) for more details about how to handle monetary amounts.
    - `currency` string: The currency of the monetary amount in ISO 4217 format, for example `EUR` for Euro or `USD` for US Dollar.
  - `limit` object
    - `value` number: The value of the monetary amount, converted to minor units of the currency. For instance 1.00 EUR is 100 cents, thus the value here is `100`. See our [guides](/docs/monetary-values) for more details about how to handle monetary amounts.
    - `currency` string: The currency of the monetary amount in ISO 4217 format, for example `EUR` for Euro or `USD` for US Dollar.
  - `limitRenewFrequency` 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'QUARTERLY' | 'ANNUAL' | 'TOTAL': * `DAILY` - The card limit is renewed every day * `WEEKLY` - The card limit is renewed every week * `MONTHLY` - The card limit is renewed every calendar month * `QUARTERLY` - The card limit is renewed every calendar quarter * `ANNUAL` - The card limit is renewed every year * `TOTAL` - The card limit is never going to be renewed. After the limit is spent the card cannot be used anymore.
  - `expiryDate` string, date-time
  - `label` string, nullable: Available only for virtual cards with a `cardConfig` containing `VIRTUAL` or `TRAVEL`. The maximum length is 40 characters.
  - `purpose` string, nullable: Available only for cards with type `SINGLE_USE`
  - `customFirstName` string, nullable: Optional first name on `TRAVEL` cards which is used on the card, instead of the regular [cardholder](/docs/cardholder-entity) name. If empty, the regular [cardholder](/docs/cardholder-entity) name is used.
  - `customLastName` string, nullable: Optional last name on `TRAVEL` cards which is used on the card, instead of the regular [cardholder](/docs/cardholder-entity) name. If empty, the regular [cardholder](/docs/cardholder-entity) name is used.
  - `cardControls` 0 (unresolved $ref)
  - `validFrom` string, date, nullable: Optional field to describe a fixed date range in which the card is usable for purchases. Outside of this date range, the card cannot be used for any purchases, only for zero-amount card-checks, and is shown with `status` `PENDING`. If not provided, the card is active immediately. Date needs to be provided as `yyyy-mm-dd` and is treated inclusive, meaning the provided date is already a valid day to use the card. If used, the parallel usage of card controls regarding `dates` and/or `times` is not allowed and the `validityPeriod` will be set to 36 months automatically. The earliest possible date is the current date. The `validFrom` date needs to be before the `validTo` date. The fields `validFrom`, `validTo` and `validTimezone` need to be used together, if used at all.
  - `validTo` string, date, nullable: Optional field to describe a fixed date range in which the card is usable for purchases. After the specified date, the card is automatically terminated. If not provided, the card is active until the `validityPeriod` ends. Date needs to be provided as `yyyy-mm-dd` and is treated inclusive, meaning the card will be terminated one day after this date. If used, the parallel usage of card controls regarding `dates` and/or `times` is not allowed and the `validityPeriod` will be set to 36 months automatically. The latest possible date is the end date of the `validityPeriod`. The fields `validFrom`, `validTo` and `validTimezone` need to be used together, if used at all.
  - `validTimezone` string: Optional field to describe the timezone for the `validFrom` and `validTo` fields. This field is mandatory if `validFrom` and `validTo` fields are used. A list of valid timezones can be found in our [guide section](/docs/card-controls-1).
  - `maxTransactionCount` number: Optional field to describe the maximum number of transactions within the range of `1..999999999` that can be performed with this card. If not provided, the card can be used for an unlimited number of transactions until the card expires.
  - `clickToPayInfo` ClickToPayInfo (unresolved $ref)
  - `customFields` Items[]: The [custom fields](/docs/custom-fields-on-transactions) set on this card. These [custom fields](/docs/custom-fields-on-transactions) are used as default values for every transaction made with this card. If no [custom fields](/docs/custom-fields-on-transactions) are assigned to the card, we return an empty list. (unresolved $ref)
  - `maskedPan` string: The masked PAN of the card. This is the real credit card number (PAN) but with the middle digits replaced by `*`. E.g. `481063******6054`.
  - `teamId` string, uuid, nullable: The ID of the team the card is issued for.
  - `teamName` string, nullable: Name of the team the card is issued for.
  - `projectId` string, uuid, nullable: The ID of the project the card is issued for.
  - `projectName` string, nullable: Name of the project the card is issued for.
  - `copilots` object, nullable: Optional feature for `TRAVEL` cards. The copilot also has access to the card and its card details alongside with the cardholder of the card itself.
    - `cardholderIds` string[]: The IDs of the cardholders assigned as copilots to the card.
    - `teamIds` string[]: The IDs of the teams assigned as copilots to the card.

## Other responses

- `400` (unresolved $ref)
- `401` (unresolved $ref)
- `403` (unresolved $ref)
- `404` (unresolved $ref)
- `422` (unresolved $ref)
- `429` (unresolved $ref)
- `500` (unresolved $ref)

## Changes

- **2026-11-03** `a4fbf7d068b4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/getpliant/apis/pliant-customer-api/changes/cards/instant/post.md)

---

[API](https://skmtc.dev/getpliant/apis/pliant-customer-api.md) - [All operations](https://skmtc.dev/getpliant/apis/pliant-customer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getpliant/apis/pliant-customer-api/revisions/a4fbf7d068b4?raw)
