CAMARA · GSMA Open Gateway
Camara Number Verification API
Verify phone numbers without SMS codes
The Number Verification API is a service that enables businesses to seamlessly confirm the ownership of a mobile phone number and retrieve it directly from the user’s device.
- Sign-up
- Login
- Account recovery
What you can do with this API
Read the full API overview
What is the Number Verification API?
The Number Verification API confirms that the mobile phone number a user gives you is the number in use on the device they are connecting from. The check happens over the mobile network, so the user does not have to type in a one-time code.
It is part of the CAMARA family of network APIs under the GSMA Open Gateway initiative, so the same request works the same way across certified Ooredoo operating companies.
Common use cases
- Sign-up and login: confirm a phone number during registration or authentication without sending an SMS code.
- Fraud prevention: check that a transaction is coming from the device that holds the registered number.
- Account recovery: verify the user before resetting credentials or changing account details.
API operations
- POST /number-verification/v4/verify verifies the phone number you supply and returns
devicePhoneNumberVerifiedas true or false. - GET /number-verification/v4/device-phone-number returns the phone number associated with the device, so you can compare it yourself.
Authentication
Requests are authorised with an OAuth 2.0 access token. Request a token from POST /oauth/v4/token with your app's client ID and client secret, then send it as a Bearer token on each call. You get your credentials by registering an app on the portal.
Availability
Number Verification is available from Ooredoo Qatar, Ooredoo Kuwait, Ooredoo Algeria and Ooredoo Palestine.
Testing in the sandbox
The documentation on this page is connected to sandbox endpoints. In the sandbox, verification succeeds only for one predefined test number per operating company, listed in the Phone Number Verify operation below. Any other number returns false.
Questions about the Camara Number Verification API
What can I do with the Camara Number Verification API?
The Number Verification API is a service that enables businesses to seamlessly confirm the ownership of a mobile phone number and retrieve it directly from the user’s device.
- Is this the number on the user's device? (
POST /verify) - Which number is this device using? (
GET /device-phone-number)
Which inputs does each call to the Camara Number Verification API need?
POST /verify: acceptsphoneNumber,hashedPhoneNumber(see the reference for which combination to send)
Every call also needs Authorization: Bearer <access_token>. The API reference on this page shows each field's type and an example request.
What does the Camara Number Verification API return?
POST /verifyreturns HTTP 200 withdevicePhoneNumberVerifiedGET /device-phone-numberreturns HTTP 200 withdevicePhoneNumber
Responses are JSON.
How do I authenticate with the Camara Number Verification API?
- Call
POST https://api.ooredoo.com/oauth/v4/tokenwithclient_id,client_secretin the headers. Sendgrant_typein the body. Use the client ID and secret of your app. - The response contains
access_token,token_type,expires_in,consented_on,created_At,expired_At. - Send
Authorization: Bearer <access_token>on each call until the token expires, then request a new one.
Which errors can the Camara Number Verification API return?
- 400: Problem with the client request
- 401: Unauthorized
- 403: Client does not have sufficient permission.
- 500: Server error
- 503: Service unavailable.
- 504: Request time exceeded.
On 401, request a new access token and retry.
Where is the Camara Number Verification API available?
Camara Number Verification is available in Kuwait, Palestine, Algeria and Qatar.
Which standard does the Camara Number Verification API follow?
It follows the CAMARA specification of the GSMA Open Gateway initiative, so an integration built for another operator's CAMARA API needs little change. See our CAMARA certification page.
Sample call
From the published OpenAPI specification. Replace the placeholders with your app's credentials and real values.
1. Get an access token
curl -X POST https://api.ooredoo.com/oauth/v4/token \
-H "client_id: $CLIENT_ID" \
-H "client_secret: $CLIENT_SECRET" \
-d "grant_type=client_credentials"2. Call the API
curl -X POST https://api.ooredoo.com/number-verification/v4/verify \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"phoneNumber":"+974XXXXXXXX"}'API reference
Try any endpoint in the sandbox

