# Build on the network that runs your operations

Programmatic control of your Ericsson NetCloud Manager fleet — routers, subscriptions, private cellular, and real-time events. REST APIs, webhooks, and an LLM-ready reference.

[Get Started](#quickstart)

**40+**
API Endpoints

**v2 & v3**
API Versions

**REST**
Architecture

**Webhooks**
Real-time Events

## Make your first API call in 3 steps

No external code required. Everything you need is right here.

**1**

### Get Your API Credentials
Log into [NetCloud Manager](https://accounts.cradlepointecm.com), navigate to **Tools → NetCloud API**, and generate your API keys.

**v3 (Recommended):** You’ll get a Bearer token.
**v2 (Legacy):** You’ll get CP API-ID/key and ECM API-ID/key pairs.

**2**

### Make Your First Request

**cURL**

```bash
# List your subscriptions using API v3
curl -H "Authorization: Bearer YOUR_TOKEN" \
  "https://api.cradlepointecm.com/api/v3/subscriptions"
```

**Python**

```python
import requests

resp = requests.get(
    "https://api.cradlepointecm.com/api/v3/subscriptions",
    headers={"Authorization": "Bearer YOUR_TOKEN"},
)
print(resp.json())
```

**JavaScript**

```javascript
const resp = await fetch("https://api.cradlepointecm.com/api/v3/subscriptions", {
  headers: { Authorization: "Bearer YOUR_TOKEN" },
});
const data = await resp.json();
```

**3**

### See the Response

```json
{
  "data": [
    {
      "id": "112345",
      "name": "NetCloud Branch Essentials",
      "start_time": "2026-01-15T00:00:00Z",
      "end_time": "2027-01-15T00:00:00Z",
      "quantity": 25,
      "feature_list_id": "nc-branch-essentials"
    }
  ],
  "links": { "next": "/api/v3/subscriptions?page[after]=abc123" }
}
```

That’s it. You’re in. Now explore the full API below.

**Common gotchas:**

- **401 Unauthorized** — the auth scheme must match the endpoint version: Bearer tokens work only on `/api/v3/` paths, API-key headers only on `/api/v2/` paths. Expired or revoked credentials also 401 — regenerate under **Tools → NetCloud API**.
- **Pagination** — v3 is cursor-based: follow the next-page URL in the response (`page[after]` cursor) instead of building offsets. v2 uses `?limit=N&offset=M` and returns `meta.next`.
- **429 Too Many Requests** — you hit the rate limit. Wait until the time in the `X-RateLimit-Reset` response header before retrying.

## Two API layers

Device-level control and fleet orchestration. Use v3 for new integrations.

### Users

Create, update, and manage user accounts and permissions.

[GET /api/v3/users](/developer/api/users-v3/)

### Subscriptions

View and manage device subscriptions and licensing.

[GET /api/v3/subscriptions](/developer/api/subscriptions/)

### Private Cellular

Configure and monitor private cellular networks, cores, SIMs, and radios.

[GET /api/v3/private_cellular_networks](/developer/api/private-cellular-networks/)

### Exchange Resources

Create and manage NetCloud Exchange resources and sites.

[GET /api/v3/exchange_resources](/developer/api/exchange-resources/)

### Exchange Sites

Create and manage NetCloud Exchange site configurations.

[GET /api/v3/exchange_sites](/developer/api/exchange-sites/)

**Base URL**
`https://api.cradlepointecm.com/api/v3/`

[View Complete v3 API Reference →](/developer/api/)

### Routers

Legacy device inventory and status for the v2 fleet API.

[GET /api/v2/routers/](/developer/api/routers/)

### Accounts

Manage NetCloud accounts and sub-account hierarchies.

[GET /api/v2/accounts/](/developer/api/accounts/)

### Groups

Organize routers into configuration and policy groups.

[GET /api/v2/groups/](/developer/api/groups/)

### Alert Rules

Configure which events fire notifications and webhooks.

[GET /api/v2/alert_rules/](/developer/api/alert-rules/)

### Signal Samples

Historical cellular signal metrics per device.

[GET /api/v2/net_device_signal_samples/](/developer/api/net-device-signal-samples/)

### Push Destinations

Register HTTP destinations for webhook delivery.

[GET /api/v2/alert_push_destinations/](/developer/api/alert-push-destinations/)

**Base URL**
`https://www.cradlepointecm.com/api/v2/`

[View Complete v2 API Reference →](/developer/api/)

## v2 vs v3 at a glance

What changes between the layers, at a glance. Note that the version split is by capability, not preference: most fleet and device endpoints — routers, alerts, device health and telemetry — are **v2 today**, while Private Cellular (5G), eSIM, and NetCloud Exchange are **v3**. Each endpoint in the API reference states its own version and base URL.

|  | API v2 | API v3 |
| --- | --- | --- |
| Authentication and authorization | Cradlepoint API Keys and NetCloud Manager API Keys (application identification) | Single Bearer token (user identification) |
| Documentation specification | Swagger 1.2 | OpenAPI 3.0 |
| Pagination | Offset | Cursor |
| Expandable fields | Yes | No |
| URL | https://www.cradlepointecm.com/api/v2/ — include the trailing slash; without it the call redirects and two calls are attributed to your account | https://api.cradlepointecm.com/api/v3 — no trailing slash on v3 endpoints |
| Content type | application/json | application/vnd.api+json |

## Your language. Your workflow.

Official libraries and tools to accelerate your integration.

### Python SDK

The ncm package — full-featured Python client for NCM APIs. Install with: pip install ncm

[View on GitHub →](https://github.com/cradlepoint/api-samples)

### Postman Collection

Pre-configured requests for every endpoint. Import and start testing.

[Download collection →](https://github.com/cradlepoint/api-samples/tree/master/postman-collection)

### Script Manager

Web-based tool for bulk operations — configure devices, manage users, update subscriptions.

[Get Script Manager →](https://github.com/cradlepoint/api-samples/tree/master/scripts/script_manager)

### Sample Scripts

Ready-to-run Python scripts for common tasks — router status, config backup, alert management.

[Browse scripts →](https://github.com/cradlepoint/api-samples/tree/master/scripts)

## Real-time events. No polling.

Subscribe to network events and react instantly when things change.

[Read the full Webhooks guide →](/developer/webhooks/)

**Device Online/Offline**
Know immediately when a router connects or drops.

```json
// Device state change
{
  "event": "router.state_change",
  "timestamp": "2026-04-11T14:30:00Z",
  "data": {
    "router_id": "112345",
    "name": "Store-42-Primary",
    "previous_state": "online",
    "current_state": "offline",
    "group": "Retail-West",
    "last_seen": "2026-04-11T14:29:47Z"
  }
}
```

**Configuration Changes**
Detect config drift and unauthorized modifications.

```json
// Configuration change
{
  "event": "router.config_push",
  "timestamp": "2026-04-11T14:31:12Z",
  "data": {
    "router_id": "112345",
    "name": "Store-42-Primary",
    "change": "config_push",
    "status": "applied",
    "actor": "automation@example.com"
  }
}
```

**Alert Triggers**
Threshold breaches, connectivity issues, security events.

```json
// Alert triggered
{
  "event": "alert.triggered",
  "timestamp": "2026-04-11T14:32:05Z",
  "data": {
    "router_id": "112345",
    "alert_type": "signal_strength_alert",
    "threshold": -90,
    "value": -97,
    "severity": "warning"
  }
}
```

**Firmware Updates**
Track update progress across your fleet in real time.

```json
// Firmware update
{
  "event": "router.firmware_update",
  "timestamp": "2026-04-11T14:35:40Z",
  "data": {
    "router_id": "112345",
    "from_version": "7.22.12",
    "to_version": "7.23.10",
    "status": "in_progress",
    "progress": 0.62
  }
}
```

Webhooks power event-driven automation, AIOps, and live dashboards across your fleet.

## What will you build?

From monitoring dashboards to AI-powered network automation.

### Custom NOC Dashboard

Build a network operations center tailored to your fleet with real-time status, signal quality, and alerting.

### Automated Provisioning

Zero-touch deployment. Automatically configure new routers as they come online based on group policies.

### ITSM Integration

Connect NCM to ServiceNow, PagerDuty, or Splunk. Auto-create tickets when devices go offline.

### AI Network Agent

Let AI assistants query fleet health, diagnose issues, and recommend optimizations using natural language.

### MSP Portal

Build a white-label management portal for your customers with multi-tenant fleet visibility.

### CI/CD for Networks

Version control your network configs. Push changes through staging to production like code deployments.

## Secure by default

TLS 1.2+, scoped tokens, and rate limiting on every request.

#### v3 — Bearer Token
Recommended for all new integrations. Single token, simple header.

```http
Authorization: Bearer <your_token>
```

#### v2 — API Key Pairs
Legacy authentication using two key pairs in custom headers.

```http
X-CP-API-ID: <cp_api_id>
X-CP-API-KEY: <cp_api_key>
X-ECM-API-ID: <ecm_api_id>
X-ECM-API-KEY: <ecm_api_key>
Content-Type: application/json
```

#### Rate limiting
All API requests are rate limited to maintain platform health. Check response headers for your current limits:

```http
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1682345678
```

## Everything else you need

### Full API Documentation

Complete endpoint reference with parameters, responses, and examples.

[Browse](/developer/api/)

### GitHub Repository

SDK source, sample scripts, Postman collections, and community contributions.

[Open](https://github.com/cradlepoint/api-samples)

### Changelog & Deprecations

Stay current with API changes, deprecation timelines, and migration guides.

[Open](/developer/changelog/)

### OpenAPI Document

Download the merged OpenAPI 3 spec — import into Postman, generate clients, or build your own tooling.

[Download](/developer/api/openapi.json)

### Cradlepoint Connect

Knowledge base, tutorials, and community support for all things Cradlepoint.

[Open](https://customer.cradlepoint.com)
