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. Management
  • 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. Management

Verify card PIN OTP

POST
https://api.staging.vrtx.sa/cards/set-pin/verify-otp
Last modified:2025-12-03 10:51:05
Verifies the OTP returned from the set PIN initiation flow and finalises the card PIN update.
Requires the pin_set_operation_id reference returned earlier.
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_INVALID - Invalid OTP provided. Please try again.
404 CARD_NOT_FOUND - The card is invalid. Please use a valid card.
404 OTP_OPERATION_NOT_FOUND - The operation ID is invalid. Please use a valid operation.
422 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

Body Params application/jsonRequired

Example
{
    "pin_set_operation_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "otp": "1234"
}

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/set-pin/verify-otp' \
--header 'Content-Type: application/json' \
--data-raw '{
    "pin_set_operation_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "otp": "1234"
}'

Responses

🟢200OK
application/json
Default Response
Body

Example
{
    "pin_set_operation_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
đźź 400Bad Request
đźź 401Unauthorized
đźź 403Forbidden
đźź 404Not Found
đźź 405Method Not Allowed
đźź 409Conflict
đźź 410Gone
đźź 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
Set or update card PIN
Next
Activate physical card
Built with