Test phone numbers
The Playground comes with 15 built-in phone numbers that are available to everyone, instantly, without any setup.
They are the fastest way to start testing CAMARA APIs, perfect for hackathons, training sessions, or a quick first exploration.
How it works
Each test number is pre-configured with a specific profile that reflects a realistic mobile user situation.
Every profile covers all supported CAMARA APIs at once: SIM Swap, Device Swap, Roaming, Reachability, Location, KYC Match, and Tenure.
All numbers share the same fictitious country prefix +990 (never allocated to a real network), followed by 9 digits, mirroring the standard international format.
Quick example
Once you obtain a token (see the Getting Started Guide), you can call any CAMARA API immediately using one of the test numbers:
curl -X POST "https://api.orange.com/camara/playground/api/sim-swap/v1/check" \
-H "Authorization: Bearer {your access token}" \
-H "Content-Type: application/json" \
-d '{
"phoneNumber": "+990100000001",
"maxAge": 240
}'
Response:
{
"swapped": true
}
This returns true because +990100000001 is the Recently SIM swapped profile: its SIM change date is always within the last 7 days.
The 15 test profiles
| Phone number | Profile | SIM Swap | Device Swap | Roaming | Reachability | Tenure | Location |
|---|---|---|---|---|---|---|---|
+990100000000 | Nominal French user | Old | Old | None | CONNECTED_DATA | PAYM since 2018 | Paris, FR |
+990100000001 | Recently SIM swapped | < 7 days ✦ | Old | None | CONNECTED_DATA | PAYM | Paris, FR |
+990100000002 | Roaming in Europe | Old | Old | Spain 🇪🇸 | CONNECTED_DATA | PAYM | Madrid, ES |
+990100000003 | Disconnected device | Old | Old | None | NOT_CONNECTED | PAYM | Unavailable |
+990100000004 | Prepaid customer | Old | Old | None | CONNECTED_SMS | PAYG | Marseille, FR |
+990100000005 | Recently swapped device | Old | < 6 hours ✦ | None | CONNECTED_DATA | PAYM | Lyon, FR |
+990100000006 | SIM and device swapped | < 7 days ✦ | < 6 hours ✦ | None | CONNECTED_DATA | PAYM | Nantes, FR |
+990100000007 | Roaming outside EU | Old | Old | Japan 🇯🇵 | CONNECTED_DATA | PAYM | Tokyo, JP |
+990100000008 | Very complete KYC | Old | Old | None | CONNECTED_DATA | PAYM since 2015 | Toulouse, FR |
+990100000009 | Not reachable | Old | Old | None | NOT_CONNECTED | PAYG | Unavailable |
+990100000010 | Roaming + SIM swapped | < 7 days ✦ | Old | Italy 🇮🇹 | CONNECTED_DATA | PAYM | Rome, IT |
+990100000011 | New customer | Old | Old | None | CONNECTED_DATA | PAYM < 20 days ✦ | Lille, FR |
+990100000012 | Overseas territory | Old | Old | None | CONNECTED_DATA | PAYM | Reunion Island 🏝️ |
+990100000013 | High fraud risk | < 7 days ✦ | < 6 hours ✦ | Spain 🇪🇸 | CONNECTED_DATA | PAYM < 20 days ✦ | Madrid, ES |
+990100000014 | Roaming SMS only | Old | Old | Germany 🇩🇪 | CONNECTED_SMS | PAYM | Berlin, DE |
✦ Dynamic date: these fields are recalculated on every API call so they always remain fresh, regardless of when you test.
Choosing the right number for your use case
| What you want to test | Use this number |
|---|---|
| Happy path — everything normal | +990100000000 |
SIM Swap → swapped: true | +990100000001, +990100000010, +990100000013 |
SIM Swap → swapped: false | +990100000000, +990100000002, +990100000004… |
| Device Swap detected | +990100000005, +990100000006, +990100000013 |
| Roaming in Europe | +990100000002 (Spain), +990100000010 (Italy), +990100000014 (Germany) |
| Roaming outside Europe | +990100000007 (Japan) |
| Location available | +990100000000 (Paris), +990100000002 (Madrid), +990100000007 (Tokyo) |
| Location unavailable | +990100000003, +990100000009 |
| Reachability: data connected | +990100000000 |
| Reachability: SMS only | +990100000004, +990100000014 |
| Reachability: not connected | +990100000003, +990100000009 |
| Prepaid (PAYG) contract | +990100000004, +990100000009 |
| New customer onboarding risk | +990100000011 |
| French overseas territory | +990100000012 |
| KYC exhaustive matching | +990100000008 |
| Maximum fraud signal (all alerts on) | +990100000013 |
Profile details
+990100000000 — Nominal French user
The baseline profile. A long-standing postpaid customer located in Paris, with no fraud signals and a full KYC record. Use this as your happy-path reference.
- KYC: Alice Arnaud, female, born 1990-04-12, Paris 75001
- Reachability: CONNECTED_DATA
- Roaming: none
- SIM / Device swap: both old (no recent change)
- Tenure: PAYM since 2018
+990100000001 — Recently SIM swapped
The SIM was issued less than 7 days ago. This is the simplest way to get swapped: true from the SIM Swap API.
- SIM swap: always within the last 7 days ✦
- Reachability: CONNECTED_DATA
- Roaming: none
+990100000002 — Roaming in Europe (Spain)
A customer currently traveling in Spain, connected with data. The roaming status returns country code 34 and country name Spain.
- Roaming: true — Spain 🇪🇸 (country code 34)
- Location: Madrid (40.4168, -3.7038)
- Reachability: CONNECTED_DATA
+990100000003 — Disconnected device
The device is off-network. Location is unavailable and reachability returns NOT_CONNECTED.
- Reachability: NOT_CONNECTED
- Location: unavailable
- Roaming: none
+990100000004 — Prepaid customer (PAYG)
A prepaid customer connected via SMS only — no data connection available.
- Tenure: PAYG (pay-as-you-go)
- Reachability: CONNECTED_SMS
- Location: Marseille (43.2965, 5.3698)
+990100000005 — Recently swapped device
The SIM inside the device (handset) was changed less than 6 hours ago — a potential fraud signal.
- Device swap: always within the last 6 hours ✦
- SIM swap: old (no recent change)
- Location: Lyon (45.764, 4.8357)
+990100000006 — SIM and device both recently swapped
Both the SIM card issuance and its insertion into the device are recent. Full KYC data available for exhaustive matching tests.
- SIM swap: always within the last 7 days ✦
- Device swap: always within the last 6 hours ✦
- KYC: Gabrielle Garnier, female, born 1985-11-30, Nantes 44000
- Location: Nantes (47.2184, -1.5536)
+990100000007 — Roaming outside EU (Japan)
A customer traveling in Japan — outside the European zone. Useful for testing whether your app handles non-EU roaming differently.
- Roaming: true — Japan 🇯🇵 (country code 81)
- Location: Tokyo (35.6762, 139.6503)
- Reachability: CONNECTED_DATA
+990100000008 — Very complete KYC
All KYC fields are populated. Use this profile to test exhaustive KYC matching scenarios.
- KYC: Isabelle Ivanov, female, born 1978-06-25, 42 Allee Jean Jaures, 31000 Toulouse, ID: FR-123456789
- Reachability: CONNECTED_DATA
- Roaming: none
- Tenure: PAYM since 2015
+990100000009 — Not reachable (PAYG)
A prepaid customer whose device is completely unreachable. Both reachability and location are unavailable.
- Reachability: NOT_CONNECTED
- Location: unavailable
- Tenure: PAYG
+990100000010 — Roaming in Europe + recent SIM swap
The classic fraud combination: the customer is abroad AND has recently received their SIM. Triggers both roaming and SIM swap signals simultaneously.
- SIM swap: always within the last 7 days ✦
- Roaming: true — Italy 🇮🇹 (country code 39)
- Location: Rome (41.9028, 12.4964)
+990100000011 — New customer
This customer subscribed less than 20 days ago. The short tenure is an onboarding risk signal used by fraud scoring systems.
- Tenure: PAYM, subscribed within the last 20 days ✦
- Reachability: CONNECTED_DATA
- Location: Lille (50.6292, 3.0573)
+990100000012 — Overseas territory (Reunion Island)
Located in a French overseas territory. This is not roaming — the customer is still on the Orange FR network — but the GPS coordinates are in the Indian Ocean. A useful edge case for location-based apps.
- Location: Saint-Denis, Reunion Island 🏝️ (-20.8823, 55.4504)
- Roaming: none (Orange FR network)
- Reachability: CONNECTED_DATA
+990100000013 — High fraud risk
Every fraud signal is active at once: recent SIM swap, recent device swap, roaming abroad, and a very new customer. Ideal for demonstrating a maximum-risk scenario in demos or presentations.
- SIM swap: always within the last 7 days ✦
- Device swap: always within the last 6 hours ✦
- Tenure: PAYM, subscribed within the last 20 days ✦
- Roaming: true — Spain 🇪🇸 (country code 34)
- Location: Madrid (40.4168, -3.7038)
+990100000014 — Roaming SMS only (degraded network)
A customer roaming in Germany but on a 2G network — data is unavailable, only SMS works. Tests whether your app gracefully handles the CONNECTED_SMS state in a roaming context.
- Roaming: true — Germany 🇩🇪 (country code 49)
- Reachability: CONNECTED_SMS (no data)
- Location: Berlin (52.52, 13.405)
Next steps
Want to customize these scenarios further? Read Testing with your own dataset to learn how to create and manage your own phone numbers.
Need help?
On this page
- How it works
- Quick example
- The 15 test profiles
- Choosing the right number for your use case
- Profile details
- +990100000000 — Nominal French user
- +990100000001 — Recently SIM swapped
- +990100000002 — Roaming in Europe (Spain)
- +990100000003 — Disconnected device
- +990100000004 — Prepaid customer (PAYG)
- +990100000005 — Recently swapped device
- +990100000006 — SIM and device both recently swapped
- +990100000007 — Roaming outside EU (Japan)
- +990100000008 — Very complete KYC
- +990100000009 — Not reachable (PAYG)
- +990100000010 — Roaming in Europe + recent SIM swap
- +990100000011 — New customer
- +990100000012 — Overseas territory (Reunion Island)
- +990100000013 — High fraud risk
- +990100000014 — Roaming SMS only (degraded network)
- +990100000000 — Nominal French user
- Next steps
- Need help?