Base URL and authentication
https://api.phonecloudify.com/v1
Authorization: Bearer orb_live_…Keys are created per workspace under Settings → API. Rate limits are 1,000 requests/day on Starter, 25,000 on Growth and unlimited on Scale and Enterprise. All responses are JSON; errors carry an error.code string that is stable across versions.
Devices
| Method | Path | Description |
|---|---|---|
| GET | /devices | List devices, filterable by group, region, state |
| POST | /devices | Provision a device |
| GET | /devices/{id} | Device detail including identity and IP |
| POST | /devices/{id}/start | Boot a stopped device |
| POST | /devices/{id}/stop | Stop a device (billing pauses on PAYG) |
| POST | /devices/{id}/snapshot | Create a restorable snapshot |
| POST | /devices/{id}/clone | Clone into a new coherent identity |
| DELETE | /devices/{id} | Retire the device and burn the identity |
Example: provision a device
curl -X POST https://api.phonecloudify.com/v1/devices \
-H "Authorization: Bearer $PHONECLOUDIFY_KEY" \
-H "Content-Type: application/json" \
-d '{
"plan": "growth",
"region": "eu-west",
"country": "FR",
"carrier": "orange",
"model": "pixel_8a",
"android": 14,
"ip_policy": "identity",
"group": "grp_fr_snap"
}'{
"id": "dev_8f2a41c0",
"state": "booting",
"eta_seconds": 11,
"identity": {
"imei": "35•••••••••••••",
"model": "Pixel 8a",
"android": "14",
"locale": "fr-FR",
"timezone": "Europe/Paris"
},
"network": {
"carrier": "Orange",
"asn": "AS3215",
"type": "mobile-4g",
"policy": "identity"
}
}Webhooks
Every event fires a signed POST to your endpoint. Signatures use HMAC-SHA256 over the raw body with your webhook secret, in the X-PhoneCloudify-Signature header.
| Event | Fires when |
|---|---|
| device.ready | Provisioning completes |
| device.stopped | Device stops, manually or by policy |
| identity.flagged | Ban Shield telemetry detects a risk signal |
| ip.rotated | The bound IP changes |
| flow.completed | An RPA flow finishes |
| flow.blocked | A guardrail blocked a step |
| patch.applied | A Ban Shield OTA patch lands on the device |
SDKs
pip install phonecloudify
npm install @phonecloudify/sdk
go get github.com/phonecloudify/phonecloudify-go