# remote connect lan manager — NCM API

Remote Connect profiles and LAN Manager options, which together control how a technician reaches devices sitting on a customer LAN. Full lifecycle across both collections: list, create, update and delete profiles and their LAN Manager settings.

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

### GET /api/v3/lan_manager_options

lan_manager_options_list

List LAN Manager options. Supports filtering by router and enabled status, with cursor-based pagination.

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| filter[enabled] | query | string (true | false) | no | Filter by enabled status. Accepts only 'true' or 'false'. |
| filter[router] | query | integer | no | Filter by router ID. |
| page[after] | query | string | no | Cursor for next page. |
| page[before] | query | string | no | Cursor for prior page. |
| page[size] | query | integer | no | Number of results to return per page. |

**Example request**

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

**Response 200** — Successful response.

### POST /api/v3/lan_manager_options

lan_manager_options_create

Create a new LAN Manager option. The `enabled` attribute must be `true` on creation. A 409 Conflict is returned if a LAN Manager option already exists for the specified router.

**Request body**

**Example request**

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

**Response 201** — Resource created.

**Response 400** — Validation error (e.g. enabled must be true on creation).

**Response 403** — Forbidden.

**Response 409** — Conflict. A LAN Manager option already exists for this router.

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

lan_manager_options_retrieve

Retrieve a LAN Manager option by ID.

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| id | path | integer | yes | A unique integer value identifying this LAN Manager option. |

**Example request**

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

**Response 200** — Successful response.

**Response 404** — Not found.

### PUT /api/v3/lan_manager_options/{id}

lan_manager_options_update

Update an existing LAN Manager option. The router and account relationships cannot be changed.

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| id | path | integer | yes | A unique integer value identifying this LAN Manager option. |

**Request body**

**Example request**

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

**Response 200** — Successful response.

**Response 400** — Validation error or attempting to change immutable relationships.

**Response 403** — Forbidden.

**Response 404** — Not found.

### GET /api/v3/remote_connect_profiles

remote_connect_profiles_list

List remote connect profiles. Supports filtering by type, router, name, and address. Supports sorting and cursor-based pagination.

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| filter[address] | query | string | no | Filter by IPv4 address (exact match). Must be a valid IPv4 address. |
| filter[name] | query | string | no | Filter by profile name (exact match). |
| filter[router] | query | integer | no | Filter by router ID. |
| filter[type] | query | string (remote_connect_ssh_profile | remote_connect_http_profile | remote_connect_https_profile | remote_connect_rdp_profile | remote_connect_vnc_profile | remote_connect_serial_profile) | no | Filter by profile type. Accepts full type name (e.g. 'remote_connect_ssh_profile') or short form (e.g. 'ssh_profile'). |
| page[after] | query | string | no | Cursor for next page. |
| page[before] | query | string | no | Cursor for prior page. |
| page[size] | query | integer | no | Number of results to return per page. |
| sort | query | array of string (id | -id | name | -name | address | -address | port | -port) | no | Sort field. Prefix with '-' for descending order. |

**Example request**

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

**Response 200** — Successful response.

### POST /api/v3/remote_connect_profiles

remote_connect_profiles_create

Create a remote connect profile. The `type` field in the request body determines which profile type is created and which attributes are required.

Prerequisite: LAN Manager must be enabled for the target router.

RDP and VNC profiles require an Advanced Add-On plan feature binding.

Profile types and their required attributes:
- 

| Type | Required fields | Optional fields |
|---|---|---|
| `remote_connect_ssh_profile` | name, port, address, username | — |
| `remote_connect_http_profile` | name, port, address | — |
| `remote_connect_https_profile` | name, port, address | — |
| `remote_connect_rdp_profile` | name, port, address, resolution | username |
| `remote_connect_vnc_profile` | name, port, address | username |
| `remote_connect_serial_profile` | name, port (1-8) | — (no address) |

**Prerequisite:** LAN Manager must be enabled.

**Request body**

**Example request**

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

**Response 201** — Profile created.

**Response 400** — Validation error or LAN Manager not enabled.

**Response 403** — Forbidden or missing required feature binding (RDP/VNC).

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

remote_connect_profiles_retrieve

Retrieve a remote connect profile by ID.

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| id | path | integer | yes | A unique integer value identifying this profile. |

**Example request**

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

**Response 200** — Successful response.

**Response 404** — Not found.

### PUT /api/v3/remote_connect_profiles/{id}

remote_connect_profiles_update

Update a remote connect profile. The `type` field determines which profile type schema is used for validation.

The profile type, router, and account relationships cannot be changed.

Prerequisite: LAN Manager must be enabled for the router.

RDP and VNC profiles require an Advanced Add-On plan feature binding.

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| id | path | integer | yes | A unique integer value identifying this profile. |

**Request body**

**Example request**

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

**Response 200** — Profile updated.

**Response 400** — Validation error, LAN Manager not enabled, or attempting to change immutable fields (type, router, account).

**Response 403** — Forbidden or missing required feature binding (RDP/VNC).

**Response 404** — Not found.

### DELETE /api/v3/remote_connect_profiles/{id}

remote_connect_profiles_destroy

Delete a remote connect profile.

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| id | path | integer | yes | A unique integer value identifying this profile. |

**Example request**

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

**Response 204** — No response body.

**Response 403** — Forbidden.

**Response 404** — Not found.
