Network APIs
Tap directly into the mobile operator network for silent, no-OTP identity and fraud signals. These endpoints wrap the GSMA Open Gateway / CAMARA APIs behind a single, tenant-scoped surface so you can verify a number, detect a recent SIM swap, confirm a device’s location or reachability, match KYC attributes, charge the operator bill, and fuse it all into one risk verdict — without ever sending a message to the subscriber. Base path:/api/v1/numbers/network-apis
The upstream integration is gated on operator credentials per deployment. When no operator is configured every endpoint fails closed — it returns
503 SERVICE_UNAVAILABLE rather than fabricating an identity result. Call Operator status first to check whether the surface is live.+14155550100).
Operator status
GET /api/v1/numbers/network-apis/status
Report whether GSMA/CAMARA operator credentials are configured for this deployment. Returns a boolean only — never a secret.
Number Verification (Silent Auth)
POST /api/v1/numbers/network-apis/number-verification:verify
Verify a network-asserted MSISDN — the silent alternative to an SMS OTP. Fails closed: anything that is not an explicit network-confirmed match resolves to devicePhoneNumberVerified: false.
E.164 number to verify. Provide exactly one of
phoneNumber or hashedPhoneNumber.SHA-256 hash of the E.164 number (privacy-preserving variant).
Device-bound access token from the 3-legged CIBA / auth-code flow completed over the cellular data bearer. When present it proves device possession.
SIM Swap
Check
POST /api/v1/numbers/network-apis/sim-swap:check
Was the SIM behind a number swapped within the look-back window? A recent swap is a strong account-takeover signal.
E.164 number to check.
Look-back window in hours (range
1–2400). Default 240 (10 days).Retrieve date
POST /api/v1/numbers/network-apis/sim-swap:retrieve-date
Return the timestamp of the most recent SIM change, for callers that want the raw date rather than a boolean.
E.164 number to look up.
KYC Match
POST /api/v1/numbers/network-apis/kyc-match:match
Match caller-supplied identity attributes against the operator’s KYC records. Returns per-attribute match results — never the underlying PII.
E.164 number whose KYC record to match against.
Full name to match.
Given (first) name.
Family (last) name.
Date of birth (ISO
YYYY-MM-DD).National ID / document number.
Email address to match.
Device Location Verification
POST /api/v1/numbers/network-apis/device-location:verify
Confirm whether a device is within a claimed geofence (a circle) without revealing its coordinates.
E.164 number of the device.
Geofence centre latitude (WGS-84,
-90–90).Geofence centre longitude (WGS-84,
-180–180).Geofence radius in metres (
2000–200000).Max age in seconds of the location fix the operator may use (
60–3600).verificationResult is one of TRUE, FALSE, PARTIAL, UNKNOWN.
Device Status reachability
POST /api/v1/numbers/network-apis/device-status:reachability
Surface the operator’s network-asserted reachability for a device without contacting it. NOT_CONNECTED is a corroborating fraud signal.
E.164 number of the device.
reachabilityStatus is one of CONNECTED_DATA, CONNECTED_SMS, NOT_CONNECTED.
Carrier Billing
POST /api/v1/numbers/network-apis/carrier-billing:charge
Charge a one-time payment to the end-user’s mobile-operator bill (Direct Carrier Billing). The per-transaction amount is capped server-side; a request above the cap is rejected with 422 before it reaches the operator.
E.164 number to bill.
Charge amount in major currency units (e.g.
1.99). Positive and finite.ISO-4217 alphabetic currency code (e.g.
EUR).Human-readable description shown on the operator-bill line (max 140 chars).
Your own reconciliation reference, echoed to the operator.
Idempotency key so a retried charge is not double-billed.
Age Verification
POST /api/v1/numbers/network-apis/age-verification:verify
Operator-asserted check that a subscriber is at least ageThreshold years old, for age-gated commerce. Returns a verdict only — never a date of birth — and fails closed (anything but an explicit affirmative reads as not old enough).
E.164 number of the subscriber.
Minimum age to assert, in years (
13–120).Optional identity attribute that raises match confidence.
Optional given name.
Optional family name.
Optional date of birth.
Optional ID / document number.
Optional email.
Scam Signal
POST /api/v1/numbers/network-apis/scam-signal:assess
Real-time anti-APP-fraud network-signal dip for a number. Returns a normalised, fail-safe verdict — the three anonymised signals plus a coarse risk level — so a bank/fintech can make the final allow/review/block call at the moment of a live transaction. No call content is ever accessed.
E.164 number. Provide exactly one of
phoneNumber or hashedPhoneNumber.SHA-256 hash of the E.164 number.
Identity Risk Score
POST /api/v1/numbers/network-apis/risk:score
Fuse the operator CAMARA signals (SIM swap, device status, device location, number verification) together with caller-held signals (roaming, reputation, call forwarding) into one weighted transaction-risk verdict with reason codes. Callable at login / signup / checkout / payout — not just on an OTP send. Each live signal is fetched fail-soft: an unconfigured or failing signal is reported unavailable and contributes nothing rather than failing the request.
E.164 number to score.
Optional business context (
action, reference) echoed back, not scored.Optional claimed geofence (
latitude, longitude, radius, maxAge) that drives Device-Location Verification.SIM Swap look-back window in hours (
1–2400).Device-bound Silent-Auth token; when present, possession is checked.
Caller-held line reputation:
low, medium, high, unknown.Caller-held roaming state.
Caller-held unconditional call-forwarding state.
Per-request weight overrides (0–100 each).
Per-request decision-threshold overrides (
review, deny).Quality-on-Demand (QoD) sessions
Programmable QoS data bearers: request a low-latency / high-throughput data session for a device on demand, read its status, extend it, and tear it down. QoD shapes a data bearer only.Create a session
POST /api/v1/numbers/network-apis/qod-sessions
E.164 number of the target device.
Application server IPv4 the optimized bearer targets.
Optional application server IPv6.
Operator QoS profile id (e.g.
QOS_E low-latency, QOS_L throughput).Requested session duration in seconds (
1–86400).Get a session
GET /api/v1/numbers/network-apis/qod-sessions/{sessionId}
Read the current status of a session.
Extend a session
POST /api/v1/numbers/network-apis/qod-sessions/{sessionId}/extend
Additional seconds to add to the live session (
1–86400).Delete a session
DELETE /api/v1/numbers/network-apis/qod-sessions/{sessionId}
Tear down a session. Returns 204 No Content.
Errors
No GSMA/CAMARA operator is configured for this deployment. The surface fails closed — call Operator status to check before integrating.
The request body failed validation, the operator could not process it (e.g. no subscriber for the number), or a Carrier-Billing
amount exceeded the per-transaction cap.The operator / aggregator returned an unexpected error. Phone numbers in error details are masked.