Payment card reissue

Payment Card Reissue

This endpoint reissues an existing payment card, generating a new card number, CVV, and expiration date while retaining the same account and user details. The original card is deactivated upon reissuance, ensuring that compromised credentials cannot be used for further transactions. The response returns the newly issued card details, including a masked card number, expiration date, and current status.

Endpoint

POST /api/paymentCards/v2/reissuePaymentCard

Authentication

Bearer token required. Obtain via:

POST https://api.banking.netevia.dev/api/auth/v2

Include in header: Authorization: Bearer {token}
Token lifetime: 10 minutes. Refresh via POST /api/auth/refresh.

When to use

Use this endpoint when a cardholder reports their card as lost, stolen, damaged, or potentially compromised by fraud. It is also appropriate when a card simply needs to be replaced outside of the normal expiry cycle. For physical cards, delivery details and an optional courier method must be provided so the replacement card can be shipped to the cardholder.

Request Body

Top-level fields (extends paymentCardRequest):

FieldTypeRequiredDescription
paymentCardIdstringYesUnique identifier of the card to reissue
reasonstring (enum)NoReason for reissuance. One of: NeedNewCard, LostOrStolen, Fraud, Damaged, Expired
subProfileIdinteger (int32)NoAuthorized user (subProfile) ID to associate with the reissued card (business customers only)
paymentCardNamestringNoDisplay name for the reissued card
orderPhysicalPaymentCardobjectNoRequired when reissuing a physical card. Contains delivery and courier details (see below)

orderPhysicalPaymentCard fields (used when reissuing a physical card):

FieldTypeRequiredDescription
deliveryDetailsobjectYesRecipient name, company, and shipping address
courierobjectNoShipping method selection
paymentCardIdstringNoCard ID when resending an already-ordered physical card

deliveryDetails fields:

FieldTypeRequiredDescription
nameobjectYesRecipient name (see below)
companyNamestringYesCompany name on the shipping label
addressobjectYesShipping address (see below)

name fields:

FieldTypeRequiredDescription
givenNamestringYesRecipient first name
familyNamestringYesRecipient last name

address fields:

FieldTypeRequiredDescription
streetAddressstringYesStreet number and name (must match pattern: number followed by street name)
extendedAddressstringNoApartment, suite, or unit number
postalCodestringYes5-digit US ZIP code
regionstringYes2-character state/region code (e.g., CA, TX)
localitystringYesCity name
countryCodeAlpha3stringYesISO 3166-1 alpha-3 country code (e.g., USA)

courier fields:

FieldTypeRequiredDescription
methodstring (enum)NoShipping method. One of: USPS_GROUND, USPS_PRIORITY, USPS_EXPRESS, UPS_GROUND, UPS_SECOND_DAY, UPS_NEXT_DAY

Virtual card reissue example:

{
  "paymentCardId": "pcd_abc123def456",
  "reason": "LostOrStolen",
  "paymentCardName": "Main Spending Card"
}

Physical card reissue example:

{
  "paymentCardId": "pcd_abc123def456",
  "reason": "Damaged",
  "paymentCardName": "Business Debit",
  "orderPhysicalPaymentCard": {
    "deliveryDetails": {
      "name": {
        "givenName": "Jane",
        "familyName": "Smith"
      },
      "companyName": "Acme Corp",
      "address": {
        "streetAddress": "123 Main St",
        "extendedAddress": "Suite 400",
        "postalCode": "30301",
        "region": "GA",
        "locality": "Atlanta",
        "countryCodeAlpha3": "USA"
      }
    },
    "courier": {
      "method": "UPS_NEXT_DAY"
    }
  }
}

Response

200 OK

FieldTypeDescription
paymentCardobjectDetails of the newly reissued card
paymentCard.idstringUnique identifier of the new card
paymentCard.last4stringLast 4 digits of the new card number
paymentCard.binstringBank Identification Number (first 6 digits)
paymentCard.statusstringCurrent card status (e.g., ACTIVE, PENDING_ACTIVATION)
paymentCard.formFactorstringCard type: PHYSICAL or VIRTUAL
paymentCard.networkstringPayment network (e.g., VISA, MASTERCARD)
paymentCard.expirationDatestring (date-time)Expiration date of the new card
paymentCard.subProfileIdintegerAssociated subProfile ID, if applicable
paymentCard.namestringDisplay name assigned to the card
mutationResultobjectOperation result metadata
mutationResult.errorsarrayList of error objects if the operation encountered issues
{
  "paymentCard": {
    "id": "pcd_xyz789ghi012",
    "last4": "4321",
    "bin": "411111",
    "status": "ACTIVE",
    "formFactor": "VIRTUAL",
    "network": "VISA",
    "expirationDate": "2029-06-30T23:59:59Z",
    "subProfileId": null,
    "name": "Main Spending Card"
  },
  "mutationResult": {
    "errors": []
  }
}

Error Codes

CodeWhen it happens
400Missing required fields (paymentCardId), invalid field format (e.g., postal code not 5 digits, region not 2 characters), or invalid enum value for reason or courier.method
401Token missing, expired, or invalid
403Insufficient permissions to reissue the specified card
404Card not found for the provided paymentCardId
500Internal server error

Common Mistakes

  • Omitting paymentCardId — this field is required and must be a non-empty string identifying the card to replace.
  • Providing orderPhysicalPaymentCard without all required nested fields (deliveryDetails.name, deliveryDetails.companyName, deliveryDetails.address) — all three are required when ordering a physical card.
  • Using a 2-letter country code in countryCodeAlpha3 — the field requires exactly 3 characters (e.g., USA, not US).
  • Using a state abbreviation longer or shorter than 2 characters in region — the field enforces a strict 2-character length.
  • Attempting to pass a subProfileId for a personal customer account — authorized users (subProfiles) are a business-customer-only feature.
  • Not refreshing the Bearer token before making the call — tokens expire after 10 minutes, and an expired token will result in a 401 error.

Related Endpoints

  • POST /api/paymentCards/v2/orderPaymentCard — Order a new payment card for a customer
  • POST /api/paymentCards/v2/activatePaymentCard — Activate a newly issued or reissued card
  • GET /api/paymentCards/v2/getPaymentCard — Retrieve current details of a payment card
  • POST /api/paymentCards/v2/updatePaymentCardStatus — Update the status of a payment card (e.g., suspend or cancel)

Example

curl -X POST https://api.banking.netevia.dev/api/paymentCards/v2/reissuePaymentCard \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "paymentCardId": "pcd_abc123def456",
    "reason": "LostOrStolen",
    "paymentCardName": "Main Spending Card"
  }'
Body Params
orderPhysicalPaymentCard
string
enum
Allowed:
int32 | null
string | null
string
required
length ≥ 1
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
string
enum
Defaults to application/json

Generated from available request content types

Allowed:
Response

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
text/plain
application/json
text/json