The NetCloud Manager (NCM) API is a RESTful API for programmatically managing Cradlepoint network devices (routers, access points). It mirrors most functionality available in the NCM web UI.
There are two active API versions:
- Base URL:
https://www.cradlepointecm.com/api/v2/ - Authentication: Four header-based API keys
- Content-Type:
application/json - Covers: routers, groups, configs, alerts, locations, net_devices, firmware, etc.
- Base URL:
https://api.cradlepointecm.com/api/v3(paths have no trailing slash) - Authentication: Bearer token
- Content-Type:
application/vnd.api+json(JSON:API spec) - Covers: subscriptions, regrades, private cellular (
/api/v3/beta/...), NCX sites/resources (/api/v3/beta/...) - Note:
usersis a v2 endpoint, not v3.
X-CP-API-ID: <your_cp_api_id>
X-CP-API-KEY: <your_cp_api_key>
X-ECM-API-ID: <your_ecm_api_id>
X-ECM-API-KEY: <your_ecm_api_key>
Content-Type: application/json
Authorization: Bearer <your_token>
Content-Type: application/vnd.api+json
Accept: application/vnd.api+json
- Login to NCM at https://accounts.cradlepointecm.com
- Click TOOLS in the left navigation
- Scroll to the NetCloud API section
- Click the API Portal link
| Method | Purpose |
|---|---|
| GET | Retrieve resources |
| POST | Create resources |
| PUT | Replace entire resource |
| PATCH | Partial update of resource |
| DELETE | Remove resource |
Not all endpoints support all methods. Some are read-only (GET only).
-
Trailing slash — v2 only: All v2 endpoint URLs MUST end with
/. A missing trailing slash causes a redirect, resulting in two calls counted against your account.- Correct:
https://www.cradlepointecm.com/api/v2/routers/ - Wrong:
https://www.cradlepointecm.com/api/v2/routers
This is a v2 rule. The v3 API is the opposite: every v3 Swagger spec defines its paths without a trailing slash (e.g.
/api/v3/subscriptions). Do not add one to v3 URLs. Seeapi-v3-endpoints.md. - Correct:
-
TLS 1.2+ required: SSL and earlier TLS versions are not supported (PCI 3.2 compliance).
-
CA Trust: API clients must trust Google Trust Services CA.
All list endpoints return paginated results:
{
"data": [...],
"meta": {
"limit": 20,
"next": "https://www.cradlepointecm.com/api/v2/routers/?limit=20&offset=20",
"offset": 0,
"previous": null
}
}Parameters:
limit— max records per page (default 20, max 500)offset— starting index for pagination
To iterate all records, follow the meta.next URL until it is null.
Most endpoints support filtering via query parameters:
GET /api/v2/routers/?state=online
GET /api/v2/routers/?id__in=1,2,3
GET /api/v2/net_devices/?router__in=100,200
Common filter operators:
=— exact match__in— match any in comma-separated list__gt— greater than__lt— less than__gte— greater than or equal__lte— less than or equal
Use fields parameter to request only specific fields:
GET /api/v2/routers/?fields=id,name,state
Use expand to inline related resources instead of getting URLs:
GET /api/v2/routers/?expand=group,account
The API has rate limits. Use retry logic with exponential backoff. Recommended: 5 retries with backoff factor of 2, retry on 408, 503, 504.
The NCM SDK supports these environment variables:
CP_BASE_URL— Override v2 base URL (default:https://www.cradlepointecm.com/api/v2)CP_BASE_URL_V3— Override v3 base URL (default:https://api.cradlepointecm.com/api/v3)