QVerify API

OTP delivery infrastructure for WhatsApp and Email.

QVerify exposes strict SDK endpoints for send, verify, and resend flows, backed by admin APIs for applications, templates, analytics, wallet top-ups, and provider webhooks.

Core SDK endpoints

  • POST /api/sdk/v1/sendOTP
  • POST /api/sdk/v1/verifyOTP
  • POST /api/sdk/v1/resendOTP

Admin areas

  • Authentication and session management
  • Applications, templates, API keys, and OTP logs
  • Analytics, wallet, webhooks, and settings

Example request

curl --request POST 'https://verify-api.qomratech.com/api/sdk/v1/sendOTP' \
  --header 'Authorization: Bearer qv_live_demo_local_otp_1234567890abcdef' \
  --header 'Content-Type: application/json' \
  --data '{
    "channel": "whatsapp",
    "recipient": "+966512345678",
    "purpose": "login",
    "number_of_digits": 6,
    "otp_format": "numeric",
    "expiry_seconds": 300,
    "template_key": "default_whatsapp_otp",
    "locale": "en"
  }'

Operational rules

  • OTP values are hashed and never returned in responses.
  • Wallet balance is credited only after verified Stripe webhooks.
  • Meta webhook events are processed idempotently.
  • Recipients are masked in API responses and dashboard logs.

Repository docs

  • See docs/api-examples.md for more request examples.
  • See docs/provider-setup-meta-whatsapp.md for Meta setup.
  • See docs/provider-setup-stripe.md for Stripe setup.
  • See docs/testing-strategy.md for the regression strategy.