1. Issuance
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
        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
      • 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
    • Verify OTP and complete card replacement
Open-Loop-v2
Closed-loop V2Card Simulatoropen-loop-test
Open-Loop-v2
Closed-loop V2Card Simulatoropen-loop-test
  1. Issuance

Verify card issuance OTP

POST
https://api.staging.vrtx.sa/cards/issuances/{card_issuance_id}/verify-otp
Last modified:2025-12-03 10:51:05
Verifies the OTP for a card issuance flow. On success, the system proceeds with card creation and PIN setting when applicable.
Error Responses:
400 INVALID_OTP_FORMAT - OTP format is invalid (must be 4 digits)
400 OTP_EXPIRED - OTP has expired. Please initiate a new operation.
400 OTP_MAX_ATTEMPTS_REACHED - Maximum OTP verification attempts reached. Please initiate a new operation.
400 OTP_VERIFICATION_FAILED - OTP verification failed (generic error)
400 OTP_INCORRECT - Invalid OTP provided. Please try again.
404 CARD_ISSUANCE_NOT_FOUND - The card issuance cannot be found
404 OTP_OPERATION_NOT_FOUND - OTP operation context is missing or not found
409 CARD_STATUS_NOT_ALLOWED - Card issuance state transition is not allowed
412 OTP_OPERATION_WRONG_STATUS - OTP operation is not in correct state (already completed or failed)
503 SERVICE_UNAVAILABLE - The service is currently unavailable. Please try again later.

Request

Authorization
JWT Bearer
Add the parameter
Authorization
to Headers
Example:
Authorization: ********************
or
Path 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/issuances//verify-otp' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "otp": "1234"
}'
Response Response Example
200 - example1
{
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T10:35:00Z",
    "account_id": "b2c3d4e5-f6a7-5890-b123-c4d5e6f7a8b9",
    "account_number": "ACC-2024-00123",
    "customer_id": "c3d4e5f6-a7b8-9012-c345-d6e7f8a9b0c1",
    "status": "ISSUED",
    "idempotency_key": "f9e8d7c6-b5a4-3210-9876-543210fedcba",
    "card": {
        "id": "f5a4b3c2-d1e0-9876-5432-1a0b9c8d7e6f",
        "account_id": "b2c3d4e5-f6a7-5890-b123-c4d5e6f7a8b9",
        "token": 987654321,
        "status": "ACTIVE",
        "last_4_digits": "1234",
        "expiry_date": "2027-12-31",
        "design": "standard",
        "created_at": "2024-01-15T10:35:00Z",
        "updated_at": "2024-01-15T10:35:00Z"
    }
}
Modified at 2025-12-03 10:51:05
Previous
Complete card issuance
Next
Convert virtual to physical
Built with