# lan devices — NCM API

Use the following endpoints to get information (MAC address, serial number, related router, etc) about your LAN devices and specific product information about those devices.

Base URL: https://api.cradlepointecm.com

## Authentication

This is a v3 endpoint (`/api/v3/` path). Send a Bearer token on every request:

```http
Authorization: Bearer <token>
```

Tokens are generated in the NCM UI under API Keys. The v2 and v3 auth schemes are NOT interchangeable: v2 API-key headers are rejected on v3 endpoints.

### GET /api/v3/lan_devices

lan_devices_list

List LAN OS devices (switches and access points).

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| filter[account] | query | string | no | Filter by account ID. |
| filter[device_status] | query | string | no | Filter by device status. |
| filter[device_status__ne] | query | string | no |  |
| filter[group] | query | array of string | no | Multiple values may be separated by commas. |
| filter[id] | query | array of string | no | Multiple values may be separated by commas. |
| filter[lan_firmware_upgrade_status] | query | array of string | no | Multiple values may be separated by commas. |
| filter[lan_firmware_upgrade_status__ne] | query | string | no |  |
| filter[lan_product_info] | query | array of string | no | Multiple values may be separated by commas. |
| filter[mac_address] | query | array of string | no | Multiple values may be separated by commas. |
| filter[name] | query | array of string | no | Multiple values may be separated by commas. |
| filter[name__ne] | query | string | no |  |
| filter[router] | query | array of string | no | Multiple values may be separated by commas. |
| filter[serial_number] | query | array of string | no | Multiple values may be separated by commas. |
| filter[type] | query | string (access_points | switches) | no | Filter by device type. |
| filter[type__ne] | query | string | no |  |
| page[after] | query | string | no | Cursor for forward pagination. |
| page[before] | query | string | no | Cursor for backward pagination. |
| page[size] | query | integer | no | Number of results per page. |
| sort | query | string | no | Sort field. Prefix with '-' for descending order. |

**Example request**

```bash
curl "https://api.cradlepointecm.com/api/v3/lan_devices" \
  -H "Authorization: Bearer <token>"
```

**Response 200**

### GET /api/v3/lan_devices/{id}

lan_devices_retrieve

Retrieve a single LAN device.

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| id | path | string | yes |  |

**Example request**

```bash
curl "https://api.cradlepointecm.com/api/v3/lan_devices/{id}" \
  -H "Authorization: Bearer <token>"
```

**Response 200**

### GET /api/v3/lan_product_infos

lan_product_infos_list

List LAN OS product info (switches and access points).

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| filter[id] | query | array of string | no | Multiple values may be separated by commas. |
| filter[name] | query | array of string | no | Multiple values may be separated by commas. |
| filter[product_type] | query | string (access_point | switch) | no | Filter by product type. |
| filter[product_type__ne] | query | string | no |  |
| page[after] | query | string | no | Cursor for forward pagination. |
| page[before] | query | string | no | Cursor for backward pagination. |
| page[size] | query | integer | no | Number of results per page. |
| sort | query | string | no | Sort field. Prefix with '-' for descending order. |

**Example request**

```bash
curl "https://api.cradlepointecm.com/api/v3/lan_product_infos" \
  -H "Authorization: Bearer <token>"
```

**Response 200**

### GET /api/v3/lan_product_infos/{id}

lan_product_infos_retrieve

Retrieve a single LAN OS product info.

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| id | path | string | yes |  |

**Example request**

```bash
curl "https://api.cradlepointecm.com/api/v3/lan_product_infos/{id}" \
  -H "Authorization: Bearer <token>"
```

**Response 200**
