Change Device Configuration

POST /devices/configuration/actions/set

Change configuration values on a device, such as setting how often a device records and reports sensor readings.

Uses and Requirements

Request Components

HTTP Request

POST https://thingspace.verizon.com/api/cc/v1/devices/configuration/actions/set

Resource Path and Query Parameters

None.

Header Parameters

The request header must contain a current ThingSpace authorization token and a current VZ-M2M session token, and must set the content-type to JSON.

 

Property Name Data Type Description
Authorization
required
string HTTP Authorization request header containing a valid ThingSpace Bearer token.
VZ-M2M-Token
required
string A valid session token returned by a Connectivity Management API POST /session/login request using the account’s UWS credentials.
Content-Type
required
string Must be application/json.

Request Body

The request body identifies the device and the values to set.

Property Name Data Type Description
accountidentifier
required
JSON object The ID of the authenticating billing account, in the format {"billingaccountid":"1234567890-12345"}.
resourceidentifier
required
JSON object A device ID type and value that identifies the device to change. Can be any unique device identifier, such as ICCID, ID, or IMEI.
configuration
required
JSON object List of the field names and values to set.

Example Request

Set reporting frequency for a device

curl -X POST https://thingspace.verizon.com/api/cc/v1/devices/configuration/actions/set \
  -H 'Authorization: Bearer 44c6b412d778f3329c1e3cfe8a1aec7c' \
  -H 'VZ-M2M-Token: 6f2ccebf-9922-45f0-b764-c0dcd59e0c63' \
  -H 'Content-Type: application/json' \
  -d '{
  "accountidentifier": {"billingaccountid":"1223334444-00001"},
  "resourceidentifier": {"imei": 864508030147323},
  "configuration":{"frequency":"Low"}
}'

Responses

Success Response

Status 200

A success response contains the ts.event.configuration event that was created to record the change.

Property Name Data Type Description
action string The action requested in this event; “change” for device configuration changes.
createdon string, date-time The date and time of the change request.
description string Description of the event.
deviceid string, UUID The device’s ThingSpace UUID.
errmsg string  
fields JSON object List of fields affected by the event.
foreignid string, UUID  
id string, UUID The unique ID of this ts.event.configuration event.
kind string The kind of the ThingSpace resource that is being reported; “ts.event.configuration” for device configuration changes.
lastupdated string, date-time The date and time that the event was last updated.
name string The name of the event; “SetConfigurationReq” for device configuration changes.
state string The current status of the request. The value will be “pending” until the device wakes up and ThingSpace can send the request to the device.
tagids array, UUIDs UUIDs of tag resources that are applied to this device.
transactionid string, UUID  
version string  
versionid string, UUID The version of the resource.

Example Response

[
  {
    "action": "set",
    "createdon": "2019-02-14T01:41:03.619217664Z",
    "deviceid": "8461f530-2e31-6e87-e357-6c38251d4d01",
    "fields": {
      "configuration": {
        "frequency": "Low"
      }
    },
    "foreignid": "e1f15861-7de7-69cb-ed7d-b4a92e091bc4",
    "id": "05c12adc-50c0-6ebb-feb0-b9f9637a1dba",
    "kind": "ts.event.configuration",
    "lastupdated": "2019-02-14T01:41:03.619217727Z",
    "name": "SetConfigurationReq",
    "state": "pending",
    "transactionid": "1d38aae7-558d-4cb9-8269-e8d4c0519045",
    "version": "1.0"
  }
]

NOTE: ThingSpace cannot send configuration change requests immediately if a device is in a power-saving “sleep” mode. When the the device wakes up to read sensors and send data to ThingSpace, ThingSpace is able to send configuration changes to the device. The device then goes back to sleep for the period of time set by the (new) configuration.

Once you send a POST /devices/actions/configuration/set request for a device, you cannot cancel or overwrite it. After the device wakes up and gets the configuration change request, you can send another request, if needed, and that request will be queued for when the device wakes up again.

Failure Responses

Status 4xx

All error messages are returned in this format:

{
  "error": "error code string",
  "error_description": "error message string",
  "cause": "further explanation"
}

Error codes and messages are listed on the Error Messages page, along with explanations and suggestions for corrective actions.