Reissue Card
Endpoint
PUT/api/v1/merchant/cards/{cardId}/replace/
This endpoint allows you to generate a new PAN, CVV, and expiry date for a given card.
When a card is lost, damaged, or suspected of fraudulent use, this endpoint will generate new credentials while keeping the same cardId.
Types of Renewal
| Renewal Option |
Description |
Use Case |
IDENTICAL_TO_THE_CURRENT_CARD |
Same card number, same expiry, same CVV |
Damaged Card |
CALCULATE_NEW_EXPIRY_DATE |
Same card number, new expiry (3 years from now), new CVV |
Extend Expiry |
NEW_CARD_NUMBER_WITH_SAME_EXPIRY_DATE |
New card number, same expiry, new CVV |
Fraud |
NEW_CARD_NUMBER_WITH_NEW_EXPIRY_DATE |
New card number, new expiry (3 years from now), new CVV (Default if not specified) |
Fraud |
SAME_CARD_NUMBER_WITH_NEW_CUSTOM_EXPIRY |
Same card number, new custom expiry, new CVV |
Extend Expiry |
NEW_CARD_NUMBER_WITH_NEW_CUSTOM_EXPIRY |
New card number, new custom expiry, new CVV |
Fraud |
📌 Note:
- If IDENTICAL_TO_THE_CURRENT_CARD is selected, the original card remains active.
- For other renewal options, the original card becomes inactive.
Path Parameters
| Name |
Type |
Required |
Description |
cardId |
string |
✅ |
The unique identifier of the card that requires re-issuance. |
Request Body
{
"renewOption": "NEW_CARD_NUMBER_WITH_NEW_EXPIRY_DATE",
"expiryDate": "2027-12-31",
"shippingInformation": {
"shippingAddress": {
"line1": "123 Main St",
"line2": "Apt 4B",
"zone": "Downtown",
"city": "New York",
"postalCode": "10001",
"country": "US"
},
"recipientFirstName": "John",
"recipientLastName": "Doe",
"recipientPhoneNumber": "1234567890",
"recipientDialCode": 1,
"recipientEmail": "johndoe@example.com",
"cardDesign": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
Body Parameters
| Name |
Type |
Required |
Description |
renewOption |
string |
❌ |
Defaults to NEW_CARD_NUMBER_WITH_NEW_EXPIRY_DATE. Specifies how the card is renewed (see Types of Renewal above). |
expiryDate |
string |
✅ if renewOption requires a custom expiry |
Expiry date (YYYY-MM-DD). Must be at least 1 month from creation. |
shippingInformation |
object |
✅ if reissued card is Physical |
Shipping details for the new physical card. |
| Name |
Type |
Required |
Description |
shippingAddress |
object |
✅ |
Shipping address details. |
recipientFirstName |
string |
✅ |
Cardholder's first name. |
recipientLastName |
string |
✅ |
Cardholder's last name. |
recipientPhoneNumber |
string |
✅ |
Cardholder's phone number. |
recipientDialCode |
float |
✅ |
Country dial-in code (without +). |
recipientEmail |
string |
✅ |
Cardholder's email. |
cardDesign |
string |
✅ |
Card design ID (retrieved from GET /card-design/). |
Shipping Address Object
| Name |
Type |
Required |
Description |
line1 |
string |
✅ |
Address line 1 (≤ 50 characters). |
line2 |
string \| null |
❌ |
Address line 2 (optional). |
zone |
string \| null |
❌ |
State, province, or region. |
city |
string |
✅ |
City (≤ 20 characters). |
postalCode |
string |
✅ |
Postal code (≤ 10 characters). Allowed: 0-9, A-Z, a-z, spaces, hyphens (-). |
country |
string |
✅ |
Country code in ISO 3166-1 Alpha-2 format (2 characters). |
📌 Character Limitation:
- Allowed characters range from ASCII 33 to 122.
- The following characters are not allowed: ;:!?<>~\%^@{}|[]’
Example Request
PUT /api/v1/merchant/cards/{cardId}/replace/
Content-Type: application/json
{
"renewOption": "NEW_CARD_NUMBER_WITH_NEW_EXPIRY_DATE",
"expiryDate": "2027-12-31",
"shippingInformation": {
"shippingAddress": {
"line1": "123 Main St",
"line2": "Apt 4B",
"zone": "Downtown",
"city": "New York",
"postalCode": "10001",
"country": "US"
},
"recipientFirstName": "John",
"recipientLastName": "Doe",
"recipientPhoneNumber": "1234567890",
"recipientDialCode": 1,
"recipientEmail": "johndoe@example.com",
"cardDesign": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
Response
{
"message": "Card successfully reissued"
}
Response Codes
| Status Code |
Description |
200 OK |
Card successfully reissued. |
400 Bad Request |
Invalid request parameters or character restrictions violated. |
401 Unauthorized |
Authentication failed. |
404 Not Found |
Card not found. |
500 Internal Server Error |
Server error. |