# device apps — NCM API

The custom applications that run on Cradlepoint devices. List the apps in your account or remove one by ID, since apps are uploaded through NetCloud Manager rather than created here. Pair with device app versions for what is deployable, and device app bindings to target a group.

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

### GET /device_apps/

Get information about device_apps

Use the GET method on this endpoint to retrieve device_apps records. Use the available filtering fields to narrow or broaden your search.

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| X-ECM-API-ID | header | string | yes | <strong>ECM API app Id</strong> |
| X-ECM-API-KEY | header | string | yes | <strong>ECM API app key</strong> |
| X-CP-API-ID | header | string | yes | <strong>Cradlepoint API app Id</strong> |
| X-CP-API-KEY | header | string | yes | <strong>Cradlepoint API access key</strong> |
| account | query | in: int<br />out: url | no | Account that owns the device_apps object |
| account__in | query | in: int<br />out: url | no | Filter for account contains - a comma-separated list of account record IDs |
| name | query | string | no | Name of the device app |
| name__in | query | string | no | Filter for name contains - a comma-separated list of device app names |
| id | query | integer | no | device_apps record object ID |
| id__in | query | integer | no | Filter for device_apps ID contains - a comma-separated list of device_apps record IDs |
| uuid | query | integer | no | Object UUID |
| uuid__in | query | integer | no | Filter for uuid contains - a comma-separated list of uuids |
| expand | query | string (account) | no | Specifies that the returned value for the passed in attribute be expanded in the response body. |
| limit | query | integer | no | Restricts the number of records returned in a recordset to this value. Max value is 500. |
| offset | query | integer | no | Specifies where (an index) in a recordset to begin returning records. |

**Example request**

```bash
curl "https://www.cradlepointecm.com/api/v2/device_apps/" \
  -H "X-CP-API-ID: <cp-api-id>" \
  -H "X-CP-API-KEY: <cp-api-key>" \
  -H "X-ECM-API-ID: <ecm-api-id>" \
  -H "X-ECM-API-KEY: <ecm-api-key>"
```

**Response 200** — Example response.

```json
{
  "data": [
    {
      "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/",
      "created_at": "2021-02-10T22:00:38.608575+00:00",
      "description": "hello_world",
      "id": "8613",
      "name": "hello_world",
      "resource_url": "https://www.cradlepointecm.com/api/v2/device_apps/1441/",
      "updated_at": "2021-02-10T22:00:38.615080+00:00",
      "uuid": "dfc1a1fe-8394-418a-904b-ae246cceedb5"
    }
  ],
  "meta": {
    "limit": 20,
    "next": null,
    "offset": 0,
    "previous": null
  }
}
```

### DELETE /device_apps/{id}/

Delete a device_apps record

Use the DELETE method on this endpoint to delete a device_apps record. This method requires the ID of the device_apps record to delete. Performing a DELETE action removes the record from NetCloud and can't be reversed.

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| X-ECM-API-ID | header | string | yes | <strong>ECM API app Id</strong> |
| X-ECM-API-KEY | header | string | yes | <strong>ECM API app key</strong> |
| X-CP-API-ID | header | string | yes | <strong>Cradlepoint API app Id</strong> |
| X-CP-API-KEY | header | string | yes | <strong>Cradlepoint API access key</strong> |
| id | path | integer | yes | ID of the device_apps record to delete |

**Example request**

```bash
curl -X DELETE "https://www.cradlepointecm.com/api/v2/device_apps/{id}/" \
  -H "X-CP-API-ID: <cp-api-id>" \
  -H "X-CP-API-KEY: <cp-api-key>" \
  -H "X-ECM-API-ID: <ecm-api-id>" \
  -H "X-ECM-API-KEY: <ecm-api-key>"
```

**Response 200** — No response was specified
