{"info":{"_postman_id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","name":"Senquip Cloud API Documentation","description":"<html><head></head><body><p><a href=\"https://docs.senquip.com/legal_docs/SEN0001%20Rev%203.0%20-%20Senquip%20Terms%20of%20Service.pdf\">📄 Terms of Service</a></p>\n<p>Welcome to the Senquip Cloud API Docs!</p>\n<p>The Senquip Cloud API allows you to seamlessly integrate with the Senquip platform, providing real-time access to asset data and to streamline the management of multiple devices from a central platform. Whether you need to track performance, manage diagnostics, or leverage advanced analytics, this RESTful API offers a straightforward way to interact with our cloud services.</p>\n<p>Key features include:</p>\n<ul>\n<li><p><strong>Real-Time Data:</strong> Get up-to-date information on asset status and location.</p>\n</li>\n<li><p><strong>Device Management:</strong> Modify device settings, network configurations, and other parameters directly via the API.</p>\n</li>\n<li><p><strong>Provisioning:</strong> Add new devices to your account or perform bulk updates.</p>\n</li>\n</ul>\n<p>For our other documentation see the <a href=\"https://senquip.com/homepage/products/#products-documents\">Senquip Docs</a> page.</p>\n<p>To contact support, please use our <a href=\"https://senquip.com/homepage/company/#contact\">contact form</a>.</p>\n<h1 id=\"authentication\">Authentication</h1>\n<ol>\n<li><p>To generate API credentials you must first sign up for an account on the <a href=\"https://portal.senquip.com\">Senquip Portal</a>.</p>\n</li>\n<li><p>Under <strong>Account</strong> settings, navigate to the <strong>API Access</strong> tab. Credentials can be generated using the <strong>Generate API Credentials</strong> button.</p>\n</li>\n<li><p>Copy the <strong>API Key</strong> value. This is your access token, keep it safe!</p>\n</li>\n<li><p>The Senquip Cloud API uses the <strong>API Key</strong> authorization type for authentication. The header <code>X-API-Key</code> must contain your unqiue access token for every request.</p>\n</li>\n<li><p>API limits apply - see the <strong>Rates and Usage Limits</strong> section below.</p>\n</li>\n</ol>\n<hr>\n<h1 id=\"important-notes\"><strong>Important Notes</strong></h1>\n<p>To start using the Senquip Cloud API, keep in mind:</p>\n<ul>\n<li><p>Every request must contain a valid API Key header (see <strong>Authentication</strong> above).</p>\n</li>\n<li><p>The API has rate and usage limits (see <strong>Rate and usage limits</strong> below).</p>\n</li>\n<li><p>The API only responds to HTTPS-secured communications. Any requests sent via HTTP return an HTTP 301 redirect to the corresponding HTTPS resources.</p>\n</li>\n<li><p>The API responds in JSON format. When an API request returns an error, it is sent in the JSON response under the <strong>message</strong> key.</p>\n</li>\n<li><p>API authorisation requests are cached by the server for 60 seconds (per API key).</p>\n</li>\n</ul>\n<p>Most endpoints that deal with a specific device require that the Device ID is provided. This is a unique identifier for the device and consists of 9 letters and numbers. For example: <strong><code>JDA54E19F</code></strong></p>\n<p>The Device ID can be found printed under the lid or on the outside of the packaging box.</p>\n<h1 id=\"getting-started\">Getting Started</h1>\n<p>The easiest way to start using the Senquip Cloud APIs is by clicking the <strong>Run in Postman</strong> button above. <a href=\"https://www.getpostman.com/\">Postman</a> is a free tool that helps developers run and debug API requests.</p>\n<p>From Postman, find the <strong>Variables</strong> tab and change the current value of the <strong>token</strong> variable with your actual API Key.</p>\n<p>Go to an API function (for example General List All Devices) and press <strong>Send</strong>!</p>\n<h1 id=\"errors-and-response-codes\">Errors and Response codes</h1>\n<p>Here are our standard response and error codes:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>RESPONSE CODE</strong></th>\n<th><strong>DESCRIPTION</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>200</code> - <strong>OK</strong></td>\n<td>Everything worked as expected!</td>\n</tr>\n<tr>\n<td><code>202</code> - <strong>Accepted</strong></td>\n<td>Your request is accepted and is now queued.</td>\n</tr>\n<tr>\n<td><code>400</code> - <strong>Bad Request</strong></td>\n<td>The request was invalid or cannot be otherwise served.</td>\n</tr>\n<tr>\n<td><code>401</code> - <strong>Unauthorized</strong></td>\n<td>There is some error during validation. You need to check your token or credentials. The API key could be missing or malformed from the request.</td>\n</tr>\n<tr>\n<td><code>403</code> - <strong>Forbidden</strong></td>\n<td>The API key is incorrect, or you do not have access to make this request.</td>\n</tr>\n<tr>\n<td><code>404</code> - <strong>Not Found</strong></td>\n<td>The URI requested is invalid or the resource requested does not exist.</td>\n</tr>\n<tr>\n<td><code>405</code> - <strong>Method Not Allowed</strong></td>\n<td>The API was accessed using the wrong method. Check your HTTP method.</td>\n</tr>\n<tr>\n<td><code>422</code> - <strong>Unprocessable Entity</strong></td>\n<td>It means the request contains incorrect syntax or cannot be fulfilled. Try checking your code for errors.</td>\n</tr>\n<tr>\n<td><code>429</code> - <strong>Too Many Requests</strong></td>\n<td>You have exceeded the API call rate limit.</td>\n</tr>\n<tr>\n<td><code>500</code>, <code>502</code>, <code>504</code> - <strong>Server Errors</strong></td>\n<td>Some server error has occurred. Some APIs may show this due to syntax or parameter errors. Try contacting support if this persists.</td>\n</tr>\n<tr>\n<td><code>503</code> - <strong>Service Unavailable</strong></td>\n<td>Unexpected spike in API access traffic. The server is usually operational within the next five minutes. If the outage persists contact support.</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"rate-and-usage-limits\">Rate and Usage Limits</h1>\n<p>Overall API rate limits are based on how many devices in your account are on a <strong>Hosted plan</strong>.</p>\n<p><strong>Account Limits per Hosted device:</strong></p>\n<ul>\n<li><p><strong>Rate limit:</strong> 1 request per second</p>\n</li>\n<li><p><strong>Daily quota:</strong> 1000 requests per day</p>\n</li>\n</ul>\n<p>These limits scale with the number of Hosted devices in your account. See example below.</p>\n<p>If you have <strong>no Hosted devices</strong>, a minimum default limit applies to your account:</p>\n<ul>\n<li><p><strong>1 request per second</strong></p>\n</li>\n<li><p><strong>1000 requests per day</strong></p>\n</li>\n</ul>\n<p>Your rate and quota limits are automatically recalculated every 12 hours based on the current number of Hosted devices.</p>\n<p>If you exceed your limit, the API will return <code>HTTP 429 - Too Many Requests</code></p>\n<h3 id=\"api-access-for-devices-without-a-hosted-plan\">API Access for Devices Without a Hosted Plan</h3>\n<p>Devices without a Hosted plan can still be accessed via API, but there is an addtional limit:</p>\n<ul>\n<li><strong>50 requests per non-Hosted device per calendar month</strong></li>\n</ul>\n<p>When this monthly limit applies, responses will include an <code>apiRequestsRemaining</code> value.</p>\n<p>This limit is intended to allow occasional configuration changes. If you need higher usage, you should upgrade the device to a Hosted plan.</p>\n<p>The only exception to the 50 request/month limit is for requesting measurement data from a device using the <em>Get Device Data</em> endpoint. For this endpoint the device <strong>must</strong> either have a <strong>Trial or Hosted Plan.</strong></p>\n<p>Hosted plans can be purchased from the <strong>Subscriptions</strong> button on the home page of the Senquip Portal.</p>\n<h3 id=\"api-limit-example\"><strong>API Limit Example</strong></h3>\n<p>If your account has 15 devices and 9 of them are on a Hosted plan, your total API limit is:</p>\n<ul>\n<li><p>9 requests per second</p>\n</li>\n<li><p>9000 requests per day</p>\n</li>\n<li><p>The 6 devices without a Hosted plan will accept 50 requests per month each.</p>\n</li>\n</ul>\n<p>To contact support or report a bug, please use our <a href=\"https://senquip.com/homepage/company/#contact\">contact form</a>.</p>\n<h1 id=\"example-add-register-a-new-device\">Example: Add / Register a new device</h1>\n<p>Adding or registering a new device to the Senquip Portal for the first time is the same as the '<em>Add a User to a Device</em>' process:</p>\n<ol>\n<li><p>For a new device, no passwords are required to add the unit. Only the 9 digit Device ID is required.</p>\n</li>\n<li><p>Use the <em>'Add a User to a Device'</em> endpoint. No body parameters are required, however it is recommended to specify the <code>groupid</code> or <code>groupName</code> as a minimum.</p>\n</li>\n<li><p>If successful the device will be added/registered to your Portal account and you can now use other API endpoints or the Senquip Portal to interact with it. If you receive the response <em>'Password Required'</em>, then the device has already been added to an account and you will need to provide the <code>setupPassword</code> body parameter in your request.</p>\n</li>\n</ol>\n<h1 id=\"example-client-certificates-for-mqtt\">Example: <strong>Client certificates for MQTT</strong></h1>\n<p>To load unique client certificates on to a device:</p>\n<ol>\n<li><p>Load each required certificate file using the '<em>Load File onto Device</em>' endpoint. This step may require up to three seperate calls to load the files: '<em>mqtt_client.key</em>', '<em>mqtt_client.crt</em>' and '<em>mqtt_ca.pem</em>'.</p>\n</li>\n<li><p>Update the config on the device to use the certificates using the '<em>Update Device Config</em>' endpoint. An example request body:</p>\n</li>\n</ol>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"config\": {\n    \"endpoint\": {\n      \"mqtt\": {\n        \"enable\": true,\n        \"server\": \"mqtt.broker.address:8883\",\n        \"client_id\": \"SETYOURID\",\n        \"ssl_cert\": \"mqtt_client.crt\",\n        \"ssl_key\": \"mqtt_client.key\",\n        \"ssl_ca_cert\": \"ca.pem\"\n      }\n    }\n  }\n}\n\n</code></pre>\n<p>In this example config the <em>Internal Trust Store</em> is used for the CA certificate instead of <em>mqtt_ca.pem</em>. The <em>Internal Trust Store</em> on the device contains a small set of AWS and Azure certificates and always has the filename '<em>ca.pem</em>'.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Authentication","slug":"authentication"},{"content":"Important Notes","slug":"important-notes"},{"content":"Getting Started","slug":"getting-started"},{"content":"Errors and Response codes","slug":"errors-and-response-codes"},{"content":"Rate and Usage Limits","slug":"rate-and-usage-limits"},{"content":"Example: Add / Register a new device","slug":"example-add-register-a-new-device"},{"content":"Example: Client certificates for MQTT","slug":"example-client-certificates-for-mqtt"}],"owner":"33042968","collectionId":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","publishedId":"2sAXxWYoWa","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"00afc9"},"publishDate":"2024-10-18T08:53:04.000Z"},"item":[{"name":"General","item":[{"name":"List All Devices","event":[{"listen":"test","script":{"id":"43d76cf0-0c41-41de-85ea-4cf7dedbf0d3","exec":[""],"type":"text/javascript","packages":{}}}],"id":"a73a5861-1163-4a71-b857-e5d6e76f1985","protocolProfileBehavior":{"followRedirects":true,"disabledSystemHeaders":{"connection":true}},"request":{"method":"GET","header":[],"url":"https://api.senquip.com/cloud-api-v2/devices","description":"<p>Gets a list of the devices associated with your account.</p>\n<p>Note: the response may be cached by the server for up to 60 seconds.</p>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"API_KEY"}]},"isInherited":true,"source":{"_postman_id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","name":"Senquip Cloud API Documentation","type":"collection"}},"urlObject":{"path":["devices"],"host":["https://api.senquip.com/cloud-api-v2"],"query":[],"variable":[]}},"response":[{"id":"46926194-45ab-4d0f-9b4f-9f95f2e08229","name":"Successful Response","originalRequest":{"method":"GET","header":[],"url":"https://api.senquip.com/cloud-api-v2/devices"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"1540"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Fri, 18 Oct 2024 01:44:28 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-6711bd7b-630026ed2a61d94e0512133b;Parent=04b4d0c1f090f977;Sampled=0;Lineage=1:8121aa2e:0"},{"key":"x-amzn-RequestId","value":"e598780d-dbfa-41b0-8d45-c1427a3d363e"},{"key":"Content-Encoding","value":"gzip"},{"key":"x-amz-apigw-id","value":"f0qLXF4gywMEvdw="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 0c5c9092233f69156c68308fd823bd58.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD62-P1"},{"key":"X-Amz-Cf-Id","value":"hKMnn-uBH4VPVmOy6Lt80a_nYFPSjua3qe7m0uRGRJWmlCqIkZGxFw=="}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"deviceid\": \"ZZ35JVFS0\",\n            \"groupName\": \"Archived\",\n            \"groupid\": \"g-91d4qw4pe\",\n            \"deviceName\": \"Field Test 1\"\n        },\n        {\n            \"deviceid\": \"TU39BLHW0\",\n            \"groupName\": \"API Test Group\",\n            \"groupid\": \"g-91d4qw4pe\",\n            \"deviceName\": \"Test ORB\"\n        }\n    ],\n    \"message\": \"OK\"\n}"},{"id":"ee64d6a2-699e-464b-a819-efdc29806b4b","name":"ERROR: No API Key Provided","originalRequest":{"method":"GET","header":[],"url":"https://api.senquip.com/cloud-api-v2/devices"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"26"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Wed, 25 Sep 2024 06:33:04 GMT"},{"key":"x-amz-apigw-id","value":"epg5MEngSwMEh6w="},{"key":"x-amzn-RequestId","value":"68da0eec-e3ed-440e-ba91-47011df884f9"},{"key":"x-amzn-ErrorType","value":"UnauthorizedException"},{"key":"X-Cache","value":"Error from cloudfront"},{"key":"Via","value":"1.1 aebce22763fb7e32a807cd494884a9b4.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD3-P1"},{"key":"X-Amz-Cf-Id","value":"iOp3y1Sv-XN5SRqbx6hd-IZa0VM5-ehnxTqM026wHe8B8TELyj17Vg=="}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Unauthorized. Check your API key.\"\n}"}],"_postman_id":"a73a5861-1163-4a71-b857-e5d6e76f1985"},{"name":"Add a User to a Device","id":"f0391572-e135-4da3-bb73-b72692a0efff","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"setupPassword\": \"STRING\",\n    \"targetPermission\": \"ADMIN or USER or OPERATOR or VIEW\",\n    \"targetEmail\": \"STRING\",\n    \"groupid\": \"STRING\",\n    \"groupName\": \"STRING\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/user","description":"<p>This endpoint allows you to add a new user to a device. The device is identified by the <code>deviceid</code> in the path.</p>\n<p>This endpoint is available for all devices, regardless of the device's Hosted plan status.</p>\n<p>The request body contains all request parameters as valid JSON. If no parameters are required then the body can be left empty.</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\n<ul>\n<li><p><code>setupPassword</code> (string): Optional. The Setup Password for the device.</p>\n</li>\n<li><p><code>targetPermission</code> (string): Optional. Desired permission, must be: <em>ADMIN</em>, <em>USER</em>, <em>OPERATOR</em> or <em>VIEW</em>. If omitted defaults to <em>ADMIN.</em></p>\n</li>\n<li><p><code>targetEmail</code> (string): Optional. Add a user with this email address to the device.</p>\n</li>\n<li><p><code>groupid</code> (string): Optional. Add the device to this group</p>\n</li>\n<li><p><code>groupName</code> (string): Optional. Add the device to this group.</p>\n</li>\n</ul>\n<p><strong>Note</strong>: If provided <code>groupId</code> takes precedence over <code>groupName</code>. If both are omitted, the device is added to the \"Ungrouped\" group by default.</p>\n<p>There are two use cases:</p>\n<ol>\n<li><p>Add the device to your account. The <code>targetEmail</code> parameter should be omitted.</p>\n<ol>\n<li><p>If this device allows adding users without a password, the <code>setupPassword</code> can be omitted.</p>\n</li>\n<li><p>If a password is required, a correct password should be provided in the <code>setupPassword</code> parameter.</p>\n</li>\n</ol>\n</li>\n<li><p>Add another user with a given email address to the device. The <code>targetEmail</code> parameter should be provided and the <code>setupPassword</code> parameter is not used.</p>\n</li>\n</ol>\n<p><strong>WARNING:</strong> You have limited attempts to add a device using the setup password. After 3 incorrect attempts, you must wait 10 minutes before trying again. Ongoing incorrect attempts will result in an automatic account suspension.</p>\n<h3 id=\"response\">Response</h3>\n<ul>\n<li><p><code>result</code> (string): A short code indicating the outcome of the request.</p>\n</li>\n<li><p><code>message</code> (string): Informational status message.</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"API_KEY"}]},"isInherited":true,"source":{"_postman_id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","name":"Senquip Cloud API Documentation","type":"collection"}},"urlObject":{"path":["device","DEVICEID","user"],"host":["https://api.senquip.com/cloud-api-v2"],"query":[],"variable":[]}},"response":[{"id":"3b4da25b-8358-4590-adc2-e2558de119e5","name":"Device added successfully","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\"setupPassword\": \"TESTPASSWORD\"}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/user"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"68"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Tue, 29 Oct 2024 23:04:32 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-672169fe-6e372306188e0eff68692e84;Parent=09c09c08172d2d01;Sampled=0;Lineage=2:a8d42495:0"},{"key":"x-amzn-RequestId","value":"d25d2deb-a389-4c5d-9630-7976ee49219e"},{"key":"x-amz-apigw-id","value":"Ab1_0Gi6SwMEexQ="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 13ad48adfe7f5ca5b82509779525e518.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD1-C1"},{"key":"X-Amz-Cf-Id","value":"0EoiGKoSCDVNsWY1DktnDVVlBupy6khkteYqz8S0oMSCx9TMz48j2g=="}],"cookie":[],"responseTime":null,"body":"{\n    \"resultCode\": \"DEVICE_ADDED\",\n    \"message\": \"Device successfully added.\"\n}"},{"id":"a550d023-dffa-412b-8876-3f164e8e996a","name":"Device already added","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\"setupPassword\": \"TESTPASSWORD\"}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/user"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"71"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Wed, 30 Oct 2024 02:00:47 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-6721934d-512484d77162a8e369af599a;Parent=22d43cd9f5dbfee6;Sampled=0;Lineage=2:a8d42495:0"},{"key":"x-amzn-RequestId","value":"8bf2e110-3dcb-44cd-980d-81d08ffcf17c"},{"key":"x-amz-apigw-id","value":"AcP0OEKZSwMELsw="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 2d39749f0342007f9798eeb0800f8a0e.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD1-C1"},{"key":"X-Amz-Cf-Id","value":"J09qdfzL-WAOKM4v-gOWs_nTXoR2sGEj5zN7tGb_gOxjAH2iiEAyQQ=="}],"cookie":[],"responseTime":null,"body":"{\n    \"resultCode\": \"DEVICE_ALREADY_ADDED\",\n    \"message\": \"Device already added.\"\n}"},{"id":"d5729ba3-7898-459f-9f18-b6965c4a56bd","name":"Password is incorrect","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\"setupPassword\": \"WRONGPASS\"}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/user"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"70"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Wed, 30 Oct 2024 02:09:24 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-67219552-43413b8e540ac615399551fb;Parent=6840590aaa09a4e0;Sampled=0;Lineage=2:a8d42495:0"},{"key":"x-amzn-RequestId","value":"328a31e8-b80e-4e4c-b233-633197bad026"},{"key":"x-amz-apigw-id","value":"AcRE5FpGSwMEK-Q="},{"key":"X-Cache","value":"Error from cloudfront"},{"key":"Via","value":"1.1 53c1b15bee05a74bbf23a945358028ec.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD1-C1"},{"key":"X-Amz-Cf-Id","value":"DGuRO3oZIdeKXXz7UHu11Af5A8D5MDWUSHncewQYUe7k8XzrLT8p2A=="}],"cookie":[],"responseTime":null,"body":"{\n    \"resultCode\": \"INCORRECT_PASSWORD\",\n    \"message\": \"Password is incorrect.\"\n}"},{"id":"7300c1b3-c16f-41a7-8e6c-71fec0c80513","name":"Password required","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/user"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"65"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Wed, 30 Oct 2024 02:23:14 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-67219890-551d234e75ae672c31171c05;Parent=2c54e63429b03ef3;Sampled=0;Lineage=2:a8d42495:0"},{"key":"x-amzn-RequestId","value":"635bf26d-d119-455d-92dc-97f6a81733a1"},{"key":"x-amz-apigw-id","value":"AcTGqHdOywMEAkw="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 9910b161083ec8200ad24e6d6beec168.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD1-C1"},{"key":"X-Amz-Cf-Id","value":"eXtHlbXvqmhZ7Kh5_5fOdJbEbOanYLUr76fqwcqWS8kIIfAgIdsbeA=="}],"cookie":[],"responseTime":null,"body":"{\n    \"resultCode\": \"PASSWORD_REQUIRED\",\n    \"message\": \"Password required.\"\n}"},{"id":"dd7a604e-aa02-4b2f-ad76-1a35759de6da","name":"Password attempts exceeded","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\"setupPassword\": \"WRONGPASS\"}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/user"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"89"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Wed, 30 Oct 2024 02:30:56 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-67219a5e-7b4024477629463030f0e6bf;Parent=41940ce3467733d9;Sampled=0;Lineage=1:a8d42495:0"},{"key":"x-amzn-RequestId","value":"1b3aff3d-407c-4cff-8f1c-00320dd9c351"},{"key":"x-amz-apigw-id","value":"AcUOzEe1SwMETsQ="},{"key":"X-Cache","value":"Error from cloudfront"},{"key":"Via","value":"1.1 d0c0855de58a470001e3701ff4871f82.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD1-C1"},{"key":"X-Amz-Cf-Id","value":"xD7RdueUs8N9fdu0EkqXigfEu3Wk-kCVnPN9EGoLfFx7RDmKy9oOuA=="}],"cookie":[],"responseTime":null,"body":"{\n    \"resultCode\": \"ATTEMPTS_EXCEEDED\",\n    \"message\": \"Attempts exceeded. Please wait 10 minutes.\"\n}"}],"_postman_id":"f0391572-e135-4da3-bb73-b72692a0efff"}],"id":"50c82030-e837-470c-8505-a3be4ff695f3","description":"<p>These are general endpoints to manage and access parts of your account.</p>\n","_postman_id":"50c82030-e837-470c-8505-a3be4ff695f3","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"API_KEY"}]},"isInherited":true,"source":{"_postman_id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","name":"Senquip Cloud API Documentation","type":"collection"}}},{"name":"Data","item":[{"name":"Get Device Data","event":[{"listen":"test","script":{"id":"43d76cf0-0c41-41de-85ea-4cf7dedbf0d3","exec":[""],"type":"text/javascript","packages":{}}}],"id":"8dae6997-e88d-471e-b1aa-45e76c938a5e","protocolProfileBehavior":{"disabledSystemHeaders":{"connection":true}},"request":{"method":"GET","header":[],"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/data","description":"<p>Retrieves data for a given device. The time range of the data can be customised as required.</p>\n<p>If no query parameters are provided, it returns the latest data point.</p>\n<p>Specific data keys can be requested using the <em>dataKeys</em> parameter and repeating it for each new data key (see <em>Specific data keys</em> example).</p>\n<p>There is an (soft) internal limit of how much data can be returned per request. If a non-null value for <em>lastEvaluatedTime</em> is returned, then there is more data available for the given parameters. The <em>lastEvaluatedTime</em> can be passed into a new query as the <em>pageStartTime</em> to continue the paginated request (keep other params the same).</p>\n<p><strong>This request can take up to 20 seconds</strong> when retrieving data over a large time range. Set your request timeout accordingly!</p>\n<h3 id=\"response\">Response</h3>\n<ul>\n<li><p><code>data</code> (array): An array of data points collected from the device.</p>\n</li>\n<li><p><code>lastEvaluatedTime</code> (number | null): A timestamp (Unix timestamps in seconds) used for pagination. If present, it should be provided in the next request to retrieve the next page of results. If null, there is no more data to paginate.</p>\n</li>\n<li><p><code>deviceid</code> (string): The id of the device the data belongs to.</p>\n</li>\n<li><p><code>dataCount</code> (integer): The number of data points returned.</p>\n</li>\n<li><p><code>message</code> (string): Informational status message.</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"API_KEY"}]},"isInherited":true,"source":{"_postman_id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","name":"Senquip Cloud API Documentation","type":"collection"}},"urlObject":{"path":["device","DEVICEID","data"],"host":["https://api.senquip.com/cloud-api-v2"],"query":[{"disabled":true,"description":{"content":"<p>(string, optional) Relative time period from now. Possible options:\n1m = One minute,\n3d = Three days,\n5w = Five weeks,\n2M = Two months.\nNote: relative cannot be used with fromTime or toTime.</p>\n","type":"text/plain"},"key":"relative","value":""},{"disabled":true,"description":{"content":"<p>(integer, optional, default: 1) Maximum number of data points to return.</p>\n","type":"text/plain"},"key":"dataPoints","value":""},{"disabled":true,"description":{"content":"<p>(number, optional) Timestamp to start from (Unix timestamps in seconds).</p>\n","type":"text/plain"},"key":"fromTime","value":""},{"disabled":true,"description":{"content":"<p>(number, optional) Timestamp to end at (Unix timestamps in seconds).</p>\n","type":"text/plain"},"key":"toTime","value":""},{"disabled":true,"description":{"content":"<p>(number, optional) Starting timestamp for paginated queries.</p>\n","type":"text/plain"},"key":"pageStartTime","value":""},{"disabled":true,"description":{"content":"<p>(string, optional) A data key to return. This param can be repeated for each key.</p>\n","type":"text/plain"},"key":"dataKeys","value":""}],"variable":[]}},"response":[{"id":"1ff8cf87-2dd7-4ec1-b40a-10e2ce28e275","name":"Get the latest data point","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/data","host":["https://api.senquip.com/cloud-api-v2"],"path":["device","DEVICEID","data"],"query":[{"key":"relative","value":"1M","description":"Relative time period from now. Possible options:\n1m = One minute\n3d = Three days\n5w = Five weeks\n2M = Two months","disabled":true},{"key":"dataPoints","value":"6","description":"Maximum number of data points to return.","disabled":true},{"key":"fromTime","value":"1728857423","description":"Timestamp to start from (Unix timestamps in seconds).","disabled":true},{"key":"toTime","value":"1728857303","description":"Timestamp to end at (Unix timestamps in seconds).","disabled":true},{"key":"pageStartTime","value":"1726613627.5","description":"Starting timestamp for paginated queries.","type":"text","disabled":true},{"key":"dataKeys","value":"vin","description":"A data key to return. This param can be repeated for each key.","disabled":true},{"key":"dataKeys","value":"ambient","description":"A data key to return. This param can be repeated for each key.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"402"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Fri, 18 Oct 2024 01:49:28 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-6711bea8-711a95234bf7069524fd6244;Parent=0a94e0087761dfea;Sampled=0;Lineage=2:1b85cbe5:0"},{"key":"x-amzn-RequestId","value":"bc0b9d6a-e4bb-427a-9db7-f32c5fa7de31"},{"key":"Content-Encoding","value":"gzip"},{"key":"x-amz-apigw-id","value":"f0q6WHixywMEBfw="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 212ddd6c8eb82cf3007eedad5f05dca8.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD62-P1"},{"key":"X-Amz-Cf-Id","value":"pjcOeikwnGYfJg1avvXlu8hxnhK5IzaDsQ1VNTl-fLHbi1F78Jjqkg=="}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"ts\": 1729462721.7,\n            \"ambient\": 24.65,\n            \"cp3\": \"MCswKzAuMDAwKzArMCswLjEzKzE3Ny40KzAuMTYrMTkuNisxLjU5KzEwMS45MiswLjcwNCsyMC4wLTU3LjAtODUuMCswLTAuMTMrMC4wMQ0K\",\n            \"cp5\": 0,\n            \"cp7\": 0,\n            \"cp6\": 0,\n            \"ttl\": 1792534721,\n            \"cp9\": 0.13,\n            \"cp8\": 0,\n            \"current4\": 0.15,\n            \"state\": 0,\n            \"cp20\": 0.01,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.06,\n            \"vsys\": 4.16,\n            \"cycle\": 3591,\n            \"cp17\": -57,\n            \"cp18\": -85,\n            \"cp19\": -0.13,\n            \"aws_ts\": 1729462721,\n            \"cp13\": 1.59,\n            \"wifi_rssi\": -40,\n            \"light\": 1,\n            \"cp14\": 101.92,\n            \"cp15\": 70.4,\n            \"cp16\": 20,\n            \"cp10\": 177.4,\n            \"cp11\": 0.16,\n            \"cp12\": 19.6,\n            \"vin\": 12.09,\n            \"analog4\": 5.159\n        }\n    ],\n    \"lastEvaluatedTime\": null,\n    \"deviceid\": \"ZSBDH91FF\",\n    \"dataCount\": 1,\n    \"message\": \"OK\"\n}"},{"id":"7b220925-8950-49be-b47a-d1a06b2f33a2","name":"Last 10 data points","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/data?dataPoints=10","host":["https://api.senquip.com/cloud-api-v2"],"path":["device","DEVICEID","data"],"query":[{"key":"relative","value":"10m","description":"Relative time period from now. Possible options:\n1m = One minute,\n3d = Three days,\n5w = Five weeks,\n2M = Two months.\nIf this parameter is present, it overrides the fromTime and toTime.","disabled":true},{"key":"dataPoints","value":"10","description":"Maximum number of data points to return."},{"key":"fromTime","value":"0","description":"Timestamp to start from (Unix timestamps in seconds).","disabled":true},{"key":"toTime","value":"1725336340","description":"Timestamp to end at (Unix timestamps in seconds).","disabled":true},{"key":"pageStartTime","value":"","description":"Starting timestamp for paginated queries.","type":"text","disabled":true},{"key":"dataKeys","value":"vin","description":"A data key to return. This param can be repeated for each key.","disabled":true},{"key":"dataKeys","value":"ambient","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"1114"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Sun, 20 Oct 2024 22:18:30 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-671581b5-2879b46f4bf013386be4957a;Parent=47f1db988a1b1301;Sampled=0;Lineage=1:1b85cbe5:0"},{"key":"x-amzn-RequestId","value":"e0c474c7-4a5e-46f6-b737-96049fff78bf"},{"key":"Content-Encoding","value":"gzip"},{"key":"x-amz-apigw-id","value":"f-E0eGOOSwMEGiA="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 fd8b250e4ee7cd8e5de453d78708baee.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD3-P1"},{"key":"X-Amz-Cf-Id","value":"BAwUcE-aZi4B8l07sSEHPrBU9F1SOeZ5wc1k6wD8DIZGIZ6Y5mF0Vw=="}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"ts\": 1729462661.7,\n            \"ambient\": 24.62,\n            \"cp3\": \"MCswKzAuMDAwKzArMCswLjExKzE4My4xKzAuMTgrMTkuNysxLjU5KzEwMS45MiswLjY5MisyMC4wLTYwLjEtODUuNSswLTAuMTEtMC4wMQ0K\",\n            \"cp5\": 0,\n            \"cp7\": 0,\n            \"cp6\": 0,\n            \"ttl\": 1792534661,\n            \"cp9\": 0.11,\n            \"cp8\": 0,\n            \"current4\": 0.188,\n            \"state\": 0,\n            \"cp20\": -0.01,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.08,\n            \"vsys\": 4.17,\n            \"cycle\": 3590,\n            \"cp17\": -60.1,\n            \"cp18\": -85.5,\n            \"cp19\": -0.11,\n            \"aws_ts\": 1729462661,\n            \"cp13\": 1.59,\n            \"wifi_rssi\": -40,\n            \"light\": 1,\n            \"cp14\": 101.92,\n            \"cp15\": 69.2,\n            \"cp16\": 20,\n            \"cp10\": 183.1,\n            \"cp11\": 0.18,\n            \"cp12\": 19.7,\n            \"vin\": 12.09,\n            \"analog4\": 5.156\n        },\n        {\n            \"ts\": 1729462601.7,\n            \"ambient\": 24.6,\n            \"cp3\": \"MCswKzAuMDAwKzArMCswLjEzKzE4MC40KzAuMTUrMTkuNysxLjU5KzEwMS45MiswLjY4NSsyMC4wLTU4LjQtODUuMiswLTAuMTMtMC4wMA0K\",\n            \"cp5\": 0,\n            \"cp7\": 0,\n            \"cp6\": 0,\n            \"ttl\": 1792534601,\n            \"cp9\": 0.13,\n            \"cp8\": 0,\n            \"current4\": 0.15,\n            \"state\": 0,\n            \"cp20\": 0,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.14,\n            \"vsys\": 4.16,\n            \"cycle\": 3589,\n            \"cp17\": -58.4,\n            \"cp18\": -85.2,\n            \"cp19\": -0.13,\n            \"aws_ts\": 1729462601,\n            \"cp13\": 1.59,\n            \"wifi_rssi\": -40,\n            \"light\": 1,\n            \"cp14\": 101.92,\n            \"cp15\": 68.5,\n            \"cp16\": 20,\n            \"cp10\": 180.4,\n            \"cp11\": 0.15,\n            \"cp12\": 19.7,\n            \"vin\": 12.09,\n            \"analog4\": 5.159\n        },\n        {\n            \"ts\": 1729462541.7,\n            \"ambient\": 24.6,\n            \"cp3\": \"MCswKzAuMDAwKzArMCswLjEzKzE4MC4xKzAuMTcrMTkuNysxLjU3KzEwMS45MiswLjY4NisxOS45LTU3LjQtODQuOSswLTAuMTMtMC4wMA0K\",\n            \"cp5\": 0,\n            \"cp7\": 0,\n            \"cp6\": 0,\n            \"ttl\": 1792534541,\n            \"cp9\": 0.13,\n            \"cp8\": 0,\n            \"current4\": 0.148,\n            \"state\": 0,\n            \"cp20\": 0,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.1,\n            \"vsys\": 4.14,\n            \"cycle\": 3588,\n            \"cp17\": -57.4,\n            \"cp18\": -84.9,\n            \"cp19\": -0.13,\n            \"aws_ts\": 1729462541,\n            \"cp13\": 1.57,\n            \"wifi_rssi\": -43,\n            \"light\": 1,\n            \"cp14\": 101.92,\n            \"cp15\": 68.6,\n            \"cp16\": 19.9,\n            \"cp10\": 180.1,\n            \"cp11\": 0.17,\n            \"cp12\": 19.7,\n            \"vin\": 12.09,\n            \"analog4\": 5.159\n        },\n        {\n            \"ts\": 1729462481.7,\n            \"ambient\": 24.6,\n            \"cp3\": \"MCswKzAuMDAwKzArMCswLjE0KzE3OS4zKzAuMTgrMTkuNysxLjU4KzEwMS45MSswLjY4NCsyMC4wLTU3LjItODUuMCswLTAuMTQrMC4wMA0K\",\n            \"cp5\": 0,\n            \"cp7\": 0,\n            \"cp6\": 0,\n            \"ttl\": 1792534481,\n            \"cp9\": 0.14,\n            \"cp8\": 0,\n            \"current4\": 0.261,\n            \"state\": 0,\n            \"cp20\": 0,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.08,\n            \"vsys\": 4.15,\n            \"cycle\": 3587,\n            \"cp17\": -57.2,\n            \"cp18\": -85,\n            \"cp19\": -0.14,\n            \"aws_ts\": 1729462481,\n            \"cp13\": 1.58,\n            \"wifi_rssi\": -41,\n            \"light\": 1,\n            \"cp14\": 101.91,\n            \"cp15\": 68.4,\n            \"cp16\": 20,\n            \"cp10\": 179.3,\n            \"cp11\": 0.18,\n            \"cp12\": 19.7,\n            \"vin\": 12.12,\n            \"analog4\": 5.172\n        },\n        {\n            \"ts\": 1729462421.7,\n            \"ambient\": 24.55,\n            \"cp3\": \"MCswKzAuMDAwKzArMCswLjE0KzE3OC4wKzAuMTgrMTkuNysxLjU3KzEwMS45MSswLjY4MisxOS45LTU3LjEtODQuOSswLTAuMTQrMC4wMA0K\",\n            \"cp5\": 0,\n            \"cp7\": 0,\n            \"cp6\": 0,\n            \"ttl\": 1792534421,\n            \"cp9\": 0.14,\n            \"cp8\": 0,\n            \"current4\": 0.18,\n            \"state\": 0,\n            \"cp20\": 0,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.14,\n            \"vsys\": 4.16,\n            \"cycle\": 3586,\n            \"cp17\": -57.1,\n            \"cp18\": -84.9,\n            \"cp19\": -0.14,\n            \"aws_ts\": 1729462421,\n            \"cp13\": 1.57,\n            \"wifi_rssi\": -44,\n            \"light\": 1,\n            \"cp14\": 101.91,\n            \"cp15\": 68.2,\n            \"cp16\": 19.9,\n            \"cp10\": 178,\n            \"cp11\": 0.18,\n            \"cp12\": 19.7,\n            \"vin\": 12.15,\n            \"analog4\": 5.162\n        },\n        {\n            \"ts\": 1729462361.7,\n            \"ambient\": 24.55,\n            \"cp3\": \"MCswKzAuMDAwKzArMCswLjEyKzE3My4yKzAuMTcrMTkuNisxLjU4KzEwMS45MSswLjY4OSsyMC4wLTU2LjktODQuOSswLTAuMTIrMC4wMQ0K\",\n            \"cp5\": 0,\n            \"cp7\": 0,\n            \"cp6\": 0,\n            \"ttl\": 1792534361,\n            \"cp9\": 0.12,\n            \"cp8\": 0,\n            \"current4\": 0.228,\n            \"state\": 0,\n            \"cp20\": 0.01,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.1,\n            \"vsys\": 4.16,\n            \"cycle\": 3585,\n            \"cp17\": -56.9,\n            \"cp18\": -84.9,\n            \"cp19\": -0.12,\n            \"aws_ts\": 1729462361,\n            \"cp13\": 1.58,\n            \"wifi_rssi\": -44,\n            \"light\": 1,\n            \"cp14\": 101.91,\n            \"cp15\": 68.9,\n            \"cp16\": 20,\n            \"cp10\": 173.2,\n            \"cp11\": 0.17,\n            \"cp12\": 19.6,\n            \"vin\": 12.18,\n            \"analog4\": 5.175\n        },\n        {\n            \"ts\": 1729462301.7,\n            \"ambient\": 24.55,\n            \"cp3\": \"MCswKzAuMDAwKzArMCswLjE0KzE4Mi4wKzAuMTYrMTkuNysxLjU3KzEwMS45MSswLjY4OCsyMC4wLTU0LjItODQuNyswLTAuMTQtMC4wMA0K\",\n            \"cp5\": 0,\n            \"cp7\": 0,\n            \"cp6\": 0,\n            \"ttl\": 1792534301,\n            \"cp9\": 0.14,\n            \"cp8\": 0,\n            \"current4\": 0.148,\n            \"state\": 0,\n            \"cp20\": 0,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.08,\n            \"vsys\": 4.15,\n            \"cycle\": 3584,\n            \"cp17\": -54.2,\n            \"cp18\": -84.7,\n            \"cp19\": -0.14,\n            \"aws_ts\": 1729462301,\n            \"cp13\": 1.57,\n            \"wifi_rssi\": -45,\n            \"light\": 1,\n            \"cp14\": 101.91,\n            \"cp15\": 68.8,\n            \"cp16\": 20,\n            \"cp10\": 182,\n            \"cp11\": 0.16,\n            \"cp12\": 19.7,\n            \"vin\": 12.18,\n            \"analog4\": 5.153\n        },\n        {\n            \"ts\": 1729462241.7,\n            \"ambient\": 24.57,\n            \"cp3\": \"MCswKzAuMDAwKzArMCswLjE0KzE4MS4yKzAuMTYrMTkuNisxLjU3KzEwMS45MSswLjY4MysxOS45LTU2LjktODUuMCswLTAuMTQtMC4wMA0K\",\n            \"cp5\": 0,\n            \"cp7\": 0,\n            \"cp6\": 0,\n            \"ttl\": 1792534241,\n            \"cp9\": 0.14,\n            \"cp8\": 0,\n            \"current4\": 0.15,\n            \"state\": 0,\n            \"cp20\": 0,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.06,\n            \"vsys\": 4.15,\n            \"cycle\": 3583,\n            \"cp17\": -56.9,\n            \"cp18\": -85,\n            \"cp19\": -0.14,\n            \"aws_ts\": 1729462241,\n            \"cp13\": 1.57,\n            \"wifi_rssi\": -43,\n            \"light\": 1,\n            \"cp14\": 101.91,\n            \"cp15\": 68.3,\n            \"cp16\": 19.9,\n            \"cp10\": 181.2,\n            \"cp11\": 0.16,\n            \"cp12\": 19.6,\n            \"vin\": 12.12,\n            \"analog4\": 5.172\n        },\n        {\n            \"ts\": 1729462181.7,\n            \"ambient\": 24.55,\n            \"cp3\": \"MCswKzAuMDAwKzArMCswLjEzKzE3OS4wKzAuMTYrMTkuNisxLjU2KzEwMS45MSswLjY4OSsxOS45LTU4LjEtODUuMiswLTAuMTMrMC4wMA0K\",\n            \"cp5\": 0,\n            \"cp7\": 0,\n            \"cp6\": 0,\n            \"ttl\": 1792534181,\n            \"cp9\": 0.13,\n            \"cp8\": 0,\n            \"current4\": 0.193,\n            \"state\": 0,\n            \"cp20\": 0,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.07,\n            \"vsys\": 4.14,\n            \"cycle\": 3582,\n            \"cp17\": -58.1,\n            \"cp18\": -85.2,\n            \"cp19\": -0.13,\n            \"aws_ts\": 1729462181,\n            \"cp13\": 1.56,\n            \"wifi_rssi\": -43,\n            \"light\": 1,\n            \"cp14\": 101.91,\n            \"cp15\": 68.9,\n            \"cp16\": 19.9,\n            \"cp10\": 179,\n            \"cp11\": 0.16,\n            \"cp12\": 19.6,\n            \"vin\": 12.12,\n            \"analog4\": 5.169\n        },\n        {\n            \"ts\": 1729462121.7,\n            \"ambient\": 24.52,\n            \"cp3\": \"MCswKzAuMDAwKzArMCswLjE1KzE4NC41KzAuMTkrMTkuNisxLjU3KzEwMS45MCswLjY5NCsxOS45LTU3LjYtODUuMCswLTAuMTUtMC4wMQ0K\",\n            \"cp5\": 0,\n            \"cp7\": 0,\n            \"cp6\": 0,\n            \"ttl\": 1792534121,\n            \"cp9\": 0.15,\n            \"cp8\": 0,\n            \"current4\": 0.15,\n            \"state\": 0,\n            \"cp20\": -0.01,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.11,\n            \"vsys\": 4.15,\n            \"cycle\": 3581,\n            \"cp17\": -57.6,\n            \"cp18\": -85,\n            \"cp19\": -0.15,\n            \"aws_ts\": 1729462121,\n            \"cp13\": 1.57,\n            \"wifi_rssi\": -40,\n            \"light\": 1,\n            \"cp14\": 101.9,\n            \"cp15\": 69.4,\n            \"cp16\": 19.9,\n            \"cp10\": 184.5,\n            \"cp11\": 0.19,\n            \"cp12\": 19.6,\n            \"vin\": 12.09,\n            \"analog4\": 5.144\n        }\n    ],\n    \"lastEvaluatedTime\": null,\n    \"deviceid\": \"ZSBDH91FF\",\n    \"dataCount\": 10,\n    \"message\": \"OK\"\n}"},{"id":"42f67388-b93d-4035-89f3-2ea60bb17508","name":"Specify a time range","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/data?fromTime=1724901311.8&toTime=1724901551.8","host":["https://api.senquip.com/cloud-api-v2"],"path":["device","DEVICEID","data"],"query":[{"key":"relative","value":"","description":"Relative time period from now. Possible options:\n1m = One minute,\n3d = Three days,\n5w = Five weeks,\n2M = Two months.\nIf this parameter is present, it overrides the fromTime and toTime.","disabled":true},{"key":"dataPoints","value":"","description":"Maximum number of data points to return.","disabled":true},{"key":"fromTime","value":"1724901311.8","description":"Timestamp to start from (Unix timestamps in seconds)."},{"key":"toTime","value":"1724901551.8","description":"Timestamp to end at (Unix timestamps in seconds)."},{"key":"pageStartTime","value":"","description":"Starting timestamp for paginated queries.","type":"text","disabled":true},{"key":"dataKeys","value":"","description":"A data key to return. This param can be repeated for each key.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"1087"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Mon, 21 Oct 2024 01:03:40 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-6715a86b-59f62b3a7b494dc46af7cfb8;Parent=6e7f252f2cb128c0;Sampled=0;Lineage=2:1b85cbe5:0"},{"key":"x-amzn-RequestId","value":"b7d3893a-8bdd-45a5-97fa-25c2d9809178"},{"key":"Content-Encoding","value":"gzip"},{"key":"x-amz-apigw-id","value":"f-dA1GsLSwMEOOw="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 3e61a2014e7d26249915c64513c0b4f2.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD3-P1"},{"key":"X-Amz-Cf-Id","value":"O-Hn29RFPMu7G0O4X9JiynfFDEAIdn0VBhfVazjH3-UJWhvwXwv6hg=="}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"ts\": 1724901311.8,\n            \"cp1\": 1400.8,\n            \"ambient\": 27.85,\n            \"cp2\": 8166.4,\n            \"cp7\": 215,\n            \"ttl\": 1787973311,\n            \"cp9\": 30,\n            \"cp8\": 142,\n            \"state\": 0,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.04,\n            \"vsys\": 4.16,\n            \"can1\": [\n                {\n                    \"data\": \"019B9BC62B000E9B\",\n                    \"id\": 217056256\n                },\n                {\n                    \"data\": \"CD2E33FFF4E02BFF\",\n                    \"id\": 217055747\n                },\n                {\n                    \"data\": \"FF4347FFFFFFFFFF\",\n                    \"id\": 419362304\n                },\n                {\n                    \"data\": \"D07F1EFFFF0FCB7D\",\n                    \"id\": 217056000\n                },\n                {\n                    \"data\": \"D07E1EFFFF0FC77D\",\n                    \"id\": 418383107\n                }\n            ],\n            \"cycle\": 96,\n            \"cp17\": 19,\n            \"cp18\": 21,\n            \"aws_ts\": 1724901311,\n            \"cp13\": 90.7,\n            \"wifi_rssi\": -36,\n            \"light\": 1,\n            \"cp14\": 200,\n            \"cp15\": 14,\n            \"cp16\": 32.9,\n            \"cp10\": 130,\n            \"cp11\": 119.8,\n            \"cp12\": 31.9,\n            \"vin\": 12.31\n        },\n        {\n            \"ts\": 1724901341.8,\n            \"cp1\": 1289.4,\n            \"ambient\": 27.88,\n            \"cp2\": 1625.8,\n            \"cp7\": 69,\n            \"ttl\": 1787973341,\n            \"cp9\": 98,\n            \"cp8\": 510,\n            \"state\": 0,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.11,\n            \"vsys\": 4.16,\n            \"can1\": [\n                {\n                    \"data\": \"0EDFDC4B28000EDC\",\n                    \"id\": 217056256\n                },\n                {\n                    \"data\": \"7ECDCE32FC7DFF67\",\n                    \"id\": 217055747\n                },\n                {\n                    \"data\": \"FFFFFF6D28FCCCFF\",\n                    \"id\": 419362304\n                },\n                {\n                    \"data\": \"D4FA62FFFF4FEF7D\",\n                    \"id\": 217056000\n                },\n                {\n                    \"data\": \"8E5803E37DDF7E81\",\n                    \"id\": 418383107\n                }\n            ],\n            \"cycle\": 97,\n            \"cp17\": 19,\n            \"cp18\": 21,\n            \"aws_ts\": 1724901341,\n            \"cp13\": 90.7,\n            \"wifi_rssi\": -35,\n            \"light\": 1,\n            \"cp14\": 200,\n            \"cp15\": 14,\n            \"cp16\": 32.9,\n            \"cp10\": 102,\n            \"cp11\": 119.8,\n            \"cp12\": 31.9,\n            \"vin\": 12.28\n        },\n        {\n            \"ts\": 1724901371.8,\n            \"cp1\": 599.6,\n            \"ambient\": 27.85,\n            \"cp2\": 8160,\n            \"cp7\": 215,\n            \"ttl\": 1787973371,\n            \"cp9\": 12,\n            \"cp8\": 140,\n            \"state\": 0,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.09,\n            \"vsys\": 4.14,\n            \"can1\": [\n                {\n                    \"data\": \"507D82BD12030E83\",\n                    \"id\": 217056256\n                },\n                {\n                    \"data\": \"DC0000FFF40000FF\",\n                    \"id\": 217055747\n                },\n                {\n                    \"data\": \"FF0146FFFFFFFFFF\",\n                    \"id\": 419362304\n                },\n                {\n                    \"data\": \"D1000CFFFF4F6F7D\",\n                    \"id\": 217056000\n                },\n                {\n                    \"data\": \"7F9F287F20442032\",\n                    \"id\": 418383107\n                }\n            ],\n            \"cycle\": 98,\n            \"cp17\": 19,\n            \"cp18\": 21,\n            \"aws_ts\": 1724901371,\n            \"cp13\": 90.7,\n            \"wifi_rssi\": -36,\n            \"light\": 1,\n            \"cp14\": 200,\n            \"cp15\": 14,\n            \"cp16\": 32.9,\n            \"cp10\": 2,\n            \"cp11\": 119.8,\n            \"cp12\": 31.9,\n            \"vin\": 12.31\n        },\n        {\n            \"ts\": 1724901401.8,\n            \"cp1\": 7839.9,\n            \"ambient\": 27.85,\n            \"cp2\": 8167.4,\n            \"cp7\": 215,\n            \"ttl\": 1787973401,\n            \"cp9\": 0,\n            \"cp8\": 138,\n            \"state\": 0,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.09,\n            \"vsys\": 4.16,\n            \"can1\": [\n                {\n                    \"data\": \"CD9A3BFFF40733FF\",\n                    \"id\": 217056256\n                },\n                {\n                    \"data\": \"CD983BFFF40C33FF\",\n                    \"id\": 217055747\n                },\n                {\n                    \"data\": \"FF1945FFFFFFFFFF\",\n                    \"id\": 419362304\n                },\n                {\n                    \"data\": \"C10000FFFF0FC47D\",\n                    \"id\": 217056000\n                },\n                {\n                    \"data\": \"8E58038E200FC37D\",\n                    \"id\": 418383107\n                }\n            ],\n            \"cycle\": 99,\n            \"cp17\": 19,\n            \"cp18\": 21,\n            \"aws_ts\": 1724901401,\n            \"cp13\": 90.7,\n            \"wifi_rssi\": -38,\n            \"light\": 1,\n            \"cp14\": 200,\n            \"cp15\": 14,\n            \"cp16\": 32.9,\n            \"cp10\": 17,\n            \"cp11\": 119.8,\n            \"cp12\": 31.9,\n            \"vin\": 12.28\n        },\n        {\n            \"ts\": 1724901431.8,\n            \"cp1\": 1709.8,\n            \"ambient\": 27.93,\n            \"cp2\": 8166.6,\n            \"cp7\": 215,\n            \"ttl\": 1787973431,\n            \"cp9\": 95,\n            \"cp8\": 154,\n            \"state\": 0,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.09,\n            \"vsys\": 4.15,\n            \"can1\": [\n                {\n                    \"data\": \"5ED6D06E35000ED1\",\n                    \"id\": 217056256\n                },\n                {\n                    \"data\": \"CD5035FFF44235FF\",\n                    \"id\": 217055747\n                },\n                {\n                    \"data\": \"FF4E4DFFFFFFFFFF\",\n                    \"id\": 419362304\n                },\n                {\n                    \"data\": \"D4FA5FFFFFFFFFFF\",\n                    \"id\": 217056000\n                },\n                {\n                    \"data\": \"8DE8038D20443136\",\n                    \"id\": 418383107\n                }\n            ],\n            \"cycle\": 100,\n            \"cp17\": 19,\n            \"cp18\": 21,\n            \"aws_ts\": 1724901431,\n            \"cp13\": 90.7,\n            \"wifi_rssi\": -36,\n            \"light\": 1,\n            \"cp14\": 200,\n            \"cp15\": 14,\n            \"cp16\": 32.9,\n            \"cp10\": 16,\n            \"cp11\": 119.8,\n            \"cp12\": 31.9,\n            \"vin\": 12.31\n        },\n        {\n            \"ts\": 1724901461.8,\n            \"cp1\": 601.2,\n            \"ambient\": 27.9,\n            \"cp2\": 8160,\n            \"cp7\": 215,\n            \"ttl\": 1787973461,\n            \"cp9\": 12,\n            \"cp8\": 144,\n            \"state\": 0,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.07,\n            \"vsys\": 4.15,\n            \"can1\": [\n                {\n                    \"data\": \"507D82CA12030E83\",\n                    \"id\": 217056256\n                },\n                {\n                    \"data\": \"DC8700FFF47A04FF\",\n                    \"id\": 217055747\n                },\n                {\n                    \"data\": \"FF0148FFFFFFFFFF\",\n                    \"id\": 419362304\n                },\n                {\n                    \"data\": \"D1000CFFF4A504FF\",\n                    \"id\": 217056000\n                },\n                {\n                    \"data\": \"7F9F287F20442032\",\n                    \"id\": 418383107\n                }\n            ],\n            \"cycle\": 101,\n            \"cp17\": 19,\n            \"cp18\": 21,\n            \"aws_ts\": 1724901461,\n            \"cp13\": 90.7,\n            \"wifi_rssi\": -36,\n            \"light\": 1,\n            \"cp14\": 200,\n            \"cp15\": 14,\n            \"cp16\": 32.9,\n            \"cp10\": 2,\n            \"cp11\": 119.8,\n            \"cp12\": 31.9,\n            \"vin\": 12.24\n        },\n        {\n            \"ts\": 1724901491.8,\n            \"cp1\": 1291.4,\n            \"ambient\": 27.9,\n            \"cp2\": 8166.9,\n            \"cp7\": 215,\n            \"ttl\": 1787973491,\n            \"cp9\": 0,\n            \"cp8\": 170,\n            \"state\": 0,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.07,\n            \"vsys\": 4.15,\n            \"can1\": [\n                {\n                    \"data\": \"0E7D7D5B2800827D\",\n                    \"id\": 217056256\n                },\n                {\n                    \"data\": \"CD4137FFF06628FF\",\n                    \"id\": 217055747\n                },\n                {\n                    \"data\": \"1C1155FFFFFFFFFF\",\n                    \"id\": 419362304\n                },\n                {\n                    \"data\": \"D10000FFFF0F587D\",\n                    \"id\": 217056000\n                },\n                {\n                    \"data\": \"8FDA028F20443138\",\n                    \"id\": 418383107\n                }\n            ],\n            \"cycle\": 102,\n            \"cp17\": 19,\n            \"cp18\": 21,\n            \"aws_ts\": 1724901491,\n            \"cp13\": 90.7,\n            \"wifi_rssi\": -36,\n            \"light\": 1,\n            \"cp14\": 200,\n            \"cp15\": 14,\n            \"cp16\": 32.9,\n            \"cp10\": 18,\n            \"cp11\": 119.8,\n            \"cp12\": 31.9,\n            \"vin\": 12.21\n        },\n        {\n            \"ts\": 1724901521.8,\n            \"cp1\": 1345.6,\n            \"ambient\": 27.93,\n            \"cp2\": 8166.1,\n            \"cp7\": 4,\n            \"ttl\": 1787973521,\n            \"cp9\": 37,\n            \"cp8\": 138,\n            \"state\": 0,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.08,\n            \"vsys\": 4.17,\n            \"can1\": [\n                {\n                    \"data\": \"21A4A40D2A000EA4\",\n                    \"id\": 217056256\n                },\n                {\n                    \"data\": \"CD1331FFF4042AFF\",\n                    \"id\": 217055747\n                },\n                {\n                    \"data\": \"FF25452C2AFCCCFF\",\n                    \"id\": 419362304\n                },\n                {\n                    \"data\": \"D08825FFFF0FA47D\",\n                    \"id\": 217056000\n                },\n                {\n                    \"data\": \"8E58038E20443137\",\n                    \"id\": 418383107\n                }\n            ],\n            \"cycle\": 103,\n            \"cp17\": 19,\n            \"cp18\": 21,\n            \"aws_ts\": 1724901521,\n            \"cp13\": 90.7,\n            \"wifi_rssi\": -36,\n            \"light\": 1,\n            \"cp14\": 200,\n            \"cp15\": 14,\n            \"cp16\": 32.9,\n            \"cp10\": 17,\n            \"cp11\": 119.8,\n            \"cp12\": 31.9,\n            \"vin\": 12.28\n        },\n        {\n            \"ts\": 1724901551.8,\n            \"cp1\": 1514.2,\n            \"ambient\": 27.93,\n            \"cp2\": 876,\n            \"cp7\": 215,\n            \"ttl\": 1787973551,\n            \"cp9\": 93,\n            \"cp8\": 156,\n            \"state\": 0,\n            \"wifi_ip\": \"192.168.1.216\",\n            \"deviceid\": \"ZSBDH91FF\",\n            \"vreg\": 9.11,\n            \"vsys\": 4.16,\n            \"can1\": [\n                {\n                    \"data\": \"6EDED4522F000ED5\",\n                    \"id\": 217056256\n                },\n                {\n                    \"data\": \"CD1B601B7CD77587\",\n                    \"id\": 217055747\n                },\n                {\n                    \"data\": \"FF194EFFFFFFFFFF\",\n                    \"id\": 419362304\n                },\n                {\n                    \"data\": \"D4FA5DFFFF4FE97D\",\n                    \"id\": 217056000\n                },\n                {\n                    \"data\": \"8A51068A20443133\",\n                    \"id\": 418383107\n                }\n            ],\n            \"cycle\": 104,\n            \"cp17\": 19,\n            \"cp18\": 21,\n            \"aws_ts\": 1724901551,\n            \"cp13\": 90.7,\n            \"wifi_rssi\": -36,\n            \"light\": 1,\n            \"cp14\": 200,\n            \"cp15\": 14,\n            \"cp16\": 32.9,\n            \"cp10\": 13,\n            \"cp11\": 119.8,\n            \"cp12\": 31.9,\n            \"vin\": 12.31\n        }\n    ],\n    \"lastEvaluatedTime\": null,\n    \"deviceid\": \"ZSBDH91FF\",\n    \"dataCount\": 9,\n    \"message\": \"OK\"\n}"},{"id":"9dee9551-f37a-439f-a346-6aac31efe9f6","name":"Specific data keys","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/data?relative=10m&dataKeys=vin&dataKeys=ambient","host":["https://api.senquip.com/cloud-api-v2"],"path":["device","DEVICEID","data"],"query":[{"key":"relative","value":"10m","description":"Relative time period from now. Possible options:\n1m = One minute,\n3d = Three days,\n5w = Five weeks,\n2M = Two months.\nIf this parameter is present, it overrides the fromTime and toTime."},{"key":"dataPoints","value":"","description":"Maximum number of data points to return.","disabled":true},{"key":"fromTime","value":"","description":"Timestamp to start from (Unix timestamps in seconds).","disabled":true},{"key":"toTime","value":"","description":"Timestamp to end at (Unix timestamps in seconds).","disabled":true},{"key":"pageStartTime","value":"","description":"Starting timestamp for paginated queries.","type":"text","disabled":true},{"key":"dataKeys","value":"vin","description":"A data key to return. This param can be repeated for each key."},{"key":"dataKeys","value":"ambient"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"201"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Sun, 20 Oct 2024 22:04:27 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-67157e6a-12a0c18126d6d91c20d97f93;Parent=5ffb4db097b3aab3;Sampled=0;Lineage=1:1b85cbe5:0"},{"key":"x-amzn-RequestId","value":"f9b680c4-34c7-456c-ae94-6be625aa2a4a"},{"key":"Content-Encoding","value":"gzip"},{"key":"x-amz-apigw-id","value":"f-CwuH8XywMEH3Q="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 30d965dd3bd4ca28c3aa1ccfc6be7c36.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD3-P1"},{"key":"X-Amz-Cf-Id","value":"EjavV713GI3eFToWY_fsR6OZ-BInGBYvToJ8PlGQhmRgna1Cz-b81w=="}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"ts\": 1729461281.7,\n            \"vin\": 12.09,\n            \"ambient\": 24.35\n        },\n        {\n            \"ts\": 1729461341.7,\n            \"vin\": 12.12,\n            \"ambient\": 24.38\n        },\n        {\n            \"ts\": 1729461401.7,\n            \"vin\": 12.15,\n            \"ambient\": 24.35\n        },\n        {\n            \"ts\": 1729461461.7,\n            \"vin\": 12.12,\n            \"ambient\": 24.4\n        },\n        {\n            \"ts\": 1729461521.7,\n            \"vin\": 12.15,\n            \"ambient\": 24.4\n        },\n        {\n            \"ts\": 1729461581.7,\n            \"vin\": 12.15,\n            \"ambient\": 24.43\n        },\n        {\n            \"ts\": 1729461641.7,\n            \"vin\": 12.15,\n            \"ambient\": 24.45\n        },\n        {\n            \"ts\": 1729461701.7,\n            \"vin\": 12.12,\n            \"ambient\": 24.43\n        },\n        {\n            \"ts\": 1729461761.7,\n            \"vin\": 12.18,\n            \"ambient\": 24.45\n        },\n        {\n            \"ts\": 1729461821.7,\n            \"vin\": 12.15,\n            \"ambient\": 24.48\n        }\n    ],\n    \"lastEvaluatedTime\": null,\n    \"deviceid\": \"ZSBDH91FF\",\n    \"dataCount\": 10,\n    \"message\": \"OK\"\n}"},{"id":"beee3774-8743-4cad-943f-85a6b1ff50d9","name":"ERROR: No Permissions","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/data","host":["https://api.senquip.com/cloud-api-v2"],"path":["device","DEVICEID","data"],"query":[{"key":"relative","value":"1M","description":"Relative time period from now. Possible options:\n1m = One minute\n3d = Three days\n5w = Five weeks\n2M = Two months","disabled":true},{"key":"dataPoints","value":"6","description":"Maximum number of data points to return.","disabled":true},{"key":"fromTime","value":"1728857423","description":"Timestamp to start from (Unix timestamps in seconds).","disabled":true},{"key":"toTime","value":"1728857303","description":"Timestamp to end at (Unix timestamps in seconds).","disabled":true},{"key":"pageStartTime","value":"1726613627.5","description":"Starting timestamp for paginated queries.","type":"text","disabled":true},{"key":"dataKeys","value":"vin","description":"A data key to return. This param can be repeated for each key.","disabled":true},{"key":"dataKeys","value":"ambient","description":"A data key to return. This param can be repeated for each key.","disabled":true}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"60"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Fri, 18 Oct 2024 01:48:03 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-6711be52-5de356a55328a92b375fa0d2;Parent=3ad2d167c0bdb563;Sampled=0;Lineage=2:1b85cbe5:0"},{"key":"x-amzn-RequestId","value":"1e2a717f-1aa8-4acd-8926-b6b0e54a66a2"},{"key":"x-amz-apigw-id","value":"f0qs-HB8ywMEjRA="},{"key":"X-Cache","value":"Error from cloudfront"},{"key":"Via","value":"1.1 212ddd6c8eb82cf3007eedad5f05dca8.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD62-P1"},{"key":"X-Amz-Cf-Id","value":"pqBlmvA0kMTl2CIKYcbFV50a8RCjRxYyXGHxcmFVp-rbW8f5T3-dwQ=="}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"User does not have permissions for this device\"\n}"},{"id":"b233ee27-6221-4bbc-81bc-d89aa77cf834","name":"ERROR: Relative and absolute time set","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/data?relative=5m&fromTime=1723100000&toTime=1723590000","host":["https://api.senquip.com/cloud-api-v2"],"path":["device","DEVICEID","data"],"query":[{"key":"relative","value":"5m","description":"Relative time period from now. Possible options:\n1m = One minute,\n3d = Three days,\n5w = Five weeks,\n2M = Two months.\nIf this parameter is present, it overrides the fromTime and toTime."},{"key":"fromTime","value":"1723100000","description":"Timestamp to start from (Unix timestamps in seconds)."},{"key":"toTime","value":"1723590000","description":"Timestamp to end at (Unix timestamps in seconds)."},{"key":"pageStartTime","value":"1723547172.2","description":"Starting timestamp for paginated queries.","disabled":true},{"key":"dataKeys","value":"vin_invlid","description":"A data key to return. This param can be repeated for each key.","disabled":true},{"key":"downsample","value":"2","type":"text","disabled":true},{"key":"dataPoints","value":"-1","disabled":true}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"67"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Wed, 25 Jun 2025 00:38:37 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-685b450b-49381914574c600a0b3645ee;Parent=67e457a5809450cb;Sampled=0;Lineage=2:40ca2b7d:0"},{"key":"x-amzn-RequestId","value":"0f605dc8-b4c7-43d1-b5e5-77772c29937b"},{"key":"x-amz-apigw-id","value":"Mse50H_FSwMEofA="},{"key":"X-Cache","value":"Error from cloudfront"},{"key":"Via","value":"1.1 b798288227eabcd45c0b7368df2cc344.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD1-C1"},{"key":"X-Amz-Cf-Id","value":"I8z0mrjrE6j3jTsy-Fho1zU69P9GUUM2x9uqWd2gX6Ggyt8TOBZVxg=="}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"fromTime and toTime cannot be used with relative time\"\n}"}],"_postman_id":"8dae6997-e88d-471e-b1aa-45e76c938a5e"}],"id":"24a88418-e72c-4b64-b6dd-b50780e8d6d4","description":"<p>Endpoints to access data on a device.</p>\n","_postman_id":"24a88418-e72c-4b64-b6dd-b50780e8d6d4","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"API_KEY"}]},"isInherited":true,"source":{"_postman_id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","name":"Senquip Cloud API Documentation","type":"collection"}}},{"name":"Configuration","item":[{"name":"Get Device Config","id":"0cafc11c-bee2-4eaf-ae1d-8d2bf43638f1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/config","description":"<p>Retrieve the device settings for a specific device identified by the <code>deviceid</code> in the path. The request does not require a request body.</p>\n<p>It is important to note that this endpoint returns <strong>the last known values sent from the device to the Senquip Portal.</strong> It is possible to modify values on the device via the local webserver, or the device may be configured so it does not send settings to the Senquip Portal. Use the <code>ts</code> value in the response to check the timestamp of the settings.</p>\n<p>There are two query parameters available to provide more succinct response. Setting <code>changesOnly</code> to <em>true</em> will return only the settings on the device that have changed from the defaults. Setting <code>removeUnique</code> to true will remove settings that are unique to the device, such as ID, name, firmware etc.</p>\n<h3 id=\"path-parameters\">Path Parameters</h3>\n<ul>\n<li><code>deviceid</code>: The identifier of the device for which the script is being retrieved.</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<ul>\n<li><p><code>ts</code> (number): The timestamp of the settings.</p>\n</li>\n<li><p><code>settings</code> (object): A object containing the last known settings recieved from the device.</p>\n</li>\n<li><p><code>message</code> (string): Informational status message.</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"API_KEY"}]},"isInherited":true,"source":{"_postman_id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","name":"Senquip Cloud API Documentation","type":"collection"}},"urlObject":{"path":["device","DEVICEID","config"],"host":["https://api.senquip.com/cloud-api-v2"],"query":[{"disabled":true,"description":{"content":"<p>(boolean, optional, default: false) Only return the changes from the default settings.</p>\n","type":"text/plain"},"key":"changesOnly","value":""},{"disabled":true,"description":{"content":"<p>(boolean, optional, default: false) Remove settings that are unique to the device, such as ID, name, firmware etc.</p>\n","type":"text/plain"},"key":"removeUnique","value":""}],"variable":[]}},"response":[{"id":"7522b975-0fe4-41e7-9efe-61a872d6deb6","name":"Full Config","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/config","host":["https://api.senquip.com/cloud-api-v2"],"path":["device","DEVICEID","config"],"query":[{"key":"changesOnly","value":"true","description":"Only return the changes from the default settings.","disabled":true},{"key":"removeUnique","value":"true","description":"Remove settings that are unique to the device, such as ID, name, firmware etc.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"1957"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Mon, 25 Nov 2024 03:32:46 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-6743efde-738bdd427128558c75cb119b;Parent=06e85d4c54e2b850;Sampled=0;Lineage=2:d0b48a92:0"},{"key":"x-amzn-RequestId","value":"6c724a91-1296-44a3-917b-760434cdd3a5"},{"key":"Content-Encoding","value":"gzip"},{"key":"x-amz-apigw-id","value":"ByJq4GzEywMEUVA="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 0b26d7ef0f265884570bdb3e6c3750b0.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD1-C1"},{"key":"X-Amz-Cf-Id","value":"5ikl94jo-LNohE0aonJjX2zlG_s_vfNXI5zhXGNR_PdihTJfeh8g6Q=="}],"cookie":[],"responseTime":null,"body":"{\n    \"deviceid\": \"XXXXXXXXX\",\n    \"ts\": 1732504987,\n    \"changesOnly\": false,\n    \"removeUnique\": false,\n    \"settings\": {\n        \"device\": {\n            \"id\": \"XXXXXXXXX\",\n            \"available\": true,\n            \"model\": \"ORB-X1-G\",\n            \"fw\": \"SFW001-8.2.0\",\n            \"fw_timestamp\": \"2023-07-20T01:05:57Z\",\n            \"hw\": \"2\",\n            \"name\": \"Changed from API\",\n            \"base_interval\": 60,\n            \"transmit_interval\": 1,\n            \"exception_interval\": 1,\n            \"always_on\": true,\n            \"batch_tx_enable\": false,\n            \"web_always_on\": false,\n            \"sq_interval\": 0,\n            \"vin\": {\n                \"alert_enable\": false,\n                \"sleep_enable\": true,\n                \"sleep_interval\": 21600,\n                \"sleep_delay\": 5,\n                \"count_hours\": false\n            },\n            \"batt\": {\n                \"alert_enable\": false,\n                \"threshold\": 4.8\n            },\n            \"vsys\": {\n                \"threshold\": 3.5\n            }\n        },\n        \"debug\": {\n            \"udp_log_addr\": \"\",\n            \"level\": 1,\n            \"stdout_uart\": -1,\n            \"stderr_uart\": -1,\n            \"mbedtls_level\": 0\n        },\n        \"sntp\": {\n            \"enable\": true,\n            \"server\": \"pool.ntp.org\",\n            \"update_interval\": 43200\n        },\n        \"bt\": {\n            \"enable\": true,\n            \"keep_enabled\": true\n        },\n        \"wifi\": {\n            \"available\": true,\n            \"sta\": {\n                \"enable\": true,\n                \"ssid\": \"Provision\",\n                \"pass\": \"********\",\n                \"user\": \"\",\n                \"anon_identity\": \"\",\n                \"cert\": \"\",\n                \"key\": \"\",\n                \"ca_cert\": \"\",\n                \"ip\": \"\",\n                \"netmask\": \"\",\n                \"gw\": \"\",\n                \"nameserver\": \"\",\n                \"dhcp_hostname\": \"ORB-XXXXX\"\n            },\n            \"ap\": {\n                \"enable\": false,\n                \"ssid\": \"ORB-XXXXX\",\n                \"pass\": \"********\",\n                \"hidden\": false,\n                \"channel\": 6,\n                \"max_connections\": 10,\n                \"ip\": \"192.168.4.1\",\n                \"netmask\": \"255.255.255.0\",\n                \"gw\": \"192.168.4.1\",\n                \"dhcp_start\": \"192.168.4.2\",\n                \"dhcp_end\": \"192.168.4.100\",\n                \"hostname\": \"senquip\",\n                \"keep_enabled\": true\n            }\n        },\n        \"mjs\": {\n            \"enable\": false,\n            \"send_errors\": false\n        },\n        \"gsm\": {\n            \"available\": true,\n            \"enable\": true,\n            \"auto_apn\": false,\n            \"auto_apn_version\": 1,\n            \"apn\": \"telstra.m2m\",\n            \"user\": \"\",\n            \"pass\": \"\",\n            \"scan_mode\": 3,\n            \"lte_mode\": 0,\n            \"roaming\": false,\n            \"bands\": \"\"\n        },\n        \"tamper\": {\n            \"available\": true,\n            \"name\": \"Tamper\",\n            \"enable\": false\n        },\n        \"magnet\": {\n            \"available\": false,\n            \"mode\": \"Disabled\"\n        },\n        \"humidity\": {\n            \"available\": false\n        },\n        \"pressure\": {\n            \"available\": true,\n            \"interval\": 1\n        },\n        \"ambient\": {\n            \"available\": true,\n            \"name\": \"Internal Temp\",\n            \"interval\": 1,\n            \"hysteresis\": 1,\n            \"warning\": \"0,-10,50\",\n            \"alarm\": \"0,-20,60\"\n        },\n        \"accel\": {\n            \"available\": true,\n            \"name\": \"Accelerometer\",\n            \"interval\": 0,\n            \"outputxyz\": false,\n            \"hysteresis\": 1,\n            \"pitch\": {\n                \"warning\": \"0,-45,45\",\n                \"alarm\": \"0,-60,60\"\n            },\n            \"roll\": {\n                \"warning\": \"0,-45,45\",\n                \"alarm\": \"0,-60,60\"\n            },\n            \"angle\": {\n                \"warning\": \"0,0,45\",\n                \"alarm\": \"0,0,60\"\n            },\n            \"motion\": {\n                \"warning\": \"0,0,100\",\n                \"alarm\": \"0,0,500\",\n                \"wake_from_hibernate\": false,\n                \"wake_threshold\": 100,\n                \"wake_config\": \"0,87,9\",\n                \"count_hours\": false\n            }\n        },\n        \"ble\": {\n            \"available\": true,\n            \"name\": \"Bluetooth\",\n            \"addr\": \"246F280FB442\",\n            \"interval\": 0,\n            \"scan_time\": 5,\n            \"id_list\": \"\",\n            \"send_data\": false\n        },\n        \"gps\": {\n            \"available\": true,\n            \"name\": \"GPS\",\n            \"interval\": 0,\n            \"maxtime\": 180,\n            \"position\": {\n                \"alert\": {\n                    \"enable\": false,\n                    \"radius\": 20,\n                    \"hysteresis\": 10,\n                    \"lat\": -32.93197,\n                    \"lon\": 151.77882\n                }\n            },\n            \"speed\": {\n                \"count_hours\": false,\n                \"alert\": {\n                    \"enable\": false,\n                    \"threshold\": 20,\n                    \"hysteresis\": 1\n                }\n            }\n        },\n        \"input1\": {\n            \"available\": true,\n            \"name\": \"Input 1\",\n            \"interval\": 0,\n            \"mode\": \"Digital\",\n            \"digital\": {\n                \"threshold\": 6,\n                \"hysteresis\": 1,\n                \"count_hours\": false,\n                \"alert\": {\n                    \"enable\": false\n                }\n            },\n            \"cal\": \"0,10,0,10\",\n            \"unit\": \"Volts\",\n            \"warning\": \"0,10,15\",\n            \"alarm\": \"0,5,30\",\n            \"hysteresis\": 1,\n            \"pulse\": {\n                \"enable\": false,\n                \"reset_value\": 10000,\n                \"scaling\": 1,\n                \"unit\": \"Counts\",\n                \"warning\": \"0,-1,2000\",\n                \"alarm\": \"0,-1,5000\"\n            },\n            \"duty\": {\n                \"invert\": false,\n                \"tolerance\": 3\n            }\n        },\n        \"input2\": {\n            \"available\": true,\n            \"name\": \"Input 2\",\n            \"interval\": 0,\n            \"mode\": \"Digital\",\n            \"digital\": {\n                \"threshold\": 6,\n                \"hysteresis\": 1,\n                \"count_hours\": false,\n                \"alert\": {\n                    \"enable\": false\n                }\n            },\n            \"cal\": \"0,10,0,10\",\n            \"unit\": \"Volts\",\n            \"warning\": \"0,10,15\",\n            \"alarm\": \"0,5,30\",\n            \"hysteresis\": 1\n        },\n        \"output1\": {\n            \"available\": true,\n            \"name\": \"Output 1\",\n            \"interval\": 0,\n            \"mode\": \"Output\",\n            \"warnings\": false,\n            \"alarms\": false,\n            \"alerts\": false,\n            \"hold_time\": 2,\n            \"digital\": {\n                \"alert\": {\n                    \"enable\": false\n                }\n            },\n            \"cal\": \"0,10,0,10\",\n            \"unit\": \"Volts\",\n            \"warning\": \"0,10,15\",\n            \"alarm\": \"0,5,30\",\n            \"hysteresis\": 1\n        },\n        \"tc1\": {\n            \"available\": true,\n            \"name\": \"Thermocouple 1\",\n            \"interval\": 0,\n            \"hysteresis\": 5,\n            \"type\": \"K\",\n            \"warning\": \"0,0,90\",\n            \"alarm\": \"0,-10,100\"\n        },\n        \"can1\": {\n            \"available\": false,\n            \"name\": \"CAN 1\",\n            \"interval\": 0,\n            \"nominal_baud\": 250,\n            \"capture_time\": 2,\n            \"tx_enable\": false,\n            \"id_list\": \"\",\n            \"send_data\": false\n        },\n        \"can2\": {\n            \"available\": false,\n            \"name\": \"CAN 2\",\n            \"interval\": 0,\n            \"nominal_baud\": 250,\n            \"capture_time\": 2,\n            \"tx_enable\": false,\n            \"id_list\": \"\",\n            \"send_data\": false\n        },\n        \"current1\": {\n            \"available\": true,\n            \"name\": \"Current 1\",\n            \"interval\": 0,\n            \"mode\": \"Current\",\n            \"always_on\": false,\n            \"start_time\": 0.5,\n            \"digital\": {\n                \"threshold\": 0,\n                \"alert\": {\n                    \"enable\": false\n                }\n            },\n            \"cal\": \"0,100,0,100\",\n            \"unit\": \"mA\",\n            \"warning\": \"0,20,80\",\n            \"alarm\": \"0,10,90\",\n            \"hysteresis\": 1\n        },\n        \"current2\": {\n            \"available\": true,\n            \"name\": \"Current 2\",\n            \"interval\": 0,\n            \"mode\": \"Current\",\n            \"always_on\": false,\n            \"start_time\": 0.5,\n            \"digital\": {\n                \"threshold\": 0,\n                \"alert\": {\n                    \"enable\": false\n                }\n            },\n            \"cal\": \"0,100,0,100\",\n            \"unit\": \"mA\",\n            \"warning\": \"0,20,80\",\n            \"alarm\": \"0,10,90\",\n            \"hysteresis\": 1\n        },\n        \"serial1\": {\n            \"available\": true,\n            \"name\": \"Capture 1\",\n            \"interval\": 0,\n            \"type\": \"RS232\",\n            \"fast_rs232\": false,\n            \"rx_linger_micros\": 15,\n            \"rx_buf_size\": 512,\n            \"tx_buf_size\": 256,\n            \"termination\": false,\n            \"mode\": \"Capture\",\n            \"baud\": 57600,\n            \"settings\": \"8N1\",\n            \"capture\": {\n                \"start\": \"\",\n                \"start_idle_time\": 0,\n                \"end\": \"\",\n                \"request\": \"\",\n                \"maxtime\": 5,\n                \"maxchars\": 500,\n                \"alert\": false\n            },\n            \"modbus\": {\n                \"timeout\": 0.2\n            }\n        },\n        \"mod1\": {\n            \"name\": \"Modbus 1\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"mod2\": {\n            \"name\": \"Modbus 2\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"mod3\": {\n            \"name\": \"Modbus 3\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"mod4\": {\n            \"name\": \"Modbus 4\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"mod5\": {\n            \"name\": \"Modbus 5\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"mod6\": {\n            \"name\": \"Modbus 6\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"mod7\": {\n            \"name\": \"Modbus 7\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"mod8\": {\n            \"name\": \"Modbus 8\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"mod9\": {\n            \"name\": \"Modbus 9\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"mod10\": {\n            \"name\": \"Modbus 10\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"mod11\": {\n            \"name\": \"Modbus 11\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"mod12\": {\n            \"name\": \"Modbus 12\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"mod13\": {\n            \"name\": \"Modbus 13\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"mod14\": {\n            \"name\": \"Modbus 14\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"mod15\": {\n            \"name\": \"Modbus 15\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"mod16\": {\n            \"name\": \"Modbus 16\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"mod17\": {\n            \"name\": \"Modbus 17\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"mod18\": {\n            \"name\": \"Modbus 18\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"mod19\": {\n            \"name\": \"Modbus 19\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"mod20\": {\n            \"name\": \"Modbus 20\",\n            \"settings\": \"\",\n            \"cal\": \"\",\n            \"unit\": \"\",\n            \"warning\": \"0,0,80\",\n            \"alarm\": \"0,0,100\"\n        },\n        \"endpoint\": {\n            \"available\": true,\n            \"config_to_portal\": true,\n            \"data_to_portal\": true,\n            \"buffer_enable\": false,\n            \"addtimedate\": false,\n            \"network_report\": true,\n            \"sq_data_format\": true,\n            \"udp\": {\n                \"enable\": false,\n                \"address\": \"server:port\"\n            },\n            \"http\": {\n                \"enable\": false,\n                \"address\": \"example.com/api:80\",\n                \"ssl_ca_file\": \"\",\n                \"ssl_client_cert_file\": \"\",\n                \"ssl_client_key_file\": \"\",\n                \"ssl_server_name\": \"\"\n            },\n            \"mqtt\": {\n                \"enable\": false,\n                \"server\": \"\",\n                \"client_id\": \"\",\n                \"data_topic\": \"\",\n                \"user\": \"\",\n                \"pass\": \"\",\n                \"ssl_cert\": \"\",\n                \"ssl_key\": \"\",\n                \"ssl_ca_cert\": \"\",\n                \"ssl_cipher_suites\": \"\",\n                \"ssl_psk_identity\": \"\",\n                \"ssl_psk_key\": \"\",\n                \"ssl_server_name\": \"\",\n                \"azure_cs\": \"\",\n                \"azure_token_ttl\": 3600\n            }\n        },\n        \"script\": {\n            \"num1\": 0,\n            \"num2\": 0,\n            \"num3\": 0,\n            \"num4\": 0,\n            \"num5\": 0,\n            \"num6\": 0,\n            \"num7\": 0,\n            \"num8\": 0,\n            \"num9\": 0,\n            \"num10\": 0,\n            \"str1\": \"\",\n            \"str2\": \"\",\n            \"str3\": \"\",\n            \"str4\": \"\",\n            \"str5\": \"\",\n            \"str6\": \"\",\n            \"str7\": \"\",\n            \"str8\": \"\",\n            \"str9\": \"\",\n            \"str10\": \"\"\n        },\n        \"sys\": {\n            \"diag_interval\": 3600\n        }\n    },\n    \"message\": \"OK\"\n}"},{"id":"2aa17260-f4ea-436b-bccf-1238037989cd","name":"Minimal config","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/config?changesOnly=true&removeUnique=true","host":["https://api.senquip.com/cloud-api-v2"],"path":["device","DEVICEID","config"],"query":[{"key":"changesOnly","value":"true","description":"Only return the changes from the default settings."},{"key":"removeUnique","value":"true","description":"Remove settings that are unique to the device, such as ID, name, firmware etc."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"256"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Mon, 25 Nov 2024 03:34:00 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-6743f028-62b3e8a16da2ba071619c010;Parent=0c432c5c4c3874f9;Sampled=0;Lineage=2:d0b48a92:0"},{"key":"x-amzn-RequestId","value":"1c1fb847-7fff-4407-8e6b-8791dd077bd2"},{"key":"x-amz-apigw-id","value":"ByJ2YEfTSwMEM9w="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 c7c43876ee4a62a2ceabf450cd898d7c.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD1-C1"},{"key":"X-Amz-Cf-Id","value":"_FABDrhw1XDxuYD17RKK6qfeiaELG04mG32_LXy1ckD5kmp3CT2Zsg=="}],"cookie":[],"responseTime":null,"body":"{\n    \"deviceid\": \"XXXXXXXXX\",\n    \"ts\": 1732504987,\n    \"changesOnly\": true,\n    \"removeUnique\": true,\n    \"settings\": {\n        \"device\": {\n            \"vsys\": {\n                \"threshold\": 3.5\n            }\n        },\n        \"wifi\": {\n            \"sta\": {\n                \"enable\": true,\n                \"ssid\": \"Provision\",\n                \"pass\": \"********\"\n            }\n        },\n        \"gsm\": {\n            \"auto_apn\": false,\n            \"apn\": \"telstra.m2m\"\n        }\n    },\n    \"message\": \"OK\"\n}"}],"_postman_id":"0cafc11c-bee2-4eaf-ae1d-8d2bf43638f1"},{"name":"Update Device Config","id":"8fe8bf3d-3610-47aa-a968-1130940d06e5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"config\": {\n        \"mqtt\": {\n            \"name\": \"Changed from API #2\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/config","description":"<p>Update device configuration for a specific device identified by the <code>deviceid</code>. The <code>config</code> given in the request is sent to the device's command queue. If device is online it should receieve the changes straight away, otherwise changes are sent when it next makes contact with the Senquip Portal.</p>\n<p>The configuration set depends on the device's model. A full configuration can be requested using the <em>Get Device Config</em> endpoint.</p>\n<p>Some configuration keys are read only or reserved for system use. If it is not possible to set a value, the key will appear in the <code>failedKeys</code> list in the response.</p>\n<p>There is currently no validation on extraneous configuration keys or mistakes/typos, the device will simply ignore these keys.</p>\n<p>The request requires a request body.</p>\n<p>Required device permission level: <strong>ADMIN</strong> or <strong>USER</strong></p>\n<h3 id=\"path-parameters\">Path Parameters</h3>\n<ul>\n<li><code>deviceid</code>: The identifier of the device.</li>\n</ul>\n<h3 id=\"body-parameters\">Body Parameters</h3>\n<ul>\n<li><p><code>config</code> (object): A JSON object containing the new settings.</p>\n</li>\n<li><p><code>dryRun</code> (boolean): Optional. If set to <em>true</em>, the config is validated but is not sent to the queue. If omitted defaults to false.</p>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<ul>\n<li><p><code>message</code> (string): Informational status message.</p>\n</li>\n<li><p><code>failedKeys</code> (array): An array of keys that could not be updated.</p>\n</li>\n<li><p><code>id</code> (number): The identifier of the queued message, or zero if no change was made.</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"API_KEY"}]},"isInherited":true,"source":{"_postman_id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","name":"Senquip Cloud API Documentation","type":"collection"}},"urlObject":{"path":["device","DEVICEID","config"],"host":["https://api.senquip.com/cloud-api-v2"],"query":[],"variable":[]}},"response":[{"id":"f590d62d-a2e1-49fa-bce3-b1ff2dc329b0","name":"Success","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"config\": {\n        \"device\": {\n            \"name\": \"Changed from API\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/config"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"139"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Mon, 25 Nov 2024 03:22:56 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-6743ed90-58dc940a6184f0a364e68d86;Parent=3737a71d9139b193;Sampled=0;Lineage=2:d829bd47:0"},{"key":"x-amzn-RequestId","value":"6559a27d-1841-4e72-91d2-5f82974eeb85"},{"key":"x-amz-apigw-id","value":"ByIOnHYFywMEJCg="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 1c8c09a2d2295d49b2248ce893dbb6c6.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD1-C1"},{"key":"X-Amz-Cf-Id","value":"ptwOZe_ux7cvAtbeYnYREciTv6O72UjSLLZQMd1g6zbG0G9yTzdAGg=="}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1732504976513,\n    \"failedKeys\": [],\n    \"message\": \"Changes have been queued. The settings will be updated next time the device makes contact.\"\n}"},{"id":"ace90228-0d37-4915-a3b1-9635b79edf66","name":"ERROR: Failed to set keys","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"config\": {\n        \"device\": {\n            \"id\": \"Can't set, read only!\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/config"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"64"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Mon, 25 Nov 2024 03:22:01 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-6743ed59-65feeb3d09b832954e74a093;Parent=53c3ac1509a68d41;Sampled=0;Lineage=1:d829bd47:0"},{"key":"x-amzn-RequestId","value":"59d8aa9e-90f8-4fc8-b99f-394cdfac35d9"},{"key":"x-amz-apigw-id","value":"ByIGBFF_SwMEt7w="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 1c8c09a2d2295d49b2248ce893dbb6c6.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD1-C1"},{"key":"X-Amz-Cf-Id","value":"AnStoQi2D6pquBMBXREh-yoWn6sRvhsB9_WntL2oyCDmw6wx529k1Q=="}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 0,\n    \"failedKeys\": [\n        \"device.id\"\n    ],\n    \"message\": \"No changes made.\"\n}"}],"_postman_id":"8fe8bf3d-3610-47aa-a968-1130940d06e5"},{"name":"Load File onto Device","id":"b6d7b181-6298-4c31-be02-2d5b96d78dfd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"fileDataBase64\": \"BASE64 STRING\",\n    \"fileName\": \"STRING\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/file","description":"<p>This endpoint queues a file to be sent to the device. The device is identified by the <code>deviceid</code> in the path. This endpoint is typically used to load unique client certificates or custom configuration files on to the device.</p>\n<p>The request requires a request body.</p>\n<p>This endpoint queues a command to be sent to the device. It will be actioned when the device is online and connected to the Senquip Portal.</p>\n<p>Required device permission level: <strong>ADMIN</strong> or <strong>USER</strong></p>\n<p><strong>Note: To get files, remove files or list files please see the 'Send Device Command' endpoint.</strong></p>\n<h3 id=\"restrictions\">Restrictions</h3>\n<p>To avoid conflicts on the device, there are some file name restrictions.</p>\n<ol>\n<li><p>File names cannot start with slashes or dots. Eg: <code>./test.log</code></p>\n</li>\n<li><p>File names cannot start with a single letter and underscore (reserved for system use). Eg: <code>d_</code> or <code>i_</code></p>\n</li>\n<li><p>Valid filenames must match this regex: <code>/^[a-zA-Z0-9_.()-]+$/</code></p>\n</li>\n<li><p>For MQTT and HTTP certificates, the valid file names are:</p>\n<ol>\n<li><p><code>mqtt_client.key</code></p>\n</li>\n<li><p><code>mqtt_client.crt</code></p>\n</li>\n<li><p><code>mqtt_ca.pem</code></p>\n</li>\n<li><p><code>https_client.key</code></p>\n</li>\n<li><p><code>https_client.crt</code></p>\n</li>\n<li><p><code>https_ca.pem</code></p>\n</li>\n</ol>\n</li>\n</ol>\n<p>If a file with the same <code>fileName</code> exists on the device it will be overwritten.</p>\n<h3 id=\"path-parameters\">Path Parameters</h3>\n<ul>\n<li><code>deviceid</code>: The identifier of the device.</li>\n</ul>\n<h3 id=\"body-parameters\">Body Parameters</h3>\n<ul>\n<li><p><code>fileDataBase64</code> (string): The contents of the file encoded in Base 64 format.</p>\n</li>\n<li><p><code>fileName</code> (string): The filename used to write the file on the device.</p>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<ul>\n<li><code>message</code> (string): Informational status message.</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"API_KEY"}]},"isInherited":true,"source":{"_postman_id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","name":"Senquip Cloud API Documentation","type":"collection"}},"urlObject":{"path":["device","DEVICEID","file"],"host":["https://api.senquip.com/cloud-api-v2"],"query":[],"variable":[]}},"response":[{"id":"3c5f4e25-253b-4b48-8670-43dd57033153","name":"Success","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"fileDataBase64\": \"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURRVENDQWltZ0F3SUJBZ0lUQm15Zno1bS9qQW81NHZCNGlrUG1salpieWpBTkJna3Foa2lHOXcwQkFRc0YKQURBNU1Rc3dDUVlEVlFRR0V3SlZVekVQTUEwR0ExVUVDaE1HUVcxaGVtOXVNUmt3RndZRFZRUURFeEJCYldGNgpiMjRnVW05dmRDQkRRU0F4TUI0WERURTFNRFV5TmpBd01EQXdNRm9YRFRNNE1ERXhOekF3TURBd01Gb3dPVEVMCk1Ba0dBMVVFQmhNQ1ZWTXhEekFOQmdOVkJBb1RCa0Z0WVhwdmJqRVpNQmNHQTFVRUF4TVFRVzFoZW05dUlGSnYKYjNRZ1EwRWdNVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFMSjRnSEhLZU5YagpjYTlIZ0ZCMGZXN1kxNGgyOUpsbzkxZ2hZUGwwaEFFdnJBSXRodE9nUTNwT3NxVFFOcm9Cdm8zYlNNZ0hGelpNCjlPNklJOGMrNnpmMXRSbjRTV2l3M3RlNWRqZ2RZWjZrL29JMnBlVktWdVJGNGZuOXRCYjZkTnFjbXpVNUwvcXcKSUZBR2JIclFnTEttK2Evc1J4bVBVRGdIM0tLSE9WajR1dFdwK1Vobk1KYnVsSGhlYjRtalVjQXdobWFoUldhNgpWT3VqdzVINVNOei8wZWd3TFgwdGRIQTExNGdrOTU3RVdXNjdjNGNYOGpKR0tMaEQrcmNkcXNxMDhwOGtEaTFMCjkzRmNYbW4vNnBVQ3l6aUtybEE0Yjl2N0xXSWJ4Y2NlVk9GMzRHZklENXlISTlZL1FDQi9JSURFZ0V3K095UW0KamdTdWJKcklxZzBDQXdFQUFhTkNNRUF3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFPQmdOVkhROEJBZjhFQkFNQwpBWVl3SFFZRFZSME9CQllFRklRWXpJVTA3THdNbEpRdUNGbWN4N0lRVGdvSU1BMEdDU3FHU0liM0RRRUJDd1VBCkE0SUJBUUNZOGpkYVFaQ2hHc1YyVVNnZ05pTU9ydVlvdTZyNGxLNUlwREIvRy93a2pVdTB5S0dYOXJieGVuREkKVTVQTUNDamptQ1hQSTZUNTNpSFRmSVVKclU2YWRUckNDMnFKZUhaRVJ4aGxiSTFCamp0L21zdjB0YWRRMXdVcwpOK2dEUzYzcFlhQUNidlh5OE1XeTdWdTMzUHFVWEhlZUU2Vi9VcTJWOHZpVE85NkxYRnZLV2xKYllLOFU5MHZ2Cm8vdWZRSlZ0TVZUOFF0UEhSaDhqcmRrUFNIQ2EyWFY0Y2RGeVF6UjFibGRad2dKY0ptQXB6eU1aRm82SVE2WFUKNU1zSSt5TVJRK2hES1hKaW9hbGRYZ2pVa0s2NDJNNFV3dEJWOG9iMnhKTkRkMlpod0xub1FkZVhlR0FEYmtweQpycVhSZmJvUW5vWnNHNHE1V1RQNDY4U1F2dkc1Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K\",\n    \"fileName\": \"https_ca.pem\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/file"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"34"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Tue, 26 Nov 2024 04:00:29 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-674547dd-46600e1407c31fcc48ebe23f;Parent=5a3ea2db31e755fa;Sampled=0;Lineage=2:dbbe786f:0"},{"key":"x-amzn-RequestId","value":"4173f42f-550e-4fb6-ab06-66730757746a"},{"key":"x-amz-apigw-id","value":"B1gqmH7LywMEm6A="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 f59bca6f088aed7c4e862f051be29532.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD1-C1"},{"key":"X-Amz-Cf-Id","value":"QLoZWa26__EtKHPHt6PVYBZ6MTMDfmJB8KymkTK7y77a-2KTz9mM_A=="}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"File added to queue.\"\n}"}],"_postman_id":"b6d7b181-6298-4c31-be02-2d5b96d78dfd"},{"name":"Import Configuration","id":"ce9fb81e-684b-4066-9d3d-23a2cc635d88","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"dryRun\": \"BOOLEAN\",\n    \"overrideFirmwareVersion\": \"BOOLEAN\",\n    \"overrideFirmwareNumber\": \"BOOLEAN\",\n    \"importFileBase64\": \"BASE64 STRING\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/import","description":"<p>Allows import of a configuration file for a device.</p>\n<h4 id=\"body-parameters\">Body Parameters</h4>\n<ul>\n<li><p><code>dryRun</code> (boolean): Optional. Set to true to perform a dry run import. The import file is validated, but no changes are made.</p>\n</li>\n<li><p><code>overrideFirmwareVersion</code> (boolean): Optional. Set to true to override the firmware version check during import.</p>\n</li>\n<li><p><code>overrideFirmwareNumber</code> (boolean): Optional. Set to true to override the firmware number check during import.</p>\n</li>\n<li><p><code>importFileBase64</code> (string): The Base64 encoded configuration file.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<ul>\n<li><p><code>importResults</code> (array): An array of results for each import category.</p>\n</li>\n<li><p><code>warnings</code> (array): An array of warning messages raised during the import.</p>\n</li>\n<li><p><code>message</code> (string): Informational status message.</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"API_KEY"}]},"isInherited":true,"source":{"_postman_id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","name":"Senquip Cloud API Documentation","type":"collection"}},"urlObject":{"path":["device","DEVICEID","import"],"host":["https://api.senquip.com/cloud-api-v2"],"query":[],"variable":[]}},"response":[{"id":"6a993e13-9eea-44dd-90aa-2e2570307882","name":"Success with warnings","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"overrideFirmwareVersion\": true,\n    \"overrideFirmwareNumber\": true,\n    \"importFileBase64\": \"redacted for example\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/import"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"336"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Mon, 18 Nov 2024 05:01:38 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-673aca32-34fb0d791adfe2f7199f6c0a;Parent=3dc8aaf97f4f5247;Sampled=0;Lineage=1:d27bcc46:0"},{"key":"x-amzn-RequestId","value":"0734d2fa-3404-448d-b72f-30b9287e4c51"},{"key":"Content-Encoding","value":"gzip"},{"key":"x-amz-apigw-id","value":"BbSH6GZdywMEcKg="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 3fb80f1162ff0374e396394904e92ee4.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD1-C1"},{"key":"X-Amz-Cf-Id","value":"yr5TTzb1XggPWl5MM1nFfv7368FEFB4vKFTNRyGLdtYpc4Kikgu5pQ=="}],"cookie":[],"responseTime":null,"body":"{\n    \"warnings\": [\n        \"The settings file originates from a different firmware number [SFW002]. Device settings may not be compatible.\"\n    ],\n    \"importResults\": [\n        {\n            \"importName\": \"Display Settings\",\n            \"result\": \"success\",\n            \"message\": \"Settings imported successfully.\"\n        },\n        {\n            \"importName\": \"Device Notes\",\n            \"result\": \"na\",\n            \"message\": \"No device notes to import.\"\n        },\n        {\n            \"importName\": \"Notification Settings\",\n            \"result\": \"success\",\n            \"message\": \"Settings imported successfully.\"\n        },\n        {\n            \"importName\": \"Script\",\n            \"result\": \"error\",\n            \"message\": \"Failed to update. Script has been locked by another user.\"\n        },\n        {\n            \"importName\": \"API Settings\",\n            \"result\": \"na\",\n            \"message\": \"No API settings to import.\"\n        },\n        {\n            \"importName\": \"Device Settings\",\n            \"result\": \"success\",\n            \"message\": \"Configuration queued successfully.\"\n        }\n    ],\n    \"message\": \"OK\"\n}"},{"id":"9cb1b337-db45-425a-9821-d5ee96c2a3d0","name":"Successful dry run","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"dryRun\": true,\n    \"overrideFirmwareVersion\": true,\n    \"overrideFirmwareNumber\": true,\n    \"importFileBase64\": \"redacted for example\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/import"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"359"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Mon, 18 Nov 2024 04:53:32 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-673ac84a-4a359eca2c516c0d0ebe9df0;Parent=3a9e523fa346f9b1;Sampled=0;Lineage=2:d27bcc46:0"},{"key":"x-amzn-RequestId","value":"6e75c0e0-c952-4c37-be37-4b8ef8fe275b"},{"key":"Content-Encoding","value":"gzip"},{"key":"x-amz-apigw-id","value":"BbQ7vFnXSwMEt7w="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 1c8c09a2d2295d49b2248ce893dbb6c6.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD1-C1"},{"key":"X-Amz-Cf-Id","value":"EQZ0K6uB88iYOF_EEUgTOlk7qcpHbpaA9Dp9UHbZBsmr7ue6COikhg=="}],"cookie":[],"responseTime":null,"body":"{\n    \"warnings\": [\n        \"Dry run enabled. No changes were made.\",\n        \"The settings file originates from a different firmware number [SFW002]. Device settings may not be compatible.\"\n    ],\n    \"importResults\": [\n        {\n            \"importName\": \"Display Settings\",\n            \"result\": \"success\",\n            \"message\": \"Settings valid (dry run).\"\n        },\n        {\n            \"importName\": \"Device Notes\",\n            \"result\": \"na\",\n            \"message\": \"No device notes to import.\"\n        },\n        {\n            \"importName\": \"Notification Settings\",\n            \"result\": \"success\",\n            \"message\": \"Settings valid (dry run).\"\n        },\n        {\n            \"importName\": \"Script\",\n            \"result\": \"success\",\n            \"message\": \"Script is valid (dry run).\"\n        },\n        {\n            \"importName\": \"Script Lock\",\n            \"result\": \"error\",\n            \"message\": \"Script locked by another user user@example.com\"\n        },\n        {\n            \"importName\": \"API Settings\",\n            \"result\": \"na\",\n            \"message\": \"No API settings to import.\"\n        },\n        {\n            \"importName\": \"Device Settings\",\n            \"result\": \"success\",\n            \"message\": \"Configuration valid (dry run).\"\n        }\n    ],\n    \"dryRun\": true,\n    \"message\": \"OK\"\n}"}],"_postman_id":"ce9fb81e-684b-4066-9d3d-23a2cc635d88"},{"name":"Update Firmware","id":"2ffb76f5-52ed-45c7-8a51-32d8df9babb6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"firmwareName\": \"SFW001-latest\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/firmware","description":"<p>This endpoint queues a command to update a device's firmware. The device is identified by the <code>deviceid</code> in the path.</p>\n<p>The request requires a request body.</p>\n<p>This endpoint queues a command to be sent to the device. It will be actioned when the device is online and connected to the Senquip Portal.</p>\n<p>Required device permission level: <strong>ADMIN</strong> or <strong>USER</strong></p>\n<h3 id=\"path-parameters\">Path Parameters</h3>\n<ul>\n<li><code>deviceid</code>: The identifier of the device.</li>\n</ul>\n<h3 id=\"body-parameters\">Body Parameters</h3>\n<ul>\n<li><code>firmwareName</code> (string): The firmware name/version to update to.</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<ul>\n<li><code>message</code> (string): Informational status message.</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"API_KEY"}]},"isInherited":true,"source":{"_postman_id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","name":"Senquip Cloud API Documentation","type":"collection"}},"urlObject":{"path":["device","DEVICEID","firmware"],"host":["https://api.senquip.com/cloud-api-v2"],"query":[],"variable":[]}},"response":[{"id":"6c09f8a4-8c2f-40b0-8473-39d13d581fae","name":"Success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"firmwareName\": \"SFW001-latest\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/firmware"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"37"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Tue, 26 Nov 2024 03:15:12 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-67453d3f-7308cbdc62fce9203784b2b1;Parent=50985e2172c4601b;Sampled=0;Lineage=2:7ae30d3a:0"},{"key":"x-amzn-RequestId","value":"3493e162-c118-462e-b381-4c493d828dff"},{"key":"x-amz-apigw-id","value":"B1aCDFLMSwMEVmQ="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 16481a07c9d54ca0e038ad1d2aec824a.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD62-P1"},{"key":"X-Amz-Cf-Id","value":"uDp_nfxP6NVvS0xkQAajIkaTL9SXRBfzHMIceA_4H9c1mwnlD_SsQg=="}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Firmware update queued.\"\n}"},{"id":"5cc6e453-85b5-475b-98c8-97e1e5428a8b","name":"ERROR: Firmware not found","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"firmwareName\": \"SFW001-DOES-NOT-EXIST\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/firmware"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"33"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Tue, 26 Nov 2024 03:14:05 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-67453cfd-56d3f639188dd5f615872aa8;Parent=7eecf1544ee44f54;Sampled=0;Lineage=1:7ae30d3a:0"},{"key":"x-amzn-RequestId","value":"dc00ef93-d965-49bb-9c03-a2db985c84f6"},{"key":"x-amz-apigw-id","value":"B1Z3pGraywMEZbA="},{"key":"X-Cache","value":"Error from cloudfront"},{"key":"Via","value":"1.1 16481a07c9d54ca0e038ad1d2aec824a.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD62-P1"},{"key":"X-Amz-Cf-Id","value":"KUjVZlJ9TKJjN_Me3v3fNXEnOaHN7ibjpRPvJWXyqSzMZjxL2pnekg=="}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Firmware not found.\"\n}"}],"_postman_id":"2ffb76f5-52ed-45c7-8a51-32d8df9babb6"},{"name":"Send Device Command","id":"d4224335-0ca7-464a-9910-0c3820e4372c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"method\": \"Admin.Trigger\",\n    \"args\": { \"index\": 2 }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/command","description":"<p>This endpoint queues a command to be sent to the device. It will be actioned when the device is online and connected to the Senquip Portal. The device is identified by the <code>deviceid</code> in the path.</p>\n<p>The request requires a request body.</p>\n<p>Required device permission level:</p>\n<ul>\n<li><p><strong>ADMIN</strong> or <strong>USER</strong> may use any method.</p>\n</li>\n<li><p><strong>OPERATOR</strong> may use the Admin.Trigger method only.</p>\n</li>\n</ul>\n<h3 id=\"path-parameters\">Path Parameters</h3>\n<ul>\n<li><code>deviceid</code>: The identifier of the device.</li>\n</ul>\n<h3 id=\"body-parameters\">Body Parameters</h3>\n<ul>\n<li><p><code>method</code> (string): The command method. Possible options are:</p>\n<ul>\n<li><p><code>Sys.Reboot</code> - Reboot the device.</p>\n</li>\n<li><p><code>Admin.FreightMode</code> - Put device into a low power freight mode.</p>\n</li>\n<li><p><code>Admin.Trigger</code> - Trigger a custom scripted action. Arguments required:</p>\n<ul>\n<li><code>index</code> (number): the custom trigger index.</li>\n</ul>\n</li>\n<li><p><code>Admin.FSGet</code> - Request a file from the device's filesystem. The file data will be in the Command Queue response. Arguments required:</p>\n<ul>\n<li><code>filename</code> (string): the name of the file to request.</li>\n</ul>\n</li>\n<li><p><code>Admin.FSList</code> - Request that the device list the files on the filesystem. The result will be in the Command Queue response.</p>\n</li>\n<li><p><code>Admin.FSRemove</code> - Request deletion/removal of a file from the device's filesystem. Check Command Queue response for the result.</p>\n<ul>\n<li><code>filename</code> (string): the name of the file to delete.</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p><code>args</code> (object): Arguments for the chosen method. Some methods require no arguments and the <code>args</code> parameter can be omitted.</p>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<ul>\n<li><p><code>id</code> (number): Identifier of the queued command.</p>\n</li>\n<li><p><code>deviceid</code> (string): Device ID used for the request.</p>\n</li>\n<li><p><code>method</code> (string): Method specified in the request.</p>\n</li>\n<li><p><code>message</code> (string): Informational status message.</p>\n</li>\n</ul>\n<p>A successful response (Status: 200) means the message was accepted to the server's command queue. It does not mean that the device has performed the action successfully.</p>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"API_KEY"}]},"isInherited":true,"source":{"_postman_id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","name":"Senquip Cloud API Documentation","type":"collection"}},"urlObject":{"path":["device","DEVICEID","command"],"host":["https://api.senquip.com/cloud-api-v2"],"query":[],"variable":[]}},"response":[{"id":"9340b391-7632-4f2f-aebc-71175a8eebb6","name":"Reboot Device","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"method\": \"Sys.Reboot\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/command"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"102"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Fri, 04 Jul 2025 03:11:47 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-68674672-56d3a05315a81804033aa327;Parent=6fabb3c9f035ee7f;Sampled=0;Lineage=1:617b2849:0"},{"key":"x-amzn-RequestId","value":"30a9edc9-6759-40cd-b9c4-bf19bc4937d1"},{"key":"x-amz-apigw-id","value":"NKfyAH5CSwMEPZA="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 db987b94354bedc3a16788229c0e652c.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD3-P1"},{"key":"X-Amz-Cf-Id","value":"RDf92nLNP_xjV4H_lvPYN3dXtnPAEWVvSDU5i8GotW9R8RXWc8eVgw=="}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1751598706938,\n    \"deviceid\": \"XXXXXXXXX\",\n    \"method\": \"Sys.Reboot\",\n    \"message\": \"Command has been queued.\"\n}"},{"id":"075c9b15-2773-4497-aa43-34b8c2e3c2e4","name":"Freight Mode","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"method\": \"Admin.FreightMode\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/command"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"109"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Fri, 04 Jul 2025 03:13:56 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-686746f4-6b36e0483bc5fd6a7cde51e3;Parent=4b605c1ab0591fba;Sampled=0;Lineage=1:617b2849:0"},{"key":"x-amzn-RequestId","value":"4f38f0a5-525d-4b58-898b-0e4948973ebc"},{"key":"x-amz-apigw-id","value":"NKgGSGqFSwMEiKQ="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 612d6e38ca8a5e65776b064d65f27d36.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD3-P1"},{"key":"X-Amz-Cf-Id","value":"nZI3VI4WlgQuqvGXmgbbIQ91SLZoV0IMjWtJIWi1pjkNNO5DKI_jpg=="}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1751598836716,\n    \"deviceid\": \"XXXXXXXXX\",\n    \"method\": \"Admin.FreightMode\",\n    \"message\": \"Command has been queued.\"\n}"},{"id":"12d13f41-e3ea-4fdf-9707-e57e679709c7","name":"Send Trigger","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"method\": \"Admin.Trigger\",\n    \"args\": { \"index\": 2 }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/command"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"105"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Fri, 04 Jul 2025 03:20:27 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-6867487b-516d05b14d4a99ce12df1c49;Parent=4c7761264021d71e;Sampled=0;Lineage=2:617b2849:0"},{"key":"x-amzn-RequestId","value":"b3cedeeb-ca56-4fcc-b450-4118116b8a9b"},{"key":"x-amz-apigw-id","value":"NKhDWFFyywMEM1w="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 cf3f6fdeca566994c58f318f9ac55680.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD3-P1"},{"key":"X-Amz-Cf-Id","value":"FBjQJyIdJ8wB5ApjOUkfydeCR4s3YC8GynjamAimCKzG6XOBMIx5Sg=="}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1751599227448,\n    \"deviceid\": \"XXXXXXXXX\",\n    \"method\": \"Admin.Trigger\",\n    \"message\": \"Command has been queued.\"\n}"}],"_postman_id":"d4224335-0ca7-464a-9910-0c3820e4372c"},{"name":"Get Command Queue","id":"0329aaf2-025e-4901-bf13-fd218e8f94a5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/command","description":"<p>Retrieve the device command queue. The command queue contains the pending or completed messages sent to the device. The last 20 messages are retrieved.</p>\n<h3 id=\"path-parameters\">Path Parameters</h3>\n<ul>\n<li><code>deviceid</code>: The identifier of the device.</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<ul>\n<li><p><code>data</code> (array): An array of command response objects. See below for explaination.</p>\n</li>\n<li><p><code>message</code> (string): Informational status message.</p>\n</li>\n</ul>\n<h3 id=\"command-response-object\">Command Response Object</h3>\n<ul>\n<li><p><code>ts</code> (number) Timestamp of command in milliseconds.</p>\n</li>\n<li><p><code>priority</code> (number) Priority of the command. Lower value = higher priority. A value of zero indicates the command is complete.</p>\n</li>\n<li><p><code>device_response</code> (string) A response message from the device. Omitted if device has not sent a response.</p>\n</li>\n<li><p><code>rpcmethod</code> (string) The command method.</p>\n</li>\n<li><p><code>complete_ts</code> (number) A timestamp of when the command was completed, if applicable.</p>\n</li>\n<li><p><code>ota_status</code> (object) Firmware update status information. Only exists for the <code>OTA.Update</code> command when the update has started.</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"API_KEY"}]},"isInherited":true,"source":{"_postman_id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","name":"Senquip Cloud API Documentation","type":"collection"}},"urlObject":{"path":["device","DEVICEID","command"],"host":["https://api.senquip.com/cloud-api-v2"],"query":[],"variable":[]}},"response":[{"id":"5b6533ff-78d8-4186-8afc-a7b64eb52004","name":"Success","originalRequest":{"method":"GET","header":[],"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/command"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"942"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Fri, 04 Jul 2025 04:45:00 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-68675c4c-2ed8addd1be9bb554cdf648c;Parent=1f93487951de448b;Sampled=0;Lineage=2:2a7f00a8:0"},{"key":"x-amzn-RequestId","value":"d94dbdd3-780b-47b6-a05c-642aa5860e45"},{"key":"Content-Encoding","value":"gzip"},{"key":"x-amz-apigw-id","value":"NKtb8EheywMEPmA="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 3a3fd4c6610f69913daebe1ea7239b1a.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD1-C1"},{"key":"X-Amz-Cf-Id","value":"WPmxPpdJZEQDL7IdZkLUkqdg7gPcCdjKtP3kj6ctoaPxeJm3K0iFzA=="}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"ts\": 1751603866651,\n            \"args\": {\n                \"url\": \"\",\n                \"fw\": \"SFW003-5.2.0.zip\"\n            },\n            \"priority\": 0,\n            \"complete_ts\": 1751604018184,\n            \"rpcmethod\": \"OTA.Update\",\n            \"deviceid\": \"TS2E8L2GF\",\n            \"ota_status\": {\n                \"progress\": 97,\n                \"aws_ts\": 1751604009,\n                \"state\": \"Waiting for data\",\n                \"ts\": 1751604010.8\n            },\n            \"device_response\": \"true\",\n            \"retries\": 0\n        },\n        {\n            \"rpcmethod\": \"Config.Set\",\n            \"ts\": 1751602824685,\n            \"deviceid\": \"TS2E8L2GF\",\n            \"args\": {\n                \"config\": {\n                    \"endpoint\": {\n                        \"http\": {\n                            \"ssl_ca_file\": \"https_ca.pem\",\n                            \"ssl_client_cert_file\": null,\n                            \"address\": \"https://example.com/api:80\",\n                            \"ssl_client_key_file\": null,\n                            \"enable\": true,\n                            \"ssl_server_name\": null\n                        }\n                    }\n                }\n            },\n            \"device_response\": \"{\\\"code\\\":0,\\\"message\\\":\\\"Success\\\"}\",\n            \"priority\": 0,\n            \"complete_ts\": 1751602828299,\n            \"retries\": 1\n        },\n        {\n            \"rpcmethod\": \"FS.Put\",\n            \"ts\": 1751602822328,\n            \"deviceid\": \"TS2E8L2GF\",\n            \"args\": {\n                \"data\": \"\",\n                \"append\": false,\n                \"filename\": \"https_ca.pem\"\n            },\n            \"device_response\": \"{\\\"code\\\":0,\\\"message\\\":\\\"Success\\\"}\",\n            \"priority\": 0,\n            \"complete_ts\": 1751602826081,\n            \"retries\": 0\n        },\n        {\n            \"rpcmethod\": \"Admin.Trigger\",\n            \"ts\": 1751599227448,\n            \"deviceid\": \"TS2E8L2GF\",\n            \"args\": {\n                \"index\": 2\n            },\n            \"device_response\": \"{\\\"code\\\":0,\\\"message\\\":\\\"Success\\\"}\",\n            \"priority\": 0,\n            \"complete_ts\": 1751599228168,\n            \"retries\": 0\n        },\n        {\n            \"rpcmethod\": \"Admin.Trigger\",\n            \"ts\": 1751599181489,\n            \"deviceid\": \"TS2E8L2GF\",\n            \"args\": {\n                \"index\": 2\n            },\n            \"device_response\": \"{\\\"code\\\":0,\\\"message\\\":\\\"Success\\\"}\",\n            \"priority\": 0,\n            \"complete_ts\": 1751599181770,\n            \"retries\": 0\n        },\n        {\n            \"rpcmethod\": \"Admin.Trigger\",\n            \"ts\": 1751599130561,\n            \"deviceid\": \"TS2E8L2GF\",\n            \"args\": {\n                \"index\": \"2\"\n            },\n            \"device_response\": \"{\\\"code\\\":0,\\\"message\\\":\\\"Success\\\"}\",\n            \"priority\": 0,\n            \"complete_ts\": 1751599130972,\n            \"retries\": 0\n        },\n        {\n            \"rpcmethod\": \"Sys.Reboot\",\n            \"ts\": 1751599102459,\n            \"deviceid\": \"TS2E8L2GF\",\n            \"args\": {\n                \"delay_ms\": 5000\n            },\n            \"device_response\": \"{\\\"code\\\":0,\\\"message\\\":\\\"Success\\\"}\",\n            \"priority\": 0,\n            \"complete_ts\": 1751599102840,\n            \"retries\": 0\n        },\n        {\n            \"rpcmethod\": \"FS.Put\",\n            \"ts\": 1751599098865,\n            \"deviceid\": \"TS2E8L2GF\",\n            \"args\": {\n                \"data\": \"\",\n                \"append\": false,\n                \"filename\": \"init.js\"\n            },\n            \"device_response\": \"{\\\"code\\\":0,\\\"message\\\":\\\"Success\\\"}\",\n            \"priority\": 0,\n            \"complete_ts\": 1751599099483,\n            \"retries\": 0\n        },\n        {\n            \"rpcmethod\": \"Admin.Trigger\",\n            \"ts\": 1751599022511,\n            \"deviceid\": \"TS2E8L2GF\",\n            \"args\": {\n                \"index\": \"2\"\n            },\n            \"device_response\": \"{\\\"code\\\":-1,\\\"message\\\":\\\"No Handler Set\\\"}\",\n            \"priority\": 0,\n            \"complete_ts\": 1751599022807,\n            \"retries\": 0\n        },\n        {\n            \"rpcmethod\": \"Admin.Trigger\",\n            \"ts\": 1751598903671,\n            \"deviceid\": \"TS2E8L2GF\",\n            \"args\": {},\n            \"device_response\": \"{\\\"code\\\":-1,\\\"message\\\":\\\"Trigger index required\\\"}\",\n            \"priority\": 0,\n            \"complete_ts\": 1751598923476,\n            \"retries\": 1\n        },\n        {\n            \"rpcmethod\": \"Admin.FreightMode\",\n            \"ts\": 1751598836716,\n            \"deviceid\": \"TS2E8L2GF\",\n            \"args\": {},\n            \"device_response\": \"{\\\"code\\\":0,\\\"message\\\":\\\"Success\\\"}\",\n            \"priority\": 0,\n            \"complete_ts\": 1751598837334,\n            \"retries\": 0\n        },\n        {\n            \"rpcmethod\": \"Config.Set\",\n            \"ts\": 1751598791069,\n            \"deviceid\": \"TS2E8L2GF\",\n            \"args\": {\n                \"config\": {\n                    \"device\": {\n                        \"vin\": {\n                            \"sleep_enable\": false\n                        }\n                    }\n                }\n            },\n            \"device_response\": \"{\\\"code\\\":0,\\\"message\\\":\\\"Success\\\"}\",\n            \"priority\": 0,\n            \"complete_ts\": 1751598793004,\n            \"retries\": 0\n        },\n        {\n            \"rpcmethod\": \"Sys.Reboot\",\n            \"ts\": 1751598706938,\n            \"deviceid\": \"TS2E8L2GF\",\n            \"args\": {\n                \"delay_ms\": 5000\n            },\n            \"device_response\": \"{\\\"code\\\":0,\\\"message\\\":\\\"Success\\\"}\",\n            \"priority\": 0,\n            \"complete_ts\": 1751598707509,\n            \"retries\": 0\n        },\n        {\n            \"rpcmethod\": \"Sys.Reboot\",\n            \"ts\": 1751598184312,\n            \"deviceid\": \"TS2E8L2GF\",\n            \"args\": {\n                \"delay_ms\": 5000\n            },\n            \"device_response\": \"{\\\"code\\\":0,\\\"message\\\":\\\"Success\\\"}\",\n            \"priority\": 0,\n            \"complete_ts\": 1751598185271,\n            \"retries\": 0\n        },\n        {\n            \"rpcmethod\": \"Config.Set\",\n            \"ts\": 1751596308227,\n            \"deviceid\": \"TS2E8L2GF\",\n            \"args\": {\n                \"config\": {\n                    \"device\": {\n                        \"always_on\": true\n                    }\n                }\n            },\n            \"device_response\": \"{\\\"code\\\":0,\\\"message\\\":\\\"Success\\\"}\",\n            \"priority\": 0,\n            \"complete_ts\": 1751596321868,\n            \"retries\": 1\n        }\n    ],\n    \"message\": \"OK\"\n}"}],"_postman_id":"0329aaf2-025e-4901-bf13-fd218e8f94a5"}],"id":"130e9097-9646-4b93-9e87-892e9e1c9cf5","_postman_id":"130e9097-9646-4b93-9e87-892e9e1c9cf5","description":"","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"API_KEY"}]},"isInherited":true,"source":{"_postman_id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","name":"Senquip Cloud API Documentation","type":"collection"}}},{"name":"Script","item":[{"name":"Get Device Script","id":"689b8033-b0a0-41ee-913b-c65a5ce6233f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/script","description":"<p>Retrieve the script for a specific device identified by the <code>deviceid</code> in the path. The request does not require a request body.</p>\n<p>It is important to note that this endpoint returns <strong>the last server-side script queued or sent to the device</strong>. It does not mean the device is currently running this script.</p>\n<p>Required device permission level: <strong>ADMIN</strong> or <strong>USER</strong></p>\n<h3 id=\"request-parameters\">Request Parameters</h3>\n<ul>\n<li><code>deviceid</code>: The identifier of the device for which the script is being retrieved.</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<ul>\n<li><p><code>data</code> (string): The last script sent to the device as a Base 64 encoded string.</p>\n</li>\n<li><p><code>message</code> (string): Informational status message.</p>\n</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"API_KEY"}]},"isInherited":true,"source":{"_postman_id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","name":"Senquip Cloud API Documentation","type":"collection"}},"urlObject":{"path":["device","DEVICEID","script"],"host":["https://api.senquip.com/cloud-api-v2"],"query":[],"variable":[]}},"response":[{"id":"a8c899b9-e9e7-424e-b055-26888a09ee4e","name":"Success","originalRequest":{"method":"GET","header":[],"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/script"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"203"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Mon, 11 Nov 2024 02:11:28 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-673167cf-3b5a89d41b0b968932cfb563;Parent=5ad07272de5811db;Sampled=0;Lineage=2:8676aa70:0"},{"key":"x-amzn-RequestId","value":"a3241ebd-a27e-487a-87fe-a1b835c77e06"},{"key":"x-amz-apigw-id","value":"BD0oiHgSywMEEcw="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 098fddbcdf00e65b8479d1d17b41d28a.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD1-C1"},{"key":"X-Amz-Cf-Id","value":"IqYiH7LRHs9dTkIZLLRiFsiyECWp26Jhk0RUBjnLRXdQQixPggSQqA=="}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": \"CmxvYWQoJ3NlbnF1aXAuanMnKTsKClNRLnNldF9kYXRhX2hhbmRsZXIoZnVuY3Rpb24oZGF0YSkgewogIGxldCBvYmogPSBKU09OLnBhcnNlKGRhdGEpOwogIAogIFNRLmRpc3BhdGNoKDEsIG9iai5hbWJpZW50KTsKfSwgbnVsbCk7\",\n    \"message\": \"OK.\"\n}"},{"id":"b8a89913-e754-4a29-9e84-2b0e0dac5de7","name":"ERROR: Script Locked","originalRequest":{"method":"GET","header":[],"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/script"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"71"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Mon, 11 Nov 2024 02:10:11 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-67316782-096cbaf42fee56c9107f711b;Parent=6b331858ecbe83e9;Sampled=0;Lineage=2:8676aa70:0"},{"key":"x-amzn-RequestId","value":"7c2a9f65-8ce0-464e-bcc6-9a14a6c48d1c"},{"key":"x-amz-apigw-id","value":"BD0cYEEiywMEXGg="},{"key":"X-Cache","value":"Error from cloudfront"},{"key":"Via","value":"1.1 49a6e32d0e77764a9e697970808fdae8.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD1-C1"},{"key":"X-Amz-Cf-Id","value":"S9jrMA2sgbHAKZVQ7uyj6m-h1bt5WLXMc7WBQu5zkatdsOP6eDyJIg=="}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Script is locked by another user (user@example.com).\"\n}"}],"_postman_id":"689b8033-b0a0-41ee-913b-c65a5ce6233f"},{"name":"Update Device Script","id":"0021ed9d-5efd-4852-a4ea-30021c1f3781","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"scriptFileBase64\": \"Ly8gVGVzdAp7CiAgIHByaW50KCJIaSIpOwogICBTUS54eCgpOwp9Cg==\",\n    \"reboot\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/script","description":"<p>Update the script for a specific device identified by the <code>deviceid</code>. The script file given in the request is saved to the Senquip Cloud and sent to the device's command queue.</p>\n<p>The request requires a request body.</p>\n<p>This endpoint queues a command to be sent to the device. It will be actioned when the device is online and connected to the Senquip Portal.</p>\n<p>Required device permission level: <strong>ADMIN</strong> or <strong>USER</strong></p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\n<ul>\n<li><p><code>scriptFileBase64</code> (string): The Base64 encoded script file to use for the update.</p>\n</li>\n<li><p><code>reboot</code> (boolean): Optional. Queue a reboot command after the script update.</p>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<ul>\n<li><code>message</code> (string): Informational status message.</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"API_KEY"}]},"isInherited":true,"source":{"_postman_id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","name":"Senquip Cloud API Documentation","type":"collection"}},"urlObject":{"path":["device","DEVICEID","script"],"host":["https://api.senquip.com/cloud-api-v2"],"query":[],"variable":[]}},"response":[{"id":"0cf1b8e4-2156-4db0-b628-969269c1bee9","name":"Success","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"scriptFileBase64\": \"Ly8gVGVzdAp7CiAgIHByaW50KCJIaSIpOwogICBTUS54eCgpOwp9Cg==\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/script"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"35"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Mon, 18 Nov 2024 06:29:04 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-673adeaf-361d01332d2200992344a80c;Parent=261936e69bba473e;Sampled=0;Lineage=1:79fe9f6a:0"},{"key":"x-amzn-RequestId","value":"ee7ab88e-4b42-4c81-8d2e-55f3de7b5d4b"},{"key":"x-amz-apigw-id","value":"Bbe7jGLoywMECZQ="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 53c1b15bee05a74bbf23a945358028ec.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD1-C1"},{"key":"X-Amz-Cf-Id","value":"6rQlM9i4mw1Kr815_l2fDBRRlO_XLdh4Q-Zzk66zr12oZSF3lg1ZyQ=="}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Script update queued.\"\n}"},{"id":"8f7fb2ce-9b6b-47f3-ba77-ab88bbe31cd8","name":"ERROR: Script locked","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"scriptFileBase64\": \"Ly8gVGVzdAp7CiAgIHByaW50KCJIaSIpOwogICBTUS54eCgpOwp9Cg==\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/script"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"95"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Mon, 18 Nov 2024 06:27:17 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-673ade44-3a5a31782130bb5e47b0aed9;Parent=63920e15ee0da78c;Sampled=0;Lineage=2:79fe9f6a:0"},{"key":"x-amzn-RequestId","value":"87b9ab16-e26f-4ea7-90b0-1e85683ad9d8"},{"key":"x-amz-apigw-id","value":"BbeqsHyqywMEGTA="},{"key":"X-Cache","value":"Error from cloudfront"},{"key":"Via","value":"1.1 53c1b15bee05a74bbf23a945358028ec.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD1-C1"},{"key":"X-Amz-Cf-Id","value":"dqmxyCdvMMRk_sDOnhjSBjg75QxWfnsSfjBVp208xe5D5E0ftwEC4Q=="}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Failed to update. Script has been locked by another user (user@example.com).\"\n}"}],"_postman_id":"0021ed9d-5efd-4852-a4ea-30021c1f3781"},{"name":"Modify Script Lock","id":"d1e716ce-eb3a-42ec-9492-95090defbc01","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"lock\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/script-lock","description":"<p>Lock or unlock the script for a specific device identified by the <code>deviceid</code>. A locked script cannot be accessed by anyone except the user that created the lock.</p>\n<p>The request requires a request body.</p>\n<p>Required device permission level: <strong>ADMIN</strong> or <strong>USER</strong></p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\n<ul>\n<li><code>lock</code> (boolean): Set to <code>true</code> to lock the script. Set to <code>false</code> to unlock the script.</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<ul>\n<li><code>message</code> (string): Informational status message.</li>\n</ul>\n","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"API_KEY"}]},"isInherited":true,"source":{"_postman_id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","name":"Senquip Cloud API Documentation","type":"collection"}},"urlObject":{"path":["device","DEVICEID","script-lock"],"host":["https://api.senquip.com/cloud-api-v2"],"query":[],"variable":[]}},"response":[{"id":"0806a434-4a07-443a-af95-7f50f55be789","name":"Successfully locked","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"lock\": true\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/script-lock"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"61"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Thu, 28 Nov 2024 00:40:03 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-6747bbe1-0261f5327894bba7374dd1b0;Parent=5c215eb3d99d5eb4;Sampled=0;Lineage=2:7a0b9d6d:0"},{"key":"x-amzn-RequestId","value":"684966d4-072a-4527-a168-adadda42f55d"},{"key":"x-amz-apigw-id","value":"B7pLVExwSwMEkcQ="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 482a1ea4dd283bc043aa76fee74514f6.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD62-P1"},{"key":"X-Amz-Cf-Id","value":"RgAmikhqIDxJAuYsXwiQaebO2b6fVwZSPPYA9uTxV0JZizFbe2kMPw=="}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Script has been locked to email@example.com\"\n}"},{"id":"2b65ee1c-6225-4320-ad3a-0803d3f45c99","name":"Successfully unlocked","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"lock\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/script-lock"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"34"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Thu, 28 Nov 2024 00:40:41 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-6747bc09-7dd5df216070390327950e3f;Parent=19e52e2d12cb0d95;Sampled=0;Lineage=1:7a0b9d6d:0"},{"key":"x-amzn-RequestId","value":"f8fe1feb-6250-4cf5-8e08-ed2a4be3e819"},{"key":"x-amz-apigw-id","value":"B7pRhH2cywMEVmQ="},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 482a1ea4dd283bc043aa76fee74514f6.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD62-P1"},{"key":"X-Amz-Cf-Id","value":"dyHPShHan0v5Nq720eJHCABsfDaztsGLn-5kOIl-HqGVHsb1afJ6yQ=="}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Script lock removed.\"\n}"},{"id":"da751779-c18e-4c25-9f10-8ed5c707bd64","name":"ERROR: Script locked by another user","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"lock\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://api.senquip.com/cloud-api-v2/device/DEVICEID/script-lock"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"65"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Thu, 28 Nov 2024 00:43:37 GMT"},{"key":"X-Amzn-Trace-Id","value":"Root=1-6747bcb9-5bff29ba7adb8d6f19637dba;Parent=180b40493b4287a5;Sampled=0;Lineage=1:a4e5c7ce:0"},{"key":"x-amzn-RequestId","value":"5a0c0a2f-34d5-49e4-9f90-0bc1e4500dd5"},{"key":"x-amz-apigw-id","value":"B7ptGFeiywMEDHg="},{"key":"X-Cache","value":"Error from cloudfront"},{"key":"Via","value":"1.1 d0c0855de58a470001e3701ff4871f82.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"SYD1-C1"},{"key":"X-Amz-Cf-Id","value":"FxGBBDpLtLFEMbkiuEI5fAYXJ9Ey9WbGbo1qJJeaAYjF5Cly1FLcGQ=="}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Script locked by another user test@example.com\"\n}"}],"_postman_id":"d1e716ce-eb3a-42ec-9492-95090defbc01"}],"id":"7cd764a6-4bb4-4527-963f-64865bbc2118","description":"<p>Endpoints to access or update scripting functions.</p>\n","_postman_id":"7cd764a6-4bb4-4527-963f-64865bbc2118","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"API_KEY"}]},"isInherited":true,"source":{"_postman_id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","id":"45924e2f-b898-4f77-8f3b-9895fdd31fd8","name":"Senquip Cloud API Documentation","type":"collection"}}}],"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"API_KEY"}]}},"event":[{"listen":"prerequest","script":{"id":"0135e61a-a13a-4e05-9571-0777a91dbb57","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"ad230af1-cd30-43a9-8e61-fafda1efe2de","type":"text/javascript","exec":[""]}}],"variable":[{"key":"baseUrl","value":"https://api.senquip.com/cloud-api-v2"},{"key":"token","value":"API_KEY","type":"string"},{"key":"deviceid","value":"DEVICEID","type":"default"}]}