> For the complete documentation index, see [llms.txt](https://docs.nymcard.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nymcard.com/get-started/product-management/card-product.md).

# Card product

&#x20;The nCore platform uses the concept of card product that acts as a template to define characteristics of the cards associated to the card product.&#x20;

**Card product settings**

The card product offers different settings, these settings allow you to customize the card product as per your business needs.

* **Currency settings:** These settings allow you to define the currencies you want to support, the currency in which to settle, the order to use in sweeping the fund, and various controls at currency level.
* **Card settings:** These settings help to define attributes like BIN (Bank Identification Number), PAN length, PAN range, card initial status on its creation, and other controls at card level.
* **Account settings:** These settings allow you to link cards with the card product’s account and to configure number of cards per account.
* **PIN settings:**  nCore platform provides you the ability to customize your card PIN settings for attributes like PIN type, PIN length, and number of allowed retries.
* **Authorization settings:** It provides you to control you card usage on ATMs, in-store POS terminals, E-Commerce with/without 3DS, fallback transactions, and other transaction use cases.

{% hint style="info" %}
All these features are defined with the card product, it is mandatory to include a card product when creating a card.
{% endhint %}

### Create a card product

The card product is created in ‘Inactive’ status. When a card is issued the status of a card product becomes ‘Active’ automatically. You can create a card product as per your business need by sending a **POST** request to **/cardproducts** endpoint as given below.

<details>

<summary><a href="https://nymcard.com/docs/api#operation/Create%20card%20product">POST /cardproducts </a></summary>

**`{`**\
`    `**`"description": "Some description of the card product",`**\
`    `**`"currency_settings": [`**\
`    `**`{`**\
`        `**`"supported_currency": "USD",`**\
`        `**`"settlement_currency": "USD",`**\
`        `**`"priority": 1`**\
`    `**`}`**\
`    `**`],`**\
`    `**`"card_settings": {`**\
`        `**`"bin": "412345",`**\
`        `**`"pan_range": [`**\
`        `**`{`**

&#x20;           **`"start_range": 0,`**\
`            `**`"end_range": 9999999`**\
`        `**`}`**\
`        `**`]`**\
`    `**`}`**

**`}`**

</details>

### **Retrieve card products**

nCore offers two card product retrieval options.

***Retrieve existing card products***

You can retrieve all existing card products by sending a **GET** request to **/cardproducts** endpoint shown below.

> [**GET /cardproducts**](https://nymcard.com/docs/api#operation/listCardProducts)

***Retrieve a specific card product***

You can retrieve a specific card product by sending a **GET** request to **/cardproducts/{id}** endpoint, where id is the card product id.

> [**GET /cardproducts/{id}**](https://nymcard.com/docs/api#operation/listCardProducts)

### Update a card product

You can update a card product by sending a **PUT** request to **/cardproducts/{id}** endpoint as given below.

> [**PUT /cardproducts/{id}**](https://nymcard.com/docs/api#operation/updateCardProduct)

{% hint style="warning" %}
Once a card product is in ‘Active’ status, certain attributes are not allowed to be modified.&#x20;
{% endhint %}

Below you can find the parameters **which cannot be updated** for an ACTIVE/SUSPENDED card product:

<table><thead><tr><th width="281">Card settings</th><th width="156">PIN settings</th><th width="113">Currency settings</th><th width="104">Auth settings</th><th>Account settings</th></tr></thead><tbody><tr><td>BIN</td><td>'pin_retries' if tenant level setting 'allow_card_product_update_pin_retries' is set to 'false'</td><td>for base currency,priority=1</td><td>All</td><td>All</td></tr><tr><td>PAN length</td><td></td><td></td><td></td><td></td></tr><tr><td>PAN ranges (however, new ranges can be added)</td><td></td><td></td><td></td><td></td></tr><tr><td>soft_expiry_period</td><td></td><td></td><td></td><td></td></tr><tr><td>create_account_with_card</td><td></td><td></td><td></td><td></td></tr><tr><td>initial_status_of_physical_card: "INACTIVE", if 'create_account_with_card':false</td><td></td><td></td><td></td><td></td></tr><tr><td>initial_status_of_virtual_card: "INACTIVE", if 'create_account_with_card':false</td><td></td><td></td><td></td><td></td></tr></tbody></table>

### Card renewal

We introduced the following parameters in the response of [Card products](https://nymcard.com/docs/api#tag/Card-Products) APIs under 'card\_settings' parameter: **"allow\_card\_renewal", "renew\_before\_days", "new\_pan\_on\_renewal", "auto\_renewal\_process"**. They are used to renew an existing card so that if a card is about to be expired, a new card can be generated and provided to the cardholder for uninterrupted card services.

Impacted APIs:

* Create card product
* Update card product
* Get card product
* Get list of card product

This enhancement has impact on both existing and new card products.

Example:

```
 "card_settings": {
  ...
  "allow_card_renewal": true, // default = false
  "renew_before_days": 60, // default = 60
  "new_pan_on_renewal": false,  // default = false
  "auto_renewal_process": true // default = false
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.nymcard.com/get-started/product-management/card-product.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
