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

Ready to test? Jump to the sample call and the API reference, where you can try every endpoint. Start testing
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 devicePhoneNumberVerified as 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: accepts phoneNumber, 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 /verify returns HTTP 200 with devicePhoneNumberVerified
  • GET /device-phone-number returns HTTP 200 with devicePhoneNumber

Responses are JSON.

How do I authenticate with the Camara Number Verification API?
  1. Call POST https://api.ooredoo.com/oauth/v4/token with client_id, client_secret in the headers. Send grant_type in the body. Use the client ID and secret of your app.
  2. The response contains access_token, token_type, expires_in, consented_on, created_At, expired_At.
  3. 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