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. Issuance
  • Issuance
    • Issue card
      POST
    • Get card issuance
      GET
    • Complete card issuance
      POST
    • Verify card issuance OTP
      POST
    • Convert virtual to physical
      POST
    • Verify card conversion OTP
      POST
  • Management
    • Get card
      GET
    • Change card status
      PATCH
    • Set or update card PIN
      POST
    • Verify card PIN OTP
      POST
    • Activate physical card
      POST
    • Verify activation OTP
      POST
    • Display sensitive data
      POST
    • Verify display sensitive data OTP
      POST
  1. Issuance

Convert virtual to physical

POST
https://api.staging.vrtx.sa/cards/convert-to-physical
Last modified:2025-12-03 10:51:05
Converts a virtual card to a physical card. This initiates the conversion process and sends an OTP
to the customer's registered mobile number. The response includes a session ID that must be used
to complete the conversion via the complete conversion endpoint.
Request:
card_id: UUID of the virtual card to convert
idempotency-key header: UUID to ensure idempotency of the request
city: Delivery city for the physical card
Response:
session_id: Session ID (cardIssuanceId) to use for completing the conversion
Error Responses:
400 INVALID_INPUT: Invalid request body or parameters
400 INVALID_CITY: Invalid city provided
404 CARD_NOT_FOUND: Card does not exist
409 CARD_TYPE_CONFLICT: Card is already a physical card
412 CARD_STATUS_NOT_ALLOWED: Card is not in ACTIVE status
412 INVALID_CARD_STATUS: Card status is invalid for this operation
503 SERVICE_UNAVAILABLE: Service temporarily unavailable

Request

Authorization
JWT Bearer
Add the parameter
Authorization
to Headers
Example:
Authorization: ********************
or
Header Params

Body Params application/jsonRequired

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

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/convert-to-physical' \
--header 'idempotency-key;' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "card_id": "66f6e46c-f6a1-4af8-a1bd-49666bc01304",
    "city": "string"
}'

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
Verify card issuance OTP
Next
Verify card conversion OTP
Built with