One REST API. Idiomatic SDKs. A sandbox you can hit in five minutes.
Authmatech is engineered for teams that ship. We did not write a portal-only product — we shipped a real API, typed SDKs, and a sandbox that mirrors production.
# Verify a number with a sealed mobile-SDK payload
curl -X POST https://api.authmatech.com/v1/api/verify \
-H "X-API-KEY: ${AUTHMATECH_API_KEY}" \
-H "X-CLIENT-ID: ${AUTHMATECH_CLIENT_ID}" \
-H "Content-Type: application/json" \
-d '{
"mobileNumber": "+966512345678",
"encryptedMobileNumber": "amS5z9...-+966512345678"
}'Live in production traffic in three steps.
Every step is automated end-to-end. No tickets to file, no waiting for keys, no manual provisioning. The sandbox mirrors production behavior.
- 1
Issue your sandbox client
Sign in to the dashboard, create a sandbox client, copy the X-CLIENT-ID and the one-time API key. Free, instant.
- 2
Embed the SDK or call the API
Install @authmatech/node, @authmatech/react, or curl. Sandbox accepts test MSISDNs and returns deterministic results.
- 3
Promote to production
Apply for a production client (~24h). Same code, new keys. Balance ledger and audit log activate.
A small surface. No nasty edges.
The verification API is one endpoint. The platform around it (balance, keys, audit) is a handful more — all consistent, all envelope-wrapped, all documented in OpenAPI.
- POST /v1/api/verifyVerify a number (SDK path)
- POST /v1/api/verify/{transactionId}Verify a number (web path)
- POST /v1/api/clients/{id}/rotate-keyRotate API key
- GET /v1/api/clients/meCurrent client + balance
- GET /v1/api/verifyAudit list with masking
import { useAuthmatech } from '@authmatech/react';
export function SilentVerify({ phone, onResult }) {
const { initVerification, status } = useAuthmatech();
async function handleClick() {
const { transactionId } = await initVerification({ mobileNumber: phone });
const res = await fetch('/api/verify', {
method: 'POST',
body: JSON.stringify({ transactionId, mobileNumber: phone }),
});
onResult(await res.json());
}
return <button onClick={handleClick} disabled={status === 'pending'}>Continue</button>;
}Pick your stack. The ergonomics travel.
Every SDK exposes the same primitives with the same typing discipline. Switch languages, not mental models.
Documentation that respects your time.
Each guide is short, opinionated, and ends in a production-grade artifact — not a wall of optional configuration.
Quickstart (5 minutes)
Spin up a sandbox client, run your first verification, and wire it into your app.
Read moreProduction checklist
Key rotation, webhook signing, balance alerting, and fallback policy.
Read moreOperator coverage
Live operators, partner-onboarded routes, and roadmap markets.
Read moreError catalog
Every code our API can return and the recommended client behavior.
Read moreWebhooks
Receive signed events for verifications, balance drops, and key rotation.
Read moreMigration from SMS OTP
A rollout plan that lets you ship silent + fallback in one release.
Read moreHit the API in five minutes. No card. No call.
Sandbox keys are issued instantly from the dashboard and accept deterministic test MSISDNs. The response envelope, latency, and error codes match production exactly.
# Test MSISDN: +966500000001 (always passes)
curl -X POST https://sandbox.authmatech.com/v1/api/verify \
-H "X-API-KEY: sk_sandbox_xxx" \
-H "X-CLIENT-ID: cl_sandbox_yyy" \
-d '{
"mobileNumber": "+966500000001",
"encryptedMobileNumber": "TEST-+966500000001"
}'
# → { "success": true, "data": { "validNumber": true } }Get started in 24 hours
Replace your last OTP screen this quarter.
Book a 20-minute call. We will benchmark your traffic, scope the integration, and stand up a sandbox you can ship against the same week.