# starlink interfaces — NCM API

Starlink terminals attached to your Cradlepoint devices, exposing interface records, diagnostics and a reboot collection. List interfaces or fetch one by ID, pull diagnostics, and trigger a reboot. This is the Starlink-specific view; the same WAN link also appears under net devices.

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

### GET /api/v3/starlink_diagnostics

List Starlink Diagnostics

Returns a list of starlink diagnostics

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| filter[connection_state] | query | string | no |  |
| filter[dish_obstructed] | query | boolean | no |  |
| filter[starlink_interface] | query | string | no |  |
| 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 (created_at | -created_at | updated_at | -updated_at | connection_state | -connection_state) | no | Which field to use when ordering the results. |

**Example request**

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

**Response 200**

**Response 400** — Bad request

**Response 403** — Request forbidden

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

Retrieve a single starlink diagnostic

Retrieves a single starlink diagnostic

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

**Example request**

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

**Response 200**

**Response 403** — Request forbidden

### GET /api/v3/starlink_interfaces

List Starlink Interfaces

Returns a list of starlink interfaces

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| filter[carrier] | query | string | no |  |
| filter[gateway_ip] | query | string | no |  |
| filter[net_device] | query | string | no |  |
| filter[port] | query | string | no |  |
| filter[software_version] | query | string | no |  |
| filter[terminal_identifier] | query | string | no |  |
| 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 (created_at | -created_at | updated_at | -updated_at) | no | Which field to use when ordering the results. |

**Example request**

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

**Response 200**

**Response 400** — Bad request

**Response 403** — Request forbidden

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

Retrieve a single starlink interface

Retrieves a single starlink interface

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

**Example request**

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

**Response 200**

**Response 403** — Request forbidden

### GET /api/v3/starlink_interfaces/reboots

List starlink interface reboot jobs

Return starlink interface reboot jobs.

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| filter[starlink_interface] | query | integer | no | Filter by starlink interface ID |
| filter[state] | query | string (created | failed | pending | running | success | syncing) | no | Filter by job state (created, pending, running, syncing, success, failed) |
| 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 (created_at | -created_at | updated_at | -updated_at) | no | Which field to use when ordering the results. |

**Example request**

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

**Response 200**

**Response 400** — Bad request

**Response 403** — Request forbidden

### POST /api/v3/starlink_interfaces/reboots

Reboot a starlink interface

Create a starlink interface reboot job.

**Request body**

**Example request**

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

**Response 201** — Reboot job created. Location header contains the URL of the new resource.

**Response 400** — Bad request

**Response 403** — Request forbidden

### GET /api/v3/starlink_interfaces/reboots/{id}

Retrieve a starlink interface reboot job

Retrieve a single starlink interface reboot job.

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

**Example request**

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

**Response 200**

**Response 403** — Request forbidden

### GET /api/v3/starlink_interfaces/stows

List starlink interface stow jobs

Return starlink interface stow jobs.

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| filter[starlink_interface] | query | integer | no | Filter by starlink interface ID |
| filter[state] | query | string (created | failed | pending | running | success | syncing) | no | Filter by job state (created, pending, running, syncing, success, failed) |
| 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 (created_at | -created_at | updated_at | -updated_at) | no | Which field to use when ordering the results. |

**Example request**

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

**Response 200**

**Response 400** — Bad request

**Response 403** — Request forbidden

### POST /api/v3/starlink_interfaces/stows

Stow or unstow a starlink interface

Create a starlink interface stow/unstow job.

**Request body**

**Example request**

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

**Response 201** — Stow job created. Location header contains the URL of the new resource.

**Response 400** — Bad request

**Response 403** — Request forbidden

### GET /api/v3/starlink_interfaces/stows/{id}

Retrieve a starlink interface stow job

Retrieve a single starlink interface stow job.

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

**Example request**

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

**Response 200**

**Response 403** — Request forbidden
