Welcome to the Cradlepoint NetCloud Manager API
The NetCloud Manager API is a RESTful API available to Cradlepoint customers for programmatic access to their NetCloud services. The NetCloud Manager API is used to programmatically perform many of the same functions as can be performed in the NetCloud Manager user interface. This allows for integration and automation between NetCloud Manager and customer software systems.
Important: You are currently viewing the API portal as a non-logged in user. If you are a customer, log into the portal using the steps below in ACCESSING THE API PORTAL AS A LOGGED-IN USER.
NetCloud Manager API Use Cases
Managing Users
View, add, delete, and change permissions for your account's usersReacting to Events on your Routers
Use Webhooks to send alert notifications to your code.Tracking Mobile Routers
Quickly identify where mobile routers are located, and where they have been.Checking for Failovers
Review your routers that are in a failover state.Updates, New Endpoints and Features
Date | Description |
07/12/2023 | Beta release of API v3 endpoints for Private Cellular Networks, Commerce (subscriptions, asset_endpoints), and User Management (users v3). |
01/17/2024 |
When working with the users v3 endpoint (beta), note that the attributes object for collaborator users contains a reduced set of data. Collaborator users attributes: email, first_name, last_name, and timeout fields. Users attributes: email, first_name, last_name, is_active, last_login, and pending_email fields. |
API Deprecation Notes
Continued evolution of the NetCloud Manager API requires the deprecation of both endpoints and of data fields used in endpoints that no longer return accurate information.
This page lists the NetCloud Manager API endpoints and endpoint fields that have been deprecated.
References to the following endpoints and fields must be removed from your code by their deprecation date. Continuing to reference these endpoints and fields after their deprecation date will result in your code failing.
Deprecated Endpoints, Fields and other Functionality
Description: | NetCloud Manager Web and API traffic is updating to a new Certificate Authority (CA) on August 15, 2024, and the following must be addressed by August 1st, 2024: |
Deprecation Date: | 08/01/2024 |
How does this affect me? |
|
Additional Detail: |
|
Endpoint: | routers |
Deprecation Date: | 09/30/2024 |
Fields: | overlay_network_binding |
Reason: | Deprecated |
Actions to take: |
If you reference the overlay_network_binding data field in scripts when using the routers endpoint, you must remove those references by September 30, 2024, or your script may encounter unexpected errors. The endpoint base path for the routers endpoint remains: https://www.cradlepointecm.com/api/v2/routers/given NetCloud API v2. |
Endpoint: | overlay_network_binding |
Deprecation Date: | 09/30/2024 |
Fields: | All |
Reason: | Deprecated |
Actions to take: | If you reference the overlay_network_binding endpoint in your scripts, you must remove those references by September 30, 2024, or your script may encounter unexpected errors. |
Endpoint: | net_devices |
Deprecation Date: | 12/31/2023 |
Fields: | is_upgrade_available |
Reason: | This field no longer returns accurate information. |
Actions to take: | Remove any references you have to this field in your code. Note that this field still displays in responses but does not contains accurate information. |
Accessing the API portal as a logged-in user
Cradlepoint customers can access the API portal as a logged-in users to view important account information like API keys (API v2) and API usage statistics. Use the following steps to log in to the API portal
- Log in to NetCloud Manager
- Navigate to the TOOLS page.
- Click NetCloud API and then click the API Portal link to access the API Portal.
For other ways to extend and integrate with NetCloud, see the NetCloud Extensibility Solutions page.
NetCloud Manager API Documentation
This section describes the general conventions used by the NetCloud API.
Format of Examples
The NetCloud API does not require the use of any particular software tools or libraries. Any software tools that support the use of HTTP request methods will work. However, the syntax of how to express the request varies with the tool or library. The examples focus on the HTTP method, the path, and the request body (when required). These examples don't show authentication headers. The following example shows a GET request to the routers endpoint:
GET https://www.cradlepointecm.com/api/v2/routers/
It's assumed that every request sends an HTTP header with the necessary API keys.
Please note that URLs for endpoints MUST end with a forward slash (trailing slash). If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/accounts/
Incorrect format: https://www.cradlepointecm.com/api/v2/accounts
In cases of PUT or POST the examples show the data being sent as a JSON document below the PUT or POST, like this:
POST https://www.cradlepointecm.com/api/v2/groups/ {"name": "Test Group", "product":"https://www.cradlepointecm.com/api/v2/products/1/"}
PUT and POST must send a Content-Type header. If using JSON like the examples in this doc, the Content-Type must be 'application/json.'
Note: The term "device" is used in this documentation to mean either a router or access point. It is important to note that endpoint parameters and methods named, or containing, the word “router(s)” might also apply to access points.
CRUD & HTTP Methods
The API is RESTful, and uses the following HTTP methods to implement the four basic CRUD (Create, Read, Update, and Delete) operations:
Quick reference:
Create | POST | https://www.cradlepointecm.com/api/v2/{resource-type}/ | The request body should contain a resource descriptor. |
Read | GET | https://www.cradlepointecm.com/api/v2/{resource-type}/{id}/ | |
Update | PUT | https://www.cradlepointecm.com/api/v2/{resource-type}/{id}/ | The request body should contain a partial resource descriptor containing whatever attributes need to be replaced. |
Delete | DELETE | https://www.cradlepointecm.com/api/v2/{resource-type}/{id}/ | This process is not reversible. |
Create a Resource
Create a resource by sending a POST request to the root path for that resource type. The following example creates a new group, specifying the account, a group name, type of product, and the firmware for the devices in the group:
POST https://www.cradlepointecm.com/api/v2/groups/ {"account": "https://www.cradlepointecm.com/api/v2/accounts/23/", "name": "Group 2", "product": "https://www.cradlepointecm.com/api/v2/products/1/", "target_firmware": "https://www.cradlepointecm.com/api/v2/firmwares/3771/"}
By default, the resource is added to the requestor's account. If the requestor wants to add a resource to a different account, the request must include an 'account' field in the POST data.
Read Resources
Reading is simple, just issue a GET:
GET https://www.cradlepointecm.com/api/v2/routers/
Or to get a specific object, append the object's ID to the request:
GET https://www.cradlepointecm.com/api/v2/routers/1234/
Update a Resource
Like creating resources, updating resources requires you to provide a request body. The request body needs only list the attributes that are changing.
PUT https://www.cradlepointecm.com/api/v2/groups/23243/ {"name": "Renamed Group"}
Delete a Resource
Deleting a resource removes that specific resource and all the data associated with it. In the case of a router deletion, the router is unregistered from NCM and all of its associated data (e.g. alerts, state samples, signal samples, etc) is removed from the system. The delete process is not reversible.
DELETE https://www.cradlepointecm.com/api/v2/routers/1224/
Request Parameters
Parameters are appended to the path after a '?' and are used to affect result sets. The examples uses a short-hand notation in '{' brackets '}' to show common parameters that are supported.
Quick reference:
{paging} := offset=<int>&limit=<int> {fields} := fields=<val>.<val>,<val>
Examples:
GET https://www.cradlepointecm.com/api/v2/routers/?offset=100&limit=50 GET https://www.cradlepointecm.com/api/v2/router_alerts/?type=wan_unplugged&time__gte=today GET https://www.cradlepointecm.com/api/v2/accounts/?fields=name
Paging Parameters
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Format & Extensions
The only officially supported format is JSON, which is the default.
Reply Format
The NetCloud API returns the following HTTP response codes:
GET : 200 OK POST : 201 Created PUT : 202 Accepted DELETE: 204 No Content 301 Moved Permanently (Redirected) 302 Found (Redirected) 307 Temporary Redirect (Redirected) 308 Permanent Redirect (Redirected) 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 405 Method Not Allowed 409 Conflict 429 Too Many Requests 500 Internal Server Error 502 Bad Gateway
Normal response format
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/1/", "id": "3", "is_disabled": false, "name": "blue", "resource_url": "https://www.cradlepointecm.com/api/v2/accounts/3/" }, { "account": "https://www.cradlepointecm.com/api/v2/accounts/3/", "id": "4", "is_disabled": false, "name": "blue_sub", "resource_url": "https://www.cradlepointecm.com/api/v2/accounts/4/" } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Error response format
{ "errors": [ { "path": "https://www.cradlepointecm.com/api/v2/groups/" }, { "method": "POST" } ], "exception": { "message": "method not allowed", "type": "error" } }
The exception codes are listed below, as well as the fields which appear with them in the error response.
unauthorized
{ "status_code": 401, "exception": "unauthorized", "message": " Invalid Credentials i.e. missing or invalid keys.", "success": false }
forbidden
{ "exception": { "message": "forbidden", "type": "error" }, "errors": [] }
server_error
{ "exception": { "message": "Expecting ',' delimiter or '}': line 3 column 2 (char 70)", "type": "server_error" }, "errors": [] }
validation
{ "exception": { "type": "validation", "message": "bad or missing data" }, "errors": [ { "foo": "no such field" } ] }
Differences between NetCloud Manager API v2 and v3
Both versions of the NetCloud Manager API are REST-based services. NetCloud Manager API v3 contains architectural improvements designed to improve performance, stability, and usability.
The most important difference between these API versions is their authentication-and-authorization approach. NetCloud Manager API v2 uses two pairs of API keys to authenticate/authorize requests. NetCloud Manager API v3 uses a single bearer token.
It is important to note that while NetCloud Manager API transitions between API v2 and API v3, it will be common to use both versions of the API.
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 |
Versioning |
N/A |
Yest |
Expandable Fields |
Yes |
No |
Alpha Testing |
No |
Yes |
Beta Testing |
No |
Yes |
URL |
https://www.cradlepointecm.com/api/v2/ If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account |
https://api.cradlepointecm.com/api/v3 Note that a trailing slash isn't used when calling API v3 endpoints. |
Content Type |
application/json |
application/vnd.api+json |
Sign in to your account for quick access to useful values.
Use the accounts endpoint to retrieve information about your account and any nested subaccounts in your account.
Your primary, or "owning" account, is the account your NetCloud Manager (NCM) administrator places you into when giving you access to NCM. Depending on your account role and permissions, you can view or modify this account's information and the information for any subaccounts nested beneath it.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
The accounts endpoint supports GET, POST, PUT, and DELETE methods.
- accounts Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/accounts/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
- POST Examples
- The path must contain the account number ("account"); an int value
- The body must contain the "name" field/value for the account/subaccount; a string value
- PUT Examples
- The path must contain the account number ("account"); an int value
- The body must contain the "name" field with a string name for the account/subaccount
- DELETE Example
This table lists the fields associated with the accounts endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description | Permissions |
account* | in: int, out: url | =, __in | Unique ID of an account | Read Only | ||
id | int | =, __in | ID of the accounts record | Read Only | ||
is_disabled | bool | True if the account is disabled | Read Only | |||
name* | string | =, __in | Name of the account | Read/Write | ||
resource_url | url | URL of the accounts record | Read Only |
Note: * indicates the attribute is required for PUT and POST requests.
Permissions: Read/Write means a parameter is returned in responses to GET requests and is editable in PUT/POST requests.
Read Only; means a parameter is returned in responses to GET requests but is NOT editable in PUT/POST requests.
Endpoint base path:
https://www.cradlepointecm.com/api/v2/accounts/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the accounts endpoint without filters applied. This retrieves data about your primary, or "owning" account, and any nested subaccounts beneath your owning account.
curl -H "X-ECM-API-ID: $X_ECM_API_ID" -H "X-ECM-API-KEY: $X_ECM_API_KEY" -H "X-CP-API-ID: $X_CP_API_ID" -H "X-CP-API-KEY: $X_CP_API_KEY" -H "Content-Type: application/json" -L $URL
Response body for curl GET example
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/308/", "id": "241", "is_disabled": false, "name": "cradlepoint", "resource_url": "https://www.cradlepointecm.com/api/v2/accounts/241/" }, { "account": "https://www.cradlepointecm.com/api/v2/accounts/123/", "id": "308", "is_disabled": false, "name": "root", "resource_url": "https://www.cradlepointecm.com/api/v2/accounts/308/" }, { ... } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
The following is an example of the URL to use with a curl GET request to the accounts endpoint using the name filter. Using this URL with the curl example above returns data about an account, and any subaccounts it owns, matching the key/value ?name=name in the query string.
https://www.cradlepointecm.com/api/v2/accounts/?name=name
Use POST requests to the accounts endpoint to create new subaccounts in your account. Subaccounts are created as child accounts of the account specified in the "account" field in the body of the request.
Requirements for POST requests:
curl POST example that creates a new subaccount named "Nested_Subaccount" in the account specified in the account field.
curl -d '{"account" : "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "name" : "Nested_Subaccount"}' -H "X-ECM-API-ID: $ECM_API_ID" -H "X-ECM-API-KEY: $ECM_API_KEY" -H "X-CP-API-ID: $CP_API_ID" -H "X-CP-API-KEY: $CP_API_KEY" -H "Content-Type: application/json" -L $URL
Response body for curl POST example
{ "account" : "https://www.cradlepointecm.com/api/v2/accounts/308/", "is_disabled" : false, "name" : "Nested_Subaccount", "id" : "84954", "resource_url" : "https://www.cradlepointecm.com/api/v2/accounts/" }
Use PUT requests to the accounts endpoint to modify subaccounts in your account. Payloads to the PUT method for the accounts endpoint can modify the name field.
Requirements for PUT requests:
curl PUT request example
curl -v -X PUT -H "X-ECM-API-ID:40961453-652c-48bc-8445-2cfeb36d2c4a" -H "X-ECM-API-KEY:d02aacae1b4b77967014b7270812e8a465ac3174" -H "X-CP-API-ID:a939a410" -H "X-CP-API-KEY:808163e5193491974cd55eda5120ed9d" -H "Content-Type:application/json" "https://www.cradlepointecm.com/api/v2/accounts/36304/" -d '{"name": "New Subaccount Name"}'
Response body for curl PUT example
{"account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "id": "<id>", "is_disabled": false, "name": "New Subaccount Name", "resource_url": "https://www.cradlepointecm.com/api/v2/accounts/<id>/"}
Use DELETE requests to the accounts endpoint to delete subaccounts in your account. DELETE requests require the ID of the subaccount to delete, passed in the path of the URL. If a subaccount contains users, they must be removed from the subaccount before the DELETE action can proceed.
curl DELETE example
curl -v -X DELETE -H "X-ECM-API-ID:40961453-652c-48bc-8445-2cfeb36d2c4a" -H "X-ECM-API-KEY:d02aacae1b4b77967014b7270812e8a465ac3174" -H "X-CP-API-ID:a939a410" -H "X-CP-API-KEY:808163e5193491974cd55eda5120ed9d" "https://www.cradlepointecm.com/api/v2/accounts/36304/"
Successful DELETE action return a 204 response code with no response body with no content.
Forms
Use the forms below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
Use the activity_logs endpoint to view the activities taken in your account.
An activity occurs when an initiator (known as an actor) performs an activity (known as an action) upon a NetCloud entity (known as an object) within an NCM account.
- actor (actor__type): the initiator of an action (e.g. user, system, etc)
- action (action__type): something an actor did (updated a device configuration, logged in, created a group, etc)
- object (object__type): the NCM entity acted upon by an actor (e.g. sso acount, router, net_device, etc)
For example, 'user [x] registered a router' where user is the actor, registered is the action and router is the object.
Note: Activity Log data is retained in NetCloud for 30 days.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET
- Actor/Action/Object Table
- system
- user
- api_key
- router
- sso_user
- access_point
- create
- delete
- update
- request
- report
- login
- logout
- register
- unregister
- activate
- license
- account
- user
- group
- router
- schedule
- sso_user
- task
- api_key
- net_device
- notifier
- feature_binding
- authorization
- remote_connection
- remote_connection_profile
- remote_lan_management
- sso_account
- access_point
- sso_authorization
- network
- data_plan
- location
- data_pact
- production_database_entity
- production_database_transaction
- Changes to account level settings including Session Length, Forced MFA, Enhanced Login Security, and Company Contacts
- Creation/deletion and updates of user authorization within a company
- Creation/deletion and updates of users
- User logins and logouts
- activity_logs Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/activity_logs/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
Actors | Actions | Objects |
|
|
|
It is important to note that certain activities that are visible in the NCM Activity Logs are not available when calling this endpoint. These activities include the following:
This table lists the fields associated with the activity_logs endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
account | int | = | Account that created the activity_logs record | ||
action__id | string | = | ID of the object for the activity | ||
action__timestamp | timestamp | =, __gt, __gte, __lt, __lte | Timestamp for the action taken | ||
action__type | string | = | Name of the action taken | ||
actor__id | string | = | ID (exact) of the actor who took the action | ||
actor__type | string | = | Type of actor who took the action | ||
created_at | timestamp | =, __gt, __gte, __lt, __lte | Timestamp for the activity that occurred | ||
object__id | string | = | ID (exact) of the action taken | ||
object__type | string | = | Type of object the action was taken upon |
Endpoint base path:
https://www.cradlepointecm.com/api/v2/activity_logs/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the activity_logs endpoint without filters applied. This retrieves all the Activity Log records in the account.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/activity_logs/?account=<account number>"
Response body for curl GET example without filters applied.
{ "data": [ { "action": { "after": { "account": { "id": "8432354", "name": "API-created-subaccount" } }, "before": { "account": { "id": "36304", "name": "New Subaccount Name" } }, "id": "ceac0376-675c-11eb-bf0a-56fa34ed58df3", "timestamp": "2021-02-05T02:49:46.696383Z", "type": 3, "type_name": "update" }, "actor": { "email": "actor@email.address", "id": "045fgBd0s344tzah0g", "type": 5, "type_name": "sso_user" }, "object": { "id": "119012951", "role": { "id": "4", "name": "account_read_only" }, "type": 12, "type_name": "authorization", "user": { "email": "user@email.address", "id": "vOAwbBPFbagt12l9" } } } ], "meta": { "limit": 20, "next": "https://www.cradlepointecm.com/api/v2/activity_logs/?action__id__lt=8f9db4d2-6a5d-11eb-a58d-5269e9f352ab" } }
Example curl GET request/response to the activity_logs endpoint with the created_at__exact filter applied. This retrieves the Activity Log action record with the matching timestamp.
curl -v -X GET curl -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/activity_logs/?created_at__exact=2021-02-05T02%3A49%3A46.696383Z"
Example response:
{ "data": [ { "action": { "after": { "account": { "id": "8432354", "name": "API-created-subaccount" } }, "before": { "account": { "id": "36304", "name": "New Subaccount Name" } }, "id": "ceac0376-675c-11eb-bf0a-56fa34ed58df3", "timestamp": "2021-02-05T02:49:46.696383Z", "type": 3, "type_name": "update" }, "actor": { "email": "actor@email.address", "id": "045fgBd0s344tzah0g", "type": 5, "type_name": "sso_user" }, "object": { "id": "119012951", "role": { "id": "4", "name": "account_read_only" }, "type": 12, "type_name": "authorization", "user": { "email": "user@email.address", "id": "vOAwbBPFbagt12l9" } } } ], "meta": { "limit": 20, "next": "https://www.cradlepointecm.com/api/v2/activity_logs/?action__id__lt=8f9db4d2-6a5d-11eb-a58d-5269e9f352ab" } }
Forms
Use the form below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
Use the alert_push_destinations endpoint to define HTTP destinations that can receive alert notifications. The destination_config_id field in alert_push_destinations records is used in the alert_rules endpoint http_destinations field to link an alert rule configuration to an HTTP destination for notification.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET, POST, PATCH, DELETE
- alert_push_destinations Endpoint Fields and Filters
- Push Alert States
- active: the push process to the destination url is successful and alerts continue to stream to the destination URL as they are generated.
- unreachable: pushing to the destination url fails and the server is making automatic retry attempts.
- suspended: pushing to the destination URL is turned off by the server when it could not re-establish a connection to the destination URL.
- disabled: push alerts have been disabled manually by a user via NetCloud Manager or the API.
- Outbound IP Addresses
- 54.68.111.210
- 35.167.132.236
- 54.71.14.40
- 3.221.235.88
- 23.23.36.130
- 44.194.143.163
- 18.198.46.227
- 18.195.131.70
- 3.67.129.67
- 3.104.136.156
- 13.238.12.132
- 13.55.130.228
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/alert_push_destinations/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- Field Notes
- GET Examples
- POST Examples
- PATCH Examples
- DELETE Example
This table lists the fields associated with the alert_push_destinations endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description | Permissions |
account | url | URL of account that created the alert_push_destinations record | Read Only | |||
authentication* | JSON | See the Field Notes section below for details. | Read/Write | |||
destination_config_id! | timeuuid | =, __in, __gt, __lt | Unique ID of an Alert Push Destination. A timeuuid type. | Read Only | ||
enabled | boolean | Indicates whether this configuration is enabled. Defaults to true. | Read/Write | |||
endpoint* | JSON | See the Field Notes section below for details. | Read/Write | |||
last_error_at | timestamp | Timestamp last_error_text was produced. | Read Only | |||
last_error_text | string | If this configuration has generated any push errors, this is the text of the last error. | Read Only | |||
name* | string | Friendly name for destination. | Read/Write | |||
suspended | boolean | Indicates whether a destination is suspended. See the Field Notes section below for details. | Read/Write | |||
updated_at | timestamp | Last time this alert_push_destinations record was updated. Read only, generated by server. | Read Only |
Note: ! indicates the attribute is required for PATCH and DELETE requests.
Note: * indicates the attribute is required for POST requests.
Permissions: Read/Write means a parameter is returned in responses to GET requests and is editable in PATCH/POST requests.
Read Only means a parameter is returned in responses to GET requests but is NOT editable in PATCH/POST requests.
Endpoint base path:
https://www.cradlepointecm.com/api/v2/alert_push_destinations/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Push alert notifications originate from any of the following IP addresses used by NetCloud in AWS. Note that these notifications are sent from NetCloud using HTTPS POST.
us0 NAT GW IPsWhitelisting these IP addresses can help ensure that you receive Push alerts only from valid Cradlepoint IP addresses.
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Endpoint field
The endpoint field is a flat JSON dictionary. It supports only a single key, “url”. The url field is a string containing the push destination URL. This field is required for POST and may be updated with PATCH. For example: {“url“: “https://pushdestinationserver.somecustomer.com”}
Note: You are not allowed to save two different push configurations for your account that both have the same endpoint URL. An error is thrown on POST/PATCH if this is attempted.
Authentication field
The authentication field is a flat JSON dictionary. It supports only a single key, “secret”. TThe authentication field is an arbitrary string containing a shared secret, such as a UUID. This field is required for POST and may be updated with PATCH. On GET, the value will always be returned as “*” for security. For example:
POST or PATCH:
{“secret“: “thisIsAUniqueValueNoOneWillBeAble2Guess”}
GET:
{“secret“: “*”}
A SHA256 hash of this secret + the body is sent in the “X-CP-Signature” HTTP header of each pushed alert message. This allows the customer to authenticate the source of the push message.
Customers authenticate the source of the push message using webhooks on their destination server. Webhooks are an increasingly popular method for communication between applications. The following pattern is a Python webhook example for authentication of a push message's secret.
Note: The following webhook code is for example purposes only and isn't intended for production use. It is designed to provide a general approach to follow in your language of choice. See the Sample Code page (link in the menu on the left) for detailed information on webhooks and using the NetCloud Alert Push API.
import hmac def lambda_handler(event, context): body = event["body"] or " " headers = event["headers"] ret = 200 secret = "__super secret__" h = hmac.new(secret.encode("utf-8"), body.encode("utf-8"), "sha256") signature = h.hexdigest() if signature != headers["x-cp-signature"]: ret = 403 else: ret = 200 return { 'statusCode': ret }
Suspended field
The suspended field in the alert_push_destinations endpoint represents the current connectivity state of a push destination defined in the endpoint field. The value of the suspended field can be either “True” indicating the push destination endpoint is suspended, or “False” indicating that the push destination endpoint is not suspended. The suspended field’s value can be patched from “True” to “False” {“suspended”: “False”}. Since the push destination might have become reachable after the suspended field was set to “True”, patching {“suspended”: “False”} allows you to try to reach it again.
Note: The suspended field can’t be patched from “False” to “True.”
To get all the Alert Push Destinations configured in your account:
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/alert_push_destinations/"
To retrieve a single Alert Push Destination, pass the destination_config_id as a query param in the URL.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/alert_push_destinations/?destination_config_id=4d75218a-665a-11eb-9aa9-42edcb7bf284"
Example response body of a GET request for a single alert_push_notification record.
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "authentication": { "secret": "*" }, "destination_config_id": "4d75218a-665a-11eb-9aa9-42edcb7bf284", "enabled": true, "endpoint": { "url": "https://example.com.com" }, "last_error_at": null, "last_error_text": null, "name": "mypushexample", "suspended": false, "updated_at": "2021-02-03T19:59:19.754418%2B00:00" } ], "meta": { "limit": 20, "next": null } }
POST example for creating a new Alert Push Destination that uses "https://example.com.com" as its destination.
Note: The invalid example url "https://example.com.com" is corrected in the PATCH example in the next section.>
curl -v -X POST -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type:application/json" "https://www.cradlepointecm.com/api/v2/alert_push_destinations/" -d '{ "endpoint": {"url": "https://example.com.com"}, "authentication": {"secret": "mysecretsecret"}, "name": "mypushexample" }'
Example response body
{ "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "authentication": { "secret": "*" }, "destination_config_id": "4d75218a-665a-11eb-9aa9-42edcb7bf284", "enabled": true, "endpoint": { "url": "https://example.com.com" }, "last_error_at": null, "last_error_text": null, "name": "mypushexample", "resource_url": "https://www.cradlepointecm.com/api/v2/alert_push_destinations/", "suspended": false, "updated_at": "2021-02-03T19:59:19.754418%2B00:00" }
The following example updates the url field in an Alert Push Destination.
curl -v -X PATCH -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type:application/json" "https://www.cradlepointecm.com/api/v2/alert_push_destinations/1cf2c024-64e5-11eb-be7d-42edcb7bf284/" -d '{"url": "https://example.com"}'
Successful PATCH requests return an empty response body with a 202 response code.
To delete an Alert Push Notification, call the alert_push_notifications endpoint and pass the destination_config_id of the Alert Push Notification to delete.
curl -v -X DELETE -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/alert_push_destinations/1cf2c024-64e5-11eb-be7d-42edcb7bf284/"
Successful DELETE requests return an empty response body with a 204 response code.
Forms
Use the forms below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
Use the alert_rules endpoint to configure Alert Rules that monitor the health and status of your NetCloud account and endpoints. Alert rules are groupings of one or more alert types. Alert types specify the NetCloud system events that you want to be notified of. See the Cradlepoint Connect article Alerting and Reporting for more details on the types of alerts available in NetCloud.
The alert_rules endpoint provides the same functionality as available in the NetCloud Manager (NCM) UI on the Alerts & Logs pages. You can create new Alert Rules, view, edit, and delete them using this endpoint. See the List of NetCloud Alerts section below for a listing of the alerts available in NetCloud.
When an alert is triggered, the alert registers in NetCloud and displays in the NetCloud Manager Alert Log. Alert notifications can be sent via email and to HTTP destinations.
- Email notifications: when creating an Alert Rule to use email notifications, add one or more user IDs to a list in the email_destinations field. The user IDs from this field are resolved by NetCloud into user email addresses and notification of the alert is sent to those email addresses.
- Push notifications: alert notifications can be pushed to one or more URLs for processing and monitoring in custom applications. To configure an Alert Rule to send push notifications, use the http_destinations field. This field accepts a list of one or more destinations that you define using the alert_push_destinations endpoint. If you do not have any alert destinations configured in NetCloud, you must create at least one destination to use the push notification functionality.
Important: The unique identifier for an alert_push_destinations record is the destination_config_id (timeuuid) field. The value from this field is the value you must use in the http_destinations field list when configuring an Alert Rule to use a push notification.
NOTE: Certain alerts can be configured with thresholds. These thresholds allow you to control when alerts are triggered. See the Cradlepoint Customer Connect Knowledgebase article Alerting and Reporting for details on using alerts that have thresholds.
When configuring an Alert Rule to push to an HTTP destination, the following steps are required.
- Configure a destination to push the alert(s) to using the alert_push_destinations endpoint
- Test the destination to ensure it was added correctly using the test_alert_push_destination endpoint
- Configure an Alert Rule using this endpoint (alert_rules) and specify one or more destinations for the alert to be pushed to in the http_destination field. Only one destination is required.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET, POST, PATCH, DELETE.
- alert_rules Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/alert_rules/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- List of NetCloud Alerts
- GET Examples
- POST Examples
- “carrier”: This contains the name of a carrier as it appears in your carrier data (e.g., VERIZON, SPRINT). This should be a carrier for which the server has a matching data plan already configured for this account, on the Carrier dashboard in NCM. The server will use this carrier name to find a matching PDP data plan which the alert will be attached. If there is no existing data plan for this carrier/account combination, an error is thrown on save validation.
- “thresholds”: This contains a list of integers representing the percent thresholds at which an alert is triggered. For example, “Verizon data usage alerted at 80% of monthly limit”.
- PATCH Examples
- DELETE Example
This table lists the fields associated with the alert_rules endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description | Permissions |
account | url | Account that created the alert_rules record | Read Only | |||
alert_config_id! | url | =, __in, __gt, __lt | Unique ID of an Alert Rule. A timeuuid type. | Read Only | ||
associated_accounts | List of ints | List of ints that identify accounts to include alert types from. These become part of your Alert Rule. | Read/Write | |||
associated_groups | List of ints | List of ints that identify groups to include alert types from. These become part of your Alert Rule. | Read/Write | |||
email_destinations | List of ints | Use this to list email destinations to receive notification when this alert type is triggered. This is a list of user IDs; NetCloud converts these to email addresses. To obtain user IDs for this field, call the "users" endpoint. | Read/Write | |||
filter_criteria* | Dictionary with two keys: alert_type__in and external_id__in. | Use a dictionary to specify alert types by name for your Alert Rule. You can use any alert-type name available in NetCloud. | Read/Write | |||
http_destinations* | list(timeuuid) | Use this to list HTTP destinations to receive notification when this alert type is triggered. This is a list destination_config_ids (timeuuids) that link Alert Rules with alert_push_destinations records. | Read/write | |||
schedule* | timestamp | Schedule for sending notifications. Can be None | Hourly | Daily. | Read/Write | |||
settings | json | Additional settings for particular alert types. Currently suports extra information only for PDP service-overage alerts. | Read/write | |||
updated_at | timestamp | Last date/time an alert_rules record was updated. | Read only |
Note: ! indicates the attribute is required for PATCH and DELETE requests.
Note: * indicates the attribute is required for POST requests.
Permissions: Read/Write means a parameter is returned in responses to GET requests and is editable in PATCH/POST requests.
Read Only means a parameter is returned in responses to GET requests but is NOT editable in PATCH/POST requests.
Endpoint base path:
https://www.cradlepointecm.com/api/v2/alert_rules/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
The following tables list Alert types available in NetCloud.
Router Alerts
Alert Type | Description | Alert Field Name |
ADC Voltage Event | Occurs on devices with voltage-sensing systems when a voltage limit is reached, and also when the voltage returns to within the accepted range. | adc_event |
AP/Core Connection State | The cellular AP specified service type connectivity to the packet core entered the specified state. | pcn_ap_connection_state |
Battery Health | Creates an alert when the remaining battery life reaches 62%. | batt_health_alert |
Battery Over Current | Creates an alert when the battery's current reaches 3.2 amps (3200 mA). | batt_over_current_alert |
Battery Over Temperature | Creates an alert when the battery's temperature reaches 50 degrees Celsius. | batt_over_temp_alert |
Battery Over Voltage | Creates an alert when the battery's recommended voltage reaches 8.5V (8500 mV). | batt_over_voltage_alert |
Battery System Low Power | Creates an alert when the battery's power reaches 20% charge. | batt_sys_low_power_alert |
Battery System Power Off | Creates an alert when the battery's power reaches 7% charge. | batt_sys_power_off_alert |
Cellular Radio Status | The cellular AP radio interface has entered the specified state. | pcn_ap_radio_status |
Configuration Changed | Occurs when there has been a local configuration change. | config_change |
Configuration Rejected | Occurs when a configuration change was sent to the device but was rejected. | config_rejected |
Configuration Unacknowledged | Occurs when a configuration change was sent to the device but was not acknowledged by the device. | config_unacked |
CPU Utilization | CPU Utilization crossed a threshold. | cpu_utilization |
Custom Alert | Is an alert generated by custom code in an NCOS SDK app. | custom_alert |
Data Cap Threshold | Occurs when a data cap threshold is reached. | data_cap_threshold |
Device Location Unknown | Occurs when no location is reported for 24 hours on a device with Location Services (GPS) enabled. If a manual location is used the alert is not generated. | device_location_unknown |
Ethernet WAN Connected | Indicates that an Ethernet WAN device is now active. | ethernet_wan_connected, intel_ethernet_wan_connected |
Ethernet WAN Disconnected | Indicates that an Ethernet WAN device is no longer active. | ethernet_wan_disconnected, intel_ethernet_wan_disconnected |
Ethernet WAN Plugged In | An Ethernet WAN device is now attached. | ethernet_wan_plugged |
Ethernet WAN Standby | An Ethernet WAN device is in standby mode | ethernet_wan_standby |
Ethernet WAN Unplugged | An Ethernet WAN device has been removed. | ethernet_wan_unplugged |
Failed Login Attempt (NCM) | SOURCE: (source_ip) | USER: (user) | REASON: (reason) | ncm_login_failure |
Failover Event | A router (or group of routers) has changed the primary WAN interface from a higher- priority interface to a lower-priority interface. | failover_event |
Firmware Upgrade | Occurs when the device's NetCloud OS is upgraded. | firmware_upgrade |
GBR Bearer Setup Failure | The device with the specified IMSI failed to connect to its requested QCI because the guaranteed bitrate requirement could not be met. | pcn_core_ue_dedicated_bearer_alloc_failure |
Geo fence Proximity Change | Occurs whenever the device enters or exits the specified Geo-fence | geofence_proximity_change |
GPIO State Change | Occurs when a device's GPIO pin has changed state. To view or update the GPIO configuration, open the Device UI and select the System > GPIOs tab. This alert requires NetCloud OS 6.0.2 and newer, and a Cradlepoint device with GPIO. | gpio_state_change |
Interface Status | The packet core specified interface has entered the specified state. | pcn_core_port_status_changed |
IPsec Connection State | The packet core IPsec connectivity to the specified cellular AP entered the specified state. | pcn_core_ipsec_connection_status_changed |
IP Address Banned | Occurs if the Ban IP Address setting is turned on for a device and someone from a particular IP address attempts and fails to log into the Device UI six times, that IP address is banned for 30 minutes. To enable this setting, login to the Device UI and go to System > Administration > Router Security and click on Advanced Security Mode. Select the Ban IP Address option. | ip_banned |
Intrusion Activity | Is only relevant for devices with CP Secure Threat Management. Whenever the Threat Management deep packet inspection engine detects an intrusion, that event is recorded in the logs. These events are grouped together for 15 minutes and then reported in NetCloud Manager, so an emailed alert notification might not arrive for approximately 15 minutes after an intrusion. Intrusion Activity alerts include the intrusion details and the action taken by the engine (e.g., Blocked). To edit Threat Management settings, login to the Device UI and select Security > Threat Management. For more information, see CP Secure Threat Management Overview. |
ips_activity |
IPS Engine Failure | For devices using Cradlepoint Secure Threat Management (CPSTM), this alert occurs in the unlikely event that the Threat Management engine fails. You can set the router to either allow or deny traffic with a failure. To edit this setting, log in to the Device UI and go to Security > Threat Management. | ips_eng_failure |
IPSec VPN Tunnel Down | Occurs when a connected IPSec tunnel is disconnected. | ipsec_tunnel_down |
IPsec Tunnel Setup Failure | The cellular AP failed to setup an IPsec tunnel with the specified packet core. | pcn_ap_ipsec_setup_failure |
IPS Enablement Change | Occurs when Intrusion Prevention Systems / Intrusion Detection Systems (IPS/IDS) has been enabled or disabled using Cradlepoint Secure Threat Management (CPSTM) and provides details about who made the change and when it occurred. | ips_enable_disable |
IPS Mode Change | Occurs when the IPS/IDS mode has been changed (for example, from Detect and Prevent to Detect Only) using CPSTM and provides details on what changed, who made the change, and when it occurred. | ips_mode_change |
IPSec VPN Tunnel Restored | Occurs when a connected IPSec tunnel reconnects after being disconnected. | ipsec_tunnel_restored |
IPSev VPN Tunnel Up | Occurs when an IPSec tunnel initially connects. | ipsec_tunnel_up |
IP Verify Test Result | Occurs when an IP Verify test is complete. | ipverify_event |
Successful Login (Router) | A login attempt succeeded to the router's Device UI. | login_success |
Location Service Mode Changed | Alert sent when there is change to the configuration of Location Services (including but limited to turning it on/off). This alert contains the time and date of the change, what was changed, and the device or group to which it was applied. | location_service_change |
Memory Utilization | Memory Utilization crossed a threshold. | memory_utilization |
Modem Software Upgrade Available | Occurs when new modem software is available for download. Includes the version number of the new software, the products to which it applies, and a link to the Release Notes. | modem_firmware_summary_create |
Modem WAN Connected | A modem WAN device is now active. | modem_wan_connected, intel_modem_wan_connected |
Modem WAN Disconnected | Indicates that a modem WAN device is no longer active. | modem_wan_disconnected, intel_modem_wan_disconnected |
Modem WAN Device Plugged In | A modem WAN device is now attached. | modem_wan_plugged |
Modem WAN Standby | Indicates that a modem WAN device's default connection state is set to Standby. This means the modem is connected to the carrier, but is not sending data. A modem in Standby will failover faster than a modem not in Standby. Standby is enabled by modifying the Default Connection State from the Device UI's Connection Manager table. | modem_wan_standby |
Modem WAN Device Unplugged | A modem WAN device has been removed. | modem_wan_unplugged |
Microsoft IoT Disconnect | Occurs when a Microsoft IoT device disconnects. | msft_iot_disconnect |
NCM Connection State | Occurs when the device loses or regains its connection to NetCloud Manager. A device must be online or offline for 60 seconds before this alert is generated. For more information, see Details on NetCloud Manager Connection State Online and Offline Alerts. |
connection_state |
NetCloud OS Upgrade Available | Occurs when new NetCloud OS software is available for download. Includes the version number of the new software, the products to which it applies, and a link to the Release Notes. | ncos_firmware_summary_create |
No SAS Response | The cellular AP did not receive a response from the CBRS SAS server. | pcn_sas_no_response |
NTP Sync Issue | The cellular AP cannot reach the NTP server and may have incorrect system time. | pcn_ap_ntp_syn_failure |
NTP Sync Issue | The packet core cannot reach the NTP server and may have incorrect system time. | pcn_core_ntp_sync_failure |
Reboot | Occurs when the device is rebooted. | reboot_status_change, intel_reboot_status_change |
Remote Connect Ended | A remote connect session to the specified router has been closed. | remote_connection_destroyed |
Remote Connect Started | A remote connect session to the specified router has been opened. | remote_connection_request |
Rogue Access Point Detected | Occurs after running a Wi-Fi site survey when a rogue access point not marked as "known" is detected broadcasting the same SSID as the device running the site survey. This helps identify potential access-point hijacking, evil twin, and man-in-the-middle Wi-Fi attacks. | duplicate_ssid |
Router Group Change | The specified router has been moved or added to the specified group. Also includes the username associated with the move, the date and time, the group the router was in previously (if applicable) and the group to which the router was added (if applicable). | router_group_change |
NCOS App Execution State Changed | Indicates that an NCOS SDK app that is running on a group has entered a different execution state (start, stop, error, etc). | router_sdk_app_execution_state_changed |
Unexpected NCOS App Installed | Indicates that an unexpected NCOS SDK app is found installed, an expected NCOS SDK app is unexpectedly uninstalled, or a that an NCOS app unknown to the system is found installed. | router_sdk_mismatched_app_action |
S1 Setup Failure | The packet core failed to setup an S1 connection with the specfiied cellular AP. | pcn_core_s1_setup_failure |
S1 Connection State | The packet core S1 connectivity to the specified cellular AP entered the specified state. | pcn_core_s1_connection_state |
SAS Grant Expired | A CBRS SAS Grant has expired for the cellular AP. | pcn_sas_grant_expired |
SAS Grant Success | The cellular AP received a CBRS SAS grant successfully. | pcn_sas_grant_success |
SAS Grant Suspended | A CBRS SAS Grant was suspended for the cellular AP. | pcn_sas_grant_suspended |
SAS Grant Terminated | A CBRS SAS Grant was terminated for the cellular AP. | pcn_sas_grant_terminated |
SCEP Enrollment Failure | This alert is generated when a device attempts to enroll with a SCEP server but can't enroll successfully. | scep_enrollment_failure |
SCEP Enrollment Success | This alert is generated when a device successfully enrolls with a SCEP server. | scep_enrollment_success |
SIM Door Event | Occurs when the SIM door opens or closes. | sim_door_event |
SPAN Enabled | SPAN Packet Cloning Enabled | span_enabled |
System Error Requires Reboot | The router rebooted due to a system error that requires a reboot to resolve. | system_error |
Sustained System Overload | The system experienced sustained levels for CPU or Packet Loss that exceeded thresholds. | sustained_system_overload |
Test Error | A speed test encountered an error. | csi_test_error |
Test Failed | A carrier failed to meet the benchmarks for a speed test. | csi_test_failed |
Test Passed | A carrier met or exceeded the benchmarks for a speed test. | csi_test_passed |
Test Started | All preconditions have been met for CSI (Carrier Selection Intelligence) to start. | csi_test_started |
Temperature Limit Exceeded | Occurs on devices with an internal temperature sensor (COR IBR1100 and IBR1150) when a user-defined temperature limit is reached. To set the temperature limits for the COR IBR1100 Series, login to the Device UI, select System > Administration, and then click the Temperature tab. | thermal_exceeds_limit |
Tunnel Limit Reached | Occurs when the number of IPSec tunnel connections has met or exceeded either 90% or 100% of the maximum tunnel limit. | tunnel_limit |
Unrecognized Client | Indicates a client with an unrecognized MAC address has attempted to connect to the device. MAC logging must be enabled to trigger this alert. To enable MAC logging, login to the Device UI and go to Networking > Local Networks> MAC Filter & Logging and select Enable MAC Logging. | unrecognized_mac_alert |
VRRP State Changed to Backup | The specified router has become a VRRP backup. You can further configure this alert to only be sent if the router was previously a master or in a fault state for a specified period. | vrrp_new_backup, intel_vrrp_new_backup |
VRRP State Changed to Fault | The specified router is in a VRRP fault state. You can further configure this alert to only be sent if the router was previously a backup or a master for a specified period. | vrrp_new_fault, intel_vrrp_new_fault |
VRRP State Changed to Master | The specified router has been become a VRRP master. You can further configure this alert to only be sent if the router was previously a backup or in a fault state for a specified period. | vrrp_new_master, intel_vrrp_new_master |
WAN Service Type | Indicates that a WAN device has changed its service type, such as switching from 3G to 4G. Possible service types include: DHCP, LTE, HSPA+, etc. | wan_service_type |
WAN Status Change | Router WAN has plugged, unplugged, connected or disconnected. (Deprecated) | wan_status_change |
Webhook Suspended | Previously configured webhook is in a suspended state. | http_destination_suspended |
Webhook Failure | Webhook delivery failed for alert with UUID (created_uuid), type (type), account (account_id), router (router_id), at time (created_ts) with message: (message). | http_push_failure |
WiFi Client State Changed | Occurs when a WiFi client changes state. For example, when a client's state changes from connected to disconnected (requires NetCloud OS version 6.6.1 and newer). | wifi_client_state_change |
WiFi as WAN Standby | Indicates a WiFi as WAN network is in standby. | wwan_standby |
WiFi as WAN Connected | Indicates WiFi as WAN is no longer active. | wwan_connected |
WWAN Disconnected | A WiFi as WAN network is no longer active. | wwan_disconnected |
WiFi as WAN Network Available | A WiFi as WAN network is now attached. | wwan_network_available |
WiFi as WAN Network Unavailable | A WiFi as WAN network has been removed. | wwan_network_unavailable |
Zscaler TLS Tunnel State | Indicates the state of a Zscaler tunnel has changed. | zs_tls_tunnel |
Account Alerts
Alert Type | Description | Alert Field Name |
Account Locked | The account is locked for 30 minutes after six failed attempts to log into the device. | account_locked |
Non-Compliant Devices | Indicates account has new non-compliant devices. | acs_noncompliant_devices |
Unlicensed Devices | Indicates account has new unlicensed devices. | acs_unlicensed_devices |
Devices Unlicensed in 5 Days | Indicates account has devices unlicensing in 5 days. | acs_unlicensed_in_5_days |
Devices Unlicensed in 15 Days | Indicates account has devices unlicensing in 15 days. | acs_unlicensed_in_15_days |
Pooled Carrier Data Usage | Creates an alert when a user-defined usage percentage is met for a pooled data plan. | pdp_account_overage |
Carrier Data Usage Per Router | Creates an alert when a user-defined usage percentage is met for a single router. | pdp_router_overage |
Subscriptions Expiring 180 Days | Indicates account has subscriptions expiring in 180 days. For more information on notification limitations with Subscriptions Expiring alerts, see Alerts Not Supported for Use in Webhooks. Note the potential issues when using this alert. |
acs_expires_in_180_days |
Subscriptions Expiring 90 Days | Indicates account has subscriptions expiring in 90 days | acs_expires_in_90_days |
Subscriptions Expiring 60 Days | Indicates account has subscriptions expiring in 60 days | acs_expires_in_60_days |
Subscriptions Expiring 30 Days | Indicates account has subscriptions expiring in 30 days | acs_expires_in_30_days |
Subscriptions Expiring 15 Days | Indicates account has subscriptions expiring in 15 days | acs_expires_in_15_days |
Subscriptions Expiring 5 Days | Indicates account has subscriptions expiring in 5 days | acs_expires_in_5_days |
To get all the Alert Rules configured in your account:
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/alert_rules/"
To retrieve a single Alert Rule, pass the alert_config_id as a query param in the URL.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/alert_rules/?alert_config_id=1a5faaf8-6649-11eb-9823-42edcb7bf284"
Example response body of a GET request for a single alert_rule record.
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/35065/", "alert_config_id": "e81f4500-1e13-11b2-bfff-ffffffffffff", "associated_accounts": [ 86819, 84906, 86737, 36023, 35065, 84954 ], "associated_groups": [], "email_destinations": [ 63944 ], "external_rules": null, "filter_criteria": { "alert_type__in": [ "geofence_proximity_change" ] }, "http_destinations": [], "last_summary_ts": "2021-04-27T22:28:45.262710+00:00", "schedule": null, "settings": null, "updated_at": "2021-04-27T22:29:16.096135+00:00" } ], "meta": { "limit": 20, "next": null } }
Example POST request to add an Alert Rule for an account_locked alert type that registers an alert daily and sends push notifications to a single HTTP destination. A Content-Type header set to "application/json" must be included in the request.
curl -v -X POST -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type:application/json" "https://www.cradlepointecm.com/api/v2/alert_rules/" -d '{ "schedule": "daily", "filter_criteria": { "alert_type__in": ["account_locked"] }, "http_destinations": ["1cf2c024-64e5-11eb-be7d-42edcb7bf284"] }'
Example response body.
{ "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "alert_config_id": "1a5faaf8-6649-11eb-9823-42edcb7bf284", "associated_accounts": [], "associated_groups": [], "email_destinations": [], "external_rules": null, "filter_criteria": { "alert_type__in": [ "account_locked" ] }, "http_destinations": [ "1cf2c024-64e5-11eb-be7d-42edcb7bf284" ], "last_summary_ts": null, "resource_url": "https://www.cradlepointecm.com/api/v2/alert_rules/", "schedule": "daily", "settings": null, "updated_at": "2021-02-03T17:56:12.605494+00:00" }
If you use filter_criteria in an Alert Rule that contains pdp_router_overage or pdp_account_overage types, you must supply entries for them in the settings field using the following pattern.
{ "settings": { "pdp_router_overage": { "carrier": "VERIZON", "thresholds": [ 25, 50, 75, 90 ] }, "pdp_account_overage": { "carrier": "VERIZON", "thresholds": [ 50, 60, 80 ] } } }
The settings contain a key for each PDP type that is present in the filter_criteria field. Any settings for types not in the filters field, or non-PDP types, are ignored. Each alert type key contains a dictionary with two keys:
To update an Alert Rule with a PATCH request, call the alert_rules endpoint with the alert_config_id of the Alert Rule to update in the URL. A Content-Type header set to "application/json" must be included in the request.
The following example updates the schedule field in an Alert Rule.
curl -v -X PATCH -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type:application/json" "https://www.cradlepointecm.com/api/v2/alert_rules/8696b080-1dea-11b2-bfff-ffffffffffff/" -d '{ "schedule": "hourly" }
Successful PATCH requests return an empty response body with a 201 response code.
To delete an Alert Rule, call the alert_rules endpoint and pass the alert_config_id of the Alert Rule to delete.
curl -v -X DELETE -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/alert_rules/94026980-1def-11b2-bfff-ffffffffffff/"
Successful DELETE requests return an empty response body with a 204 response code.
Forms
Use the forms below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
NetCloud Manager (NCM) provides alert functionality to notify NCM users of the health and status of their account and devices. Use the alerts endpoint to view alerts that have been generated in your account.
Alerts must be configured in NetCloud, using the NCM UI or the alert_rules endpoint, before they are generated. The default NCM configuration does not create any alerts. After the alerts have been configured, use this endpoint or the NCM UI to monitor the alerts.
See the List of NetCloud Alerts section below for a listing of the alerts available in NetCloud.
Special Notes:
- This endpoint does not have the standard filter limits of 100 values per field (ex. router__in=[1234,4321,...])
- This endpoint will have only one value out of the router field and the account field. The other value will always be "null." You can filter on the value being null or not with the isnull operation. For example, "/alerts/?router__isnull=true" will give you alerts where the router field has a "null" value.
- See the "router_alerts" endpoint on this page for details on alerts specific to routers.
NOTE: Certain alerts can be configured with thresholds. These thresholds allow you to control when alerts are triggered. See the Cradlepoint Customer Connect Knowledgebase article Alerting and Reporting for details on using alerts that have thresholds.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET.
- alerts Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/alerts/"
- BODY = -d '{"<field name>": "<field value>"}
- Important Alert/Push Alert Data-Type Differences
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- List of NetCloud Alerts
- GET Examples
This table lists the fields associated with the alerts endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
account | url | =, __in, __isnull | Account the alert is related to, or null if the router field has a value | ||
created_at | timestamp | __gt, __lt | Timestamp for when the alerts record was created | ||
created_at_timeuuid | timeuuid | =, __in, __gt, __gte, __lt, __lte | A unique ID associated with the created_at timestamp. Ordering by the ID is equivalent to time ordering. This field can identify a specific record or be used for paging. | ||
detected_at | timestamp | Time the alert was detected | |||
friendly_info | string | Human-readable description of the alert | |||
info | json | Alert-type specific information | |||
router | url | =, __in, __isnull | Device this alert is related to, or null if the account field has a value | ||
type | string | =, __in | The type of the alert |
Endpoint base path:
https://www.cradlepointecm.com/api/v2/alerts/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
The router and account fields have different data types depending on whether they are in a response to a GET request made to the alerts endpoint, or in a push alert body.
In GET response bodies, the router and account fields are URL types. In push alert bodies, the router and account fields are integer types.
The reason for these differences is because using URLs in Push bodies would force a Push alert to be associated with a REST API version. This would effectively prevent versioning of Push payloads separately from the REST API.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
The following tables list Alert types available in NetCloud.
Router Alerts
Alert Type | Description | Alert Field Name |
ADC Voltage Event | Occurs on devices with voltage-sensing systems when a voltage limit is reached, and also when the voltage returns to within the accepted range. | adc_event |
AP/Core Connection State | The cellular AP specified service type connectivity to the packet core entered the specified state. | pcn_ap_connection_state |
Battery Health | Creates an alert when the remaining battery life reaches 62%. | batt_health_alert |
Battery Over Current | Creates an alert when the battery's current reaches 3.2 amps (3200 mA). | batt_over_current_alert |
Battery Over Temperature | Creates an alert when the battery's temperature reaches 50 degrees Celsius. | batt_over_temp_alert |
Battery Over Voltage | Creates an alert when the battery's recommended voltage reaches 8.5V (8500 mV). | batt_over_voltage_alert |
Battery System Low Power | Creates an alert when the battery's power reaches 20% charge. | batt_sys_low_power_alert |
Battery System Power Off | Creates an alert when the battery's power reaches 7% charge. | batt_sys_power_off_alert |
Cellular Radio Status | The cellular AP radio interface has entered the specified state. | pcn_ap_radio_status |
Configuration Changed | Occurs when there has been a local configuration change. | config_change |
Configuration Rejected | Occurs when a configuration change was sent to the device but was rejected. | config_rejected |
Configuration Unacknowledged | Occurs when a configuration change was sent to the device but was not acknowledged by the device. | config_unacked |
CPU Utilization | CPU Utilization crossed a threshold. | cpu_utilization |
Custom Alert | Is an alert generated by custom code in an NCOS SDK app. | custom_alert |
Data Cap Threshold | Occurs when a data cap threshold is reached. | data_cap_threshold |
Device Location Unknown | Occurs when no location is reported for 24 hours on a device with Location Services (GPS) enabled. If a manual location is used the alert is not generated. | device_location_unknown |
Ethernet WAN Connected | Indicates that an Ethernet WAN device is now active. | ethernet_wan_connected, intel_ethernet_wan_connected |
Ethernet WAN Disconnected | Indicates that an Ethernet WAN device is no longer active. | ethernet_wan_disconnected, intel_ethernet_wan_disconnected |
Ethernet WAN Plugged In | An Ethernet WAN device is now attached. | ethernet_wan_plugged |
Ethernet WAN Standby | An Ethernet WAN device is in standby mode | ethernet_wan_standby |
Ethernet WAN Unplugged | An Ethernet WAN device has been removed. | ethernet_wan_unplugged |
Failed Login Attempt (NCM) | SOURCE: (source_ip) | USER: (user) | REASON: (reason) | ncm_login_failure |
Failover Event | A router (or group of routers) has changed the primary WAN interface from a higher- priority interface to a lower-priority interface. | failover_event |
Firmware Upgrade | Occurs when the device's NetCloud OS is upgraded. | firmware_upgrade |
GBR Bearer Setup Failure | The device with the specified IMSI failed to connect to its requested QCI because the guaranteed bitrate requirement could not be met. | pcn_core_ue_dedicated_bearer_alloc_failure |
Geo fence Proximity Change | Occurs whenever the device enters or exits the specified Geo-fence | geofence_proximity_change |
GPIO State Change | Occurs when a device's GPIO pin has changed state. To view or update the GPIO configuration, open the Device UI and select the System > GPIOs tab. This alert requires NetCloud OS 6.0.2 and newer, and a Cradlepoint device with GPIO. | gpio_state_change |
Interface Status | The packet core specified interface has entered the specified state. | pcn_core_port_status_changed |
IPsec Connection State | The packet core IPsec connectivity to the specified cellular AP entered the specified state. | pcn_core_ipsec_connection_status_changed |
IP Address Banned | Occurs if the Ban IP Address setting is turned on for a device and someone from a particular IP address attempts and fails to log into the Device UI six times, that IP address is banned for 30 minutes. To enable this setting, login to the Device UI and go to System > Administration > Router Security and click on Advanced Security Mode. Select the Ban IP Address option. | ip_banned |
Intrusion Activity | Is only relevant for devices with CP Secure Threat Management. Whenever the Threat Management deep packet inspection engine detects an intrusion, that event is recorded in the logs. These events are grouped together for 15 minutes and then reported in NetCloud Manager, so an emailed alert notification might not arrive for approximately 15 minutes after an intrusion. Intrusion Activity alerts include the intrusion details and the action taken by the engine (e.g., Blocked). To edit Threat Management settings, login to the Device UI and select Security > Threat Management. For more information, see CP Secure Threat Management Overview. |
ips_activity |
IPS Engine Failure | For devices using Cradlepoint Secure Threat Management (CPSTM), this alert occurs in the unlikely event that the Threat Management engine fails. You can set the router to either allow or deny traffic with a failure. To edit this setting, log in to the Device UI and go to Security > Threat Management. | ips_eng_failure |
IPSec VPN Tunnel Down | Occurs when a connected IPSec tunnel is disconnected. | ipsec_tunnel_down |
IPsec Tunnel Setup Failure | The cellular AP failed to setup an IPsec tunnel with the specified packet core. | pcn_ap_ipsec_setup_failure |
IPS Enablement Change | Occurs when Intrusion Prevention Systems / Intrusion Detection Systems (IPS/IDS) has been enabled or disabled using Cradlepoint Secure Threat Management (CPSTM) and provides details about who made the change and when it occurred. | ips_enable_disable |
IPS Mode Change | Occurs when the IPS/IDS mode has been changed (for example, from Detect and Prevent to Detect Only) using CPSTM and provides details on what changed, who made the change, and when it occurred. | ips_mode_change |
IPSec VPN Tunnel Restored | Occurs when a connected IPSec tunnel reconnects after being disconnected. | ipsec_tunnel_restored |
IPSev VPN Tunnel Up | Occurs when an IPSec tunnel initially connects. | ipsec_tunnel_up |
IP Verify Test Result | Occurs when an IP Verify test is complete. | ipverify_event |
Successful Login (Router) | A login attempt succeeded to the router's Device UI. | login_success |
Location Service Mode Changed | Alert sent when there is change to the configuration of Location Services (including but limited to turning it on/off). This alert contains the time and date of the change, what was changed, and the device or group to which it was applied. | location_service_change |
Memory Utilization | Memory Utilization crossed a threshold. | memory_utilization |
Modem Software Upgrade Available | Occurs when new modem software is available for download. Includes the version number of the new software, the products to which it applies, and a link to the Release Notes. | modem_firmware_summary_create |
Modem WAN Connected | A modem WAN device is now active. | modem_wan_connected, intel_modem_wan_connected |
Modem WAN Disconnected | Indicates that a modem WAN device is no longer active. | modem_wan_disconnected, intel_modem_wan_disconnected |
Modem WAN Device Plugged In | A modem WAN device is now attached. | modem_wan_plugged |
Modem WAN Standby | Indicates that a modem WAN device's default connection state is set to Standby. This means the modem is connected to the carrier, but is not sending data. A modem in Standby will failover faster than a modem not in Standby. Standby is enabled by modifying the Default Connection State from the Device UI's Connection Manager table. | modem_wan_standby |
Modem WAN Device Unplugged | A modem WAN device has been removed. | modem_wan_unplugged |
Microsoft IoT Disconnect | Occurs when a Microsoft IoT device disconnects. | msft_iot_disconnect |
NCM Connection State | Occurs when the device loses or regains its connection to NetCloud Manager. A device must be online or offline for 60 seconds before this alert is generated. For more information, see Details on NetCloud Manager Connection State Online and Offline Alerts. |
connection_state |
NetCloud OS Upgrade Available | Occurs when new NetCloud OS software is available for download. Includes the version number of the new software, the products to which it applies, and a link to the Release Notes. | ncos_firmware_summary_create |
No SAS Response | The cellular AP did not receive a response from the CBRS SAS server. | pcn_sas_no_response |
NTP Sync Issue | The cellular AP cannot reach the NTP server and may have incorrect system time. | pcn_ap_ntp_syn_failure |
NTP Sync Issue | The packet core cannot reach the NTP server and may have incorrect system time. | pcn_core_ntp_sync_failure |
Reboot | Occurs when the device is rebooted. | reboot_status_change, intel_reboot_status_change |
Remote Connect Ended | A remote connect session to the specified router has been closed. | remote_connection_destroyed |
Remote Connect Started | A remote connect session to the specified router has been opened. | remote_connection_request |
Rogue Access Point Detected | Occurs after running a Wi-Fi site survey when a rogue access point not marked as "known" is detected broadcasting the same SSID as the device running the site survey. This helps identify potential access-point hijacking, evil twin, and man-in-the-middle Wi-Fi attacks. | duplicate_ssid |
Router Group Change | The specified router has been moved or added to the specified group. Also includes the username associated with the move, the date and time, the group the router was in previously (if applicable) and the group to which the router was added (if applicable). | router_group_change |
NCOS App Execution State Changed | Indicates that an NCOS SDK app that is running on a group has entered a different execution state (start, stop, error, etc). | router_sdk_app_execution_state_changed |
Unexpected NCOS App Installed | Indicates that an unexpected NCOS SDK app is found installed, an expected NCOS SDK app is unexpectedly uninstalled, or a that an NCOS app unknown to the system is found installed. | router_sdk_mismatched_app_action |
S1 Setup Failure | The packet core failed to setup an S1 connection with the specfiied cellular AP. | pcn_core_s1_setup_failure |
S1 Connection State | The packet core S1 connectivity to the specified cellular AP entered the specified state. | pcn_core_s1_connection_state |
SAS Grant Expired | A CBRS SAS Grant has expired for the cellular AP. | pcn_sas_grant_expired |
SAS Grant Success | The cellular AP received a CBRS SAS grant successfully. | pcn_sas_grant_success |
SAS Grant Suspended | A CBRS SAS Grant was suspended for the cellular AP. | pcn_sas_grant_suspended |
SAS Grant Terminated | A CBRS SAS Grant was terminated for the cellular AP. | pcn_sas_grant_terminated |
SCEP Enrollment Failure | This alert is generated when a device attempts to enroll with a SCEP server but can't enroll successfully. | scep_enrollment_failure |
SCEP Enrollment Success | This alert is generated when a device successfully enrolls with a SCEP server. | scep_enrollment_success |
SIM Door Event | Occurs when the SIM door opens or closes. | sim_door_event |
SPAN Enabled | SPAN Packet Cloning Enabled | span_enabled |
System Error Requires Reboot | The router rebooted due to a system error that requires a reboot to resolve. | system_error |
Sustained System Overload | The system experienced sustained levels for CPU or Packet Loss that exceeded thresholds. | sustained_system_overload |
Test Error | A speed test encountered an error. | csi_test_error |
Test Failed | A carrier failed to meet the benchmarks for a speed test. | csi_test_failed |
Test Passed | A carrier met or exceeded the benchmarks for a speed test. | csi_test_passed |
Test Started | All preconditions have been met for CSI (Carrier Selection Intelligence) to start. | csi_test_started |
Temperature Limit Exceeded | Occurs on devices with an internal temperature sensor (COR IBR1100 and IBR1150) when a user-defined temperature limit is reached. To set the temperature limits for the COR IBR1100 Series, login to the Device UI, select System > Administration, and then click the Temperature tab. | thermal_exceeds_limit |
Tunnel Limit Reached | Occurs when the number of IPSec tunnel connections has met or exceeded either 90% or 100% of the maximum tunnel limit. | tunnel_limit |
Unrecognized Client | Indicates a client with an unrecognized MAC address has attempted to connect to the device. MAC logging must be enabled to trigger this alert. To enable MAC logging, login to the Device UI and go to Networking > Local Networks> MAC Filter & Logging and select Enable MAC Logging. | unrecognized_mac_alert |
VRRP State Changed to Backup | The specified router has become a VRRP backup. You can further configure this alert to only be sent if the router was previously a master or in a fault state for a specified period. | vrrp_new_backup, intel_vrrp_new_backup |
VRRP State Changed to Fault | The specified router is in a VRRP fault state. You can further configure this alert to only be sent if the router was previously a backup or a master for a specified period. | vrrp_new_fault, intel_vrrp_new_fault |
VRRP State Changed to Master | The specified router has been become a VRRP master. You can further configure this alert to only be sent if the router was previously a backup or in a fault state for a specified period. | vrrp_new_master, intel_vrrp_new_master |
WAN Service Type | Indicates that a WAN device has changed its service type, such as switching from 3G to 4G. Possible service types include: DHCP, LTE, HSPA+, etc. | wan_service_type |
WAN Status Change | Router WAN has plugged, unplugged, connected or disconnected. (Deprecated) | wan_status_change |
Webhook Suspended | Previously configured webhook is in a suspended state. | http_destination_suspended |
Webhook Failure | Webhook delivery failed for alert with UUID (created_uuid), type (type), account (account_id), router (router_id), at time (created_ts) with message: (message). | http_push_failure |
WiFi Client State Changed | Occurs when a WiFi client changes state. For example, when a client's state changes from connected to disconnected (requires NetCloud OS version 6.6.1 and newer). | wifi_client_state_change |
WiFi as WAN Standby | Indicates a WiFi as WAN network is in standby. | wwan_standby |
WiFi as WAN Connected | Indicates WiFi as WAN is no longer active. | wwan_connected |
WWAN Disconnected | A WiFi as WAN network is no longer active. | wwan_disconnected |
WiFi as WAN Network Available | A WiFi as WAN network is now attached. | wwan_network_available |
WiFi as WAN Network Unavailable | A WiFi as WAN network has been removed. | wwan_network_unavailable |
Zscaler TLS Tunnel State | Indicates the state of a Zscaler tunnel has changed. | zs_tls_tunnel |
Account Alerts
Alert Type | Description | Alert Field Name |
Account Locked | The account is locked for 30 minutes after six failed attempts to log into the device. | account_locked |
Non-Compliant Devices | Indicates account has new non-compliant devices. | acs_noncompliant_devices |
Unlicensed Devices | Indicates account has new unlicensed devices. | acs_unlicensed_devices |
Devices Unlicensed in 5 Days | Indicates account has devices unlicensing in 5 days. | acs_unlicensed_in_5_days |
Devices Unlicensed in 15 Days | Indicates account has devices unlicensing in 15 days. | acs_unlicensed_in_15_days |
Pooled Carrier Data Usage | Creates an alert when a user-defined usage percentage is met for a pooled data plan. | pdp_account_overage |
Carrier Data Usage Per Router | Creates an alert when a user-defined usage percentage is met for a single router. | pdp_router_overage |
Subscriptions Expiring 180 Days | Indicates account has subscriptions expiring in 180 days. For more information on notification limitations with Subscriptions Expiring alerts, see Alerts Not Supported for Use in Webhooks. Note the potential issues when using this alert. |
acs_expires_in_180_days |
Subscriptions Expiring 90 Days | Indicates account has subscriptions expiring in 90 days | acs_expires_in_90_days |
Subscriptions Expiring 60 Days | Indicates account has subscriptions expiring in 60 days | acs_expires_in_60_days |
Subscriptions Expiring 30 Days | Indicates account has subscriptions expiring in 30 days | acs_expires_in_30_days |
Subscriptions Expiring 15 Days | Indicates account has subscriptions expiring in 15 days | acs_expires_in_15_days |
Subscriptions Expiring 5 Days | Indicates account has subscriptions expiring in 5 days | acs_expires_in_5_days |
Example curl GET request/response to the alerts endpoint without filters applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type:application/json" "https://www.cradlepointecm.com/api/v2/alerts/"
Response body for curl GET example
Note: The account field is null if the router field contains a value.
{ "data": [ { "account": null, "created_at": "2020-12-07T17:44:19.430235+00:00", "created_at_timeuuid": "d554418c-38b3-11eb-acd7-32b969db3e3f", "detected_at": "2020-12-07T17:44:18+00:00", "friendly_info": "User admin has logged into the router from 127.0.0.1.", "info": { "ip": "127.0.0.1", "time": [ "2020-12-07 17:44:18", "UTC" ], "type": "login_success", "user": "admin" }, "router": "https://www.cradlepointecm.com/api/v2/routers/2162719/", "type": "login_success" }, { "account": null, "created_at": "2020-12-04T09:20:30.538148+00:00", "created_at_timeuuid": "f4442066-3611-11eb-bd86-5ebca3547463", "detected_at": "2020-12-04T09:16:16+00:00", "friendly_info": "The ethernet port \"Ethernet\" has connected to the network.", "info": { "alert_type": "ethernet_wan_connected", "history": [], "info": { "mac": "00:30:44:47:cb:09", "port": "Ethernet", "raw_port": "eth0", "reason": "Manual", "type": "ethernet", "uid": "wan" }, "status": "connected", "time": [ "2020-12-04 09:16:16", "UTC" ], "type": "wan_status_change" }, "router": "https://www.cradlepointecm.com/api/v2/routers/2162719/", "type": "ethernet_wan_connected" }, ... ], "meta": { "limit": 20, "next": "https://www.cradlepointecm.com/api/v2/alerts/?created_at_timeuuid__lt=f4778d8a-3243-11eb-bce8-522895cf33a7" } }
Example curl GET request/response to the alerts endpoint with a filters applied for the type field with a value ethernet_wan_connected.
curl -v -X GET -H "X-ECM-API-ID:40961453-652c-48bc-8445-2cfeb36d2c4a" -H "X-ECM-API-KEY:d02aacae1b4b77967014b7270812e8a465ac3174" -H "X-CP-API-ID:a939a410" -H "X-CP-API-KEY:808163e5193491974cd55eda5120ed9d" -H "Content-Type:application/json" "https://www.cradlepointecm.com/api/v2/alerts/?type=ethernet_wan_connected"
Response body for curl GET example
{ "data": [ { "account": null, "created_at": "2020-12-04T09:20:30.538148+00:00", "created_at_timeuuid": "f4442066-3611-11eb-bd86-5ebca3547463", "detected_at": "2020-12-04T09:16:16+00:00", "friendly_info": "The ethernet port \"Ethernet\" has connected to the network.", "info": { "alert_type": "ethernet_wan_connected", "history": [], "info": { "mac": "00:30:44:47:cb:09", "port": "Ethernet", "raw_port": "eth0", "reason": "Manual", "type": "ethernet", "uid": "wan" }, "status": "connected", "time": [ "2020-12-04 09:16:16", "UTC" ], "type": "wan_status_change" }, "router": "https://www.cradlepointecm.com/api/v2/routers/2162719/", "type": "ethernet_wan_connected" }, { "account": null, "created_at": "2020-11-29T13:08:21.165839+00:00", "created_at_timeuuid": "f4879e94-3243-11eb-a03e-522895cf33a7", "detected_at": "2020-11-29T13:06:11+00:00", "friendly_info": "The ethernet port \"Ethernet\" has connected to the network.", "info": { "alert_type": "ethernet_wan_connected", "history": [], "info": { "mac": "00:30:44:47:cb:09", "port": "Ethernet", "raw_port": "eth0", "reason": "Manual", "type": "ethernet", "uid": "wan" }, "status": "connected", "time": [ "2020-11-29 13:06:11", "UTC" ], "type": "wan_status_change" }, "router": "https://www.cradlepointecm.com/api/v2/routers/2162719/", "type": "ethernet_wan_connected" }, { "account": null, "created_at": "2020-11-29T13:08:21.105197+00:00", "created_at_timeuuid": "f47e5dc2-3243-11eb-b40d-522895cf33a7", "detected_at": "2020-11-29T13:04:56+00:00", "friendly_info": "The ethernet port \"Ethernet\" has connected to the network.", "info": { "alert_type": "ethernet_wan_connected", "history": [], "info": { "mac": "00:30:44:47:cb:09", "port": "Ethernet", "raw_port": "eth0", "reason": "Manual", "type": "ethernet", "uid": "wan" }, "status": "connected", "time": [ "2020-11-29 13:04:56", "UTC" ], "type": "wan_status_change" }, "router": "https://www.cradlepointecm.com/api/v2/routers/2162719/", "type": "ethernet_wan_connected" }, ... ], "meta": { "limit": 20, "next": null } }
Forms
Use the form below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
Use the batteries endpoint to retrieve battery information for E100 series devices. Note the following when interpreting values returned by this endpoint.
- A battery's "status" field contains a positive value while a battery is charging and a negative value while discharging. A battery is considered charged when its capacity is within 15% of its design capacity.
- A battery's "health" is a ratio of its present capacity and its design capacity.
The following alerts can be configured for monitoring the state of batteries in a router.
- Battery Health (batt_health_alert): creates an alert when the remaining battery life reaches 62%
- Battery Over Current (batt_over_current_alert): creates an alert when the battery's current reaches 3.2 amps
- Battery Over Temperature (batt_over_temp_alert): creates an alert when the battery's temperature reaches 50 degrees Celsius
- Battery Over Voltage (batt_over_voltage_alert): creates an alert when the battery's recommended voltage exceeds 8.5V (8500 mV)
- Battery System Low Power (batt_sys_low_power_alert): creates an alert when the battery's power reaches 20% charge
- Battery System Power Off (batt_sys_power_off_alert): creates an alert when the battery's power reaches 7% charge
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET.
- batteries Endpoint Fields and Filters
- Tips for Using the NetCloud Manager API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/batteries/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
This table lists the fields associated with the batteries endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
created_at | timestamp | Timestamp of a battery's initial record in NetCloud | |||
health | int | Ratio of present capacity and design capacity | |||
id | string | ID of the batteries record | |||
manufacturer | string | Manufacturer of battery | |||
milliamps | int | Battery current (milliamps, negative indicates discharging) | |||
millivolts | int | Battery voltage (millivolts) | |||
resource_url | url | URL of the batteries record | |||
router | in: int, out:url | =, __in | ID of the router containing the battery(s) to query | ||
rsoc | int | Relative state of charge | |||
serial | string | Battery serial number | |||
status | string | State of battery (charging, discharging, idle) | |||
temp | int | Battery temperature | |||
time_remaining | int | Battery time remaining, in minutes | |||
type | string | Type of power source | |||
updated_at | timestamp | Battery's most recent update date/time in NetCloud |
Endpoint base path:
https://www.cradlepointecm.com/api/v2/batteries/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the batteries endpoint with the required router filter applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/batteries/?router=2287406"
Response body for curl GET example
{ "data": [ { "created_at": "2021-01-12T13:48:45.438933+00:00", "health": 96, "id": "2022", "manufacturer": "GETAC", "milliamps": 0, "millivolts": 8162, "resource_url": "https://www.cradlepointecm.com/api/v2/batteries/2022/", "router": "https://www.cradlepointecm.com/api/v2/routers/2287406/", "rsoc": 100, "serial": "GA2039BA001264", "status": "Idle", "temp": 34, "time_remaining": null, "type": "battery", "updated_at": "2021-03-30T01:38:46.564399+00:00" }, { ... } ], } }
Forms
Use the form below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
Use the configuration_managers endpoint to view and edit configurations for your devices.
Note: Device configuration data is retained for 90 days.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET, PUT, PATCH.
- configuration_managers Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/configuration_managers/"
- BODY = -d '{"<field name>": "<field value>"}
- Updating SCEP via the NetCloud API
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
- PUT Examples
- PATCH Examples
This table lists the fields associated with the configuration_managers endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description | Permissions |
account | in: int, out: url | =, __in | Account the configuration_managers record belongs to | Read Only | ||
actual | object | JSON object that contains the device's actual config settings | Read Only | |||
configuration | object | JSON object that contains the device's individual config settings | Read/Write | |||
id* | int | =, __in | The ID of a configuration_managers record | Read Only | ||
pending | object | JSON object containing pending config settings | Read Only | |||
resource_url | in: int, out: url | URL of the configuration_managers record | Read Only | |||
router | in: int, out: url | =, __in | The router that the configuration_managers record applies | Read Only | ||
suspended | boolean | = | The suspended state of a configuration | Read/Write | ||
synched | boolean | = | The synched state of a configuration | Read Only | ||
target | object | JSON object that contains the current firmware's config settings | Read Only | |||
version_number | int | =, __gt, __lt | The version number of a configuration | Read Only |
Note: * indicates the attribute is required for PUT and PATCH requests.
Permissions: Read/Write means a parameter is returned in responses to GET requests and is editable in PATCH/POST requests.
Read Only means a parameter is returned in responses to GET requests but is NOT editable in PATCH/POST requests.
Endpoint base path:
https://www.cradlepointecm.com/api/v2/configuration_managers/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
When updating SCEP certificate values in a configuration through the API, remove the line containing""ca_print": "null"," from your HTTP PATCH request if you're not using MS NDES.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the configuration_managers endpoint without filters applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/configuration_managers/"
Response body for curl GET example.
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "actual": [ { "ecm": { "config_version": 28 }, "gre": { "tunnels": { "0": { "_id_": "00000000-e18b-3714-86cd-152498cbeeec", "dhcp_enabled": false, "enabled": true, "exception_route_mode": "route", "fail_back_to": "", "fail_over_to": "", "keep_alive_enabled": true, "keep_alive_period": 10, "keep_alive_retries": 3, "key": null, "local_network": "10.0.0.1", "name": "GRE Tunnel", "nemo": false, "netmask": "255.255.255.252", "remote_gateway": "166.18.88.35", "remote_network": "10.0.0.2", "routes": [ {} ], "ttl": 64, "wan_dev": "disabled", "wan_trigger_field": "uid", "wan_trigger_predicate": "is", "wan_trigger_value": "" } } }, "routing": { "eigrp": { "routers": { "0": { "asn": 100, "enabled": true, "interfaces": [ { "authentication": [], "bandwidth": 100, "device": "00000000-e18b-3714-86cd-152498cbeeec", "hello_interval": 10, "hold_time": 40, "throughput_delay": 100 } ], "neighbors": [], "networks": [], "redistribute": [], "router_id": "1.1.1.1", "timers_active_time_disabled": false } } } }, "stats": { "client_usage": { "enabled": true } }, "system": { "admin": { "product_name": "AER2200-600M" }, "gps": { "enabled": true }, "show_cloud_setup": false, "system_id": "AER2200-b09-Home", "ui_activated": true, "users": { "0": { "password": "*" } } }, "wan": { "connectionsets": { "0": { "mode": "loadbalance" } }, "datacap": { "enabled": true }, "rules2": { "0": { "connectionset": 1, "failureCheck": { "mode": "active_ping", "ping_target": "192.168.0.1" } }, "1": { "failureCheck": { "idle_seconds": 30, "mode": "active_ping", "ping_target": "192.168.0.1" } }, "2": { "failureCheck": { "idle_seconds": 30, "mode": "active_ping", "ping_target": "192.168.0.1" } }, "3": { "failureCheck": { "idle_seconds": 30, "mode": "active_ping", "ping_target": "192.168.0.1" } }, "4": { "failureCheck": { "idle_seconds": 30, "mode": "active_ping", "ping_target": "192.168.0.1" } } }, "swans": { "criteria": { "datausage": { "enabled": true } }, "enabled": true } }, "wlan": { "radio": { "0": { "bss": { "0": { "ssid": "AER2200-b09-JE-Home" } } } } } }, [] ], "configuration": [ { "gre": { "tunnels": { "00000000-e18b-3714-86cd-152498cbeeec": { "_id_": "00000000-e18b-3714-86cd-152498cbeeec", "dhcp_enabled": false, "enabled": true, "exception_route_mode": "route", "fail_back_to": "", "fail_over_to": "", "keep_alive_enabled": true, "keep_alive_period": 10, "keep_alive_retries": 3, "key": null, "local_network": "10.0.0.1", "name": "GRE Tunnel", "nemo": false, "netmask": "255.255.255.252", "remote_gateway": "166.18.88.35", "remote_network": "10.0.0.2", "routes": { "0": {} }, "ttl": 64, "wan_dev": "disabled", "wan_trigger_field": "uid", "wan_trigger_predicate": "is", "wan_trigger_value": "" } } }, "routing": { "eigrp": { "routers": { "0": { "asn": 100, "enabled": true, "interfaces": { "0": { "authentication": [], "bandwidth": 100, "device": "00000000-e18b-3714-86cd-152498cbeeec", "hello_interval": 10, "hold_time": 40, "throughput_delay": 100 } }, "neighbors": [], "networks": [], "redistribute": [], "router_id": "1.1.1.1", "timers_active_time_disabled": false } } } }, "stats": { "client_usage": { "enabled": true } }, "system": { "admin": { "product_name": "AER2200-600M" }, "gps": { "enabled": true }, "show_cloud_setup": false, "system_id": "AER2200-b09-Home", "ui_activated": true, "users": { "0": { "password": "*" } } }, "wan": { "connectionsets": { "0": { "mode": "loadbalance" } }, "datacap": { "enabled": true }, "rules2": { "00000000-a81d-3590-93ca-8b1fcfeb8e14": { "_id_": "00000000-a81d-3590-93ca-8b1fcfeb8e14", "connectionset": 1, "failureCheck": { "mode": "active_ping", "ping_target": "192.168.0.1" } }, "00000001-a81d-3590-93ca-8b1fcfeb8e14": { "_id_": "00000001-a81d-3590-93ca-8b1fcfeb8e14", "failureCheck": { "idle_seconds": 30, "mode": "active_ping", "ping_target": "192.168.0.1" } }, "00000002-a81d-3590-93ca-8b1fcfeb8e14": { "_id_": "00000002-a81d-3590-93ca-8b1fcfeb8e14", "failureCheck": { "idle_seconds": 30, "mode": "active_ping", "ping_target": "192.168.0.1" } }, "00000003-a81d-3590-93ca-8b1fcfeb8e14": { "_id_": "00000003-a81d-3590-93ca-8b1fcfeb8e14", "failureCheck": { "idle_seconds": 30, "mode": "active_ping", "ping_target": "192.168.0.1" } }, "00000004-a81d-3590-93ca-8b1fcfeb8e14": { "_id_": "00000004-a81d-3590-93ca-8b1fcfeb8e14", "failureCheck": { "idle_seconds": 30, "mode": "active_ping", "ping_target": "192.168.0.1" } } }, "swans": { "criteria": { "datausage": { "enabled": true } }, "enabled": true } }, "wlan": { "radio": { "0": { "bss": { "0": { "ssid": "AER2200-b09-JE-Home" } } } } } }, [] ], "id": "2163609", "pending": [ {}, [] ], "resource_url": "https://www.cradlepointecm.com/api/v2/configuration_managers/2163609/", "router": "https://www.cradlepointecm.com/api/v2/routers/2162719/", "suspended": false, "synched": true, "target": [ { "ecm": { "config_version": 28 }, "gre": { "tunnels": { "00000000-e18b-3714-86cd-152498cbeeec": { "_id_": "00000000-e18b-3714-86cd-152498cbeeec", "dhcp_enabled": false, "enabled": true, "exception_route_mode": "route", "fail_back_to": "", "fail_over_to": "", "keep_alive_enabled": true, "keep_alive_period": 10, "keep_alive_retries": 3, "key": null, "local_network": "10.0.0.1", "name": "GRE Tunnel", "nemo": false, "netmask": "255.255.255.252", "remote_gateway": "166.18.88.35", "remote_network": "10.0.0.2", "routes": { "0": {} }, "ttl": 64, "wan_dev": "disabled", "wan_trigger_field": "uid", "wan_trigger_predicate": "is", "wan_trigger_value": "" } } }, "routing": { "eigrp": { "routers": { "0": { "asn": 100, "enabled": true, "interfaces": { "0": { "authentication": [], "bandwidth": 100, "device": "00000000-e18b-3714-86cd-152498cbeeec", "hello_interval": 10, "hold_time": 40, "throughput_delay": 100 } }, "neighbors": [], "networks": [], "redistribute": [], "router_id": "1.1.1.1", "timers_active_time_disabled": false } } } }, "stats": { "client_usage": { "enabled": true } }, "system": { "admin": { "product_name": "AER2200-600M" }, "gps": { "enabled": true }, "show_cloud_setup": false, "system_id": "AER2200-b09-Home", "ui_activated": true, "users": { "0": { "password": "*" } } }, "wan": { "connectionsets": { "0": { "mode": "loadbalance" } }, "datacap": { "enabled": true }, "rules2": { "00000000-a81d-3590-93ca-8b1fcfeb8e14": { "_id_": "00000000-a81d-3590-93ca-8b1fcfeb8e14", "connectionset": 1, "failureCheck": { "mode": "active_ping", "ping_target": "192.168.0.1" } }, "00000001-a81d-3590-93ca-8b1fcfeb8e14": { "_id_": "00000001-a81d-3590-93ca-8b1fcfeb8e14", "failureCheck": { "idle_seconds": 30, "mode": "active_ping", "ping_target": "192.168.0.1" } }, "00000002-a81d-3590-93ca-8b1fcfeb8e14": { "_id_": "00000002-a81d-3590-93ca-8b1fcfeb8e14", "failureCheck": { "idle_seconds": 30, "mode": "active_ping", "ping_target": "192.168.0.1" } }, "00000003-a81d-3590-93ca-8b1fcfeb8e14": { "_id_": "00000003-a81d-3590-93ca-8b1fcfeb8e14", "failureCheck": { "idle_seconds": 30, "mode": "active_ping", "ping_target": "192.168.0.1" } }, "00000004-a81d-3590-93ca-8b1fcfeb8e14": { "_id_": "00000004-a81d-3590-93ca-8b1fcfeb8e14", "failureCheck": { "idle_seconds": 30, "mode": "active_ping", "ping_target": "192.168.0.1" } } }, "swans": { "criteria": { "datausage": { "enabled": true } }, "enabled": true } }, "wlan": { "radio": { "0": { "bss": { "0": { "ssid": "AER2200-b09-JE-Home" } } } } } }, [] ], "version_number": 28 } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Example curl PUT request/response to the configuration_managers endpoint to clear a configuration object. Please note that the configuration object in a configuration_managers is the only config object that can be modified. The target, actual, and pending objects in a configuration_managers record are read only.
PUT https://www.cradlepointecm.com/api/v2/configuration_managers/123/?fields=configuration { "configuration": [{}, []] }
Response body for curl PUT example
202 Accepted { "configuration": [{}, []] }
Example curl PATCH request/response to the configuration_managers endpoint. This updates the client_usage boolean field to false.
curl -v -X PATCH -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type:application/json" "https://www.cradlepointecm.com/api/v2/configuration_managers/2163609/" -d '{ "configuration": [ { "stats": { "client_usage": { "enabled": false } } }, [] ] }'
The example response body for curl PATCH actions to the configuration_managers endpoint returns the updated configuration.
Notes on using arrays vs objects when making PATCH requests
While PATCH requests can use both arrays and objects in their request bodies, there are some notable differences between these data structures that affect how PATCH requests work on data.
Arrays are ordered based on implicit, zero-based numeric keys where the ordering of data isn't easily ascertained without knowing the ordering in advance. Due to this, when using an array in a PATCH body the entire array is replaced with successful a PATCH request.
Objects, however, do contain explicit keys. PATCH requests that use objects can specify the index/value pairs to update in the array and thus only update those specified values instead of replacing the entire array.
For example, PATCHing with a body containing an object like this
{ "0": "value for data at position 0", "1": "value for data at position 1" }
results in an array like this:
["value for data at position 0", "value for data at position 1"]
Forms
Use the forms below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
A device app binding object represents a Cradlepoint SDK app to NCM group binding.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET, POST, DELETE.
- device_app_bindings Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/device_app_bindings/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
- POST Examples
- DELETE Example
This table lists the fields associated with the device_app_bindings endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description | Permissions |
account* | url | =, __in | Account that created the device_app_bindings record | Read/Write | ||
app_version* | url | =, __in | The app version to be tied to the group binding | Read/Write | ||
created_at | timestamp | Timestamp for when the device_app_bindings record was created | Read Only | |||
group* | url | =, __in | The group the binding will be applied | Read/Write | ||
id! | int | =, __in | ID of a device_app_bindings record | Read Only | ||
resource_url | url | URL of the device_app_bindings record | Read Only | |||
state | string | =, __in | State of the device app | Read/Write | ||
updated_at | timestamp | Time of last attribute update | Read Only |
Note: * indicates the attribute is required for POST requests.
Note: ! indicates the attribute is required for DELETE requests.
Permissions: Read/Write means a parameter is returned in responses to GET requests and is editable in POST requests.
Read Only means a parameter is returned in responses to GET requests but is NOT editable in POST requests.
Endpoint base path:
https://www.cradlepointecm.com/api/v2/device_app_bindings/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the device_app_bindings endpoint without filters applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/device_app_bindings/"
Response body for curl GET example
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "app_version": "https://www.cradlepointecm.com/api/v2/device_app_versions/8615/", "created_at": "2021-02-12T17:49:30.656191+00:00", "group": "https://www.cradlepointecm.com/api/v2/groups/216763/", "id": "12526", "resource_url": "https://www.cradlepointecm.com/api/v2/device_app_bindings/12526/", "state": "installing", "updated_at": "2021-02-12T17:49:30.710742+00:00" } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Example curl POST request/response to the device_app_bindings endpoint to create a device_app_bindings record. The POST body must contain the account, group, and app_version fields. The values for these fields must be passed by their URL values and NOT their IDs.
curl -v -X POST -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type:application/json" "https://www.cradlepointecm.com/api/v2/device_app_bindings/" -d { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "app_version": "https://www.cradlepointecm.com/api/v2/device_app_versions/8521/", "group": "https://www.cradlepointecm.com/api/v2/groups/236090/" }
Response body for curl POST example. Successful POSTs to the device_app_bindings endpoint return a 201 response and response body with the following fields.
{ "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "app_version": "https://www.cradlepointecm.com/api/v2/device_app_versions/8521/", "created_at": "2021-04-09T17:02:03.299244+00:00", "group": "https://www.cradlepointecm.com/api/v2/groups/236090/", "id": "13990", "resource_url": "https://www.cradlepointecm.com/api/v2/device_app_bindings/", "state": "", "updated_at": "2021-04-09T17:02:03.299263+00:00" }
Example curl DELETE request/response to the device_app_bindings endpoint. This deletes the device_app_binding matching the ID passed in the route.
curl -v -X DELETE -H "$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/device_app_bindings/13839/"
Successful DELETE actions return a 204 response with no content in the body.
Forms
Use the forms below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
The device_app_states endpoint retrieves the state of a Cradlepoint SDK app.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET.
- device_app_states Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/device_app_states/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
This table lists the fields associated with the device_app_states endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
account | url | =, __in | Account that created the device_app_states record | ||
app_version | url | =, __in | The app version associated with device app | ||
created_at | timestamp | Timestamp for when the device_app_states record was created | |||
id | int | =, __in | ID of a device_app_states record | ||
resource_url | url | URL of the device_app_states record | |||
router | url | =, __in | The router with the device app | ||
state | string | =, __in | State of the device app | ||
updated_at | timestamp | Time of last attribute update |
Endpoint base path:
https://www.cradlepointecm.com/api/v2/device_app_states/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the device_app_states endpoint with the ID filter applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/device_app_states/?account=241"
Response body for curl GET example
{ { "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/241/", "app_version": "https://www.cradlepointecm.com/api/v2/device_app_versions/112/", "state": "started", "router": "https://www.cradlepointecm.com/api/v2/routers/77/" "created_at": "2015-08-10T16:19:31.784055+00:00", "updated_at": "2015-09-22T10:35:55.182602+00:00" "id": "17", "resource_url": "https://www.cradlepointecm.com/api/v2/device_apps/17/", }, { ... } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Forms
Use the form below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
Use the device_app_versions endpoint to retrieve information about the versions of your installed Cradlepoint SDK apps.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET, DELETE.
- device_app_versions Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/device_app_versions/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
- DELETE Example
This table lists the fields associated with the device_app_versions endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
account | url | =, __in | Account that created the device_app_versions record | ||
app | url | =, __in | Associated device app | ||
created_at | timestamp | Timestamp for when the device_app_versions record was created | |||
id* | int | =, __in | ID of a device_app_versions record | ||
resource_url | url | URL of the device_app_versions record | |||
state | string | =, __in | State of the app version | ||
state_details | string | Details of the app version state | |||
updated_at | timestamp | Time of last attribute update | |||
version | int | Version |
Note: * indicates the attribute is required for DELETE requests.
Endpoint base path:
https://www.cradlepointecm.com/api/v2/device_app_versions/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the device_app_versions endpoint without filters applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/device_app_versions/"
Response body for curl GET example
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "app": "https://www.cradlepointecm.com/api/v2/device_apps/1441/", "created_at": "2021-02-10T22:00:38.433457+00:00", "id": "8612", "resource_url": "https://www.cradlepointecm.com/api/v2/device_app_versions/8612/", "state": "ready", "state_details": "", "updated_at": "2021-02-10T22:00:38.771163+00:00", "version": "1.0.0" }, { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "app": "https://www.cradlepointecm.com/api/v2/device_apps/1442/", "created_at": "2021-02-10T22:44:22.763337+00:00", "id": "8613", "resource_url": "https://www.cradlepointecm.com/api/v2/device_app_versions/8613/", "state": "ready", "state_details": "", "updated_at": "2021-02-10T22:44:23.073839+00:00", "version": "2.0.0" }, { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "app": "https://www.cradlepointecm.com/api/v2/device_apps/1441/", "created_at": "2021-02-10T23:31:55.828016+00:00", "id": "8615", "resource_url": "https://www.cradlepointecm.com/api/v2/device_app_versions/8615/", "state": "ready", "state_details": "", "updated_at": "2021-02-10T23:31:56.085865+00:00", "version": "1.5.0" } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Example curl GET request/response to the device_app_versions endpoint with the ID filter applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/device_app_versions/?id=8613"
Response body for curl GET example
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts//", "app": "https://www.cradlepointecm.com/api/v2/device_apps/1442/", "created_at": "2021-02-10T22:44:22.763337+00:00", "id": "8613", "resource_url": "https://www.cradlepointecm.com/api/v2/device_app_versions/8613/", "state": "ready", "state_details": "", "updated_at": "2021-02-10T22:44:23.073839+00:00", "version": "2.0.0" } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Example curl DELETE request/response to the device_app_versions endpoint. This deletes the device version matching the ID passed in the route.
curl -v -X DELETE -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/device_app_versions/8613/"
Successful DELETE actions return a 204 response with no content in the body.
Forms
Use the forms below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
Use the device_apps endpoint to retrieve information about your installed SDK apps.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET, DELETE.
- device_apps Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/device_apps/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
- DELETE Example
This table lists the fields associated with the device_apps endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
account | url | =, __in | Account that created the device_apps record | ||
created_at | timestamp | Timestamp for when the device_apps record was created | |||
description | string | Description for the device app | |||
id* | int | =, __in | ID of a device_apps record | ||
name | string | =, __in | Name of the device app | ||
resource_url | url | URL of the device_apps record | |||
updated_at | timestamp | Time of last attribute update | |||
uuid | int | =, __in | Uuid of the device_apps record |
Note: * indicates the attribute is required for DELETE requests.
Endpoint base path:
https://www.cradlepointecm.com/api/v2/device_apps/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the device_apps endpoint without filters applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/device_apps/"
Response body for curl GET example
{ "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": "1441", "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" }, { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "created_at": "2021-02-10T22:44:22.882317+00:00", "description": "Simple Web Server Reference Application with single fixed page", "id": "1442", "name": "simple_web_server", "resource_url": "https://www.cradlepointecm.com/api/v2/device_apps/1442/", "updated_at": "2021-02-10T22:44:22.892095+00:00", "uuid": "f9ed307f-1a0e-4a18-bd97-a7b09ce6cff5" }, { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "created_at": "2021-02-17T16:18:05.438843+00:00", "description": "Execute CLI command and return output", "id": "1455", "name": "cli_sample", "resource_url": "https://www.cradlepointecm.com/api/v2/device_apps/1455/", "updated_at": "2021-02-17T16:18:06.220362+00:00", "uuid": "6af0a447-0946-4102-a21c-219c1cc15f48" } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Example curl GET request/response to the device_apps endpoint with the ID filter applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/device_apps/?id=8613"
Response body for curl GET example
{ "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 } }
Example curl DELETE request/response to the device_apps endpoint. This deletes the device apps record matching the ID passed in the route.
curl -v -X DELETE -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/device_apps/8613/"
Successful DELETE actions return a 204 response with no content in the body.
Forms
Use the forms below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
Use the failovers endpoint to retrieve data for failover events on individual routers, groups of routers, and across your account.
A failover event represents when a Cradlepoint device (without load balancing enabled) with multiple WAN interfaces changes its primary WAN interface from a higher-priority interface to a lower-priority interface.
Note: The failovers endpoint requires NCOS version 7.1.30 or newer and an Advanced license.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET.
- failovers Endpoint Fields and Filters
- Tips for Using the NetCloud Manager API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/failovers/ "
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
This table lists the fields associated with the failovers endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
account_id | int | = | Account that created the failovers record | ||
carrier_name | string | Cellular carrier | |||
current_wan_interface | string | WAN interface currently in use | |||
current_wan_priority | float | WAN priority | |||
data_usage | int | Data usage amount | |||
elapsed_time | int | Amount of time spent in failover state | |||
ended_at | datetime | =, __gt, __gte, __lt, __lte | Datetime for when a failover event ended | ||
group_id | int | = | The ID of a group to view failover events | ||
group_name | string | The name of a group to view failover events | |||
percent_data_cap | float | Percentage of data used relative to data cap | |||
previous_wan_interface | string | WAN interface in use before failover | |||
previous_wan_priority | float | Priority of the WAN interface in use before failover | |||
router_id | int | = | The ID of a router to view failover events | ||
router_name | string | The name of a router to view failover events | |||
started_at | datetime | =, __gt, __gte, __lt, __lte | Datetime for when a failover event started | ||
tenant_id | string | Tenant ID | |||
updated_at | datetime | Datetime for when a failover event updated | |||
uuid | string | Uuid of a failover event record |
Endpoint base path:
https://www.cradlepointecm.com/api/v2/failovers/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the failovers endpoint without filters applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/failovers/"
Response body for curl GET example
{ "data": [ { "account_id": 55993, "carrier_name": "Verizon", "current_wan_interface": "ethernet-wan", "current_wan_priority": 0.00088295, "data_usage": 65898, "elapsed_time": 32, "ended_at": "2019-10-22T20:26:34.033177+00:00", "group_id": 145242, "group_name": "2200", "percent_data_cap": null, "previous_wan_interface": "mdm-3983dbd5", "previous_wan_priority": 2.25014338, "router_id": 1507274, "router_name": "AER2200-120", "started_at": "2019-10-22T20:26:01.870771+00:00", "tenant_id": "0013800001TB9s1", "updated_at": "2019-10-22T20:27:32.390005+00:00", "uuid": "6a701002-652b-4137-9ead-5847ae338ccd" }, { "account_id": 55993, "carrier_name": "Verizon", "current_wan_interface": "ethernet-wan", "current_wan_priority": 0.00088295, "data_usage": 74607, "elapsed_time": 96, "ended_at": "2019-10-22T20:32:24.293963+00:00", "group_id": 145242, "group_name": "2200", "percent_data_cap": null, "previous_wan_interface": "mdm-3983dbd5", "previous_wan_priority": 1.50014338, "router_id": 1507274, "router_name": "AER2200-120", "started_at": "2019-10-22T20:30:47.578229+00:00", "tenant_id": "0013800001TB9s1", "updated_at": "2019-10-22T20:33:18.376541+00:00", "uuid": "c3636db8-dd82-4974-a245-7ce872674afa" }, ... ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Forms
Use the firmwares endpoint to retrive information about NetCloud OS (NCOS) firmware builds.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET.
- firmwares Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/firmwares/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
This table lists the fields associated with the firmwares endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
built_at | timestamp | The time when the firmware image was built | |||
default_configuration | json | Default configuration for the firmware version | |||
expires_at | timestamp | The time when the firmware version expires | |||
hash | string | sha1sum hash of the firmware image | |||
id | int | =, __in | ID of a firmwares record | ||
is_deprecated | boolean | True if this firmware version has been deprecated | |||
product | url | Product this firmware is for | |||
released_at | timestamp | The time when the firmware was released | |||
resource_url | url | URL of the firmwares record | |||
uploaded_at | timestamp | The time when the firmware image was uploaded to NCM | |||
url | url | URL of the firmware image | |||
version | string | =, __in | Version of this firmware |
Endpoint base path:
https://www.cradlepointecm.com/api/v2/firmwares/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the firmwares endpoint without filters applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/firmwares/"
Response body for curl GET example
{ "data": [ { "built_at": "2013-07-02T17:08:47+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/1/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "25e8477e202e16dc64303c02bdc990d4d06a5daa", "id": "1", "is_deprecated": false, "product": "https://www.cradlepointecm.com/api/v2/products/4/", "released_at": "2013-07-02T17:08:47+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/1/", "uploaded_at": "2013-07-03T17:59:24.167915+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/CBR450-2013-07-02T17%3A08%3A47.bin", "version": "4.3.2" }, { "built_at": "2013-07-02T16:34:08+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/2/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "516cdeaef3830f5558eb1276b4f6f573440f4082", "id": "2", "is_deprecated": true, "product": "https://www.cradlepointecm.com/api/v2/products/6/", "released_at": "2013-07-02T16:34:08+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/2/", "uploaded_at": "2013-07-03T17:59:25.035746+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/MBR1200B-2013-07-02T16%3A34%3A08.bin", "version": "4.3.2" }, { "built_at": "2013-07-02T17:41:32+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/3/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "dc1578e687ca38964ddb59abe1c0f2fd8f001d70", "id": "3", "is_deprecated": true, "product": "https://www.cradlepointecm.com/api/v2/products/9/", "released_at": "2013-07-02T17:41:32+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/3/", "uploaded_at": "2013-07-03T17:59:25.704200+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/CBA750B-2013-07-02T17%3A41%3A32.bin", "version": "4.3.2" }, { "built_at": "2013-07-02T16:51:19+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/4/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "01a79f1aee3a26618fe49c7e7e65eb6e24ae5046", "id": "4", "is_deprecated": false, "product": "https://www.cradlepointecm.com/api/v2/products/3/", "released_at": "2013-07-02T16:51:19+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/4/", "uploaded_at": "2013-07-03T17:59:26.518240+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/CBR400-2013-07-02T16%3A51%3A19.bin", "version": "4.3.2" }, { "built_at": "2013-07-02T15:18:08+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/5/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "b57f285926f36147d1912d7c3072e798586a9e51", "id": "5", "is_deprecated": true, "product": "https://www.cradlepointecm.com/api/v2/products/7/", "released_at": "2013-07-02T15:18:08+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/5/", "uploaded_at": "2013-07-03T17:59:27.308069+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/IBR600-2013-07-02T15%3A18%3A08.bin", "version": "4.3.2" }, { "built_at": "2013-07-02T15:56:43+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/6/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "f8c76946f67614da3db0b1a505ca718161c90851", "id": "6", "is_deprecated": true, "product": "https://www.cradlepointecm.com/api/v2/products/2/", "released_at": "2013-07-02T15:56:43+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/6/", "uploaded_at": "2013-07-03T17:59:28.230896+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/MBR1400v2-2013-07-02T15%3A56%3A43.bin", "version": "4.3.2" }, { "built_at": "2013-07-02T16:15:37+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/7/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "5c824cc2f027313eb5ac85d8ced1c1e296976a5c", "id": "7", "is_deprecated": true, "product": "https://www.cradlepointecm.com/api/v2/products/1/", "released_at": "2013-07-02T16:15:37+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/7/", "uploaded_at": "2013-07-03T17:59:29.642496+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/MBR1400-2013-07-02T16%3A15%3A37.bin", "version": "4.3.2" }, { "built_at": "2013-07-02T15:37:18+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/8/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "8e8e95fe5db91e2d9ebc7281a529a14eb8469f4a", "id": "8", "is_deprecated": true, "product": "https://www.cradlepointecm.com/api/v2/products/8/", "released_at": "2013-07-02T15:37:18+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/8/", "uploaded_at": "2013-07-03T17:59:30.400223+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/IBR650-2013-07-02T15%3A37%3A18.bin", "version": "4.3.2" }, { "built_at": "2013-08-12T16:32:13+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/15/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "5d8b5ebfceda731472f609009f0783981f0c462d", "id": "15", "is_deprecated": false, "product": "https://www.cradlepointecm.com/api/v2/products/6/", "released_at": "2013-08-12T16:32:13+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/15/", "uploaded_at": "2013-09-11T23:59:38.141907+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/MBR1200B-2013-08-12T16%3A32%3A13.bin", "version": "4.4.0" }, { "built_at": "2013-08-12T17:09:53+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/16/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "50ede08a8fa0533ab908f336140c0c924cf52f6d", "id": "16", "is_deprecated": false, "product": "https://www.cradlepointecm.com/api/v2/products/9/", "released_at": "2013-08-12T17:09:53+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/16/", "uploaded_at": "2013-09-11T23:59:39.244468+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/CBA750B-2013-08-12T17%3A09%3A53.bin", "version": "4.4.0" }, { "built_at": "2013-08-12T15:05:51+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/17/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "febe611670c83608f122fef654d32a55cd55d70d", "id": "17", "is_deprecated": false, "product": "https://www.cradlepointecm.com/api/v2/products/7/", "released_at": "2013-08-12T15:05:51+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/17/", "uploaded_at": "2013-09-11T23:59:40.485441+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/IBR600-2013-08-12T15%3A05%3A51.bin", "version": "4.4.0" }, { "built_at": "2013-08-12T15:50:22+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/18/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "ccb0f716bf4bd296e2ff1e11a96b8931742a35ad", "id": "18", "is_deprecated": false, "product": "https://www.cradlepointecm.com/api/v2/products/2/", "released_at": "2013-08-12T15:50:22+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/18/", "uploaded_at": "2013-09-11T23:59:41.390803+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/MBR1400v2-2013-08-12T15%3A50%3A22.bin", "version": "4.4.0" }, { "built_at": "2013-08-12T16:11:11+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/19/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "fa7ba9b01208bec3348a7ad9b9d2e84aadda642c", "id": "19", "is_deprecated": false, "product": "https://www.cradlepointecm.com/api/v2/products/1/", "released_at": "2013-08-12T16:11:11+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/19/", "uploaded_at": "2013-09-11T23:59:42.169480+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/MBR1400-2013-08-12T16%3A11%3A11.bin", "version": "4.4.0" }, { "built_at": "2013-08-12T15:27:33+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/20/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "344df0ea31fad4ed57e63995bf8c8832d69db60b", "id": "20", "is_deprecated": false, "product": "https://www.cradlepointecm.com/api/v2/products/8/", "released_at": "2013-08-12T15:27:33+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/20/", "uploaded_at": "2013-09-11T23:59:42.906921+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/IBR650-2013-08-12T15%3A27%3A33.bin", "version": "4.4.0" }, { "built_at": "2013-10-07T11:26:12+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/24/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "2bf48e15384582d703064889dd968862a921fef6", "id": "24", "is_deprecated": false, "product": "https://www.cradlepointecm.com/api/v2/products/6/", "released_at": "2013-10-07T11:26:12+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/24/", "uploaded_at": "2013-10-08T00:59:47.836270+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/MBR1200B-2013-10-07T11%3A26%3A12.bin", "version": "4.4.2" }, { "built_at": "2013-10-07T12:37:37+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/25/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "de683b3704e0dc6e2be18709cf666209a12b4f8a", "id": "25", "is_deprecated": false, "product": "https://www.cradlepointecm.com/api/v2/products/9/", "released_at": "2013-10-07T12:37:37+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/25/", "uploaded_at": "2013-10-08T00:59:52.284638+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/CBA750B-2013-10-07T12%3A37%3A37.bin", "version": "4.4.2" }, { "built_at": "2013-10-07T10:02:37+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/26/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "c78ce23fa43047789dcbfe641ef6b5dd9a74553b", "id": "26", "is_deprecated": false, "product": "https://www.cradlepointecm.com/api/v2/products/7/", "released_at": "2013-10-07T10:02:37+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/26/", "uploaded_at": "2013-10-08T00:59:54.135536+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/IBR600-2013-10-07T10%3A02%3A37.bin", "version": "4.4.2" }, { "built_at": "2013-10-07T10:46:04+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/27/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "37a13ea54efdd2c155fc9b96b5194810fefd126d", "id": "27", "is_deprecated": false, "product": "https://www.cradlepointecm.com/api/v2/products/2/", "released_at": "2013-10-07T10:46:04+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/27/", "uploaded_at": "2013-10-08T00:59:55.300692+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/MBR1400v2-2013-10-07T10%3A46%3A04.bin", "version": "4.4.2" }, { "built_at": "2013-10-07T11:06:13+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/28/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "72d96f027a4dfb8133a513c45409d997a51e5d56", "id": "28", "is_deprecated": false, "product": "https://www.cradlepointecm.com/api/v2/products/1/", "released_at": "2013-10-07T11:06:13+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/28/", "uploaded_at": "2013-10-08T00:59:56.957464+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/MBR1400-2013-10-07T11%3A06%3A13.bin", "version": "4.4.2" }, { "built_at": "2013-10-07T10:23:47+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/29/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "5549f9e11b5e0f54e1e2b58be501604d48ad4f7f", "id": "29", "is_deprecated": false, "product": "https://www.cradlepointecm.com/api/v2/products/8/", "released_at": "2013-10-07T10:23:47+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/29/", "uploaded_at": "2013-10-08T01:00:03.272843+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/IBR650-2013-10-07T10%3A23%3A47.bin", "version": "4.4.2" } ], "meta": { "limit": 20, "next": "https://www.cradlepointecm.com/api/v2/firmwares/?limit=20&offset=20", "offset": 0, "previous": null } }
Example curl GET request/response to the firmwares endpoint with the ID filter applied. This retrieves information for the firmware package with the ID "2."
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/firmwares/?id=2"
Response body for curl GET example
{ "data": [ { "built_at": "2013-07-02T16:34:08+00:00", "default_configuration": "https://www.cradlepointecm.com/api/v2/firmwares/2/default_configuration/", "expires_at": "2020-01-01T00:00:00+00:00", "hash": "516cdeaef3830f5558eb1276b4f6f573440f4082", "id": "2", "is_deprecated": true, "product": "https://www.cradlepointecm.com/api/v2/products/6/", "released_at": "2013-07-02T16:34:08+00:00", "resource_url": "https://www.cradlepointecm.com/api/v2/firmwares/2/", "uploaded_at": "2013-07-03T17:59:25.035746+00:00", "url": "https://d251cfg5d9gyuq.cloudfront.net/MBR1200B-2013-07-02T16%3A34%3A08.bin", "version": "4.3.2" } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Forms
Use the form below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
Use the forwarding_lan_details endpoint to retrieve information about the settings for forwarding LAN traffic into NetCloud Perimeter, such as enabled, network_id, and auto_whitelist.This endpoint can be used with the router_lans and overlay_network_bindings endpoints to deploy a NetCloud Perimeter Gateway on a device. See the Create a NetCloud Perimter Gateway section below for more information.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET, POST, PUT, DELETE.
- forwarding_lan_details Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/forwarding_lan_details/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- Create a NetCloud Perimeter Gateway
- Send a GET request to the router_lans endpoint and filter by router ID. Collect the router_lans IDs.
- Send a GET request to the forwarding_lan_details endpoint and filter by the previously collected router_lans IDs. Collect the forwarding_lan_details IDs.
- Use router_lans IDS and forwarding_lans_details IDs collected in the previous steps in the body of a POST request to overlay_network_bindings. This installs the NCP Gateway Client and binds it to an NCP network.
- GET Examples
- POST Examples
- PUT Examples
- DELETE Example
This table lists the fields associated with the forwarding_lan_details endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description | Permissions |
auto_whitelist | boolean | = | Auto whitelist status | Read/Write | ||
enabled | boolean | = | Enabled status | Read/Write | ||
id* | int | =, __in | ID of a forwarding_lan_details record. | Read Only | ||
lan | url | =, __in | The LAN where the traffic is being forwarded. Records are sorted by this field in responses. Field sorting order is read only and can't be modified. | Read/Write | ||
network_id | int | =, __in | Network ID | Read/Write | ||
overlay_network_binding | url | =, __in | Overlay network ID | Read/Write |
Note: * indicates the attribute is required for PUT and DELETE requests.
Permissions: Read/Write means a parameter is returned in responses to GET requests and is editable in PUT/POST requests.
Read Only means a parameter is returned in responses to GET requests but is NOT editable in PUT/POST requests.
Endpoint base path:
https://www.cradlepointecm.com/api/v2/forwarding_lan_details/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Use the following steps to install the NetCloud Perimeter (NCP) Gateway Client on a device using the NetCloud API.
1. GET request example to the router_lans endpoint to get the router_lans ID(s)
curl -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/router_lans/2222/"
Response example. Note the "id" field value (2222).
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/", "created_at": "2019-04-12T14:28:38.423098+00:00", "enabled": true, "id": "2222", "ip_address": "192.168.17.1", "name": "Primary LAN", "netmask": "255.255.255.0", "resource_url": "https://www.cradlepointecm.com/api/v2/router_lans/2222/", "router": "https://www.cradlepointecm.com/api/v2/routers/12345/", "updated_at": "2020-12-21T00:22:56.363885+00:00" }, { "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } } ] }
2. GET request example to the forwarding_lan_details endpoint to get the forwarding_lan_details ID(s).
curl -X -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type: application/json" "https://www.cradlepointecm.com/api/v2/forwarding_lan_details/3333/"
Response example. Note the "id" field value (3333).
{ "data": [ { "auto_whitelist": false, "enabled": false, "id": "3333", "lan": "https://www.cradlepointecm.com/api/v2/router_lans/4444/", "network_id": null, "overlay_network_binding": null, "resource_url": "https://www.cradlepointecm.com/api/v2/forwarding_lan_details/3333/" }, { "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } } ] }
3. POST request to overlay_network_bindings to create the NCP Gateway Client
curl -H -x POST "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type: application/json" -d '{ "account": "https://www.cradlepointecm.com/api/v2/accounts/1111/", "router": "https://www.cradlepointecm.com/api/v2/routers/12345/", "network_id": 3333, "forwarding_lan_details": [ { "enabled": true, "auto_whitelist": false, "lan": "https://www.cradlepointecm.com/api/v2/router_lans/4444/" }, { "enabled": true, "auto_whitelist": false, "lan": "https://www.cradlepointecm.com/api/v2/router_lans/4444/" } ] }' "https://www.cradlepointecm.com/api/v2/overlay_network_bindings/"
Example curl GET request/response to the forwarding_lan_details endpoint without filters applied.
curl -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/forwarding_lan_details/"
Response body for curl GET example
{ "data": [ { "auto_whitelist": false, "enabled": false, "id": "1", "lan": "https://www.cradlepointecm.com/api/v2/router_lans/1/", "network_id": 3333, "overlay_network_binding": null, "resource_url": "https://www.cradlepointecm.com/api/v2/forwarding_lan_details/1/" } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Example curl GET request/response to the forwarding_lan_details endpoint with the lan field expanded.
curl -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/forwarding_lan_details/?expand=lan"
Response body for curl GET example
{ "data": [ { "auto_whitelist": true, "enabled": false, "id": "1", "lan": { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "created_at": "2020-11-09T16:56:30.890844+00:00", "enabled": true, "id": "3961129", "ip_address": "192.168.10.1", "name": "Guest LAN", "netmask": "255.255.255.0", "resource_uri": "https://www.cradlepointecm.com/api/v2/router_lans/3961129/", "router": "https://www.cradlepointecm.com/api/v2/routers/2162719/", "updated_at": "2021-04-27T22:44:34.884260+00:00" }, "network_id": null, "overlay_network_binding": null, "resource_url": "https://www.cradlepointecm.com/api/v2/forwarding_lan_details/1/" } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Example curl POST requests/responses to the forwarding_lan_details endpoint without filters applied.
curl -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type: application/json" -d '{"auto_whitelist":true, "enabled": false, "id":"1", "lan": "https://www.cradlepointecm.com/api/v2/router_lans/1/", "network_id": 3333, "overlay_network_binding": null}' https://www.cradlepointecm.com/api/v2/forwarding_lan_details/
Response body for curl POST example
{ "auto_whitelist": false, "enabled": false, "id": "1", "lan": "https://www.cradlepointecm.com/api/v2/router_lans/1/", "network_id": 3333, "overlay_network_binding": null, "resource_url": "https://www.cradlepointecm.com/api/v2/forwarding_lan_details/" }
Example curl PUT request/response to the forwarding_lan_details endpoint that sets the enabled field value to true.
curl -X PUT -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type: application/json" -d '{"enabled":true}' "https://www.cradlepointecm.com/api/v2/forwarding_lan_details/1/"
Response body for curl PUT example
{ "auto_whitelist": true, "enabled": true, "id": "1", "lan": "https://www.cradlepointecm.com/api/v2/router_lans/1/", "network_id": 3333, "overlay_network_binding": null, "resource_url": "https://www.cradlepointecm.com/api/v2/forwarding_lan_details/1/" }
Example curl DELETE request/response to the forwarding_lan_details endpoint. This deletes the group matching the ID passed in the route.
curl -X DELETE -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type: application/json" "https://www.cradlepointecm.com/api/v2/forwarding_lan_details/1/"
Successful DELETE actions return a 204 response with no content in the body.
Forms
Use the forms below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
A group is a NetCloud object designed to contain endpoints. Groups allow you to manage endpoints together so you can configure them at the same time with the same settings. Groups have the following characteristics.
- All endpoints in a group must be the same product type.
- The group has one NCOS version and endpoints are automatically upgraded to that version when they are added to the group.
- Groups can have configurations and the group configurations are applied to all endpoints in a group.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET, POST, PUT, PATCH, DELETE.
- groups Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/groups/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
- POST Examples
- PUT Examples
- PATCH Examples
- DELETE Example
This table lists the fields associated with the groups endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description | Permissions |
account* | url | =, __in | Account that a group belongs to | Read/Write | ||
configuration | json | Configuration for the group | Read/Write | |||
device_type | string | =, __in | Type of device, e.g. router or access point | Read Only | ||
id | int | =, __in | ID of a groups record | Read Only | ||
name!* | string | =, __in | Name of the group | Read/Write | ||
product* | url | Product type for the group | Read/Write | |||
resource_url | url | URL of the groups record | Read Only | |||
target_firmware* | url | Firmware version for the group | Read/Write |
Note: * indicates the attribute is required for POST requests.
Permissions: Read/Write means a parameter is returned in responses to GET requests and is editable in PUT/POST requests.
Read Only means a parameter is returned in responses to GET requests but is NOT editable in PUT/POST requests.
Endpoint base path:
https://www.cradlepointecm.com/api/v2/groups/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the groups endpoint without filters applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/groups/"
Response body for curl GET example
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "configuration": [ {}, [] ], "device_type": "access_point", "id": "85136", "name": "AP22 Group", "product": "https://www.cradlepointecm.com/api/v2/products/48/", "resource_url": "https://www.cradlepointecm.com/api/v2/groups/85136/", "target_firmware": "https://www.cradlepointecm.com/api/v2/firmwares/877/" }, { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "configuration": [ {}, [] ], "device_type": "router", "id": "155407", "name": "AER3100 Group", "product": "https://www.cradlepointecm.com/api/v2/products/28/", "resource_url": "https://www.cradlepointecm.com/api/v2/groups/155407/", "target_firmware": "https://www.cradlepointecm.com/api/v2/firmwares/1529/" }, ... ] }
Example curl GET request/response to the groups endpoint with the name filter applied. This retrieves the group with the name matching "AP-22 Group".
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/groups/?name=AP22%20Group"
Response body for curl GET example
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "configuration": [ {}, [] ], "device_type": "access_point", "id": "85136", "name": "AP22 Group", "product": "https://www.cradlepointecm.com/api/v2/products/48/", "resource_url": "https://www.cradlepointecm.com/api/v2/groups/85136/", "target_firmware": "https://www.cradlepointecm.com/api/v2/firmwares/877/" } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Example curl POST request/response to the groups endpoint. This creates a new group in the specified account.
curl -v -X POST -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY " -H "Content-Type:application/json" "https://www.cradlepointecm.com/api/v2/groups/" -d '{ "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "name": "IBR1100", "product": "https://www.cradlepointecm.com/api/v2/products/23/", "target_firmware": "https://www.cradlepointecm.com/api/v2/firmwares/29/" }'
Response body for curl POST example
{ "account": "https://www.cradlepointecm.com/api/v2/accounts/35065/", "configuration": [ {}, [] ], "device_type": "router", "id": "230007", "name": "IBR1100", "product": "https://www.cradlepointecm.com/api/v2/products/23/", "resource_url": "https://www.cradlepointecm.com/api/v2/groups/", "target_firmware": "https://www.cradlepointecm.com/api/v2/firmwares/29/" }
Example curl PUT request/response to the groups endpoint. This updates the name of the group matching the ID "230007".
curl -v -X PUT -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type:application/json" "https://www.cradlepointecm.com/api/v2/groups/230007/" -d '{ "name": "IBR1100 Group"}'
Response body for curl PUT example
{ "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "configuration": [ {}, [] ], "device_type": "router", "id": "230007", "name": "IBR1100 Group", "product": "https://www.cradlepointecm.com/api/v2/products/23/", "resource_url": "https://www.cradlepointecm.com/api/v2/groups/230007/", "target_firmware": "https://www.cradlepointecm.com/api/v2/firmwares/29/" }
Example curl PATCH request/response to the groups endpoint. This patches the group configuration's system > gps > enabled setting to true.
curl -v -X PATCH -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type:application/json" "https://www.cradlepointecm.com/api/v2/groups/235942/" -d '{ "configuration": [{ "system": { "gps": { "enabled": true } } }, [] ] }'
Response body for curl PATCH example
"system": { "gps": { "enabled": true },
Successful PATCH actions return a 202 response.
Example curl DELETE request/response to the groups endpoint. This deletes the group matching the ID passed in the route.
curl -v -X DELETE -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/groups/230007/"
Successful DELETE actions return a 204 response with no content in the body.
Forms
Use the forms below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
The historical_locations endpoint reports a history of the locations a device has traveled. Use this endpoint to obtain the data points that describe where a specific device has been physically located.
Beginning with NCOS version 7.1.30, your location data is stored (for devices with Location Tracking enabled) even if you lose your network connectivity. Location data is stored on your device and then uploaded to NetCloud when your connection resumes. This prevent gaps in your Location Services data and ensures you always have reliable information about the locations of your devices.
The historical_locations endpoint returns 5,000 location records per query by default (most Cradlepoint endpoints return 20 records by default). This ensures you receive enough historical-location data to meet your reporting needs.
Note: A maximum of 360 location data points are stored while your device is in motion but has no network connection.
Note: Historical location data is retained for one year.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET.
- historical_locations Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/historical_locations/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
This table lists the fields associated with the historical_locations endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
accuracy | int | Calculated accuracy of coordinates, based on latitude. | |||
altitude_meters | int | Altitude value in meters | |||
carrier_id | string | The carrier the modem is currently registered with | |||
cinr | double | Carrier to Interference plus Noise Ratio (dB) | |||
created_at | timestamp | __gt, __lte | Timestamp for when the historical_locations record was created | ||
created_at_timeuuid | timeuuid | __gt | A unique ID associated with the created_at timestamp. Ordering by the ID is equivalent to time ordering. This field can identify a specific record or be used for paging. | ||
dbm | int | Strength of received signal (dBm) | |||
ecio | int | Ec/Io, the ratio of average channel power to total signal power (dB) | |||
latitude | int | A device's relative position north or south on the Earth's surface, in degrees from the Equator | |||
longitude | int | A device's relative position east or west on the Earth's surface, in degrees from the prime meridian | |||
mph | float | Speed of the vehicle carrying the device | |||
net_device_name | float | Network device's name, e.g. 'ethernet-wan', 'lte-1234abcd', 'mdm-dcba4321' | |||
rfband | string | Indicates the Radio Frequency Band that is currently being used by the modem module | |||
rfband_5g | string | Indicates the 5G Radio Frequency Band that is currently being used by the modem module | |||
router | int | = | The router ID of the device providing the location information. | ||
rsrp | double | LTE reference signal receive power | |||
rsrp_5g | double | 5G reference signal receive power | |||
rsrq | int | LTE reference signal receive quality | |||
rsrq_5g | int | 5G reference signal receive quality | |||
rssi | int | Received Signal Strength Indication (units vary with manufacturer) Note: Only for WiFi as WAN interfaces |
|||
signal_percent | int | Percent signal strength, derived heuristically from other values | |||
sinr | double | Signal to Interference plus Noise Ratio (dB) | |||
sinr_5g | double | 5G Signal to Interference plus Noise Ratio (dB) | |||
summary | string | Connected status of the net device. |
Endpoint base path:
https://www.cradlepointecm.com/api/v2/historical_locations/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the historical_locations endpoint. This endpoint requires a router id to be passed in for the router query param (?router=<router id>).
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/historical_locations/?router=2162719"
Response body for curl GET example. This example is one historical_locations record from a recordset of hundreds of location records for the specified router.
{ "created_at": "2021-02-06T21:38:01.447270Z", "ecio": null, "rfband_5g": null, "rsrq_5g": null, "net_device_name": "wwan-60:38:e0:35:f2:96:2_4G-1", "rsrq": null, "mph": 52.71, "signal_percent": null, "sinr": null, "longitude": -116.07866, "dbm": null, "rfband": null, "created_at_timeuuid": "964d01fa-68c3-11eb-8000-000000000000", "latitude": 44.82413, "cinr": null, "carrier_id": null, "sinr_5g": null, "rsrp_5g": null, "summary": null, "rssi": null, "rsrp": null, "accuracy": 2 }
Forms
Use the forms below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
NetCloud Manager (NCM) supports location functionality which stores the last known location of a device. This requires that the Location Services feature is available on the account and that appropriate devices have been enabled. After Location Services are enabled, the NCM UI or this endpoint can be used to monitor or modify device locations.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET, POST, PUT, DELETE.
- locations Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/locations/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
- POST Examples
- PUT Examples
- DELETE Example
This table lists the fields associated with the locations endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description | Permissions |
account* | url | Account that created the locations record | Read/Write | |||
accuracy!* | int | Indicates accuracy range of location coordinates in meters | Read/Write | |||
altitude_meters | int | Altitude value in meters | ||||
id | int | =, __in | Unique ID of a locations record. Unique identifiers are generated when locations records are created via calls to this endpoint using POST, as well as locations gathered from the device when Location Services are enabled. | Read Only | ||
latitude!* | int | A device's relative position north or south on the Earth's surface, in degrees from the Equator | Read/Write | |||
longitude!* | int | A device's relative position east or west on the Earth's surface, in degrees from the prime meridian | Read/Write | |||
method* | string | Method used to determine location (eg. "gps" or "manual") | Read/Write | |||
resource_url | url | URL of the locations record | Read Only | |||
router* | int | =, __in | The router ID of the device providing the location information. | Read/Write | ||
updated_at | timestamp | Timestamp of the last location update | Read Only |
Note: * indicates the attribute is required for POST requests.
Note:! indicates the attribute is required for PUT requests.
Permissions: Read/Write means a parameter is returned in responses to GET requests and is editable in PUT/POST requests.
Read Only means a parameter is returned in responses to GET requests but is NOT editable in PUT/POST requests.
Endpoint base path:
https://www.cradlepointecm.com/api/v2/locations/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the locations endpoint without filters applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/locations/"
Response body for curl GET example
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "accuracy": 0, "id": "731218", "latitude": 43.5783243, "longitude": -116.1913274, "method": "manual", "resource_url": "https://www.cradlepointecm.com/api/v2/locations/731218/", "router": <router id>, "updated_at": "2021-01-25T16:04:34.731183+00:00" } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Example curl GET request/response to the locations endpoint with the ID filter applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/locations/?id=731218"
Response body for curl GET example
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "accuracy": 0, "id": "731218", "latitude": 43.5783243, "longitude": -116.1913274, "method": "manual", "resource_url": "https://www.cradlepointecm.com/api/v2/locations/731218/", "router": <router id>, "updated_at": "2021-01-25T16:04:34.731183+00:00" } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Example curl POST request/response to the locations endpoint. This creates a new location record in the specified account.
curl -v -X POST -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type:application/json" "https://www.cradlepointecm.com/api/v2/locations/" -d ' { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "accuracy": "0", "method": "manual", "latitude": "54.6197012", "longitude": -116.2059159, "router": <router id> }'
Response body for curl POST example
{ "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "accuracy": 0, "id": "763427", "latitude": 54.6197012, "longitude": -116.2059159, "method": "manual", "resource_url": "https://www.cradlepointecm.com/api/v2/locations/", "router": <router id>, "updated_at": "2021-02-17T17:36:53.239075+00:00" }
Example curl PUT request/response to the locations endpoint. This updates the latitude value from 43 to 44.
curl -v -X PUT -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type:application/json" "https://www.cradlepointecm.com/api/v2/locations/731218/" -d ' { "accuracy": 0, "latitude": "44.6197012", "longitude": "-116.2059159" } '
Response body for curl PUT example
{ "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "accuracy": 0, "id": "731218", "latitude": 44.6197012, "longitude": -116.2059159, "method": "manual", "resource_url": "https://www.cradlepointecm.com/api/v2/locations/731218/", "router": <router id>, "updated_at": "2021-02-17T16:51:50.499149+00:00" }
Example curl DELETE request/response to the locations endpoint. This deletes the location record matching the ID passed in the route.
curl -v -X DELETE -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/locations/731218/"
Successful DELETE actions return a 204 response with no content in the body.
Forms
Use the forms below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
The net_device_health endpoints returns a cellular health category and corresponding cellular health score.
The cellular_health_category field is a ranking with one of the following values:
- Excellent
- Good
- Fair
- Poor
The cellular_health_score field is based on the cellular technology of the connection (i.e. LTE, HSPA, CDMS, etc.), the signal quality (SINR, RSRQ, RSRP, EC/lo, RSSI) and signal strength (RSSI) of the connection.
The following conditions should be considered when evaluating the information returned by the net_device_health endpoint:
- Routers must be managed by NCM in order for statistics to be gathered on them.
- Removing a router from NCM, or moving a router to a new group, does not affect the historically-collected, group-uptime data. The history will not change if a router's group membership changes.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET.
- net_device_health Endpoint Fields and Filters
- Tips for Using the NetCloud Manager API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/net_device_health/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
This table lists the fields associated with the net_device_health endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
cellular_health_category | string | Cellular Health category name | |||
cellular_health_score | int | Cellular Health score | |||
id | int | ID of a net_device_health record | |||
net_device | in: int, out: url | =, __in | The URL of the net_device. | ||
resource_url | URL | URL of the net_device_health record |
Endpoint base path:
https://www.cradlepointecm.com/api/v2/net_device_health/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the net_device_health endpoint with the net_device filter applied. Omit the net_device filter to retrieve net_device_health records for all net devices in your account.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/net_device_health/?net_device=<net_device id>"
Response body for curl GET example
{ "data": [ { "cellular_health_category": "excellent", "cellular_health_score": 82, "id": "28298558 "net_device": "https://www.cradlepointecm.com/api/v2/net_devices/<net device id>/", "resource_url": "https://www.cradlepointecm.com/api/v2/net_device_health/28298558/" } ], "meta": { "limit": 20, "previous": null, "offset": 0, "next": null } }
Forms
Use the forms below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
This endpoint allows access to the latest signal, usage, and cell-tower data reported by an account’s wireless devices. This endpoint does not query the historical, raw-sample tables. These tables are not optimized for queries that span many wireless devices at once.
The primary key of this endpoint is net_device. The data returned by this endpoint has a one-to-one relationship with the net_devices endpoint. Expansion is supported to the net_devices endpoint. Paging is supported through our standard offset/limit functionality on the relational endpoints.
This endpoint also returns information about the cell towers used by your devices. This information includes cell tower IDs and the PLMN (MCC and MNC), LAC, and TAC codes.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET.
- net_device_metrics Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/net_device_metrics/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
This table lists the fields associated with the net_device_metrics endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
bmask_applied | boolean | = | Indicates if band masking is applied | ||
bytes_in | bigint | Last sampled usage value received from net_device (running total since last device reset) | |||
bytes_out | bigint | Last sampled usage value received from net_device (running total since last device reset) | |||
cell_id | string | Cell Tower ID | |||
cinr | double | Carrier to Interference plus Noise Ratio (dB) | |||
dbm | int | Strength of received signal (dBm) | |||
ecio | int | Ec/Io, the ratio of average channel power to total signal power (dB) | |||
id | int | ID of a net_device_metrics record | |||
lac | string | Location Area Code | |||
mcc | string | Mobile Country Code (PLMN component) | |||
mnc | string | Mobile Network Code (PLMN component) | |||
net_device | in: int, out: url | =, __in | net_device that reported the usage sample | ||
resource_url | url | URL of the net_device_metrics record | |||
rsrp | double | LTE reference signal receive power | |||
rsrq | double | LTE reference signal receive quality | |||
rssi | int | Received Signal Strength Indication (units vary with manufacturer) Note: Only for WiFi as WAN interfaces |
|||
service_type | string | Last sampled service type value received from net_device | |||
signal_strength | int | Last sampled signal value received from net_device | |||
sinr | double | Signal to Interference plus Noise Ratio (dB) | |||
tac | string | Tracking Area Code | |||
update_ts | timestamp | __gt, __lt | Last time any field on this record was updated |
Endpoint base path:
https://www.cradlepointecm.com/api/v2/net_device_metrics/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the net_device_metrics endpoint with the net_device filter applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/net_device_metrics/?net_device=134193"
Response body for curl GET example
{ "data": [ { "bmask_applied": null, "bytes_in": 49972, "bytes_out": 331753, "cell_id": null, "cinr": null, "dbm": null, "ecio": null, "id": "134193", "lac": null, "mcc": null, "mnc": null, "net_device": "https://www.cradlepointecm.com/api/v2/net_devices/134193/", "resource_url": "https://www.cradlepointecm.com/api/v2/net_device_metrics/134193/", "rsrp": null, "rsrq": null, "rssi": null, "rssnr": null, "service_type": "Ethernet", "signal_strength": null, "sinr": null, "tac": null, "update_ts": "2021-04-30T16:51:24.475397+00:00" } ], "meta": { "limit": 20, "next": "https://www.cradlepointecm.com/api/v2/net_device_metrics/?limit=20&offset=20", "offset": 0, "previous": null } }
Forms
Use the form below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
Net device signal samples are periodic reports of modem signal strength indicators. By default a modem will report its current signal strength to NetCloud Manager (NCM) on an hourly basis, although this can be configured.
Note: Device signal-sample data is retained in NetCloud for 90 days.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET.
- net_device_signal_samples Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/net_device_signal_samples/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
This table lists the fields associated with the net_device_signal_samples endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
cinr | double | Carrier to Interference plus Noise Ratio (dB) | |||
created_at | timestamp | __gt, __lt | Timestamp of when the sample was created | ||
created_at_timeuuid | timeuuid | =, __in, __gt, __gte, __lt, __lte | A unique ID associated with the created_at timestamp. Ordering by the ID is equivalent to time ordering. This field can identify a specific record or be used for paging. | ||
dbm | int | Strength of received signal (dBm) | |||
ecio | int | Ec/Io, the ratio of average channel power to total signal power (dB) | |||
net_device | in: int, out: url | =, __in | Network device that reported the usage sample | ||
rsrp | double | LTE reference signal receive power | |||
rsrp5g | double | 5G reference signal receive power | |||
rsrp5g_highband | double | 5G high-band reference signal receive power | |||
rsrq | double | LTE reference signal receive quality | |||
rsrq5g | double | 5G reference signal receive quality | |||
rsrq5g_highband | double | 5G high-band reference signal receive quality | |||
rssi | int | Received Signal Strength Indication (units vary with manufacturer) Note: Only for WiFi as WAN interfaces |
|||
rssnr | int | Reference Signal Signal to Noise Ratio | |||
signal_percent | int | Percent signal strength, derived heuristically from other values | |||
sinr | double | Signal to Interference plus Noise Ratio (dB) | |||
sinr5g | double | 5G Signal to Interference plus Noise Ratio (dB) | |||
sinr5g_highband | double | 5G high-band Signal to Interference plus Noise Ratio (dB) | |||
uptime | double | Time in seconds since the net device established its link |
Endpoint base path:
https://www.cradlepointecm.com/api/v2/net_device_signal_samples/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the net_device_signal_samples endpoint for the net device with id "73308086."
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/net_device_signal_samples/?net_device=73308086"
Response body for curl GET example
{ "data": [ { "cinr": null, "created_at": "2021-04-28T08:35:09.785076+00:00", "created_at_timeuuid": "a477e788-a7fc-11eb-bec0-925dfd668908", "dbm": -69, "ecio": null, "net_device": "https://www.cradlepointecm.com/api/v2/net_devices/73308086/", "rsrp": -96, "rsrp5g": null, "rsrp5g_highband": null, "rsrq": -10, "rsrq5g": null, "rsrq5g_highband": null, "rssi": null, "rssnr": null, "signal_percent": 100, "sinr": 16.4, "sinr5g": null, "sinr5g_highband": null, "uptime": 138686 }, { .... } ], "meta": { "limit": 20, "next": "https://www.cradlepointecm.com/api/v2/net_device_signal_samples/?created_at_timeuuid__lt=e8f813de-a7e2-11eb-bc01-067ecc6c90d9" } }
Forms
Use the form below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
Net device usage samples are periodic reports of the number of bytes passed in and out of a net device. By default a net device will report its usage on an hourly basis, although this can be configured.
Note: Net device usage sample data is retained in NetCloud for 90 days.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET.
- net_device_usage_samples Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/net_device_usage_samples/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
This table lists the fields associated with the net_device_usage_samples endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
bytes_in | bigint | Bytes received to device since last update | |||
bytes_out | bigint | Bytes sent from device since last update | |||
created_at | timestamp | __gt, __lt | Timestamp of when the sample was created | ||
created_at_timeuuid | timeuuid | =, __in, __gt, __gte, __lt, __lte | A unique ID associated with the created_at timestamp. Ordering by the ID is equivalent to time ordering. This field can identify a specific record or be used for paging. | ||
net_device | in: int, out: url | =, __in | Network device that reported the usage sample | ||
period | double | Time in seconds since the last sample was reported | |||
uptime | double | Time in seconds since the net device established its link |
Endpoint base path:
https://www.cradlepointecm.com/api/v2/net_device_usage_samples/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the net_device_usage_samples endpoint without filters applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/net_device_usage_samples/"
Response body for curl GET example
{ "data": [ { "bytes_in": 41055349, "bytes_out": 26513817, "created_at": "2021-02-09T22:37:08.009631+00:00", "created_at_timeuuid": "5774ba36-6b27-11eb-810a-82c571ff5873", "net_device": "https://www.cradlepointecm.com/api/v2/net_devices/74404917/", "period": 2766.1619693620014, "uptime": 193395.479387832 }, { "bytes_in": 523161, "bytes_out": 830563, "created_at": "2021-02-09T22:37:08.006812+00:00", "created_at_timeuuid": "57744c1a-6b27-11eb-9b8a-82c571ff5873", "net_device": "https://www.cradlepointecm.com/api/v2/net_devices/74404916/", "period": 1424.0312275589968, "uptime": 193395.479387832 }, ... ], "meta": { "limit": 20, "next": "https://www.cradlepointecm.com/api/v2/net_device_usage_samples/?created_at_timeuuid__lt=06c75c2c-6b0b-11eb-975d-fa12fe283560" } }
Example curl GET request/response to the net_device_usage_samples endpoint with the created_at_timeuuid filter applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/net_device_usage_samples/?created_at_timeuuid=f803740a-6b14-11eb-a773-12bfd7fde28d"
Response body for curl GET example
{ "data": [ { "bytes_in": 115192663, "bytes_out": 192047700, "created_at": "2021-02-09T20:25:36.942593+00:00", "created_at_timeuuid": "f803740a-6b14-11eb-a773-12bfd7fde28d", "net_device": "https://www.cradlepointecm.com/api/v2/net_devices/74404917/", "period": 2074.1544243349927, "uptime": 185504.796904274 } ], "meta": { "limit": 20, "next": null } }
Forms
Use the form below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
Use the net_devices endpoint to view network interfaces, and information about each interface, currently enabled on a given Cradlepoint device. Net devices are categorized as either WAN or LAN devices, as signified by the "mode" field, and further categorized by interface type, such as Ethernet, wireless, modem, LTE, etc.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET.
- net_devices Endpoint Fields and Filters
- Tips for Using the NetCloud Manager API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/net_devices/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
This table lists the fields associated with the net_devices endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
account | in: int, out: url | =, __in | Account that created the net_devices record | ||
apn | string | Access Point Name | |||
bsid | string | Base Station ID | |||
carrier | string | The connected carrier if available. Otherwise, the carrier the modem is configured to connect to | |||
carrier_id | string | The carrier the modem is currently registered with | |||
channel | int | WiFi channel currently in use, if applicable | |||
connection_state | string | =, __in | Connected, Connecting, Disconnecting, Disconnected, Error, Ready, Configuring | ||
dns0 | string | Primary DNS server | |||
dns1 | string | Secondary DNS server | |||
esn | string | Electronic serial number | |||
gateway | string | Gateway server onto network | |||
gsn | string | Modem's global object identifier | |||
homecarrid | string | Modem's home carrier identifier | |||
hostname | string | Net device's hostname, if available | |||
iccid | string | =, __in | Modem's SIM card's integrated circuit card identifier | ||
id | int | =, __in | ID of a net_devices record | ||
imei | string | =, __in | Modem's international mobile station equipment identity number | ||
imsi | string | Modem's SIM card's unique subscriber identity | |||
ipv4_address | string | =, __in | Device's IPv4 address | ||
ipv6_address | string | =, __in | Device's IPv6 address | ||
is_asset | boolean | = | True for modem net devices | ||
is_gps_supported | boolean | True if the device supports GPS | |||
is_upgrade_available | DATA FIELD IS NO LONGER VALID | ||||
is_upgrade_supported | boolean | True if the modem firmware is upgradable | |||
ltebandwidth | string | Indicates the frequency width of the LTE Band being used by the modem module | |||
mac | string | MAC address of the net device | |||
manufacturer | string | Manufacturer of the net device | |||
mdn | string | Modem's mobile data number (phone number) | |||
meid | string | Modem's CDMA unique identifier | |||
mfg_model | string | Network device's manufacturing model | |||
mfg_product | string | Product name of the net device | |||
mn_ha_spi | string | Mobile Node Home Agent Security Parameter Index - Indicates the specific security association between the home agent and the mobile device and the algorithm used for security purposes | |||
mn_ha_ss | string | Mobile Node Home Agent Shared Secret - Contains the shared secret used between the home agent and mobile device for security purposes | |||
mode | string | =, __in | Net device's mode, WAN or LAN | ||
model | string | Net device's model | |||
modem_fw | string | Modem's current firmware version | |||
mtu | int | Modem's network maximum transmission unit size | |||
nai | string | Modem's Network access identifier | |||
name | string | Network device's name, e.g. 'ethernet-wan', 'lte-1234abcd', 'mdm-dcba4321' | |||
netmask | string | Net device's netmask | |||
pin_status | string | Indicates the status of the SIM PIN. Examples include "READY", "PIN REQUIRED:, etc | |||
port | string | Port identifier on device | |||
prlv | string | Preferred Roaming List Version - Indicates the version of the Preferred Roaming List that is being used by the modem module | |||
profile | string | Indicates the active CDMA profile used by the modem module | |||
resource_url | url | URL of the net_devices record | |||
rfband | string | Indicates the Radio Frequency Band that is currently being used by the modem module | |||
rfband5g | string | Indicates the 5G Radio Frequency Band that is currently being used by the modem module | |||
rfchannel | string | Indicates the Radio Frequency Channel that is currently being used by the modem module | |||
roam | string | Indicates if the modem is roaming outside its home network (0 - Roaming on a non-preferred network, 1 - Home network, 2 - Roaming on a preferred network) | |||
router | in: int, out: urlurl | =, __in | Cradlepoint device the net device is currently connected to | ||
rxchannel | string | Indicates the Radio Frequency Channel that is currently being used by for receiving data | |||
serial | string | Serial number of net device | |||
service_type | string | Connection mode: 3G, 4G, etc | |||
ssid | string | Service set identifier or network name | |||
summary | string | Additional net device state details, e.g. suspended, unconfigured, connecting, unplugged | |||
txchannel | string | Indicates the Radio Frequency Channel that is currently being used by for transmitting data | |||
type | string | Device type, e.g. 'mdm', 'modem', 'lte', 'ethernet' | |||
uid | string | A unique identifier used to the net device by the Cradlepoint device | |||
updated_at | timestamp | __gt, __lt | Time of last update to this object | ||
uptime | float | Time in seconds since the net device established its link | |||
ver_pkg | string | Indicates the firmware package version that is currently loaded on the modem module | |||
version | string | Firmware version of the network device | |||
wimax_realm | string | WiMAX realm string used to connect to a WiMAX network |
Endpoint base path:
https://www.cradlepointecm.com/api/v2/net_devices/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the net_devices endpoint without filters applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/net_devices/"
Response body for curl GET example
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "bsid": null, "carrier": "Unknown Service", "carrier_id": null, "channel": null, "connection_state": "unplugged", "dns0": null, "dns1": null, "esn": null, "gateway": null, "gsn": "353547063430048", "homecarrid": null, "hostname": "JGE-IBR900-f1d", "iccid": null, "id": "32081658", "imei": "353547063430048", "imsi": null, "ipv4_address": null, "ipv6_address": null, "is_asset": true, "is_gps_supported": true, "is_upgrade_available": false, "is_upgrade_supported": true, "ltebandwidth": null, "mac": null, "manufacturer": "Cradlepoint Inc.", "mdn": null, "meid": "35354706343004", "mfg_model": "MC7354-CP", "mfg_product": "Internal LPE (SIM1)", "mn_ha_spi": null, "mn_ha_ss": null, "mode": "wan", "model": "Internal LPE-VZ (SIM1)", "modem_fw": "Verizon Wireless", "mtu": 1428, "nai": null, "name": "mdm-c5be779", "netmask": null, "pin_status": "NOSIM", "port": "int1", "prlv": null, "profile": null, "resource_url": "https://www.cradlepointecm.com/api/v2/net_devices/32081658/", "rfband": null, "rfchannel": null, "roam": null, "router": null, "rxchannel": null, "serial": "353547063430048", "service_type": "Not Available", "ssid": null, "summary": "unplugged", "txchannel": null, "type": "mdm", "uid": "c5be779", "updated_at": "2018-12-12T16:41:31.117640+00:00", "uptime": null, "ver_pkg": "05.05.58.01_VZW,005.030_000", "version": "SWI9X15C_05.05.58.01 r27044 carmd-fwbuild1 2015/03/05 00:02:40", "wimax_realm": "sprintpcs.com" }, ... ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Example curl GET request/response to the net_devices endpoint with the ID filter applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/net_devices/?id=32081658"
Response body for curl GET example
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "bsid": null, "carrier": "Unknown Service", "carrier_id": null, "channel": null, "connection_state": "unplugged", "dns0": null, "dns1": null, "esn": null, "gateway": null, "gsn": "353547063430048", "homecarrid": null, "hostname": "JGE-IBR900-f1d", "iccid": null, "id": "32081658", "imei": "353547063430048", "imsi": null, "ipv4_address": null, "ipv6_address": null, "is_asset": true, "is_gps_supported": true, "is_upgrade_available": false, "is_upgrade_supported": true, "ltebandwidth": null, "mac": null, "manufacturer": "Cradlepoint Inc.", "mdn": null, "meid": "35354706343004", "mfg_model": "MC7354-CP", "mfg_product": "Internal LPE (SIM1)", "mn_ha_spi": null, "mn_ha_ss": null, "mode": "wan", "model": "Internal LPE-VZ (SIM1)", "modem_fw": "Verizon Wireless", "mtu": 1428, "nai": null, "name": "mdm-c5be779", "netmask": null, "pin_status": "NOSIM", "port": "int1", "prlv": null, "profile": null, "resource_url": "https://www.cradlepointecm.com/api/v2/net_devices/32081658/", "rfband": null, "rfchannel": null, "roam": null, "router": null, "rxchannel": null, "serial": "353547063430048", "service_type": "Not Available", "ssid": null, "summary": "unplugged", "txchannel": null, "type": "mdm", "uid": "c5be779", "updated_at": "2018-12-12T16:41:31.117640+00:00", "uptime": null, "ver_pkg": "05.05.58.01_VZW,005.030_000", "version": "SWI9X15C_05.05.58.01 r27044 carmd-fwbuild1 2015/03/05 00:02:40", "wimax_realm": "sprintpcs.com" } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Forms
Use the form below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
Use the overlay_network_bindings endpoint to retrieve information about NCP Gateway Clients, such as gateway_id and state. Also used to install NCP Gateway client on a device and bind it to a network. This endpoint can be used with the router_lans and forwarding_lan_details endpoints to deploy a NetCloud Perimeter Gateway on a device. See the Create a NetCloud Perimter Gateway section below for more information.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET, POST, PUT, DELETE.
- overlay_network_bindings Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/overlay_network_bindings/"
- BODY = -d '{"<field name>": "<field value>"}
- Create a NetCloud Perimeter Gateway
- Send a GET request to the router_lans endpoint and filter by router ID. Collect the router_lans IDs.
- Send a GET request to the forwarding_lan_details endpoint and filter by the previously collected router_lans IDs. Collect the forwarding_lan_details IDs.
- Use router_lans IDS and forwarding_lans_details IDs collected in the previous steps in the body of a POST request to overlay_network_bindings. This installs the NCP Gateway Client and binds it to an NCP network.
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
- POST Examples
- PUT Examples
- DELETE Example
This table lists the fields associated with the overlay_network_bindings endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description | Permissions |
account | in: int, out: url | =, __in | Account that owns the overlay_network_bindings record | Read/Write | ||
auto_whitelist | boolean | Auto whitelist status | Read/Write | |||
created_at | datetime | Datetime the overlay_network_bindings record was created | Read Only | |||
forwarding_lans | url | LANs where traffic is forwarded | Read/Write | |||
forwarding_lan_details | url | =, __in | Forwarding LAN details (enabled, auto-whitelist, lan) | Read/Write | ||
gateway_id | int | =, __in | ID of the associated gateway | Read/Write | ||
group | url | =, __in | Group url | Read/Write | ||
id* | int | =, __in | ID of an overlay_network_bindings record | Read Only | ||
network_id | int | =, __in | Netcloud Perimeter Overlay Network ID | Read Only | ||
refresh_pending | boolean | Refresh status | Read/Write | |||
resource_url | url | URL of the overlay_network_bindings record | Read Only | |||
router | in: int, out: url | =, __in | Router url | Read/Write | ||
state | string | General state description | Read/Write | |||
state_details | string | Detailed state description | Read/Write | |||
updated_at | datetime | Datetime of the last update to the overlay_network_bindings record | Read Only |
Note: * indicates the attribute is required for PUT and DELETE requests.
Permissions: Read/Write means a parameter is returned in responses to GET requests and is editable in PUT/POST requests.
Read Only means a parameter is returned in responses to GET requests but is NOT editable in PUT/POST requests.
Endpoint base path:
https://www.cradlepointecm.com/api/v2/overlay_network_bindings/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Use the following steps to install the NetCloud Perimeter (NCP) Gateway Client on a device using the NetCloud API.
1. GET request example to the router_lans endpoint to get the router_lans ID(s)
curl -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/router_lans/2222/"
Response example. Note the "id" field value (2222).
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/", "created_at": "2019-04-12T14:28:38.423098+00:00", "enabled": true, "id": "2222", "ip_address": "192.168.17.1", "name": "Primary LAN", "netmask": "255.255.255.0", "resource_url": "https://www.cradlepointecm.com/api/v2/router_lans/2222/", "router": "https://www.cradlepointecm.com/api/v2/routers/12345/", "updated_at": "2020-12-21T00:22:56.363885+00:00" }, { "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } } ] }
2. GET request example to the forwarding_lan_details endpoint to get the forwarding_lan_details ID(s).
curl -X -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type: application/json" "https://www.cradlepointecm.com/api/v2/forwarding_lan_details/3333/"
Response example. Note the "id" field value (3333).
{ "data": [ { "auto_whitelist": false, "enabled": false, "id": "3333", "lan": "https://www.cradlepointecm.com/api/v2/router_lans/4444/", "network_id": null, "overlay_network_binding": null, "resource_url": "https://www.cradlepointecm.com/api/v2/forwarding_lan_details/3333/" }, { "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } } ] }
3. POST request to overlay_network_bindings to create the NCP Gateway Client
curl -H -x POST "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type: application/json" -d '{ "account": "https://www.cradlepointecm.com/api/v2/accounts/1111/", "router": "https://www.cradlepointecm.com/api/v2/routers/12345/", "network_id": 3333, "forwarding_lan_details": [ { "enabled": true, "auto_whitelist": false, "lan": "https://www.cradlepointecm.com/api/v2/router_lans/4444/" }, { "enabled": true, "auto_whitelist": false, "lan": "https://www.cradlepointecm.com/api/v2/router_lans/4444/" } ] }' "https://www.cradlepointecm.com/api/v2/overlay_network_bindings/"
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the overlay_network_bindings endpoint without filters applied.
curl -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/overlay_network_bindings/"
Response body for curl GET example
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "auto_whitelist": true, "created_at": "2020-02-27T20:45:49.322726+00:00", "forwarding_lan_details": "https://www.cradlepointecm.com/api/v2/overlay_network_bindings/35167/forwarding_lan_details/", "forwarding_lans": "https://www.cradlepointecm.com/api/v2/overlay_network_bindings/35167/forwarding_lans/", "gateway_id": 244184, "group": "https://www.cradlepointecm.com/api/v2/groups/None/", "id": "35167", "network_id": 37841, "refresh_pending": false, "resource_url": "https://www.cradlepointecm.com/api/v2/overlay_network_bindings/35167/", "router": "https://www.cradlepointecm.com/api/v2/routers/1284575/", "state": "OK", "state_details": "ACTIVE", "updated_at": "2021-02-19T11:23:55.125217+00:00" }, { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "auto_whitelist": true, "created_at": "2020-11-18T17:06:38.928021+00:00", "forwarding_lan_details": "https://www.cradlepointecm.com/api/v2/overlay_network_bindings/43453/forwarding_lan_details/", "forwarding_lans": "https://www.cradlepointecm.com/api/v2/overlay_network_bindings/43453/forwarding_lans/", "gateway_id": 342430, "group": "https://www.cradlepointecm.com/api/v2/groups/None/", "id": "43453", "network_id": 37841, "refresh_pending": false, "resource_url": "https://www.cradlepointecm.com/api/v2/overlay_network_bindings/43453/", "router": "https://www.cradlepointecm.com/api/v2/routers/2174016/", "state": "OK", "state_details": "ACTIVE", "updated_at": "2021-02-21T10:02:00.588354+00:00" } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Example curl POST request/response to the overlay_network_bindings endpoint..
curl -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type: application/json" -d '{"auto_whitelist":false, "refresh_pending": false, "created_at": "2021-01-27T01:03:02.527774+00:00","updated_at": "2021-01-27T01:03:02.527774+00:00", "account":"https://www.cradlepointecm.com/api/v2/accounts/3/", "router": "https://www.cradlepointecm.com/api/v2/routers/3/", "network_id": 12345 }' "https://www.cradlepointecm.com/api/v2/overlay_network_bindings/"
Response body for curl POST example
{ "account": "https://www.cradlepointecm.com/api/v2/accounts/3/", "auto_whitelist": false, "created_at": "2021-01-27T22:11:20.328722+00:00", "forwarding_lan_details": "https://www.cradlepointecm.com/api/v2/overlay_network_bindings/8/forwarding_lan_details/", "forwarding_lans": "https://www.cradlepointecm.com/api/v2/overlay_network_bindings/8/forwarding_lans/", "gateway_id": null, "group": "https://www.cradlepointecm.com/api/v2/groups/None/", "id": "8", "network_id": 31682, "refresh_pending": false, "resource_url": "https://www.cradlepointecm.com/api/v2/overlay_network_bindings/", "router": "https://www.cradlepointecm.com/api/v2/routers/3/", "state": null, "state_details": null, "updated_at": "2021-01-27T22:11:20.328746+00:00" }
Example curl PUT request/response to the overlay_network_bindings endpoint. This updates the auto_whitelist field to 'true' for the specified record.
curl -X PUT -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type: application/json" -d '{"auto_whitelist":true}' "https://www.cradlepointecm.com/api/v2/overlay_network_bindings/1/"
Response body for curl PUT example
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/3/", "auto_whitelist": true, "created_at": "2021-01-27T05:08:20.686925+00:00", "forwarding_lan_details": "https://www.cradlepointecm.com/api/v2/overlay_network_bindings/1/forwarding_lan_details/", "forwarding_lans": "https://www.cradlepointecm.com/api/v2/overlay_network_bindings/1/forwarding_lans/", "gateway_id": 132997, "group": "https://www.cradlepointecm.com/api/v2/groups/None/", "id": "1", "network_id": 12345, "refresh_pending": false, "resource_url": "https://www.cradlepointecm.com/api/v2/overlay_network_bindings/1/", "router": "https://www.cradlepointecm.com/api/v2/routers/3/", "state": null, "state_details": null, "updated_at": "2021-01-27T05:11:07.550503+00:00" } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Example curl DELETE request/response to the overlay_network_bindings endpoint.
curl -X DELETE -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "$NCM/api/v2/overlay_network_bindings/1/"
Successful DELETE actions return a 204 response with no content in the body.
Forms
Use the products endpoint to retrieve information about Cradlepoint products, including product names and resource urls.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET.
- products Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/products/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
This table lists the fields associated with the products endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
device_type | string | =, __in | Type of device, e.g. router or access point | ||
id | int | =, __in | ID of a products record | ||
name | string | =, __in | Name of the product, e.g. IBR600 | ||
resource_url | url | URL of the products record | |||
series | int | Series of the product, e.g. 2 or 3 |
Endpoint base path:
https://www.cradlepointecm.com/api/v2/products/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the products endpoint without filters applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/products/"
Response body for curl GET example
{ "data": [ { "device_type": "router", "id": "1", "name": "MBR1400", "resource_url": "https://www.cradlepointecm.com/api/v2/products/1/", "series": 3 }, { "device_type": "router", "id": "2", "name": "MBR1400v2", "resource_url": "https://www.cradlepointecm.com/api/v2/products/2/", "series": 3 }, { "device_type": "router", "id": "3", "name": "CBR400", "resource_url": "https://www.cradlepointecm.com/api/v2/products/3/", "series": 3 }, { "device_type": "router", "id": "4", "name": "CBR450", "resource_url": "https://www.cradlepointecm.com/api/v2/products/4/", "series": 3 }, ... ], "meta": { "limit": 20, "next": "https://www.cradlepointecm.com/api/v2/products/?limit=20&offset=20", "offset": 0, "previous": null } }
Example curl GET request/response to the products endpoint with the ID filter applied. This retrieves the product matching the ID "29".
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/products/?id=29"
Response body for curl GET example
{ "data": [ { "device_type": "router", "id": "29", "name": "AER3150", "resource_url": "https://www.cradlepointecm.com/api/v2/products/29/", "series": 3 } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Forms
Use the form below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
The reboot_activity endpoint allows you to reboot a single router or a group of routers. The reboot_activity endpoint provides the ability to
- POST a router's URI in the request payload to reboot a router, or
- POST a group's URI in the request payload to reboot a group of routers.
Specifying both a router and a group in the same call is not supported and the resulting behavior should be considered undefined. The caller must choose to reboot a router or reboot a group of router.
On success, POST requests return a "201 Created" code indicating that the request has been submitted without error. This does not necessarily indicate that the router has started to reboot. If the router is online (connected to NCM), the reboot command is sent as soon as possible. If the router is offline, the request will be lost.
Sending an invalid ID for the target router or group results in an HTTP error, typically a "403 Forbidden" error.
Supported methods:POST.
POST payload requirements: router or group URI.
Endpoint base path:
https://www.cradlepointecm.com/api/v2/reboot_activity/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
- POST Examples
Example curl POST request to the reboot_activity endpoint. This reboots a router with the ID "42".
curl -v -X POST -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type:application/json" "https://www.cradlepointecm.com/api/v2/reboot_activity/" -d '{"router":"https://www.cradlepointecm.com/api/v2/routers/42/"}'
Example curl POST request to the reboot_activity endpoint. This reboots the routers in the group with the ID "24".
curl -v -X POST -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type:application/json" "https://www.cradlepointecm.com/api/v2/reboot_activity/" -d '{"group":"https://www.cradlepointecm.com/api/v2/groups/24/"}'
Forms
Use the form below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
NCM provides alert functionality to notify NCM administrators of the health and status of their devices.
Alerts must be configured in NCM before they are generated. The default NCM configuration does not create any alerts.
After the alerts have been configured, a customer can use the NCM UI or this endpoint to monitor alerts.
See the List of NetCloud Router Alerts section below for a listing of the alerts available in NetCloud.
NOTE: Certain alerts can be configured with thresholds. These thresholds allow you to control when alerts are triggered. See the Cradlepoint Customer Connect Knowledgebase article Alerting and Reporting for details on using alerts that have thresholds.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
- router_alerts Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/router_alerts/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- List of NetCloud Router Alerts
- GET Examples
This table lists the fields associated with the router_alerts endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
created_at | timestamp | __gt, __lt | Timestamp for when the router_alerts record was created | ||
created_at_timeuuid | timeuuid | =, __in, __gt, __gte, __lt, __lte | A unique ID associated with the created_at timestamp. Ordering by the ID is equivalent to time ordering. This field can identify a specific record or be used for paging. | ||
detected_at | timestamp | Timestamp of when the alert was detected | |||
friendly_info | string | Human-readable description of the alert | |||
info | json | Alert-type specific information | |||
router | in: int, out: url | =, __in | Device this alert is related to | ||
type | string | The type of the alert |
Endpoint base path:
https://www.cradlepointecm.com/api/v2/router_alerts/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
The following table lists the Router Alert types available in NetCloud.
Alert Type | Description | Alert Field Name |
ADC Voltage Event | Occurs on devices with voltage-sensing systems when a voltage limit is reached, and also when the voltage returns to within the accepted range. | adc_event |
AP/Core Connection State | The cellular AP specified service type connectivity to the packet core entered the specified state. | pcn_ap_connection_state |
Battery Health | Creates an alert when the remaining battery life reaches 62%. | batt_health_alert |
Battery Over Current | Creates an alert when the battery's current reaches 3.2 amps (3200 mA). | batt_over_current_alert |
Battery Over Temperature | Creates an alert when the battery's temperature reaches 50 degrees Celsius. | batt_over_temp_alert |
Battery Over Voltage | Creates an alert when the battery's recommended voltage reaches 8.5V (8500 mV). | batt_over_voltage_alert |
Battery System Low Power | Creates an alert when the battery's power reaches 20% charge. | batt_sys_low_power_alert |
Battery System Power Off | Creates an alert when the battery's power reaches 7% charge. | batt_sys_power_off_alert |
Cellular Radio Status | The cellular AP radio interface has entered the specified state. | pcn_ap_radio_status |
Configuration Changed | Occurs when there has been a local configuration change. | config_change |
Configuration Rejected | Occurs when a configuration change was sent to the device but was rejected. | config_rejected |
Configuration Unacknowledged | Occurs when a configuration change was sent to the device but was not acknowledged by the device. | config_unacked |
CPU Utilization | CPU Utilization crossed a threshold. | cpu_utilization |
Custom Alert | Is an alert generated by custom code in an NCOS SDK app. | custom_alert |
Data Cap Threshold | Occurs when a data cap threshold is reached. | data_cap_threshold |
Device Location Unknown | Occurs when no location is reported for 24 hours on a device with Location Services (GPS) enabled. If a manual location is used the alert is not generated. | device_location_unknown |
Ethernet WAN Connected | Indicates that an Ethernet WAN device is now active. | ethernet_wan_connected, intel_ethernet_wan_connected |
Ethernet WAN Disconnected | Indicates that an Ethernet WAN device is no longer active. | ethernet_wan_disconnected, intel_ethernet_wan_disconnected |
Ethernet WAN Plugged In | An Ethernet WAN device is now attached. | ethernet_wan_plugged |
Ethernet WAN Standby | An Ethernet WAN device is in standby mode | ethernet_wan_standby |
Ethernet WAN Unplugged | An Ethernet WAN device has been removed. | ethernet_wan_unplugged |
Failed Login Attempt (NCM) | SOURCE: (source_ip) | USER: (user) | REASON: (reason) | ncm_login_failure |
Failover Event | A router (or group of routers) has changed the primary WAN interface from a higher- priority interface to a lower-priority interface. | failover_event |
Firmware Upgrade | Occurs when the device's NetCloud OS is upgraded. | firmware_upgrade |
GBR Bearer Setup Failure | The device with the specified IMSI failed to connect to its requested QCI because the guaranteed bitrate requirement could not be met. | pcn_core_ue_dedicated_bearer_alloc_failure |
Geo fence Proximity Change | Occurs whenever the device enters or exits the specified Geo-fence | geofence_proximity_change |
GPIO State Change | Occurs when a device's GPIO pin has changed state. To view or update the GPIO configuration, open the Device UI and select the System > GPIOs tab. This alert requires NetCloud OS 6.0.2 and newer, and a Cradlepoint device with GPIO. | gpio_state_change |
Interface Status | The packet core specified interface has entered the specified state. | pcn_core_port_status_changed |
IPsec Connection State | The packet core IPsec connectivity to the specified cellular AP entered the specified state. | pcn_core_ipsec_connection_status_changed |
IP Address Banned | Occurs if the Ban IP Address setting is turned on for a device and someone from a particular IP address attempts and fails to log into the Device UI six times, that IP address is banned for 30 minutes. To enable this setting, login to the Device UI and go to System > Administration > Router Security and click on Advanced Security Mode. Select the Ban IP Address option. | ip_banned |
Intrusion Activity | Is only relevant for devices with CP Secure Threat Management. Whenever the Threat Management deep packet inspection engine detects an intrusion, that event is recorded in the logs. These events are grouped together for 15 minutes and then reported in NetCloud Manager, so an emailed alert notification might not arrive for approximately 15 minutes after an intrusion. Intrusion Activity alerts include the intrusion details and the action taken by the engine (e.g., Blocked). To edit Threat Management settings, login to the Device UI and select Security > Threat Management. For more information, see CP Secure Threat Management Overview. |
ips_activity |
IPS Engine Failure | For devices using Cradlepoint Secure Threat Management (CPSTM), this alert occurs in the unlikely event that the Threat Management engine fails. You can set the router to either allow or deny traffic with a failure. To edit this setting, log in to the Device UI and go to Security > Threat Management. | ips_eng_failure |
IPSec VPN Tunnel Down | Occurs when a connected IPSec tunnel is disconnected. | ipsec_tunnel_down |
IPsec Tunnel Setup Failure | The cellular AP failed to setup an IPsec tunnel with the specified packet core. | pcn_ap_ipsec_setup_failure |
IPS Enablement Change | Occurs when Intrusion Prevention Systems / Intrusion Detection Systems (IPS/IDS) has been enabled or disabled using Cradlepoint Secure Threat Management (CPSTM) and provides details about who made the change and when it occurred. | ips_enable_disable |
IPS Mode Change | Occurs when the IPS/IDS mode has been changed (for example, from Detect and Prevent to Detect Only) using CPSTM and provides details on what changed, who made the change, and when it occurred. | ips_mode_change |
IPSec VPN Tunnel Restored | Occurs when a connected IPSec tunnel reconnects after being disconnected. | ipsec_tunnel_restored |
IPSev VPN Tunnel Up | Occurs when an IPSec tunnel initially connects. | ipsec_tunnel_up |
IP Verify Test Result | Occurs when an IP Verify test is complete. | ipverify_event |
Successful Login (Router) | A login attempt succeeded to the router's Device UI. | login_success |
Location Service Mode Changed | Alert sent when there is change to the configuration of Location Services (including but limited to turning it on/off). This alert contains the time and date of the change, what was changed, and the device or group to which it was applied. | location_service_change |
Memory Utilization | Memory Utilization crossed a threshold. | memory_utilization |
Modem Software Upgrade Available | Occurs when new modem software is available for download. Includes the version number of the new software, the products to which it applies, and a link to the Release Notes. | modem_firmware_summary_create |
Modem WAN Connected | A modem WAN device is now active. | modem_wan_connected, intel_modem_wan_connected |
Modem WAN Disconnected | Indicates that a modem WAN device is no longer active. | modem_wan_disconnected, intel_modem_wan_disconnected |
Modem WAN Device Plugged In | A modem WAN device is now attached. | modem_wan_plugged |
Modem WAN Standby | Indicates that a modem WAN device's default connection state is set to Standby. This means the modem is connected to the carrier, but is not sending data. A modem in Standby will failover faster than a modem not in Standby. Standby is enabled by modifying the Default Connection State from the Device UI's Connection Manager table. | modem_wan_standby |
Modem WAN Device Unplugged | A modem WAN device has been removed. | modem_wan_unplugged |
Microsoft IoT Disconnect | Occurs when a Microsoft IoT device disconnects. | msft_iot_disconnect |
NCM Connection State | Occurs when the device loses or regains its connection to NetCloud Manager. A device must be online or offline for 60 seconds before this alert is generated. For more information, see Details on NetCloud Manager Connection State Online and Offline Alerts. |
connection_state |
NetCloud OS Upgrade Available | Occurs when new NetCloud OS software is available for download. Includes the version number of the new software, the products to which it applies, and a link to the Release Notes. | ncos_firmware_summary_create |
No SAS Response | The cellular AP did not receive a response from the CBRS SAS server. | pcn_sas_no_response |
NTP Sync Issue | The cellular AP cannot reach the NTP server and may have incorrect system time. | pcn_ap_ntp_syn_failure |
NTP Sync Issue | The packet core cannot reach the NTP server and may have incorrect system time. | pcn_core_ntp_sync_failure |
Reboot | Occurs when the device is rebooted. | reboot_status_change, intel_reboot_status_change |
Remote Connect Ended | A remote connect session to the specified router has been closed. | remote_connection_destroyed |
Remote Connect Started | A remote connect session to the specified router has been opened. | remote_connection_request |
Rogue Access Point Detected | Occurs after running a Wi-Fi site survey when a rogue access point not marked as "known" is detected broadcasting the same SSID as the device running the site survey. This helps identify potential access-point hijacking, evil twin, and man-in-the-middle Wi-Fi attacks. | duplicate_ssid |
Router Group Change | The specified router has been moved or added to the specified group. Also includes the username associated with the move, the date and time, the group the router was in previously (if applicable) and the group to which the router was added (if applicable). | router_group_change |
NCOS App Execution State Changed | Indicates that an NCOS SDK app that is running on a group has entered a different execution state (start, stop, error, etc). | router_sdk_app_execution_state_changed |
Unexpected NCOS App Installed | Indicates that an unexpected NCOS SDK app is found installed, an expected NCOS SDK app is unexpectedly uninstalled, or a that an NCOS app unknown to the system is found installed. | router_sdk_mismatched_app_action |
S1 Setup Failure | The packet core failed to setup an S1 connection with the specfiied cellular AP. | pcn_core_s1_setup_failure |
S1 Connection State | The packet core S1 connectivity to the specified cellular AP entered the specified state. | pcn_core_s1_connection_state |
SAS Grant Expired | A CBRS SAS Grant has expired for the cellular AP. | pcn_sas_grant_expired |
SAS Grant Success | The cellular AP received a CBRS SAS grant successfully. | pcn_sas_grant_success |
SAS Grant Suspended | A CBRS SAS Grant was suspended for the cellular AP. | pcn_sas_grant_suspended |
SAS Grant Terminated | A CBRS SAS Grant was terminated for the cellular AP. | pcn_sas_grant_terminated |
SCEP Enrollment Failure | This alert is generated when a device attempts to enroll with a SCEP server but can't enroll successfully. | scep_enrollment_failure |
SCEP Enrollment Success | This alert is generated when a device successfully enrolls with a SCEP server. | scep_enrollment_success |
SIM Door Event | Occurs when the SIM door opens or closes. | sim_door_event |
SPAN Enabled | SPAN Packet Cloning Enabled | span_enabled |
System Error Requires Reboot | The router rebooted due to a system error that requires a reboot to resolve. | system_error |
Sustained System Overload | The system experienced sustained levels for CPU or Packet Loss that exceeded thresholds. | sustained_system_overload |
Test Error | A speed test encountered an error. | csi_test_error |
Test Failed | A carrier failed to meet the benchmarks for a speed test. | csi_test_failed |
Test Passed | A carrier met or exceeded the benchmarks for a speed test. | csi_test_passed |
Test Started | All preconditions have been met for CSI (Carrier Selection Intelligence) to start. | csi_test_started |
Temperature Limit Exceeded | Occurs on devices with an internal temperature sensor (COR IBR1100 and IBR1150) when a user-defined temperature limit is reached. To set the temperature limits for the COR IBR1100 Series, login to the Device UI, select System > Administration, and then click the Temperature tab. | thermal_exceeds_limit |
Tunnel Limit Reached | Occurs when the number of IPSec tunnel connections has met or exceeded either 90% or 100% of the maximum tunnel limit. | tunnel_limit |
Unrecognized Client | Indicates a client with an unrecognized MAC address has attempted to connect to the device. MAC logging must be enabled to trigger this alert. To enable MAC logging, login to the Device UI and go to Networking > Local Networks> MAC Filter & Logging and select Enable MAC Logging. | unrecognized_mac_alert |
VRRP State Changed to Backup | The specified router has become a VRRP backup. You can further configure this alert to only be sent if the router was previously a master or in a fault state for a specified period. | vrrp_new_backup, intel_vrrp_new_backup |
VRRP State Changed to Fault | The specified router is in a VRRP fault state. You can further configure this alert to only be sent if the router was previously a backup or a master for a specified period. | vrrp_new_fault, intel_vrrp_new_fault |
VRRP State Changed to Master | The specified router has been become a VRRP master. You can further configure this alert to only be sent if the router was previously a backup or in a fault state for a specified period. | vrrp_new_master, intel_vrrp_new_master |
WAN Service Type | Indicates that a WAN device has changed its service type, such as switching from 3G to 4G. Possible service types include: DHCP, LTE, HSPA+, etc. | wan_service_type |
WAN Status Change | Router WAN has plugged, unplugged, connected or disconnected. (Deprecated) | wan_status_change |
Webhook Suspended | Previously configured webhook is in a suspended state. | http_destination_suspended |
Webhook Failure | Webhook delivery failed for alert with UUID (created_uuid), type (type), account (account_id), router (router_id), at time (created_ts) with message: (message). | http_push_failure |
WiFi Client State Changed | Occurs when a WiFi client changes state. For example, when a client's state changes from connected to disconnected (requires NetCloud OS version 6.6.1 and newer). | wifi_client_state_change |
WiFi as WAN Standby | Indicates a WiFi as WAN network is in standby. | wwan_standby |
WiFi as WAN Connected | Indicates WiFi as WAN is no longer active. | wwan_connected |
WWAN Disconnected | A WiFi as WAN network is no longer active. | wwan_disconnected |
WiFi as WAN Network Available | A WiFi as WAN network is now attached. | wwan_network_available |
WiFi as WAN Network Unavailable | A WiFi as WAN network has been removed. | wwan_network_unavailable |
Zscaler TLS Tunnel State | Indicates the state of a Zscaler tunnel has changed. | zs_tls_tunnel |
Example curl GET request/response to the router_alerts endpoint without filters applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/router_alerts/"
Response body for curl GET example
{ "data": [ { "created_at": "2020-12-07T17:44:19.430235+00:00", "created_at_timeuuid": "d554418c-38b3-11eb-acd7-32b969db3e3f", "detected_at": "2020-12-07T17:44:18.145000+00:00", "friendly_info": "User admin has logged into the router from 127.0.0.1.", "info": { "ip": "127.0.0.1", "time": [ "2020-12-07 17:44:18", "UTC" ], "type": "login_success", "user": "admin" }, "router": "https://www.cradlepointecm.com/api/v2/routers/2162719/", "type": "login_success" }, { "created_at": "2020-12-04T09:20:30.538148+00:00", "created_at_timeuuid": "f4442066-3611-11eb-bd86-5ebca3547463", "detected_at": "2020-12-04T09:16:16.405000+00:00", "friendly_info": "The ethernet port \"Ethernet\" has connected to the network.", "info": { "alert_type": "ethernet_wan_connected", "history": [], "info": { "mac": "00:30:44:47:cb:09", "port": "Ethernet", "raw_port": "eth0", "reason": "Manual", "type": "ethernet", "uid": "wan" }, "status": "connected", "time": [ "2020-12-04 09:16:16", "UTC" ], "type": "wan_status_change" }, "router": "https://www.cradlepointecm.com/api/v2/routers/2162719/", "type": "ethernet_wan_connected" }, ... ], "meta": { "limit": 20, "next": null } }
Example curl GET request/response to the router_alerts endpoint with the created_at_timeuuid filter applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/router_alerts/?created_at_timeuuid=f4442066-3611-11eb-bd86-5ebca3547463"
Response body for curl GET example
{ "data": [ { "created_at": "2020-12-04T09:20:30.538148+00:00", "created_at_timeuuid": "f4442066-3611-11eb-bd86-5ebca3547463", "detected_at": "2020-12-04T09:16:16.405000+00:00", "friendly_info": "The ethernet port \"Ethernet\" has connected to the network.", "info": { "alert_type": "ethernet_wan_connected", "history": [], "info": { "mac": "00:30:44:47:cb:09", "port": "Ethernet", "raw_port": "eth0", "reason": "Manual", "type": "ethernet", "uid": "wan" }, "status": "connected", "time": [ "2020-12-04 09:16:16", "UTC" ], "type": "wan_status_change" }, "router": "https://www.cradlepointecm.com/api/v2/routers/2162719/", "type": "ethernet_wan_connected" } ], "meta": { "limit": 20, "next": null } }
Forms
Use the form below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
Use the router_lans endpoint to retrieve information about the layer 3 LANs of your devices, such as IP addresses and netmasks.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET.
- router_lans Endpoint Fields and Filters
- Tips for Using the NetCloud Manager API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/router_lans/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
This table lists the fields associated with the router_lans endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
account | in: int, out: url | =, __in | Account that created the router_lans record | ||
created_at | datetime | Datetime for when the router_lans record was created | |||
enabled | boolean | = | Enabled/disabled state of a router_lans record | ||
id | int | =, __in | ID of a router_lans record | ||
ip_address | string | =, __in | IP address | ||
name | string | =, __in | Name of the router_lans record | ||
netmask | string | Netmask for the lan | |||
router | in: int, out: url | =, __in | Router ID | ||
updated_at | datetime | Datetime of the last update to the router_lans record |
Endpoint base path:
https://www.cradlepointecm.com/api/v2/router_lans/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the router_lans endpoint without filters applied.
curl -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/router_lans/"
Response body for curl GET example
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts//", "created_at": "2019-04-12T14:28:38.423098+00:00", "enabled": true, "id": "2147873", "ip_address": "192.168.17.1", "name": "Primary LAN", "netmask": "255.255.255.0", "resource_url": "https://www.cradlepointecm.com/api/v2/router_lans/2147873/", "router": "https://www.cradlepointecm.com/api/v2/routers/1284575/", "updated_at": "2020-12-21T00:22:56.363885+00:00" }, { "account": "https://www.cradlepointecm.com/api/v2/accounts/ /", "created_at": "2020-11-18T17:06:23.672117+00:00", "enabled": true, "id": "3999183", "ip_address": "192.168.0.1", "name": "Primary LAN", "netmask": "255.255.255.0", "resource_url": "https://www.cradlepointecm.com/api/v2/router_lans/3999183/", "router": "https://www.cradlepointecm.com/api/v2/routers/2174016/", "updated_at": "2021-02-21T10:01:33.093821+00:00" }, { "account": "https://www.cradlepointecm.com/api/v2/accounts/ /", "created_at": "2020-11-18T17:06:23.687020+00:00", "enabled": false, "id": "3999184", "ip_address": "192.168.11.1", "name": "Guest LAN", "netmask": "255.255.255.0", "resource_url": "https://www.cradlepointecm.com/api/v2/router_lans/3999184/", "router": "https://www.cradlepointecm.com/api/v2/routers/2174016/", "updated_at": "2021-02-21T10:01:33.101744+00:00" } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Forms
Use the router_logs endpoint to view a device's logs. Device logs contain log events sent from the device to NetCloud Manager (NCM). The following are required for a device to report log events.
- A device must be in an NCM group
- The NCM group's settings must have the ‘Enable Log Reporting’ setting enabled
To reduce NCM traffic, device logs are not sent to the NCM server by default.
Note: Router log data is retained in NetCloud for 30 days.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET.
- router_logs Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/router_logs/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- Log Levels
- GET Examples
This table lists the fields associated with the router_logs endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
created_at | timestamp | __gt, __lt | Timestamp for when the router_logs record was created | ||
created_at_timeuuid | timeuuid | =, __in, __gt, __gte, __lt, __lte | A unique ID associated with the created_at timestamp. Ordering by the ID is equivalent to time ordering. This field can identify a specific record or be used for paging. | ||
exception | string | Contains details of a device exception (optional) | |||
level | string | The level of the log, e.g. DEBUG, INFO, NOTICE, WARN, ERR, CRIT or ALERT | |||
message | string | The log message | |||
reported_at | timestamp | Timestamp for when the log entry was written to the device's log | |||
router | in: int, out: url | = | Device this log is related to | ||
sequence | int | The insertion order for each log event | |||
source | string | The source of the log entry |
Endpoint base path:
https://www.cradlepointecm.com/api/v2/router_logs/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
The following table lists the potential log-level string values that can be returned in the "level" field in responses.
Level Description ------- ----------- ALERT indicates action must be taken immediately CRIT a critical condition occurred ERR an error condition occurred WARNING a warning condition occurred NOTICE a normal, but significant, condition occurred INFO indicates an informational message DEBUG indicates a debug-level message
Example curl GET request/response to the router_logs endpoint. GET requests require the router ID to be passed in the URL query string (?router=<router id>).
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/router_logs/?router=2162719"
Response body for curl GET example
{ "data": [ { "created_at": "2021-02-09T22:37:07.590858+00:00", "created_at_timeuuid": "2021-02-09T22:37:07.590858_0", "exception": null, "level": "INFO", "message": "Checking upgrade server for pkg: 24.01.521_Verizon,2013, fw_info path: ['status', 'wan', 'devices', 'mdm-11eec444e', 'ob_upgrade', 'fw_info_verizon']", "reported_at": "2021-02-09T17:05:12+00:00", "router": "https://www.cradlepointecm.com/api/v1/routers/2162719/", "sequence": 0, "source": "upgrade" }, { "created_at": "2021-02-09T22:37:07.590858+00:00", "created_at_timeuuid": "2021-02-09T22:37:07.590858_1", "exception": null, "level": "INFO", "message": "Found file on server; version: 24.01.546_ATT,4028", "reported_at": "2021-02-09T17:05:12+00:00", "router": "https://www.cradlepointecm.com/api/v1/routers/2162719/", "sequence": 1, "source": "upgrade" }, ... ], "meta": { "count": 20, "limit": 20, "next": "https://www.cradlepointecm.com/api/v2/router_logs/?router=2162719&limit=20&offset=20", "offset": 0, "previous": null } }
Forms
Use the form below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
Use the router_state_samples endpoint to track the online/offline status of your devices. NetCloud Manager (NCM) keeps a history of the online/offline state of devices using state samples. A device is considered online when it is connected to NCM. This endpoint can be used to track historical online/offline status of your devices.
It is important to understand that the router_state_samples endpoint is designed only to report on the online/offline status of routers. It is not recommended to use this endpoint to make calculations related to router states, like router uptime and downtime time periods.
Please note the following about how online/offline status is calculated.
- Online/offline state is not reported by the router itself but is a function of when the router connects/disconnects to an NCM server. NCM makes online/offline time calculations based on the router being connected to NCM.
- To account for cases where routers briefly disconnect and reconnect from NCM servers, NCM only counts a device as being offline when it is disconnected from NCM for two minutes or longer.
Note: Router state sample data is retained in NetCloud for 90 days.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET.
- router_state_samples Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/router_state_samples/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
This table lists the fields associated with the router_state_samples endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
created_at | timestamp | __gt, __lt | Timestamp for when the router_state_samples record was created. When a router disconnects from NCM, i.e. goes "offline", NCM creates a record of the offline state and gives the record a time-stamped, “created_at” value that indicates when the router went offline. A similar record is created when a router comes online. | ||
created_at_timeuuid | timeuuid | =,__in, __gt, __gte, __lt, __lte | A unique ID associated with the created_at timestamp. Ordering by the ID is equivalent to time ordering. This field can identify a specific record or be used for paging. | ||
period | double | The time in seconds that the device was in this state | |||
router | in: int, out: url | =,__in | Device that is connected to NCM | ||
state | string | The state of the device during this sample's period, e.g. online or offline |
Endpoint base path:
https://www.cradlepointecm.com/api/v2/router_state_samples/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the router_state_samples endpoint without filters applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/router_state_samples/"
Response body for curl GET example
{ "data": [ { "created_at": "2020-12-04T09:20:24.040723+00:00", "created_at_timeuuid": "f064b2c0-3611-11eb-9034-32d40d962d51", "period": 222.93943309783936, "router": "https://www.cradlepointecm.com/api/v2/routers/2162719/", "state": "offline" }, { "created_at": "2020-12-04T09:18:42.592802+00:00", "created_at_timeuuid": "b3ecf954-3611-11eb-acf6-3a257258b42e", "period": 25334.473613977432, "router": "https://www.cradlepointecm.com/api/v2/routers/2162719/", "state": "online" }, ... ] }
Example curl GET request/response to the router_state_samples endpoint with the created_at_timeuuid filter applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/router_state_samples/?created_at_timeuuid=f221d310-3243-11eb-827b-daedcb174526"
Response body for curl GET example
{ "data": [ { "created_at": "2020-11-29T13:08:17.143272+00:00", "created_at_timeuuid": "f221d310-3243-11eb-827b-daedcb174526", "period": 188.75138449668884, "router": "https://www.cradlepointecm.com/api/v2/routers/2162719/", "state": "offline" } ], "meta": { "limit": 20, "next": null } }
Forms
Use the form below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
Cradlepoint devices connect to NetCloud Manager (NCM) through the NCM stream server. NCM tracks communication between devices and the server using stream samples from the stream server. Use the router_stream_usage_samples endpoint to gather stream samples and calculate total NCM network traffic. Note that this data only includes NCM management traffic and not general traffic from the router to the Internet.
Note: Device stream-usage sample data is retained in NetCloud for 90 days.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET.
- router_stream_usage_samples Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/router_stream_usage_samples/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
This table lists the fields associated with the router_stream_usage_samples endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
bytes_in | bigint | Bytes received by the device from NCM since last update | |||
bytes_out | bigint | Bytes sent from the device to NCM since last update | |||
created_at | timestamp | __gt, __lt | Timestamp for when the router_stream_usage_samples record was created | ||
created_at_timeuuid | timeuuid | =, __in, __gt, __gte, __lt, __lte | A unique ID associated with the created_at timestamp. Ordering by the ID is equivalent to time ordering. This field can identify a specific record or be used for paging. | ||
period | double | Time in seconds since the last sample was reported | |||
router | in: int, out: url | =, __in | Device that is connected to NCM | ||
uptime | double | Time in seconds since the net device established its link |
Endpoint base path:
https://www.cradlepointecm.com/api/v2/router_stream_usage_samples/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the router_stream_usage_samples endpoint without filters applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/router_stream_usage_samples/"
Response body for curl GET example
{ "data": [ { "bytes_in": 3648, "bytes_out": 15911, "created_at": "2021-02-08T22:21:58.998417+00:00", "created_at_timeuuid": "0f3adfa8-6a5c-11eb-8f56-7e6ef7af9ffc", "period": 3660.3108481550007, "router": "https://www.cradlepointecm.com/api/v2/routers/2162719/", "uptime": 106087.10812882498 }, { "bytes_in": 3807, "bytes_out": 16438, "created_at": "2021-02-08T21:20:58.591900+00:00", "created_at_timeuuid": "89752a1a-6a53-11eb-87ed-368a313553a3", "period": 3660.362778883995, "router": "https://www.cradlepointecm.com/api/v2/routers/2162719/", "uptime": 102426.79728066998 }, { "bytes_in": 3969, "bytes_out": 18152, "created_at": "2021-02-08T20:19:58.058442+00:00", "created_at_timeuuid": "039c15e6-6a4b-11eb-85bc-32c6a22e5b89", "period": 3660.510760029996, "router": "https://www.cradlepointecm.com/api/v2/routers/2162719/", "uptime": 98766.434501786 } ... ], "meta": { "limit": 20, "next": "https://www.cradlepointecm.com/api/v2/router_stream_usage_samples/?created_at_timeuuid__lt=21b87914-69ba-11eb-a826-267fb8b4f5d2" } }
Example curl GET request/response to the router_stream_usage_samples endpoint with the created_at_timeuuid filter applied. This retrieves router_stream_usage_samples record with the created_at_timeuuid of 039c15e6-6a4b-11eb-85bc-32c6a22e5b89.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/router_stream_usage_samples/?created_at_timeuuid=039c15e6-6a4b-11eb-85bc-32c6a22e5b89"
Response body for curl GET example
{ "data": [ { "bytes_in": 3969, "bytes_out": 18152, "created_at": "2021-02-08T20:19:58.058442+00:00", "created_at_timeuuid": "039c15e6-6a4b-11eb-85bc-32c6a22e5b89", "period": 3660.510760029996, "router": "https://www.cradlepointecm.com/api/v2/routers/2162719/", "uptime": 98766.434501786 } ], "meta": { "limit": 20, "next": null } }
Forms
Use the form below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
Use the routers endpoint to view information about the devices in your account. This endpoint retrieves information that includes a device's state, location, MAC address, firmware version and other information to help you refer to a device or check its status.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET, PUT, DELETE.
- routers Endpoint Fields and Filters
- Tips for Using the NetCloud Manager API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/routers/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
- PUT Examples
- DELETE Example
This table lists the fields associated with the routers endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
account | in: int, out: url | =, in | Account the router belongs to | ||
actual_firmware | url | Firmware currently on the device, if known | |||
asset_id | string | =, __in | User defined identifier often used for asset tracking | ||
configuration_manager | string | Use this value for retrieving the router's configuration_manager resource. The configuration_manager resource contains the router's configuration. | |||
config_status | string | Status of configuration synch: synched, pending or suspended | |||
created_at | timestamp | Timestamp for when the routers record was created | |||
custom1 | string | User defined custom text field | |||
custom2 | string | User defined custom text field | |||
description | string | =, __in | Optional description of the device (synched with device) | ||
device_type | string | =, __in | Type of device, e.g. router or access point | ||
full_product_name | string | = | Device's full product name, e.g. IBR600LP-AT | ||
group | url | =, __in | Optional group this device belongs to | ||
id* | int | =, __in | ID of a routers record | ||
ipv4_address | string | =, __in | Device's IPv4 address | ||
lans | url | Device's LANs | |||
last_known_location | url | Optional last known location of the device | |||
locality | string | Device's timezone | |||
mac | string | =, __in | Device's MAC address | ||
name | string | =, __in | Device's name (synched with device) | ||
overlay_network_binding | url | Device's overlay network bindings | |||
product | url | Device product, e.g. IBR600 or AP22 | |||
reboot_required | boolean | =, __in | Reboot required to enable additional device functionality | ||
resource_url | url | URL of the routers record | |||
serial_number | string | =, __in | Device's serial number, if known | ||
state | string | =, __in | Device's state: initialized, online or offline | ||
state_updated_at | timestamp | __lt, __gt | Timestamp of last state update | ||
target_firmware | url | Firmware currently assigned to the router’s group | |||
updated_at | timestamp | __lt, __gt | Timestamp of last attribute update | ||
upgrade_pending | boolean | True indicates an NCOS upgrade is pending for the device |
Note: * indicates the attribute is required for PUT and DELETE requests.
Endpoint base path:
https://www.cradlepointecm.com/api/v2/routers/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the routers endpoint without filters applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/routers/"
Response body for curl GET example
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "actual_firmware": "https://www.cradlepointecm.com/api/v2/firmwares/877/", "asset_id": null, "config_status": "synched", "configuration_manager": "https://www.cradlepointecm.com/api/v2/routers/861605/configuration_manager/", "created_at": "2018-04-24T21:53:32.315171+00:00", "custom1": null, "custom2": null, "description": "My AP Twenty Two", "device_type": "access_point", "full_product_name": "AP22", "group": "https://www.cradlepointecm.com/api/v2/groups/85136/", "id": "861605", "ipv4_address": "65.153.116.34", "last_known_location": null, "locality": "US/Mountain", "mac": "00:30:44:24:61:54", "name": "AP22-154", "product": "https://www.cradlepointecm.com/api/v2/products/48/", "reboot_required": false, "resource_url": "https://www.cradlepointecm.com/api/v2/routers/861605/", "serial_number": "WA1801AA001172", "state": "online", "state_updated_at": "2021-02-04T17:29:05.075116+00:00", "target_firmware": "https://www.cradlepointecm.com/api/v2/firmwares/877/", "updated_at": "2021-01-19T22:04:42.650617+00:00", "upgrade_pending": false }, { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "actual_firmware": null, "asset_id": null, "config_status": "synched", "configuration_manager": "https://www.cradlepointecm.com/api/v2/routers/1437919/configuration_manager/", "created_at": "2019-07-31T03:11:52.746361+00:00", "custom1": null, "custom2": null, "description": null, "device_type": "access_point", "full_product_name": "unknown", "group": null, "id": "1437919", "ipv4_address": null, "last_known_location": null, "locality": "US/Mountain", "mac": "00:30:44:24:61:54", "name": "AP22-154", "product": "https://www.cradlepointecm.com/api/v2/products/48/", "reboot_required": false, "resource_url": "https://www.cradlepointecm.com/api/v2/routers/1437919/", "serial_number": null, "state": "initialized", "state_updated_at": null, "target_firmware": null, "updated_at": "2020-11-11T23:08:00.746990+00:00", "upgrade_pending": false }, { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "actual_firmware": "https://www.cradlepointecm.com/api/v2/firmwares/2958/", "asset_id": null, "config_status": "synched", "configuration_manager": "https://www.cradlepointecm.com/api/v2/routers/2162719/configuration_manager/", "created_at": "2020-11-05T23:13:37.346456+00:00", "custom1": null, "custom2": null, "description": null, "device_type": "router", "full_product_name": "AER2200-600M", "group": "https://www.cradlepointecm.com/api/v2/groups/216763/", "id": "2162719", "ipv4_address": "160.2.177.156", "last_known_location": "https://www.cradlepointecm.com/api/v2/locations/731218/", "locality": "US/Mountain", "mac": "00:30:44:47:CB:09", "name": "AER2200-b09", "product": "https://www.cradlepointecm.com/api/v2/products/41/", "reboot_required": false, "resource_url": "https://www.cradlepointecm.com/api/v2/routers/2162719/", "serial_number": "MM202300000212", "state": "online", "state_updated_at": "2021-02-08T02:17:58.389788+00:00", "target_firmware": "https://www.cradlepointecm.com/api/v2/firmwares/2958/", "updated_at": "2021-02-08T01:52:25.628645+00:00", "upgrade_pending": false } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Example curl GET request/response to the routers endpoint with the ID filter applied. This retrieves the routers object with the ID "861605."
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/routers/?id=861605"
Response body for curl GET example
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "actual_firmware": "https://www.cradlepointecm.com/api/v2/firmwares/877/", "asset_id": null, "config_status": "synched", "configuration_manager": "https://www.cradlepointecm.com/api/v2/routers/861605/configuration_manager/", "created_at": "2018-04-24T21:53:32.315171+00:00", "custom1": null, "custom2": null, "description": "My AP Twenty Two", "device_type": "access_point", "full_product_name": "AP22", "group": "https://www.cradlepointecm.com/api/v2/groups/85136/", "id": "861605", "ipv4_address": "65.153.116.34", "last_known_location": null, "locality": "US/Mountain", "mac": "00:30:44:24:61:54", "name": "AP22-154", "product": "https://www.cradlepointecm.com/api/v2/products/48/", "reboot_required": false, "resource_url": "https://www.cradlepointecm.com/api/v2/routers/861605/", "serial_number": "WA1801AA001172", "state": "online", "state_updated_at": "2021-02-04T17:29:05.075116+00:00", "target_firmware": "https://www.cradlepointecm.com/api/v2/firmwares/877/", "updated_at": "2021-01-19T22:04:42.650617+00:00", "upgrade_pending": false } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Example curl PUT request/response to the routers endpoint. This updates the name of the router matching the ID "861605".
curl -v -X PUT -H "X-ECM-API-ID:40961453-652c-48bc-8445-2cfeb36d2c4a" -H "X-ECM-API-KEY:d02aacae1b4b77967014b7270812e8a465ac3174" -H "X-CP-API-ID:a939a410" -H "X-CP-API-KEY:808163e5193491974cd55eda5120ed9d" -H "Content-Type:application/json" "https://www.cradlepointecm.com/api/v2/routers/861605/" -d '{ "name": "My AP-22" }'
Response body for curl PUT example
{ "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "actual_firmware": "https://www.cradlepointecm.com/api/v2/firmwares/877/", "asset_id": null, "config_status": "synched", "configuration_manager": "https://www.cradlepointecm.com/api/v2/routers/861605/configuration_manager/", "created_at": "2018-04-24T21:53:32.315171+00:00", "custom1": null, "custom2": null, "description": "My AP Twenty Two", "device_type": "access_point", "full_product_name": "AP22", "group": "https://www.cradlepointecm.com/api/v2/groups/85136/", "id": "861605", "ipv4_address": "65.153.116.34", "last_known_location": null, "locality": "US/Mountain", "mac": "00:30:44:24:61:54", "name": "My AP-22", "product": "https://www.cradlepointecm.com/api/v2/products/48/", "reboot_required": false, "resource_url": "https://www.cradlepointecm.com/api/v2/routers/861605/", "serial_number": "WA1801AA001172", "state": "online", "state_updated_at": "2021-02-04T17:29:05.075116+00:00", "target_firmware": "https://www.cradlepointecm.com/api/v2/firmwares/877/", "updated_at": "2021-02-08T20:20:33.338472+00:00", "upgrade_pending": false }
Example curl DELETE request/response to the routers endpoint. This deletes the device matching the ID passed in the route.
curl -v -X DELETE -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/routers/861605/"
Successful DELETE actions return a 204 response with no content in the body.
Forms
Use the forms below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
The speed_test endpoint allows users to create speed-test jobs that spawn individual speed tests for a given list of network devices. Users can create and start a speed-test job capable of queueing and running individual speed tests for up to 10k network devices in one POST request. Users can call the HTTP GET method to check the state of a speed-test job and view the results of completed speed tests. The speed_test endpoint displays speed-test results in the same format as speed test results in NetCloud Manager (NCM).
A speed_test object contains two nested objects; one object for configuration ("config" field) and one object containing the speed test(s) results ("results" field).
IMPORTANT: A netperf server is required for running speed tests via the NetCloud API. No particular netperf server is required. See the Cradlepoint Connect article Using Cradlepoint Speedtest for more information on using your own netperf server.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET, POST, DELETE.
- speed_test Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/speed_test/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
- POST Examples
- DELETE Example
The tables below list the fields associated with the speed_test endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
The Speed Test Object
Field | Data Type | Filter | Sort | Expand | Description |
account* | url | =, __in | Account that created the speed_test record | ||
config* | object | Configuration object for the speed test (see the following table) | |||
created_at | datetime | Datetime of speed test creation | |||
id | int | ID of a speed_test record | |||
progress | object | Contains "completed" and "total_count" fields | |||
resource_url | url | URL of the speed test record | |||
results | object | Results from speed test (see the Results Object table below) | |||
state | string | State of speed test | |||
updated_at | timestamp | Timestamp of speed test update |
Nested Configuration Object Fields
Field | Data Type | Description |
host* | url | URL of Speedtest Server |
max_test_concurrency* | int | Number of maximum simultaneous tests to server (1-50) |
net_device_ids* | int[] | List of net_device IDs (up to 10,000 net_device IDs per request) |
port* | int | TCP port for test |
size* | int | Number of bytes to transfer |
test_timeout* | int | Test timeout in seconds |
test_type* | string | TCP Download, TCP Upload, TCP Latency |
time* | int | Test Time |
Nested Results Object Fields
This table contains the result fields for an individual speed test.
Field | Data Type | Description |
created_at | datetime | Speed test creation datetime |
net_device_id | int | ID for net device |
results | string | String containing TCP Download Test Timestamp, Duration, Client Received (bytes), Client Sent (bytes), Server Recieved (bytes), Server Sent (bytes), Download Throughput (bytes) |
router_id | int | ID for router |
state | string | Speed test state |
updated_at | datetime | Datetime of speed test |
Note: * indicates the attribute is required for POST requests. Note that the required fields are in both the speed_test object and the nested config object tables.
Endpoint base path:
https://www.cradlepointecm.com/api/v2/speed_test/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the speed_test endpoint using a speed test ID as a filter.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/speed_test/47535/"
Response body for curl GET example
{ "account": "https://www.cradlepointecm.com/api/v2/accounts/1/", "config": { "host": "YOURTESTSERVER.COM", "max_test_concurrency": 5, "net_device_ids": [ 12345678 ], "port": 12865, "size": null, "test_timeout": 10, "test_type": "TCP Download", "time": 10 }, "created_at": "2019-02-06T15:16:16.240612+00:00", "id": "47535", "progress": { "completed": 1, "total_count": 1 }, "resource_uri": "https://www.cradlepointecm.com/api/v2/speed_test/47535/", "results": [ { "created_at": "2019-02-06 15:16:16.260749+00:00", "net_device_id": 12345678, "results": "TCP Download Test Timestamp: 2019-02-18 16:14:56 Duration: 10.01 Seconds Client Received: 69.6 MB Client Sent: 0 bytesServer Received: 0 bytes Server Sent: 70.4 MB Download Throughput: 58.34 Mbps", "router_id": 123456, "state": "success", "updated_at": "2019-02-06 15:16:19.573507+00:00" } ], "state": "complete", "updated_at": "2019-02-06T15:17:16.362784+00:00" }
Example curl POST request/response to the speed_test endpoint.
curl -v -X POST -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type:application/json" "https://www.cradlepointecm.com/api/v2/speed_test/" -d '{ "account": "https://www.cradlepointecm.com/api/v2/accounts/1/", "config": { "host": "YOURTESTSERVER.COM", "max_test_concurrency": 5, "net_device_ids": [ 12345678 ], "port": 12865, "size": null, "test_timeout": 10, "test_type": "TCP Download", "time": 10 } }
Response body for curl POST example
{ "account": "https://www.cradlepointecm.com/api/v2/accounts/1/", "config": { "host": "YOURTESTSERVER.COM", "max_test_concurrency": 5, "net_device_ids": [ 12345678 ], "port": 12865, "size": null, "test_timeout": 10, "test_type": "TCP Download", "time": 10 }, "created_at": "2019-02-06T15:16:16.240612+00:00", "id": "47535", "progress": null, "resource_uri": "https://www.cradlepointecm.com/api/v2/speed_test/47535/", "results": null, "state": "created", "updated_at": "2019-02-06T15:16:16.240636+00:00" }
Example curl DELETE request/response to the speed_test endpoint. This deletes the group matching the ID passed in the route.
curl -v -X DELETE -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/speed_test/{id}/"
Successful DELETE actions return a 204 response with no content in the body.
Forms
Use the forms below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
Use the test_alert_push_destinations endpoint to test a destination created with the alert_push_destinations endpoint. This endpoint accepts only POST requests containing the destination_config_id of the alert destination to test. Successful POST requests to this endpoint return a 201 Created response with empty response body to indicate an alert push destination is reachable and the secret passed in is valid.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods:POST.
- test_alert_push_destinations Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/test_alert_push_destinations/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- POST Examples
This table lists the fields associated with the test_alert_push_destinations endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
destination_config_id* | timeuuid | Unique ID for destination for which a test push will be initiated. |
Note: * indicates the attribute is required for POST requests.
Endpoint base path:
https://www.cradlepointecm.com/api/v2/test_alert_push_destinations/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl POST request/response to the test_alert_push_destinations endpoint to test an Alert Push Destination. This requires a destination_config_id from an Alert Push Destination to be passed in the request body, in the following form:
{"destination_config_id": “9b98af58-6703-11eb-8aef-42edcb7bf284”}
Complete curl example:
curl -v -X POST -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" -H "Content-Type:application/json" "https://www.cradlepointecm.com/api/v2/test_alert_push_destinations/" -d '{ "destination_config_id": “9b98af58-6703-11eb-8aef-42edcb7bf284” }
Responses to successful POSTs to the test_alert_push_destinations endpoint return a 201 status code (created) and an empty response body.
Forms
Use the forms below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
The users endpoint retrieves information about the users in your account including user IDs, names, and email addresses.
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
Supported methods: GET.
- users Endpoint Fields and Filters
- Tips for Using the NetCloud API
- X_ECM_API_ID="<X-ECM-API-ID>"
- X_ECM_API_KEY="<X-ECM-API-KEY>"
- X_CP_API_ID="<X-CP-API-ID>"
- X_CP_API_KEY="<X-CP-API-KEY>"
- -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY"
- URL="https://www.cradlepointecm.com/api/v2/users/"
- BODY = -d '{"<field name>": "<field value>"}
- Paging Parameters
- alert_push_destinations
- alert_rules
- historical_locations
- net_device_signal_samples
- net_device_usage_samples
- router_state_samples
- router_stream_usage_samples
- GET Examples
This table lists the fields associated with the users endpoint. Fields with operators specified in the Filter column indicate that those fields can be used as filters.
Field | Data Type | Filter | Sort | Expand | Description |
account | url | URL for the account | |||
string | =, __in | A user's email address | |||
first_name | string | First name of user | |||
id | int | =, __in | User ID | ||
last_name | string | Last Name of user | |||
resource_url | url | URL of the users record | |||
username | string | =, __in | Username of user |
Endpoint base path:
https://www.cradlepointecm.com/api/v2/users/
IMPORTANT: URLs for endpoints MUST have a trailing forward slash. If a trailing slash is not present the call to the endpoint is automatically redirected, resulting in two calls attributed to your account.
Correct format: https://www.cradlepointecm.com/api/v2/<endpoint name>/
Incorrect format: https://www.cradlepointecm.com/api/v2/<endpoint name>
When making API calls with curl in a console session, it can be helpful to define variables for your API keys, payloads, and the base URL of the endpoint for re-use with each curl statement.
Please note that the method for setting variables in your console of choice can vary depending on the console/OS used. These variable definition examples are BASH specific; other console tools can require slightly different syntax to define these variables in a console session.
Important: Values for datetime and timestamp fields in response bodies may contain plus signs ("+"). These plus signs must be replaced with their html encoding, "%2b", when used as filter values.
For example, the timestamp value "2015-08-10T16:19:31.784055+00:00" must be changed to "2015-08-10T16:19:31.784055%2b00:00" or the value will not work as expected when used as a filter.
Endpoints that return result sets with multiple records can be "paged" through by using the 'offset' and 'limit' parameters.
Note that not all endpoints support the offset parameter. See the list of endpoints that don't support the offset parameter at the end of this section.
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=50&limit=25
The offset parameter specifies the starting index in a result set to return records from for an endpoint call. The limit parameter specifies how many records to return in each endpoint call.
When a result set is returned from an endpoint call, the values used for offset and limit are returned in the meta portion of the response. Note that most resources have a max limit of 500 records per call. To page through the full record set, you must increment the offset. To get the next 25 devices:
GET https://www.cradlepointecm.com/api/v2/<endpointName>/?offset=75&limit=25
Alternatively, if the response contains "next" and "previous" URL values in the meta fields they can be used to return the next or previous "page" of records. The "next" field contains a URL with an offset value equal to the next index (and retains the limit value) to return the next page of records. The "previous" field contains a URL with an offset value equal to the previous index (and retains the limit value) to return the previous page of records.
The limit parameter is supported for all endpoints
The offset parameter is supported for ALL endpoints except the following:
Limit the Fields Returned in a Result Set
If you do not need all the fields returned by an endpoint, use the fields parameter to retrieve a partial result set containing only the fields you want. The fields to return are specified with the fields query param, e.g. ?fields=field1,field2,... The following is a more complete example that returns only the name and is_disabled fields:
GET https://www.cradlepointecm.com/api/v2/accounts/308/?fields=name,is_disabled
Example curl GET request/response to the users endpoint without filters applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/users/"
Response body for curl GET example
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "email": "jsmithn@some.com", "first_name": "John", "id": "63944", "last_name": "Smith", "resource_url": "https://www.cradlepointecm.com/api/v2/users/<id>/", "username": "038Bd0s1O9tzah0g" }, { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "email": "albert@some.com", "first_name": "Albert", "id": "111032", "last_name": "Wilson", "resource_url": "https://www.cradlepointecm.com/api/v2/users/<id>/", "username": "muU8o4fXj1IKwzuq" } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Example curl GET request/response to the users endpoint with the ID filter applied.
curl -v -X GET -H "X-ECM-API-ID:$X_ECM_API_ID" -H "X-ECM-API-KEY:$X_ECM_API_KEY" -H "X-CP-API-ID:$X_CP_API_ID" -H "X-CP-API-KEY:$X_CP_API_KEY" "https://www.cradlepointecm.com/api/v2/users/?id=111032"
Response body for curl GET example
{ "data": [ { "account": "https://www.cradlepointecm.com/api/v2/accounts/<account number>/", "email": "albert@some.com", "first_name": "Albert", "id": "111032", "last_name": "Wilson", "resource_url": "https://www.cradlepointecm.com/api/v2/users/111032/", "username": "muU8o4fXj1IKwzuq" } ], "meta": { "limit": 20, "next": null, "offset": 0, "previous": null } }
Forms
Use the forms below to call the endpoint from this page. The results of your API calls made with these forms are displayed beneath the form.
Endpoint support for different device types
The following table lists which endpoints and methods are supported for which devices
Endpoint name | Routers | Access Points |
---|---|---|
accounts | x | x |
alerts | x | |
alert_rules | x | |
alert_push_destinations | x | |
batteries | x | |
configuration_managers | x | x |
device_apps | x | x |
device_app_versions | x | x |
device_app_bindings | x | x |
device_app_states | x | x |
firmwares | x | x |
forwarding_lan_details | x | x |
groups | x | x |
locations | x | |
net_device_health | x | x |
net_device_metrics | x | x |
net_device_signal_samples | x | |
net_device_usage_samples | x | x |
net_devices | x | x |
overlay_network_bindings | x | x |
products | x | x |
reboot_activity | x | x |
router_alerts | x | x |
router_lans | x | x |
router_logs | x | x |
router_state_samples | x | x |
router_stream_usage_samples | x | x |
routers | x | x |
speed_test | x | |
test_alert_push_destination | x | |
users | x |
The URL data type has the following conventions:
Note: Any API calls done through the examples above will use the NCM account linked to the NetCloud API key. This can affect production devices and data!
Commerce Endpoints
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Account Management Endpoints
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NetCloud Exchange Endpoints
|