vrtx Docs
Core APIs
  • Start
  • Onboarding
  • Wallet
  • Payouts
  • Cards
  • Transactions
Closed loop APIsCard Simulator
SDK APIs
  • Coming Soon!
Core APIs
  • Start
  • Onboarding
  • Wallet
  • Payouts
  • Cards
  • Transactions
Closed loop APIsCard Simulator
SDK APIs
  • Coming Soon!
  1. cards
  • 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
      • 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
    • Initiate card replacement
      POST
    • Verify OTP and complete card replacement
      POST
  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

Example
{
    "card_id": "66f6e46c-f6a1-4af8-a1bd-49666bc01304",
    "city": "string",
    "replacement_reason": "LOST"
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
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"
}'

Responses

🟢200OK
application/json
Default Response
Body

Example
{
    "session_id": "1ffd059c-17ea-40a8-8aef-70fd0307db82"
}
🟠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
Modified at 2025-12-03 10:51:05
Previous
List wallet transactions
Next
Verify OTP and complete card replacement
Built with