1. cards
Vrtx Docs
  • Welcome đź‘‹
  • Get Started
  • Auth
    • Token
      POST
  • Onboarding
    • Start onboarding
      POST
    • Verify onboarding OTP
      POST
    • Resend onboarding OTP
      POST
    • Get session status
      GET
    • Initiate Nafath
      POST
    • Cancels session
      POST
    • Complete customer info
      POST
  • Wallet
    • Change mobile number from profile settings
      • Change mobile number
      • Verify mobile number change OTP
      • Get mobile change status
    • Change mobile number from login screen
      • Change mobile number
      • Verify mobile number change OTP
      • Initiate Nafath
      • Get mobile number change status
  • Payouts
    • Create payout
      POST
    • Get payout status
      GET
    • Create bulk payout
      POST
    • Get bulk payout status
      GET
    • Get batch report
      GET
  • Cards
    • Issuance
      • Replace card
      • Verify replace card OTP
      • Issue card
      • Get card issuance
      • Complete card issuance
      • Verify card issuance OTP
      • Convert virtual to physical
      • Verify card conversion OTP
    • Management
      • Get card
      • Change card status
      • Set or update card PIN
      • Verify card PIN OTP
      • Activate physical card
      • Verify activation OTP
      • Display sensitive data
      • Verify display sensitive data OTP
  • Transactions
    • Business Accounts
      • Get business account balance
      • Get transaction details
      • List business transactions
    • Wallet Accounts
      • Get wallet balance
      • List wallet transactions
  • cards
  • cards
    • Initiate card replacement
      POST
    • Verify OTP and complete card replacement
      POST
Open-Loop-v2
Closed-loop V2Card Simulatoropen-loop-test
Open-Loop-v2
Closed-loop V2Card Simulatoropen-loop-test
  1. cards

Initiate card replacement

POST
https://api.staging.vrtx.sa/cards/replacement
Last modified:2025-12-03 10:51:05
Initiates card replacement for an active card. This cancels the old card and creates a new one
with a new PAN, token, and expiry date. The replacement inherits the original card's type
(virtual or physical).
Request:
card_id: UUID of the card to replace
city: Delivery city (required for physical cards)
replacement_reason: Optional reason for replacement (LOST, STOLEN, OTHER)
idempotency-key header: Required for request deduplication
Response:
session_id: Session ID to use for OTP verification
Flow:
1.
Call this endpoint to initiate replacement (sends OTP)
2.
Call /cards/replacement/verify-otp with the session_id and OTP to complete
Error Responses:
400 INVALID_INPUT: Invalid request body or parameters
400 INVALID_CITY: Invalid city provided (required for physical cards)
404 CARD_NOT_FOUND: Card does not exist
412 INVALID_CARD_STATUS: Card is not in ACTIVE status
503 SERVICE_UNAVAILABLE: Service temporarily unavailable
503 INVALID_CARD: Card replacement failed (Paymentology error)

Request

Header Params

Body Params application/jsonRequired

Examples

Responses

🟢200OK
application/json
Default Response
Body

đźź 400Bad Request
đźź 401Unauthorized
đźź 403Forbidden
đźź 404Not Found
đźź 405Method Not Allowed
đźź 409Conflict
đźź 410Gone
đźź 412Precondition Failed
đźź 422Unprocessable Entity
đźź 429Too Many Requests
đź”´500Internal Server Error
đź”´501Not Implemented
đź”´503Service Unavailable
đź”´504Gateway Timeout
đź”´505HTTP Version Not Supported
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.staging.vrtx.sa/cards/replacement' \
--header 'idempotency-key;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "card_id": "66f6e46c-f6a1-4af8-a1bd-49666bc01304",
    "city": "string",
    "replacement_reason": "LOST"
}'
Response Response Example
200 - Example 1
{
    "session_id": "1ffd059c-17ea-40a8-8aef-70fd0307db82"
}
Modified at 2025-12-03 10:51:05
Previous
List wallet transactions
Next
Verify OTP and complete card replacement
Built with