{"info":{"_postman_id":"fd540bd2-1f53-4e84-a78e-180f7fc8470f","name":"PTNetsuite REST API STANDARD","description":"# Common\n\nThe following paragraph describes a set of advanced operations that could be applied in the REST APIs.\n\nWe support the following features:\n* Pagination\n* Filtering\n* Sorting\n\n---\n\n## Pagination in the REST API: \n\n### Why pagination?\n\nA PTNetsuite REST API response potentially provides plenty of data. Under this condition, a feature to limit the incoming info and split it into chunk of data is a highly valuable tool. Precisely for this reason the pagination functionality is provided: using the pagination the API response info is much easier to handle.\n\n### Set and understand the parameters\nThe paging functionality allows to split the server response, setting a limit and an offset to the number of items returned in the API response.\n\nThe following fields are present in all the `GET` method that return a `rows` object:\n* `offset`: the index of the first item in the response\n* `limit`: the maximum number of items in the response\n* `size`: the total number of items in the response\n\nIf `limit` : 5 and `offset` : 0, the response returns at most the first five elements (from 0 to 4).\n\nIf `offset` : 5 and `limit` : 2, we return elements from 5 to 6.\n\n#### How do we know if there are more pages?\n\nThe total number of pages depends on the provided `limit` and `size`.\n\nFor example, if `limit`:5 and `size`:10, the total number of pages will be 2.\n\n#### Limitations\n\nThe maximum value for `limit` is 100, bigger values will be replaced by the max value. Hence, 100 elements will be returned at most.\n\n---\n\n## Filtering:\n\nFilters are perfect if ou want that the response provides only a subset of the whole result of a `GET` REST API. The filter is set using the query string format: \n\n```\n/api/v2/{resource}?{{key}}={{value}}\n```\n\nwhere:\n   * `{resource}`\n   * `{{key}}` available keywords are listed in the API page\n   * `{{value}}`\n\nIt's possible to provide N pairs `{{key}}={{value}}` separated by `&` (see query string URL notation)\n\nAn example for the `gateway-profiles` resource is:\n\n`/api/v2/gateway-profiles?band=EU863-870&maxTxPower=27`\n\nit provides a filter to get the list of the gateway profiles with band=EU863-870 and maxTxPower=27.\n\nNote that each REST API has its own filters.\n\n## Sorting:\n\nThe `GET` REST APIs provide the logic to set the order of the items in the response. Sorting is set by the `sort` query string parameter:\n\n```\n/api/v2/{resource}?sort={{key1}}:{{method}},{{key2}}:{{method}}\n```\n\nWhere the available `{{method}}` values are:\n\n* `desc`: descending order\n* `asc`: ascending order\n\nand the `{{key}}` depends on the REST API that we want to use.\n\nFor example, let's use the method `GET` on the resource `gateway-profiles` setting the descending order on `createdAt` timestamp:\n\n```\n/api/v2/gateway-profiles?sort=createdAt:desc\n```\n\nFor a sort in cascade:\n```\n/api/v2/gateway-profiles?sort=createdAt:desc,id:asc\n```\n\n## Filtering & Sorting:\n\nTo set a filter and sort the result we provide the possibility to concatenate both the functionalities:\n\nFor example, let's use the method `GET` on the resource `gateway-profiles` to get all the profiles with a `band=EU863-870` and `maxTxPower=14` setting the ascending order on `id`:\n\n```\n/api/v2/gateway-profiles?band=EU863-870&maxTxPower=14&sort=id:asc\n```\n\n---\n\n## Response in the REST API: \n\nIn the response,  there are also some informations:\n* `createdAt`: indicate the timestamp set when we create the required item\n* `updatedAt`: indicate the timestamp of the last item's update\n\n---\n\n# Error Code:\n\nAll the REST API may return one of the following error code as response: \n\n| Status | Description | Solution \n| --- | --- | --- | \n| 400 | Bad Request | The request could not be fulfilled due to syntax errors. The errors can be present both in the query string and in the body of the call.\n| 401 | No authorization | Get an authorization token after login using credentials that can access the desired resource \n| 403 | Forbidden | The user cannot access the requested resource\n| 404 | Not Found | The requested resource was not found\n\n## Error code example: \n\nReturn code 400:\n\n```\n{\n    \"status\": 400,\n    \"message\": \"params should NOT have additional properties\"\n}\n```\n\nReturn code 401: \n``` \n{\t\"status\": 401, \n\t\"message\": \"No authorization token was found\", \n\t\"code\": \"credentials_required\", \n\t\"inner\": { \n\t\t\"message\": \"No authorization token was found\" \n\t} \n} \n```\n\nReturn code 404:\n\n```\n{\n    \"status\": 404,\n    \"message\": \"Gateway not found\"\n}\n```\n\n--- \n\n# Used tools\n\nDocumentation created with:\n\nhttps://github.com/adobe/jsonschema2md","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json"},"item":[{"name":"Authorization","item":[{"name":"Login","event":[{"listen":"test","script":{"id":"7f192b7b-b436-4099-a28c-9d82e9a7db31","exec":["var jsonData = pm.response.json();","","pm.environment.set(\"token\", jsonData.token);"],"type":"text/javascript"}}],"id":"26fc8c08-17c4-425b-9ff3-880fa8a39343","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth"},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"username\": \"{{username}}\",\n    \"password\": \"{{password}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/auth/login","description":"This API allows an user to perform the login. To allow an user to perform the login, it should be active.\n\nThe response contains an object with some details related to the user, namely, `id`, `username`, `email`, `role`, `token`, etc.\n\nExaustive description is written in the following rows.\n \nDetails:\n   * The Request contains a body that should have the parameters listed below in the `Properties` table\n   * The possible responses are listed in the section on the right\n   \n# Schema\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"username\": {\n      \"type\": \"string\",\n      \"minLength\": 1,\n      \"maxLength\": 255,  \n      \"description\": \"Username used for https/mqtt authentication\"\n    },\n    \"password\": {\n      \"type\": \"string\",\n      \"minLength\": 8,\n      \"maxLength\": 255, \n      \"description\": \"Password used to perform https/mqtt authentication\"\n    }\n  },\n  \"required\": [\n    \"username\", \n    \"password\"\n  ],\n  \"additionalProperties\": false\n}\n```\n\n# Properties\n\n| Property              | Type     | Required     | Nullable | Defined by    |\n| --------------------- | -------- | ------------ | -------- | ------------- |\n| [password](#password) | `string` | **Required** | No       | (this schema) |\n| [username](#username) | `string` | **Required** | No       | (this schema) |\n\n## password\n\nPassword used to perform https/mqtt authentication\n\n`password`\n\n- is **required**\n- type: `string`\n- defined in this schema\n\n### password Type\n\n`string`\n\n- minimum length: 8 characters\n- maximum length: 255 characters\n\n## username\n\nUsername used for https/mqtt authentication\n\n`username`\n\n- is **required**\n- type: `string`\n- defined in this schema\n\n### username Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters"},"response":[{"id":"8f6df132-daaa-4cfb-98ec-9a0db4355faf","name":"200 - Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"username\": \"{{username}}\",\n    \"password\": \"{{password}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/auth/login"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"313"},{"key":"ETag","value":"W/\"139-ebYhMAQIyBa+lsRNZfE0Juq1Lvw\""},{"key":"Date","value":"Mon, 05 Nov 2018 12:37:40 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"token\": \"SXjrsPWFkR9eyRvLh4XKDO1YlKKUQ6XTtF5zmJcCEg8vQti8qBZ1D3OQj8FlKHlt\",\n    \"id\": 10,\n    \"username\": \"foo\",\n    \"email\": \"foo@foo.bar\",\n    \"firstname\": \"foo\",\n    \"lastname\": \"bar\",\n    \"role\": \"standard\"\n}"},{"id":"69e4da16-f2c5-49e9-921c-0899f2f4f264","name":"401 - Not authorized","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"username\": \"{{username}}\",\n    \"password\": \"{{password}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/auth/login"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 31 May 2023 12:30:40 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"41"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization"},{"key":"ETag","value":"W/\"29-fLrTdfgnQ1esntDTiHJ51Q1Mkn4\""},{"key":"Strict-Transport-Security","value":"max-age=15724800; includeSubDomains"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 401,\n    \"message\": \"Not authorized\"\n}"}],"_postman_id":"26fc8c08-17c4-425b-9ff3-880fa8a39343"}],"id":"c42b34ac-9d58-426d-ae28-d70689e33b61","description":"This subset of REST API is used by each user to perform the login in the PTNetsuite.\n\nBefore perform the login operation for the first time, the `user` must be active.\n\nAn user to correctly perform the login operation must provides the right `username` and `password`.\n\nIn the response the API returns a `toke` that is essential to call other APIs, infact the `token` must be insert in the `header` as described below.","_postman_id":"c42b34ac-9d58-426d-ae28-d70689e33b61"},{"name":"UserProfile","item":[{"name":"Own User Profile","event":[{"listen":"test","script":{"id":"4ee87622-aac2-4e8e-995e-288dc8dbef57","exec":[""],"type":"text/javascript"}}],"id":"f9becab9-d156-4738-b7cb-4f892134987c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/user-profile","description":"This call fetches details about the own User Profile.\n\nThe response will provide an object that containsssssss the User Profile details.\n\nDetails:\n   * No body in the request\n   * The possible responses are listed in the section on the right"},"response":[{"id":"08e3b8c9-ca5b-48ed-b673-dfd9110b2424","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":""},"url":"{{protocol}}://{{host}}/api/v2/user-profile"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"id\": 3,\n    \"label\": \"Basic\",\n    \"role\": \"standard\",\n    \"maxdevices\": 6,\n    \"maxgateways\": 1,\n    \"maxgroups\": 0,\n    \"maxuplink\": 0,\n    \"maxdownlink\": 144000,\n    \"cacheperiod\": 3600,\n    \"life\": 0,\n    \"updatedAt\": \"2019-10-17T07:26:01.679Z\",\n    \"createdAt\": \"2019-10-17T07:26:01.679Z\"\n}"}],"_postman_id":"f9becab9-d156-4738-b7cb-4f892134987c"}],"id":"b05f719e-f643-4599-b2fb-b2f6afba3eee","description":"The User Profile identifies the permissions and rules that user must respects. ","auth":{"type":"bearer","bearer":{"token":"{{token}}"}},"event":[{"listen":"prerequest","script":{"id":"fed1796f-88d1-43ae-89a0-d3a6489104cf","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"bdf4f957-eae3-4f59-9447-0d0c854c2960","type":"text/javascript","exec":[""]}}],"_postman_id":"b05f719e-f643-4599-b2fb-b2f6afba3eee"},{"name":"User","item":[{"name":"Own User Information","event":[{"listen":"test","script":{"id":"789df18e-2385-4347-a14f-856ab629a827","exec":[""],"type":"text/javascript"}}],"id":"3d7fbbe1-a61c-4cad-9fdf-48b66d3e34d5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/user","description":"This API returns the details of the current user, that performs the login.\n\nThe response will provide an object that containsssssss the User details.\n \nDetails:\n   * No body in the request\n   * The possible responses are listed in the section on the right"},"response":[{"id":"4cde1a51-1d28-4e42-b3b5-e53e4b9ea0f3","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/user"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"id\": 20,\n  \"username\": \"foo\",\n  \"email\": \"foo@a2asmartcity.it\",\n  \"firstname\": \"foo\",\n  \"lastname\": \"foo\",\n  \"company\": null,\n  \"expiry\": null,\n  \"status\": true,\n  \"UserProfileId\": 3,\n  \"termsAndConditions\": false,\n  \"privacyTerms\": false,\n  \"commercialAds\": false,\n  \"createdAt\": \"2020-12-09T08:10:53.962Z\",\n  \"updatedAt\": \"2020-12-09T08:12:32.399Z\"\n}"}],"_postman_id":"3d7fbbe1-a61c-4cad-9fdf-48b66d3e34d5"},{"name":"Update Password","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"e2f6dc92-da59-45f6-9394-a228ead303ec","exec":[""],"type":"text/javascript"}}],"id":"e432efb8-d588-4371-aa50-0519c9ec2691","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"password\": \"{{password}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/user/{{uid}}/change-password","description":"This API allows to update only the password for the user, the UserId is passed in the URL.\n \nExaustive description is written in the following rows.\n \nDetails:\n   * The user to update is identified in the url by {{uid}}\n   * The Request contains a body that should have the parameters listed below in the `Properties` table\n   * The possible responses are listed in the section on the right\n \n# Schema\n```\n{\n    \"type\": \"object\",\n    \"properties\": {\n      \"password\": {\n      \"type\": \"string\",\n      \"minLength\": 8,\n      \"maxLength\": 32, \n      \"description\": \"Password used to perform https/mqtt authentication\"\n      } \n    },\n    \"required\": [\n      \"password\"\n    ],    \n    \"additionalProperties\": false\n}\n```\n\n# Properties\n\n| Property              | Type     | Required     | Nullable | Defined by    |\n| --------------------- | -------- | ------------ | -------- | ------------- |\n| [password](#password) | `string` | **Required** | No       | (this schema) |\n\n## password\n\nPassword used to perform https/mqtt authentication\n\n`password`\n\n- is **required**\n- type: `string`\n- defined in this schema\n\n### password Type\n\n`string`\n\n- minimum length: 8 characters\n- maximum length: 32 characters"},"response":[{"id":"a8509db1-f965-46a6-8a75-361a38916323","name":"204 - Success","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"password\": \"{{password}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/user/{{uid}}/change-password"},"status":"No Content","code":204,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"7173f03f-7229-4958-8f2f-13d161a12c05","name":"401 - UnauthorizedError","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"password\": \"{{password}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/user/{{uid}}/change-password"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 12:48:39 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"44"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2c-V8oIen5zhd95b34/XtojtsbsjAg\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 401,\n    \"message\": \"UnauthorizedError\"\n}"},{"id":"29376bbe-f820-474b-bece-faef333f62e8","name":"400 - params.uid should be integer","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"password\": \"{{password}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/user/{{uid}}/change-password"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 12:49:22 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-UpyBbyrX0ICIe0xLb5zCUdTW5pk\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.uid should be integer\"\n}"}],"_postman_id":"e432efb8-d588-4371-aa50-0519c9ec2691"},{"name":"Update User Information","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}}],"id":"06d1248b-9798-4821-abe9-e990240e4da1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"firstname\": \"{{firstname}}\",\n    \"lastname\": \"{{lastname}}\",\n    \"company\": \"{{company}}\",\n    \"commercialAds\": {{commercialAds}}\n}"},"url":"{{protocol}}://{{host}}/api/v2/user/{{uid}}","description":"This API allows to update the information of the current user that perform the login.\n\nThis API requires at least a property to update. All the properties are optional but at least one is required. \n \nFor example you can change lastname or firstname.\n\nExaustive description is written in the following rows.\n \nDetails:\n   * The Request contains a body that should have the parameters listed below in the `Properties` table\n   * The possible responses are listed in the section on the right\n\n# Schema\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"firstname\": {\n      \"type\": \"string\",\n      \"minLength\": 1,\n      \"maxLength\": 255, \n      \"description\": \"Account firstname\"\n    },\n    \"lastname\": {\n      \"type\": \"string\",\n      \"minLength\": 1,\n      \"maxLength\": 255, \n      \"description\": \"Account lastname\"\n    },\n    \"company\": {\n      \"type\": \"string\",\n      \"minLength\": 1,\n      \"maxLength\": 255, \n      \"description\": \"Company name associated to this user\"\n    },\n    \"commercialAds\": {\n      \"type\": \"boolean\",\n      \"default\": true,\n      \"description\": \"Receive newsletter and commercial email\"\n    }\n  },\n \"anyOf\": [\n    { \"required\": [\"firstname\"] },\n    { \"required\": [\"lastname\"] },\n    { \"required\": [\"company\"] },\n    { \"required\": [\"commercialAds\"] }\n  ],\n  \"additionalProperties\": false\n}\n```\n# Properties\n\n| Property                        | Type      | Required | Nullable | Default | Defined by    |\n| ------------------------------- | --------- | -------- | -------- | ------- | ------------- |\n| [commercialAds](#commercialads) | `boolean` | Optional | No       | `true`  | (this schema) |\n| [company](#company)             | `string`  | Optional | No       |         | (this schema) |\n| [firstname](#firstname)         | `string`  | Optional | No       |         | (this schema) |\n| [lastname](#lastname)           | `string`  | Optional | No       |         | (this schema) |\n\n## commercialAds\n\nReceive newsletter and commercial email\n\n`commercialAds`\n\n- is optional\n- type: `boolean`\n- default: `true`\n- defined in this schema\n\n### commercialAds Type\n\n`boolean`\n\n## company\n\nCompany name associated to this user\n\n`company`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### company Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters\n\n## firstname\n\nAccount firstname\n\n`firstname`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### firstname Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters\n\n## lastname\n\nAccount lastname\n\n`lastname`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### lastname Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters"},"response":[{"id":"15fb76a0-6cdb-4820-88e6-7e9939edea6b","name":"204 - Success","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"firstname\": \"{{firstname}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/user/{{uid}}"},"status":"No Content","code":204,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"2efda553-dc8c-4866-9999-2564b83d3327","name":"401 - UnauthorizedError","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"firstname\": \"foo\",\n    \"lastname\": \"bar\",\n    \"company\": \"foo\",\n    \"commercialAds\": false\n}"},"url":"{{protocol}}://{{host}}/api/v2/user/13"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 12:54:23 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"44"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2c-V8oIen5zhd95b34/XtojtsbsjAg\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 401,\n    \"message\": \"UnauthorizedError\"\n}"},{"id":"8fa24b4b-a594-4aeb-a770-02a0126889be","name":"400 - params.firstname should be string","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"firstname\": 999\n}"},"url":"{{protocol}}://{{host}}/api/v2/user/{{uid}}"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 12:55:25 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"60"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"3c-OpRWKkCiE4k6eUbxfe9CnkXjFhI\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.firstname should be string\"\n}"},{"id":"7fefbb79-fb32-41b1-96d9-3222b71cbea6","name":"400 - params.lastname should be string","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"lastname\": 999\n}"},"url":"{{protocol}}://{{host}}/api/v2/user/{{uid}}"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 12:56:18 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"59"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"3b-j/Bnk6lcGATZbUbTqwc+oGN+gCo\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.lastname should be string\"\n}"},{"id":"b67bd92a-4132-4ad5-b023-2621926d5952","name":"400 - Invalid request data","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"firstname\": \"{{firstname}}\",\n    \"lastname\": \"{{lastname}}\",\n    \"company\": \"{{company}}\",\n    \"commercialAds\": {{commercialAds}},\n    \"field\": \"test\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/user/{{uid}}"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 12:57:27 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"47"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2f-OqY5rZofZbhOu6tESA4clAifmM4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"Invalid request data\"\n}"}],"_postman_id":"06d1248b-9798-4821-abe9-e990240e4da1"}],"id":"8f4ca1a5-35ac-49a3-b4d6-ef8f0bcddd58","_postman_id":"8f4ca1a5-35ac-49a3-b4d6-ef8f0bcddd58"},{"name":"GatewayProfile","item":[{"name":"Gateway Profile List","event":[{"listen":"test","script":{"id":"f9a09d6d-f1b9-48f9-b8d2-f5dcf24bdf34","exec":[""],"type":"text/javascript"}}],"id":"0405dce1-ed57-4931-9978-acf5b9872bfb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/gateway-profiles","description":"This API returns all the existing gateways profiles.\n\nThis API supports advanced filtering: the url accepts a set of parameters to filter over the list.\n\nThe available filters are:\n\n| Key   | Value   | Description               | \n| ----- | ------- | ------------------------- |\n| maxTxPower   | {{maxtxpower}} | Maximum transmission power available for the gateway associated with this profile [dBm].\n| band   | {{band}} | Frequency band configurable for the gateway and supported by this profile.\n| supportsClassB   | {{supportsclassb}} | Flag used to indicate if this profile is assigned to gateways that support beaconing.\n| supportsLbt  | {{supportslbt}} | Flag used to indicate if this profile is assigned to gateways that support Listen-Before-Talk.\n\nFiltering is supported as described in `Common` section under Filtering.\n\nPaging is supported as described in `Common` section under Paging.\n \nDetails:\n   * No body in the request\n   * The possible responses are listed in the section on the right"},"response":[{"id":"19f155da-97d7-4b59-b9d6-8d03be22ff7c","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/gateway-profiles"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [\n        {\n            \"id\": 1,\n            \"label\": \"EU863-870 MaxTxPower:14dBm ClassB:no LBT:no\",\n            \"maxTxPower\": 14,\n            \"supportsLbt\": false,\n            \"supportsClassB\": false,\n            \"band\": \"EU863-870\",\n            \"createdAt\": \"2019-11-12T16:36:27.240Z\",\n            \"updatedAt\": \"2019-11-12T16:36:27.240Z\"\n        },\n        {\n            \"id\": 20,\n            \"label\": \"AS920-925 MaxTxPower:14dBm ClassB:yes LBT:yes\",\n            \"maxTxPower\": 14,\n            \"supportsLbt\": true,\n            \"supportsClassB\": true,\n            \"band\": \"AS920-925\",\n            \"createdAt\": \"2019-11-12T16:36:27.240Z\",\n            \"updatedAt\": \"2019-11-12T16:36:27.240Z\"\n        }\n    ],\n    \"size\": 24,\n    \"offset\": 0,\n    \"limit\": 20\n}"}],"_postman_id":"0405dce1-ed57-4931-9978-acf5b9872bfb"},{"name":"Gateway Profile Properties","event":[{"listen":"test","script":{"id":"f9a09d6d-f1b9-48f9-b8d2-f5dcf24bdf34","exec":[""],"type":"text/javascript"}}],"id":"1dea32fa-c4b8-4f9c-910d-7054a3375c03","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/gateway-profile/properties","description":"This API returns all the possible values that a property may have.\n\nThe response is an object that containssssssss the property name and all the possible values associated to it.\n\nFor example there is a property called `band` that can take one the following values: `[\"EU863-870\", \"US902-928\", \"AS920-925\"]`.\n\nPaging, filtering and sorting are not supported.\n\nDetails:\n   * No body in the request\n   * The possible responses are listed in the section on the right"},"response":[{"id":"9cc369d5-04ac-4dba-88ec-06b53ab999d7","name":"200 - Success","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/gateway-profile/properties"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"band\": [\n        \"AS920-925\",\n        \"EU863-870\",\n        \"US902-928\"\n    ],\n    \"maxTxPower\": [\n        27,\n        14\n    ],\n    \"supportsClassB\": [\n        false,\n        true\n    ],\n    \"supportsLbt\": [\n        false,\n        true\n    ]\n}"}],"_postman_id":"1dea32fa-c4b8-4f9c-910d-7054a3375c03"},{"name":"Gateway Profile Single","event":[{"listen":"test","script":{"id":"f9a09d6d-f1b9-48f9-b8d2-f5dcf24bdf34","exec":[""],"type":"text/javascript"}}],"id":"675269ff-f21f-4b23-aef2-014cd99f2f01","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/gateway-profile/{{gpid}}","description":"This API returns the gateway profile associated with the given `gpid`, the unique id associated to each profile.\n\nThe response will provide an object that containsssssss the single Gateway Profile details.\n\nPaging, filtering and sorting are not supported.\n\nDetails:\n   * No body in the request\n   * The gateway profile to obtain is identified in the url by `{{gpid}}`\n   * The possible responses are listed in the section on the right"},"response":[{"id":"56a082aa-15bb-49a1-b9d9-d1698583fa28","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/gateway-profile/{{gpid}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1,\n    \"label\": \"EU863-870 MaxTxPower:14dBm ClassB:no LBT:no\",\n    \"maxTxPower\": 14,\n    \"supportsLbt\": false,\n    \"supportsClassB\": false,\n    \"band\": \"EU863-870\",\n    \"createdAt\": \"2019-11-13T17:11:53.397Z\",\n    \"updatedAt\": \"2019-11-13T17:11:53.397Z\"\n}"},{"id":"9920958a-b57b-45d7-8c6e-3b05cb7a5514","name":"404 - Gateway profile not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/gateway-profile/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 10:29:37 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"52"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"34-eFkO0XsPBnlyFBjKKnulSVla9i4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Gateway profile not found\"\n}"},{"id":"fe95e9b7-9df4-459d-9c5f-34b61a30e45b","name":"400 - wrong param type","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/gateway-profile/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 10:30:02 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"38-v+FFqyEfCfObeDyDnl2jQ6Cb+78\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.gpid should be integer\"\n}"}],"_postman_id":"675269ff-f21f-4b23-aef2-014cd99f2f01"}],"id":"67dc3f4e-1240-473c-8d19-30869b45a235","_postman_id":"67dc3f4e-1240-473c-8d19-30869b45a235"},{"name":"Gateway","item":[{"name":"Gateway List","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript"}}],"id":"125c40f0-c50c-40c4-9176-7407abbf2897","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/gateways","description":"This API returns all the existing gateways for the current user.\n\nThis API supports advanced filtering: the url accepts a set of parameters to filter over the list.\n\nThe available filters are:\n\n| Key   | Value   | Description               | \n| ----- | ------- | ------------------------- |\n| reachable   | {{reachable}} | Flag used to indicate whether the gateway is reachable or not\n| id   | {{id}} | Gateway ID\n| ip   | {{ip}} | Gateway IP Address\n| public  | {{public}} | Flag used to indicate if the gateway is public or private\n| label  | {{label}} | Label used to identify the gateway\n\nFiltering is supported as described in `Common` section under Filtering.\n\nPaging is supported as described in `Common` section under Paging.\n \nDetails:\n   * No body in the request\n   * The possible responses are listed in the section on the right"},"response":[{"id":"f6551710-a0e7-45b7-ad6e-9cbfc1dcaa0f","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/gateways"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 13:06:38 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"462"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"1ce-nEmXXeaObStLK9xI38Cu1Jzyn5k\""}],"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [\n        {\n            \"id\": \"20ac77fb00b06200\",\n            \"UserId\": 12,\n            \"label\": \"Gateway 1 by foo\",\n            \"public\": true,\n            \"model\": null,\n            \"serial\": null,\n            \"firmware\": null,\n            \"supportsRemoteControl\": false,\n            \"GatewayProfileId\": 7,\n            \"updatedAt\": \"2023-05-31T12:42:51.718Z\",\n            \"createdAt\": \"2023-05-31T12:42:51.718Z\",\n            \"shares\": [\n                13,\n                14,\n                15,\n                16,\n                17,\n                18,\n                19,\n                20,\n                21\n            ],\n            \"status\": {\n                \"reachable\": false,\n                \"ip\": null\n            },\n            \"position\": {\n                \"lat\": 45.1387,\n                \"lng\": 10.0209,\n                \"alt\": 342\n            },\n            \"rctrl\": {\n                \"username\": null,\n                \"password\": null\n            }\n        }\n    ],\n    \"size\": 1,\n    \"offset\": 0,\n    \"limit\": 20\n}"}],"_postman_id":"125c40f0-c50c-40c4-9176-7407abbf2897"},{"name":"Gateway Information","event":[{"listen":"test","script":{"id":"f9a09d6d-f1b9-48f9-b8d2-f5dcf24bdf34","exec":[""],"type":"text/javascript"}}],"id":"c9950c0c-620e-4d11-80f9-bdb2a6024ac1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/gateway/{{gid}}","description":"This API returns the gateway associated with the given `gid`, the unique id associated to each gateway.\n\nThe response will provide an object that containsssssss the single Gateway details.\n\nDetails:\n   * No body in the request\n   * The gateway to obtain is identified in the url by `{{gid}}`\n   * The possible responses are listed in the section on the right"},"response":[{"id":"85a049d9-0799-4c30-9514-02c03ad654b6","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/gateway/{{gid}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 13:08:34 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"396"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"18c-XBn92xWryUiyeoEek5Espscc+/g\""}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"20ac77fb00b06200\",\n    \"UserId\": 12,\n    \"label\": \"Gateway 1 by foo\",\n    \"public\": true,\n    \"model\": null,\n    \"serial\": null,\n    \"firmware\": null,\n    \"supportsRemoteControl\": false,\n    \"GatewayProfileId\": 7,\n    \"updatedAt\": \"2023-05-31T12:42:51.718Z\",\n    \"createdAt\": \"2023-05-31T12:42:51.718Z\",\n    \"status\": {\n        \"reachable\": false,\n        \"ip\": null\n    },\n    \"shares\": [\n        13\n    ],\n    \"position\": {\n        \"lat\": 45.1387,\n        \"lng\": 10.0209,\n        \"alt\": 342\n    },\n    \"rctrl\": {\n        \"username\": null,\n        \"password\": null\n    }\n}"},{"id":"14d1b599-8f92-454e-b749-27c624c3e248","name":"404 - Gateway not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/gateway/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 13:08:59 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"44"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2c-L56AFH7YQOZePSXyCp5sLPDpSyA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Gateway not found\"\n}"},{"id":"102afbc8-4a02-47c0-a001-ebdc74025f17","name":"400 - wrong params.gid type","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/gateway/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 13:09:36 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"77"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"4d-odtgxpHbYlSc5r8I6g/AaX+rBOA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.gid should match pattern \\\"^[a-f0-9]{16}$\\\"\"\n}"}],"_postman_id":"c9950c0c-620e-4d11-80f9-bdb2a6024ac1"},{"name":"Create Gateway","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"9907b631-c7a8-4d98-91a3-e59ed8b4e485","exec":["pm.environment.set(\"gatewayId\", \"0000000000000001\");","pm.environment.set(\"gpid\", 6);","pm.environment.set(\"label\", \"Gateway 0000000000000001\");"],"type":"text/javascript"}}],"id":"424f7947-3e2b-4ae5-aad2-2e08df7acf9a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"id\":\"{{gatewayId}}\",\n\t\"GatewayProfileId\": {{gpid}},\n\t\"label\":\"{{label}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/gateway","description":"This API creates a new gateway.\n\nThe reponse will contain the created object with the created gateway.\n\nExaustive description is written in the following rows.\n \nDetails:\n   * The Request contains a body that should have the parameters listed below in the `Properties` table\n   * The possible responses are listed in the section on the right\n   * If `supportsRemoteControl` is `true` the fields `rctrlUsername` and `rctrlPassword` are required\n\n \n# Schema\n```\n{\n    \"type\": \"object\",\n    \"properties\": {\n        \"id\": {\n            \"type\": \"string\",\n            \"pattern\": \"^[0-9a-f]{16}$\",\n            \"description\": \"Gateway id that uniquely identify a gateway. Hex string with 16-hex characters (lower-case)\"\n        },\n        \"label\": {\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"maxLength\": 255,\n            \"description\": \"The label is a field used to describe this gateway\"\n        },\n        \"public\": {\n            \"type\": \"boolean\",\n            \"default\": true,\n            \"description\": \"This flag indicate if the gateway is public and usable from other users\"\n        },\n        \"lat\": {\n            \"type\": \"number\",\n            \"minimum\": -90,\n            \"maximum\": 90,\n            \"description\": \"Latitude location for the gateway [°]\"\n        },\n        \"lng\": {\n            \"type\": \"number\",\n            \"minimum\": -180,\n            \"maximum\": 180,\n            \"description\": \"Longitude location for the gateway [°]\"\n        },\n        \"alt\": {\n            \"type\": \"number\",\n            \"minimum\": 0,\n            \"maximum\": 7000,\n            \"description\": \"Altitude location for the gateway [m]\"\n        },\n        \"model\": {\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"maxLength\": 255,\n            \"description\": \"Model and brand of the gateway\"\n        },\n        \"serial\": {\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"maxLength\": 255,\n            \"description\": \"Serial number of the gateway\"\n        },\n        \"firmware\": {\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"maxLength\": 255,\n            \"description\": \"Current firmware version present in the gateway\"\n        },\n        \"subnet\": {\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"maxLength\": 255,\n            \"description\": \"Subnet used by this gateway\"\n        },\n        \"supportsRemoteControl\": {\n            \"type\": \"boolean\",\n            \"description\": \"Flag used to indicate if the gateway support remote control\"\n        },\n        \"rctrlUsername\": {\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"maxLength\": 255,\n            \"description\": \"Username used for remote control. Disabled if the gateway does not support remote control\"\n        },\n        \"rctrlPassword\": {\n            \"type\": \"string\",\n            \"minLength\": 8,\n            \"maxLength\": 255,\n            \"description\": \"Password used for remote control. Disabled if the gateway does not support remote control\"\n        },\n        \"GatewayProfileId\": {\n            \"type\": \"integer\",\n            \"description\": \"Gateway profile id that defines a set of gateway's characteristics\"\n        }\n    },\n    \"if\": {\n        \"properties\": {\n            \"supportsRemoteControl\": {\n                \"const\": true\n            }\n        },\n        \"required\": [\n            \"supportsRemoteControl\"\n        ]\n    },\n    \"then\": {\n        \"required\": [\n            \"label\",\n            \"id\",\n            \"GatewayProfileId\",\n            \"supportsRemoteControl\",\n            \"rctrlUsername\",\n            \"rctrlPassword\"\n        ]\n    },\n    \"required\": [\n        \"label\",\n        \"id\",\n        \"GatewayProfileId\"\n    ],\n    \"additionalProperties\": false\n}\n```\n\n# Properties\n\n| Property                                        | Type      | Required     | Nullable | Default | Defined by    |\n| ----------------------------------------------- | --------- | ------------ | -------- | ------- | ------------- |\n| [GatewayProfileId](#gatewayprofileid)           | `integer` | **Required** | No       |         | (this schema) |\n| [alt](#alt)                                     | `number`  | Optional     | No       |         | (this schema) |\n| [firmware](#firmware)                           | `string`  | Optional     | No       |         | (this schema) |\n| [id](#id)                                       | `string`  | **Required** | No       |         | (this schema) |\n| [label](#label)                                 | `string`  | **Required** | No       |         | (this schema) |\n| [lat](#lat)                                     | `number`  | Optional     | No       |         | (this schema) |\n| [lng](#lng)                                     | `number`  | Optional     | No       |         | (this schema) |\n| [model](#model)                                 | `string`  | Optional     | No       |         | (this schema) |\n| [public](#public)                               | `boolean` | Optional     | No       | `true`  | (this schema) |\n| [rctrlPassword](#rctrlpassword)                 | `string`  | Optional     | No       |         | (this schema) |\n| [rctrlUsername](#rctrlusername)                 | `string`  | Optional     | No       |         | (this schema) |\n| [serial](#serial)                               | `string`  | Optional     | No       |         | (this schema) |\n| [subnet](#subnet)                               | `string`  | Optional     | No       |         | (this schema) |\n| [supportsRemoteControl](#supportsremotecontrol) | `boolean` | Optional     | No       | `false` | (this schema) |\n\n## GatewayProfileId\n\nGateway profile id that defines a set of gateway's characteristics\n\n`GatewayProfileId`\n\n- is **required**\n- type: `integer`\n- defined in this schema\n\n### GatewayProfileId Type\n\n`integer`\n\n## alt\n\nAltitude location for the gateway [m]\n\n`alt`\n\n- is optional\n- type: `number`\n- defined in this schema\n\n### alt Type\n\n`number`\n\n- minimum value: `0`\n- maximum value: `7000`\n\n## firmware\n\nCurrent firmware version present in the gateway\n\n`firmware`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### firmware Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters\n\n## id\n\nGateway id that uniquely identify a gateway. Hex string with 16-hex characters (lower-case)\n\n`id`\n\n- is **required**\n- type: `string`\n- defined in this schema\n\n### id Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples\n[here](https://regexr.com/?expression=%5E%5B0-9a-f%5D%7B16%7D%24)):\n\n```regex\n^[0-9a-f]{16}$\n```\n\n## label\n\nThe label is a field used to describe this gateway\n\n`label`\n\n- is **required**\n- type: `string`\n- defined in this schema\n\n### label Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters\n\n## lat\n\nLatitude location for the gateway [°]\n\n`lat`\n\n- is optional\n- type: `number`\n- defined in this schema\n\n### lat Type\n\n`number`\n\n- minimum value: `-90`\n- maximum value: `90`\n\n## lng\n\nLongitude location for the gateway [°]\n\n`lng`\n\n- is optional\n- type: `number`\n- defined in this schema\n\n### lng Type\n\n`number`\n\n- minimum value: `-180`\n- maximum value: `180`\n\n## model\n\nModel and brand of the gateway\n\n`model`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### model Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters\n\n## public\n\nThis flag indicate if the gateway is public and usable from other users\n\n`public`\n\n- is optional\n- type: `boolean`\n- default: `true`\n- defined in this schema\n\n### public Type\n\n`boolean`\n\n## rctrlPassword\n\nPassword used for remote control. Disabled if the gateway does not support remote control\n\n`rctrlPassword`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### rctrlPassword Type\n\n`string`\n\n- minimum length: 8 characters\n- maximum length: 255 characters\n\n## rctrlUsername\n\nUsername used for remote control. Disabled if the gateway does not support remote control\n\n`rctrlUsername`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### rctrlUsername Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters\n\n## serial\n\nSerial number of the gateway\n\n`serial`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### serial Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters\n\n## subnet\n\nSubnet used by this gateway\n\n`subnet`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### subnet Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters\n\n## supportsRemoteControl\n\nFlag used to indicate if the gateway support remote control\n\n`supportsRemoteControl`\n\n- is optional\n- type: `boolean`\n- default: `false`\n- defined in this schema\n\n### supportsRemoteControl Type\n\n`boolean`"},"response":[{"id":"5f08fa47-a2ee-485b-b5be-147c4ef785c4","name":"200 - Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"id\":\"{{gatewayId}}\",\n\t\"GatewayProfileId\": {{gpid}},\n\t\"label\":\"{{label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/gateway"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"id\": \"00000000000000cc\",\n  \"UserId\": 5,\n  \"label\": \"Label of the gateway\",\n  \"public\": false,\n  \"model\": null,\n  \"serial\": null,\n  \"firmware\": null,\n  \"supportsRemoteControl\": false,\n  \"subnet\": \"0.0.0.0/0\",\n  \"GatewayProfileId\": 1,\n  \"updatedAt\": \"2019-12-03T08:05:18.075Z\",\n  \"createdAt\": \"2019-12-03T08:05:18.075Z\",\n  \"position\": {\n    \"lat\": null,\n    \"lng\": null,\n    \"alt\": null\n  },\n  \"rctrl\": {\n    \"username\": null,\n    \"password\": null\n  }\n}"},{"id":"4458248c-069f-486d-81e5-e11583328fdd","name":"403 - Max gateway limit reached","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"id\":\"{{gatewayId}}\",\n\t\"GatewayProfileId\": {{gpid}},\n\t\"label\":\"{{label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/gateway"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 13:12:44 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"52"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"34-v8pLl1XrIRRFbUmkTJHz8vuObUA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 403,\n    \"message\": \"Max gateway limit reached\"\n}"},{"id":"f78be1ed-30c6-438c-b2a6-8e2df6c5032b","name":"400 - params.id should be string","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"id\": 1,\n\t\"GatewayProfileId\": {{gpid}},\n\t\"label\":\"{{label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/gateway"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 13:15:40 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"53"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"35-J3t7fsD69NFDWJjIPx+u4qd4lNA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.id should be string\"\n}"},{"id":"f1086699-f04d-4535-9fd7-d91929bc2f74","name":"400 - params.GatewayProfileId should be integer","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"id\":\"{{gatewayId}}\",\n\t\"GatewayProfileId\": \"xxx\",\n\t\"label\":\"{{label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/gateway"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 13:16:36 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"68"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"44-BFCsqK5dNbsjOCEMhZQTLwoK8As\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.GatewayProfileId should be integer\"\n}"},{"id":"44c76d55-d457-4512-b63d-281e459d4127","name":"400 - GatewayProfileId not exist","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"id\":\"{{gatewayId}}\",\n\t\"GatewayProfileId\": 999,\n\t\"label\":\"{{label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/gateway"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 13:17:05 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"100"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"64-TxniWgE+l5LFyBJFGAjple1yO9I\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"Key (GatewayProfileId)=(999) is not present in table \\\"GatewayProfiles\\\".\"\n}"},{"id":"b1e08d3c-47be-44d0-b301-e9c92eaa4809","name":"400 - Gateway already exists","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"id\":\"{{gatewayId}}\",\n\t\"GatewayProfileId\": {{gpid}},\n\t\"label\":\"{{label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/gateway"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 14:37:33 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"49"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"31-1oExH1kiVowmylfOLN3a1RqJYl8\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"Gateway already exists\"\n}"}],"_postman_id":"424f7947-3e2b-4ae5-aad2-2e08df7acf9a"},{"name":"Update Gateway Information","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"12a58bbb-dfe2-4321-8a3d-2ae465cd99ff","exec":["pm.environment.set(\"gid\", \"0000000000000001\");","pm.environment.set(\"new-label\", \"Gateway 0000000000000001 (updated)\");",""],"type":"text/javascript"}}],"id":"50318f60-58a1-4d24-91f1-4331e07f3538","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\":\"{{new-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/gateway/{{gid}}","description":"This API allows to update the information of the own gateway identified by `{{gid}}`.\n\nThis API requires at least a property to update. All the properties are optional but at least one is required. \n \nFor example you can change public or label.\n\nExaustive description is written in the following rows.\n \nDetails:\n   * The Request contains a body that should have the parameters listed below in the `Properties` table\n   * The possible responses are listed in the section on the right\n   * If `supportsRemoteControl` is `true` the fields `rctrlUsername` and `rctrlPassword` are required\n\n# Schema\n```\n{\n    \"type\": \"object\",\n    \"properties\": {\n        \"label\": {\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"maxLength\": 255,\n            \"description\": \"The label is a field used to describe this gateway\"\n        },\n        \"public\": {\n            \"type\": \"boolean\",\n            \"description\": \"This flag indicate if the gateway is public and usable from other users\"\n        },\n        \"lat\": {\n            \"type\": \"number\",\n            \"minimum\": -90,\n            \"maximum\": 90,\n            \"description\": \"Latitude location for the gateway [°]\"\n        },\n        \"lng\": {\n            \"type\": \"number\",\n            \"minimum\": -180,\n            \"maximum\": 180,\n            \"description\": \"Longitude location for the gateway [°]\"\n        },\n        \"alt\": {\n            \"type\": \"number\",\n            \"minimum\": 0,\n            \"maximum\": 7000,\n            \"description\": \"Altitude location for the gateway [m]\"\n        },\n        \"model\": {\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"maxLength\": 255,\n            \"description\": \"Model and brand of the gateway\"\n        },\n        \"serial\": {\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"maxLength\": 255,\n            \"description\": \"Serial number of the gateway\"\n        },\n        \"firmware\": {\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"maxLength\": 255,\n            \"description\": \"Current firmware version present in the gateway\"\n        },\n        \"subnet\": {\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"maxLength\": 255,\n            \"description\": \"Subnet used by this gateway\"\n        },\n        \"supportsRemoteControl\": {\n            \"type\": \"boolean\",\n            \"description\": \"Flag used to indicate if the gateway support remote control\"\n        },\n        \"rctrlUsername\": {\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"maxLength\": 255,\n            \"description\": \"Username used for remote control. Disabled if the gateway does not support remote control\"\n        },\n        \"rctrlPassword\": {\n            \"type\": \"string\",\n            \"minLength\": 8,\n            \"maxLength\": 255,\n            \"description\": \"Password used for remote control. Disabled if the gateway does not support remote control\"\n        },\n        \"GatewayProfileId\": {\n            \"type\": \"integer\",\n            \"description\": \"Gateway profile id that defines a set of gateway's characteristics\"\n        }\n    },\n    \"anyOf\": [\n        {\n            \"required\": [\n                \"label\"\n            ]\n        },\n        {\n            \"required\": [\n                \"public\"\n            ]\n        },\n        {\n            \"required\": [\n                \"lat\"\n            ]\n        },\n        {\n            \"required\": [\n                \"lng\"\n            ]\n        },\n        {\n            \"required\": [\n                \"alt\"\n            ]\n        },\n        {\n            \"required\": [\n                \"model\"\n            ]\n        },\n        {\n            \"required\": [\n                \"serial\"\n            ]\n        },\n        {\n            \"required\": [\n                \"firmware\"\n            ]\n        },\n        {\n            \"required\": [\n                \"subnet\"\n            ]\n        },\n        {\n            \"required\": [\n                \"GatewayProfileId\"\n            ]\n        },\n        {\n            \"if\": {\n                \"properties\": {\n                    \"supportsRemoteControl\": {\n                        \"const\": true\n                    }\n                },\n\t\t        \"required\": [\n\t\t            \"supportsRemoteControl\"\n\t\t        ]\n\t\t    },\n            \"then\": {\n                \"required\": [\n                    \"supportsRemoteControl\",\n                    \"rctrlUsername\",\n                    \"rctrlPassword\"\n                ]\n            }\n        }\n    ],\n    \"additionalProperties\": false\n}\n```\n\n# Properties\n\n| Property                                        | Type      | Required | Nullable | Defined by    |\n| ----------------------------------------------- | --------- | -------- | -------- | ------------- |\n| [GatewayProfileId](#gatewayprofileid)           | `integer` | Optional | No       | (this schema) |\n| [alt](#alt)                                     | `number`  | Optional | No       | (this schema) |\n| [firmware](#firmware)                           | `string`  | Optional | No       | (this schema) |\n| [label](#label)                                 | `string`  | Optional | No       | (this schema) |\n| [lat](#lat)                                     | `number`  | Optional | No       | (this schema) |\n| [lng](#lng)                                     | `number`  | Optional | No       | (this schema) |\n| [model](#model)                                 | `string`  | Optional | No       | (this schema) |\n| [public](#public)                               | `boolean` | Optional | No       | (this schema) |\n| [rctrlPassword](#rctrlpassword)                 | `string`  | Optional | No       | (this schema) |\n| [rctrlUsername](#rctrlusername)                 | `string`  | Optional | No       | (this schema) |\n| [serial](#serial)                               | `string`  | Optional | No       | (this schema) |\n| [subnet](#subnet)                               | `string`  | Optional | No       | (this schema) |\n| [supportsRemoteControl](#supportsremotecontrol) | `boolean` | Optional | No       | (this schema) |\n\n## GatewayProfileId\n\nGateway profile id that defines a set of gateway's characteristics\n\n`GatewayProfileId`\n\n- is optional\n- type: `integer`\n- defined in this schema\n\n### GatewayProfileId Type\n\n`integer`\n\n## alt\n\nAltitude location for the gateway [m]\n\n`alt`\n\n- is optional\n- type: `number`\n- defined in this schema\n\n### alt Type\n\n`number`\n\n- minimum value: `0`\n- maximum value: `7000`\n\n## firmware\n\nCurrent firmware version present in the gateway\n\n`firmware`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### firmware Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters\n\n## label\n\nThe label is a field used to describe this gateway\n\n`label`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### label Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters\n\n## lat\n\nLatitude location for the gateway [°]\n\n`lat`\n\n- is optional\n- type: `number`\n- defined in this schema\n\n### lat Type\n\n`number`\n\n- minimum value: `-90`\n- maximum value: `90`\n\n## lng\n\nLongitude location for the gateway [°]\n\n`lng`\n\n- is optional\n- type: `number`\n- defined in this schema\n\n### lng Type\n\n`number`\n\n- minimum value: `-180`\n- maximum value: `180`\n\n## model\n\nModel and brand of the gateway\n\n`model`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### model Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters\n\n## public\n\nThis flag indicate if the gateway is public and usable from other users\n\n`public`\n\n- is optional\n- type: `boolean`\n- defined in this schema\n\n### public Type\n\n`boolean`\n\n## rctrlPassword\n\nPassword used for remote control. Disabled if the gateway does not support remote control\n\n`rctrlPassword`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### rctrlPassword Type\n\n`string`\n\n- minimum length: 8 characters\n- maximum length: 255 characters\n\n## rctrlUsername\n\nUsername used for remote control. Disabled if the gateway does not support remote control\n\n`rctrlUsername`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### rctrlUsername Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters\n\n## serial\n\nSerial number of the gateway\n\n`serial`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### serial Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters\n\n## subnet\n\nSubnet used by this gateway\n\n`subnet`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### subnet Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters\n\n## supportsRemoteControl\n\nFlag used to indicate if the gateway support remote control\n\n`supportsRemoteControl`\n\n- is optional\n- type: `boolean`\n- defined in this schema\n\n### supportsRemoteControl Type\n\n`boolean`"},"response":[{"id":"25500ea9-7359-4cba-af6a-ea27e8d0842a","name":"204 - Success","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\":\"{{new-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/gateway/{{gid}}"},"status":"No Content","code":204,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"8d55a7a8-89ef-4c11-a82c-85fb1732a774","name":"404 - Gateway not found","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\":\"{{new-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/gateway/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 13:21:18 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"44"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2c-L56AFH7YQOZePSXyCp5sLPDpSyA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Gateway not found\"\n}"},{"id":"145b729c-ce46-403c-ac1a-470ca8e47c97","name":"400 - wrong params.gid type","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\":\"{{new-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/gateway/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 13:21:48 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"77"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"4d-odtgxpHbYlSc5r8I6g/AaX+rBOA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.gid should match pattern \\\"^[a-f0-9]{16}$\\\"\"\n}"}],"_postman_id":"50318f60-58a1-4d24-91f1-4331e07f3538"},{"name":"Remove Gateway","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"a7aa0d4e-6fb5-479c-83fd-198099a45443","exec":["pm.environment.set(\"gid\", \"0000000000000001\");"],"type":"text/javascript"}}],"id":"d51ee5a3-7107-42e8-b693-f695d15f5a4f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n"}],"url":"{{protocol}}://{{host}}/api/v2/gateway/{{gid}}","description":"This API allows to delete an existing gateways and all the relationship with other users if the gateway is shared with some user.\n\nThe gateway to delete is passed in the URL using the GatewayId as `{{gid}}`.\n\nExaustive description is written in the following rows.\n \nDetails:\n   * No body in the request\n   * The gateway to delete is identified in the url by `{{gid}}`\n   * The possible responses are listed in the section on the right\n   * If we delete a gateway, we delete also the relationship with all the other user. A friend user won't see anymore the gateway if we delete it"},"response":[{"id":"924845bc-add8-4a1d-8876-4c1ce5f24104","name":"204 - Success","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n"}],"url":"{{protocol}}://{{host}}/api/v2/gateway/{{gid}}"},"status":"No Content","code":204,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"79e3c7fa-a995-4b67-b5fd-1f29814f59e4","name":"404 - Gateway not found","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n"}],"url":"{{protocol}}://{{host}}/api/v2/gateway/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 13:23:23 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"44"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2c-L56AFH7YQOZePSXyCp5sLPDpSyA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Gateway not found\"\n}"},{"id":"7f53f3f9-3cd4-4261-b915-2ca0d5eae537","name":"400 - wrong params.gid type","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n"}],"url":"{{protocol}}://{{host}}/api/v2/gateway/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 13:23:51 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"77"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"4d-odtgxpHbYlSc5r8I6g/AaX+rBOA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.gid should match pattern \\\"^[a-f0-9]{16}$\\\"\"\n}"}],"_postman_id":"d51ee5a3-7107-42e8-b693-f695d15f5a4f"}],"id":"1727b400-f31a-4c27-8440-1636e99ad08a","_postman_id":"1727b400-f31a-4c27-8440-1636e99ad08a"},{"name":"GatewayShare","item":[{"name":"Gateway List Shared With","event":[{"listen":"test","script":{"id":"f9a09d6d-f1b9-48f9-b8d2-f5dcf24bdf34","exec":[""],"type":"text/javascript"}}],"id":"d5683821-662a-4469-abac-9123a4baa90f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth"},"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/gateways/shared/with","description":"This API returns all the existing gateways for the current user shared with the other users.\n\nThis API supports advanced filtering: the url accepts a set of parameters to filter over the list.\n\nThe available filters are:\n\n| Key     | Value       | Description               | \n| ------- | ----------- | ------------------------- |\n| guestid | {{guestid}} | Gateway shared with this user id\n| gid     | {{gid}}     | Gateway id \n| label   | {{label}}   | Label used to identify the sharing between gateway and user\n\nFiltering is supported as described in `Common` section under Filtering.\n\nPaging is supported as described in `Common` section under Paging.\n \nDetails:\n   * No body in the request\n   * The possible responses are listed in the section on the right"},"response":[{"id":"2ce1fe5b-d78f-428d-bb37-9b9dc67e4856","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/gateways/shared/with"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"rows\": [\n    {\n      \"id\": 2,\n      \"label\": \"Shared device TEST 564477\",\n      \"GatewayId\": \"00000000000000aa\",\n      \"gateway\": {\n        \"id\": \"00000000000000aa\",\n        \"label\": \"Fake gateway Foo\",\n        \"UserId\": 5,\n        \"public\": false,\n        \"model\": null,\n        \"serial\": null,\n        \"firmware\": null,\n        \"subnet\": \"0.0.0.0/0\",\n        \"GatewayProfileId\": 1,\n        \"supportsRemoteControl\": false,\n        \"createdAt\": \"2020-02-13T16:25:21.217Z\",\n        \"updatedAt\": \"2020-02-13T16:25:21.217Z\",\n        \"owner\": {\n          \"id\": 5,\n          \"username\": \"foo\"\n        },\n        \"status\": {\n          \"reachable\": false,\n          \"ip\": null,\n          \"position\": null\n        },\n        \"position\": {\n          \"lat\": 45.6487683257915,\n          \"lng\": 8.93303786221014,\n          \"alt\": 137.002513517791\n        },\n        \"rctrl\": {\n          \"username\": null,\n          \"password\": null\n        }\n      },\n      \"guest\": {\n        \"id\": 6,\n        \"email\": \"bar@foo.com\",\n        \"username\": \"bar\"\n      }\n    }\n  ],\n  \"count\": 1,\n  \"offset\": 0,\n  \"limit\": 20\n}"}],"_postman_id":"d5683821-662a-4469-abac-9123a4baa90f"},{"name":"Gateway List Shared By","event":[{"listen":"test","script":{"id":"f9a09d6d-f1b9-48f9-b8d2-f5dcf24bdf34","exec":[""],"type":"text/javascript"}}],"id":"4a1833ee-61a6-4486-acbe-1b317359991a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth"},"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/gateways/shared/by","description":"This API returns all the existing gateways for the current user shared by the other users.\n\nThis API supports advanced filtering: the url accepts a set of parameters to filter over the list of shared gateways by other users.\n\nThe available filters are:\n\n| Key     | Value       | Description               | \n| ------- | ----------- | ------------------------- |\n| guestid | {{guestid}} | Gateway shared with this user id\n| gid     | {{gid}}     | Gateway id \n| label   | {{label}}   | Label used to identify the sharing between gateway and user\n\nFiltering is supported as described in `Common` section under Filtering.\n\nPaging is supported as described in `Common` section under Paging.\n \nDetails:\n   * No body in the request\n   * The possible responses are listed in the section on the right"},"response":[{"id":"bbfec9b3-b975-43be-8b34-8a4db2e78f7a","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/gateways/shared/by"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [\n        {\n            \"id\": 3,\n            \"label\": \"Shared device TEST 309923\",\n            \"GatewayId\": \"00000000000000bb\",\n            \"gateway\": {\n                \"id\": \"00000000000000bb\",\n                \"label\": \"Fake gateway Bar\",\n                \"UserId\": 6,\n                \"public\": false,\n                \"model\": null,\n                \"serial\": null,\n                \"firmware\": null,\n                \"subnet\": \"0.0.0.0/0\",\n                \"GatewayProfileId\": 1,\n                \"supportsRemoteControl\": false,\n                \"createdAt\": \"2020-02-13T16:25:21.217Z\",\n                \"updatedAt\": \"2020-02-13T16:25:21.217Z\",\n                \"owner\": {\n                    \"id\": 6,\n                    \"username\": \"bar\"\n                },\n                \"status\": {\n                    \"reachable\": false,\n                    \"ip\": null,\n                    \"position\": null\n                },\n                \"position\": {\n                    \"lat\": 44.2940619041927,\n                    \"lng\": 9.50608293972171,\n                    \"alt\": 389.230733457509\n                },\n                \"rctrl\": {\n                    \"username\": null,\n                    \"password\": null\n                }\n            },\n            \"guest\": {\n                \"id\": 5,\n                \"email\": \"foo@bar.com\",\n                \"username\": \"foo\"\n            }\n        }\n    ],\n    \"count\": 1,\n    \"offset\": 0,\n    \"limit\": 20\n}"}],"_postman_id":"4a1833ee-61a6-4486-acbe-1b317359991a"},{"name":"Share Gateway","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"17bc4066-6d7e-4132-8ccf-34d4836defe1","exec":["pm.environment.set(\"guest-uid\", 13);","pm.environment.set(\"guest-email\", \"bar@foo.com\");","pm.environment.set(\"gid\", \"0000000000000001\");","pm.environment.set(\"share-label\", \"Share gateway 0000000000000001 with bar\");"],"type":"text/javascript"}}],"id":"6787d251-1f8f-4fac-8815-b13ba9ce5966","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n    // \"GuestId\": {{guest-uid}},\n    \"GuestEmail\": \"{{guest-email}}\",\n    \"ids\": [\"{{gid}}\"],\n    \"label\": \"{{share-label}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/gateway-share","description":"This API creates a new sharing for the gateway.\n\nThe reponse will contain the created object with the created sharing gateway.\n\nExaustive description is written in the following rows.\n\nDetails:\n\n- The Request contains a body that should have the parameters listed below in the `Properties` table\n- The possible responses are listed in the section on the right\n    \n\n# Schema\n\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"label\": {\n      \"type\": \"string\",\n      \"minLength\": 1,\n      \"maxLength\": 255,\n      \"description\": \"The label is a field used to describe this shared gateway relation\"\n    },\n    \"GuestId\": {\n      \"type\": \"integer\",\n      \"minimum\": 1,\n      \"description\": \"Identifies the user on which add the gateway\"\n    },\n    \"GuestEmail\": {\n      \"type\": \"string\",\n      \"minLength\": 1,\n      \"maxLength\": 255,\n      \"format\": \"email\",\n      \"description\": \"Identifies the user on which add the gateway\"\n    },\n    \"ids\": {\n      \"type\": \"array\",\n      \"minItems\": 1,\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"description\": \"Array of gateway id\"\n    }\n  },\n  \"oneOf\": [{\n    \"required\": [\n      \"GuestId\"\n    ]\n  },\n  {\n    \"required\": [\n      \"GuestEmail\"\n    ]\n  }\n],\n  \"required\": [\n    \"ids\",\n    \"label\"\n  ],\n  \"additionalProperties\": false\n}\n\n```\n\n# Properties\n\n| Property | Type | Required | Nullable | Defined by |\n| --- | --- | --- | --- | --- |\n| [GuestId](#guestid) | `integer` | **Required** | No | (this schema) |\n| [GuestEmail](#guestemail) | `string` | **Required** | No | (this schema) |\n| [ids](#ids) | `string[]` | **Required** | No | (this schema) |\n| [label](#label) | `string` | **Required** | No | (this schema) |\n\n## GuestId\n\nIdentifies the user on which add the gateway\n\n`GuestId`\n\n- is **required**\n- type: `integer`\n- defined in this schema\n    \n\n### GuestId Type\n\n`integer`\n\n- minimum value: `1`\n    \n\n## GuestEmail\n\nIdentifies the user on which add the gateway\n\n`GuestEmail`\n\n- is **required**\n- type: `string`\n- defined in this schema\n    \n\n### GuestEmail Type\n\n`string`\n\n## ids\n\nArray of gateway id\n\n`ids`\n\n- is **required**\n- type: `string[]`\n- at least `1` items in the array\n- defined in this schema\n    \n\n### ids Type\n\nArray type: `string[]`\n\nAll items must be of the type: `string`\n\n## label\n\nThe label is a field used to describe this shared gateway relation\n\n`label`\n\n- is **required**\n- type: `string`\n- defined in this schema\n    \n\n### label Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters"},"response":[{"id":"bc16820b-af7f-433a-bd9b-89c60ceeaf13","name":"200 - Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n    \"GuestId\": {{guest-uid}},\n    \"ids\": [\"{{gid}}\"],\n    \"label\": \"{{share-label}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/gateway-share"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 07:00:00 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"183"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"b7-o6ecbbCTWVF35YounBtHC/Iwi8Y\""}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 1,\n        \"GatewayId\": \"0000000000000001\",\n        \"GuestId\": 2,\n        \"label\": \"Share gateway 0000000000000001 with bar\",\n        \"createdAt\": \"2023-06-05T07:00:00.920Z\",\n        \"updatedAt\": \"2023-06-05T07:00:00.920Z\"\n    }\n]"},{"id":"77e6f8b9-68ed-4393-be6a-7a147a1211b7","name":"400 - Gateway share already present","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n    \"GuestId\": {{guest-uid}},\n    \"ids\": [\"{{gid}}\"],\n    \"label\": \"{{share-label}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/gateway-share"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 07:01:05 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"38-6ucQCpasGBAEqRdvCJbmnwpEvRM\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"Gateway share already present\"\n}"},{"id":"f171b550-8fc0-4dff-9b1d-af30ec4e53d5","name":"404 - Guest user not found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n    \"GuestId\": 999,\n    \"ids\": [\"{{gid}}\"],\n    \"label\": \"{{share-label}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/gateway-share"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 07:01:34 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"47"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2f-Ok1RZhtQfXXdtUWQQ0qI73Oj104\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Guest user not found\"\n}"},{"id":"8c2ec364-b6c8-4271-8140-1b9a2e1fd1ce","name":"400 - wrong param type","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n    \"GuestId\": \"xxx\",\n    \"ids\": [\"{{gid}}\"],\n    \"label\": \"{{share-label}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/gateway-share"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 07:02:17 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"59"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"3b-FnaSp4g0yMnBUHVdGNsRCSR5zvY\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.GuestId should be integer\"\n}"},{"id":"e5d988c3-8d18-4730-960b-43cb8c754704","name":"404 - Gateway ids not found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n    \"GuestId\": {{guest-uid}},\n    \"ids\": [\"000000000000002\"],\n    \"label\": \"{{share-label}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/gateway-share"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 07:02:48 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"48"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"30-jOhSjb6hTZumEXKwRBNMqnUSovk\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Gateway ids not found\"\n}"}],"_postman_id":"6787d251-1f8f-4fac-8815-b13ba9ce5966"},{"name":"Update Gateway Shared Information","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"ad9501c2-0246-4239-abde-5d59efa36139","exec":["pm.environment.set(\"gsid\", 91);","pm.environment.set(\"new-share-label\", \"Share gateway 0000000000000001 with bar [updated]\");"],"type":"text/javascript"}}],"id":"694f46fd-0638-44b9-ab7a-ac65974d2997","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth"},"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\": \"{{new-share-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/gateway-share/{{gsid}}","description":"This API allows to update the information of the own gateway identified by `{{gsid}}`.\n\nThis API requires at least a property to update. All the properties are optional but at least one is required. \n \nFor example you can change label.\n\nExaustive description is written in the following rows.\n \nDetails:\n   * The Request contains a body that should have the parameters listed below in the `Properties` table\n   * The possible responses are listed in the section on the right\n\n# Schema\n```\n{\n    \"type\": \"object\",\n    \"properties\": {\n        \"label\": {\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"maxLength\": 255,\n            \"description\": \"The label is a field used to describe this shared gateway relation\"\n        }\n    },\n    \"required\": [\n        \"label\"\n    ],\n    \"additionalProperties\": false\n}\n```\n\n# Properties\n\n| Property        | Type     | Required     | Nullable | Defined by    |\n| --------------- | -------- | ------------ | -------- | ------------- |\n| [label](#label) | `string` | **Required** | No       | (this schema) |\n\n## label\n\nThe label is a field used to describe this shared gateway relation\n\n`label`\n\n- is **required**\n- type: `string`\n- defined in this schema\n\n### label Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters"},"response":[{"id":"02a21ba2-8586-4bc7-8b31-d259a5f2827e","name":"204 -Success","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\": \"{{new-share-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/gateway-share/{{gsid}}"},"status":"No Content","code":204,"_postman_previewlanguage":"plain","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 07:05:46 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"e-wVWNT6UsysLKAc52mfcyJknNgNc\""}],"cookie":[],"responseTime":null,"body":null},{"id":"7904ebeb-7fee-4ad1-8b9d-199305c62fc6","name":"404 - Gateway Share not found","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\": \"{{new-share-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/gateway-share/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 07:06:28 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"50"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"32-hs8MfW+2pNURLLSLRXEqO6oaFko\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Gateway Share not found\"\n}"},{"id":"d8e7abf0-227e-48fa-a7f3-7428b453a9ee","name":"400 - wrong param type","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\": \"{{new-share-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/gateway-share/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 07:06:54 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"38-Xq7f4/Ktj5cdCGvYda/YL43Xi+g\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.gsid should be integer\"\n}"}],"_postman_id":"694f46fd-0638-44b9-ab7a-ac65974d2997"},{"name":"Remove Gateway Sharing","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"9c41ca5f-b6e5-4391-a9a4-fe1033bb3fcb","exec":["pm.environment.set(\"gsid\", 91);"],"type":"text/javascript"}}],"id":"1fe097c5-1933-4c38-9f22-a02ad2fef4c1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials"}],"url":"{{protocol}}://{{host}}/api/v2/gateway-share/{{gsid}}","description":"This API removes an existing sharing relation for the gateway.\n\nThe gateway share to delete is passed in the URL using the GatewayShareId as `{{gsid}}`.\n\nExaustive description is written in the following rows.\n \nDetails:\n   * No body in the request\n   * The gateway share to delete is identified in the url by `{{gsid}}`\n   * The possible responses are listed in the section on the right"},"response":[{"id":"37ef25c1-aec2-4dcb-b9ed-80fdda87904b","name":"204 - Success","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials"}],"url":"{{protocol}}://{{host}}/api/v2/gateway-share/{{gsid}}"},"status":"No Content","code":204,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"5537f1d7-374f-4f4a-96f1-a4206770d769","name":"404 - Gateway Share not found","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials"}],"url":"{{protocol}}://{{host}}/api/v2/gateway-share/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Gateway Share not found\"\n}"},{"id":"7857495f-bd7c-4308-bc90-d290b0077e9a","name":"400 - wrong param type","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials"}],"url":"{{protocol}}://{{host}}/api/v2/gateway-share/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.gsid should be integer\"\n}"}],"_postman_id":"1fe097c5-1933-4c38-9f22-a02ad2fef4c1"}],"id":"98acd66c-0c3d-4dc5-b2ee-821227ca10c8","_postman_id":"98acd66c-0c3d-4dc5-b2ee-821227ca10c8"},{"name":"Device","item":[{"name":"Device Manager","item":[{"name":"-DEPRECATED-","item":[{"name":"Device Information","event":[{"listen":"test","script":{"id":"f9a09d6d-f1b9-48f9-b8d2-f5dcf24bdf34","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"e18ee0bc-c93e-4d29-87f4-7952da41a3c8","exec":["pm.environment.set(\"did\", 1);"],"type":"text/javascript"}}],"id":"d14a2ec1-9ba5-46f7-81a8-b0bdfc299e2f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}","description":"# \\[DEPRECATED\\]\n\n[new api version](#20137387-dd2a-4cb5-bb48-6f20158d03f4)\n\nThis API returns the device associated with the specified `{{did}}`, the unique ID of the device (integer number).\n\nThe response will provide an object that contains the single Device details.\n\nDetails:\n\n- No body in the request\n    \n- The device to obtain is identified in the url by `{{did}}`\n    \n- The possible responses are listed in the section on the right"},"response":[{"id":"846eccdb-4b13-434f-a52c-765da1afb5c2","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 13:56:32 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"476"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"1dc-enK2YT+PrtYSmSLCg2LRe/AoKpg\""}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1,\n    \"label\": \"Device e1ccb173403673ae - applications 1 (OTAA)\",\n    \"type\": \"OTAA\",\n    \"deveui\": \"e1ccb173403673ae\",\n    \"appKey\": \"6768497b85d8ef7e9bf682e7a97e561c\",\n    \"appeui\": \"641aea0ef6b93d74\",\n    \"UserId\": 12,\n    \"owner\": {\n        \"username\": \"foo\"\n    },\n    \"appid\": 1,\n    \"DeviceProfileId\": 6,\n    \"status\": {\n        \"activated\": false,\n        \"currentClass\": \"A\",\n        \"airtime\": 0\n    },\n    \"model\": null,\n    \"serial\": null,\n    \"firmware\": null,\n    \"position\": {\n        \"lat\": null,\n        \"lng\": null,\n        \"alt\": null\n    },\n    \"createdAt\": \"2023-05-31T12:42:51.827Z\",\n    \"updatedAt\": \"2023-05-31T12:42:51.827Z\"\n}"},{"id":"9a3a7c7d-da93-4f9b-ac14-536c60a15989","name":"404 - Device not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 13:57:24 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"0b4dfa24-8477-498e-a454-9a24dc6ab8ed","name":"400 - params.did should be integer","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 13:57:43 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"}],"_postman_id":"d14a2ec1-9ba5-46f7-81a8-b0bdfc299e2f"},{"name":"Update Device Information","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"ce441e05-328a-45af-8ee1-9e5f5bb27412","exec":["pm.environment.set(\"did\", 1);"],"type":"text/javascript"}}],"id":"77fd1b84-7622-4283-88fd-377f97c4f7e4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\":\"{{new-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}","description":"# \\[DEPRECATED\\]\n\n[new api version](#48c1ad1d-e15a-42c0-9d46-ccc8dde4e929)\n\nThis API allows to update the information of the own device identified by `{{did}}`, the unique ID of the device (integer number).\n\nThis API requires at least a property to update. All the properties are optional but at least one is required.\n\nFor example you can change model or DeviceProfileId.\n\nBased on `type=[ABP, OTAA]` or `Key` update, there are additional required properties:\n\n| Property | Type | Required Keyword |\n| --- | --- | --- |\n| `type` | `OTAA` | appKey, appeui |\n| `type` | `ABP` | appSKey, nwkSKey, devaddr |\n\nExaustive description is written in the following rows.\n\nDetails:\n\n- The Request contains a body that should have the parameters listed below in the `Properties` table\n    \n- The possible responses are listed in the section on the right\n    \n- If `type` is updated from `OTAA` to `ABP` (or vice-versa), there are other required information listed in the table on top\n    \n- You need to set all the `Required Keyword` if you update only a single `properties` as written in the table on top. e.g if you update `appkey` you need to pass `appeui` and `type=\"OTAA\"`\n    \n\n# Schema\n\n```\n{\n        \"type\": \"object\",\n        \"properties\": {\n            \"appid\": {\n                \"type\": \"integer\",\n                \"minimum\": 1,\n                \"maximum\": 9007199254740991,\n                \"description\": \"Identify the application associated to this device\"\n            },\n            \"firmware\": {\n                \"type\": \"string\",\n                \"minLength\": 1,\n                \"maxLength\": 255,\n                \"description\": \"Current firmware version present in the device\"\n            },\n            \"label\": {\n                \"type\": [\n                    \"number\",\n                    \"string\"\n                ],\n                \"minLength\": 1,\n                \"maxLength\": 255,\n                \"description\": \"The label is a field used to describe this end-device\",\n                \"pattern\": \"^[^,;.:?!/]{1,}$\"\n            },\n            \"alt\": {\n                \"type\": \"number\",\n                \"minimum\": -7000,\n                \"maximum\": 7000,\n                \"description\": \"Altitude location of the device [m]\"\n            },\n            \"lat\": {\n                \"type\": \"number\",\n                \"minimum\": -90,\n                \"maximum\": 90,\n                \"description\": \"Latiude location of the device [°]\"\n            },\n            \"lng\": {\n                \"type\": \"number\",\n                \"minimum\": -180,\n                \"maximum\": 180,\n                \"description\": \"Longitude location of the device [°]\"\n            },\n            \"model\": {\n                \"type\": \"string\",\n                \"minLength\": 1,\n                \"maxLength\": 255,\n                \"description\": \"The model describe the end-device model\"\n            },\n            \"serial\": {\n                \"type\": \"string\",\n                \"minLength\": 1,\n                \"maxLength\": 255,\n                \"description\": \"Serial number of the device\"\n            },\n            \"DeviceProfileId\": {\n                \"type\": \"integer\",\n                \"minimum\": 1,\n                \"description\": \"Id of the device profile associated to this device\"\n            },\n            \"type\": {\n                \"type\": \"string\",\n                \"enum\": [\n                    \"ABP\",\n                    \"OTAA\"\n                ],\n                \"description\": \"Identify if a device is ABP or OTAA\"\n            },\n            \"appKey\": {\n                \"type\": \"string\",\n                \"pattern\": \"^[a-f0-9]{32}$\",\n                \"description\": \"Application Key is an AES-128 root key used to derive the session keys\"\n            },\n            \"appeui\": {\n                \"type\": \"string\",\n                \"pattern\": \"^[a-f0-9]{16}$\",\n                \"description\": \"Uniquely identifies the entity able to process the JoinReq frame(LW1.0.3-)\"\n            },\n            \"devaddr\": {\n                \"type\": \"string\",\n                \"pattern\": \"^[0-9a-f]{8}$\",\n                \"description\": \"Identify the device in the current network\"\n            },\n            \"appSKey\": {\n                \"type\": \"string\",\n                \"pattern\": \"^[a-f0-9]{32}$\",\n                \"description\": \"Application Session Key used to encrypt and decrypt the applciation payload\"\n            },\n            \"nwkSKey\": {\n                \"type\": \"string\",\n                \"pattern\": \"^[a-f0-9]{32}$\",\n                \"description\": \"Network Session Key used to ensure data integrity on the complete LoRaWAN frame\"\n            }\n        },\n        \"anyOf\": [\n            {\n                \"required\": [\n                    \"appid\"\n                ]\n            },\n            {\n                \"required\": [\n                    \"DeviceProfileId\"\n                ]\n            },\n            {\n                \"required\": [\n                    \"serial\"\n                ]\n            },\n            {\n                \"required\": [\n                    \"model\"\n                ]\n            },\n            {\n                \"required\": [\n                    \"firmware\"\n                ]\n            },\n            {\n                \"required\": [\n                    \"lng\"\n                ]\n            },\n            {\n                \"required\": [\n                    \"lat\"\n                ]\n            },\n            {\n                \"required\": [\n                    \"alt\"\n                ]\n            },\n            {\n                \"required\": [\n                    \"label\"\n                ]\n            },\n            {\n                \"required\": [\n                    \"type\"\n                ]\n            }\n        ],\n        \"additionalProperties\": false\n    }\n\n ```\n\n# Properties\n\n| Property | Type | Required | Nullable | Defined by |\n| --- | --- | --- | --- | --- |\n| [appid](#appid) | `integer` | Optional | No | (this schema) |\n| [DeviceProfileId](#deviceprofileid) | `integer` | Optional | No | (this schema) |\n| [alt](#alt) | `number` | Optional | No | (this schema) |\n| [appKey](#appkey) | `string` | Optional | No | (this schema) |\n| [appSKey](#appskey) | `string` | Optional | No | (this schema) |\n| [appeui](#appeui) | `string` | Optional | No | (this schema) |\n| [devaddr](#devaddr) | `string` | Optional | No | (this schema) |\n| [firmware](#firmware) | `string` | Optional | No | (this schema) |\n| [joineui](#joineui) | `string` | Optional | No | (this schema) |\n| [label](#label) | `string` | Optional | No | (this schema) |\n| [lat](#lat) | `number` | Optional | No | (this schema) |\n| [lng](#lng) | `number` | Optional | No | (this schema) |\n| [model](#model) | `string` | Optional | No | (this schema) |\n| [nwkSKey](#nwkskey) | `string` | Optional | No | (this schema) |\n| [serial](#serial) | `string` | Optional | No | (this schema) |\n| [type](#type) | `enum` | Optional | No | (this schema) |\n\n## appid\n\nId of the application\n\n`appid`\n\n- is optional\n    \n- type: `integer`\n    \n- defined in this schema\n    \n\n## DeviceProfileId\n\nId of the device profile associated to this device\n\n`DeviceProfileId`\n\n- is optional\n    \n- type: `integer`\n    \n- defined in this schema\n    \n\n### DeviceProfileId Type\n\n`integer`\n\n- minimum value: `1`\n    \n\n## alt\n\nAltitude location of the device \\[m\\]\n\n`alt`\n\n- is optional\n    \n- type: `number`\n    \n- defined in this schema\n    \n\n### alt Type\n\n`number`\n\n- minimum value: `-7000`\n    \n- maximum value: `7000`\n    \n\n## appKey\n\nApplication Key is an AES-128 root key used to derive the session keys\n\n`appKey`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### appKey Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples  \n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B32%7D$)):\n\n``` regex\n^[a-f0-9]{32}$\n\n ```\n\n## appSKey\n\nApplication Session Key used to encrypt and decrypt the applciation payload\n\n`appSKey`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### appSKey Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples  \n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B32%7D$)):\n\n``` regex\n^[a-f0-9]{32}$\n\n ```\n\n## appeui\n\nUniquely identifies the entity able to process the JoinReq frame(LW1.0.3-)\n\n`appeui`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### appeui Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples  \n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B16%7D$)):\n\n``` regex\n^[a-f0-9]{16}$\n\n ```\n\n## devaddr\n\nIdentifies the device in the current network\n\n`devaddr`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### devaddr Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples  \n[here](https://regexr.com/?expression=%5E%5B0-9a-f%5D%7B8%7D$)):\n\n``` regex\n^[0-9a-f]{8}$\n\n ```\n\n## firmware\n\nCurrent firmware version present in the device\n\n`firmware`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### firmware Type\n\n`string`\n\n- minimum length: 1 characters\n    \n- maximum length: 255 characters\n    \n\n## joineui\n\nUniquely identifies the entity able to process the JoinReq frame (LW1.0.4+)\n\n`joineui`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### joineui Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples  \n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B16%7D$)):\n\n``` regex\n^[a-f0-9]{16}$\n\n ```\n\n## label\n\nThe label is a field used to describe this end-device\n\n`label`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### label Type\n\n`string`\n\n- minimum length: 1 characters\n    \n- maximum length: 255 characters\n    \n\n## lat\n\nLatitude location of the device \\[°\\]\n\n`lat`\n\n- is optional\n    \n- type: `number`\n    \n- defined in this schema\n    \n\n### lat Type\n\n`number`\n\n- minimum value: `-90`\n    \n- maximum value: `90`\n    \n\n## lng\n\nLongitude location of the device \\[°\\]\n\n`lng`\n\n- is optional\n    \n- type: `number`\n    \n- defined in this schema\n    \n\n### lng Type\n\n`number`\n\n- minimum value: `-180`\n    \n- maximum value: `180`\n    \n\n## model\n\nDescribes the end-device model\n\n`model`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### model Type\n\n`string`\n\n- minimum length: 1 characters\n    \n- maximum length: 255 characters\n    \n\n## nwkSKey\n\nNetwork Session Key used to ensure data integrity on the complete LoRaWAN frame\n\n`nwkSKey`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### nwkSKey Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples  \n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B32%7D$)):\n\n``` regex\n^[a-f0-9]{32}$\n\n ```\n\n## serial\n\nSerial number of the device\n\n`serial`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### serial Type\n\n`string`\n\n- minimum length: 1 characters\n    \n- maximum length: 255 characters\n    \n\n## type\n\nIdentifies if a device is ABP or OTAA\n\n`type`\n\n- is optional\n    \n- type: `enum`\n    \n- defined in this schema\n    \n\nThe value of this property **must** be equal to one of the [known values below](#type-known-values).\n\n### type Known Values\n\n| Value | Description |\n| --- | --- |\n| `ABP` |  |\n| `OTAA` |  |"},"response":[{"id":"a59166f5-c096-4fa7-b129-d396b641f876","name":"204 - Success","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\":\"{{new-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}"},"status":"No Content","code":204,"_postman_previewlanguage":"plain","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 14:39:17 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"19f-HPrKaZt0WGc5UFQ1M9gXQKJpAz4\""}],"cookie":[],"responseTime":null,"body":null},{"id":"0ffc5917-185c-4393-992d-733d460b98e0","name":"404 - Device not found","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\":\"{{new-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 14:40:03 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"101fe3e3-e8e3-4af5-8f1b-cb26ec8380be","name":"400 - wrong params filed","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\": \"\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 14:41:06 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"135"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"87-ZAl4MH/dXMZkIhuzCtTCDLCcy6g\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.label should NOT be shorter than 1 characters, params.label should match pattern \\\"^[^,;.:?!/]{1,}$\\\"\"\n}"}],"_postman_id":"77fd1b84-7622-4283-88fd-377f97c4f7e4"},{"name":"Remove Device","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"77774da1-1a35-4261-a1e6-47b00201f8d5","exec":["pm.environment.set(\"did\", 1);"],"type":"text/javascript"}}],"id":"b6b98d26-6731-445b-a4c9-350214db54f1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}","description":"# \\[DEPRECATED\\]\n\n[new api version](#32f806f1-0044-4373-a3fc-fdf478d1bdbf)\n\nThis API allows to delete an existing device and all the relationship with other users if the device is shared with some user.\n\nThe device to delete is passed in the URL using the `{{did}}` the unique ID of the device (integer number).\n\nExaustive description is written in the following rows.\n\nDetails:\n\n- No body in the request\n    \n- The device to delete is identified in the url by `{{did}}`\n    \n- The possible responses are listed in the section on the right\n    \n- If we delete a device, we delete also the relationship with all the other user. A friend user won't see anymore the device if we delete it"},"response":[{"id":"4385a5f0-ea65-4de6-8ffa-bd04460c12f6","name":"204 - Success","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}"},"status":"No Content","code":204,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"02245551-7750-4afc-a58d-95b20d73f2c0","name":"404 - Device not found","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 14:43:31 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"41471abf-8c82-466d-b8a9-d8d429006662","name":"400 - wring param type","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 14:44:37 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"}],"_postman_id":"b6b98d26-6731-445b-a4c9-350214db54f1"}],"id":"6440cc10-ed16-4e48-bb80-69ab5ec9d5ce","_postman_id":"6440cc10-ed16-4e48-bb80-69ab5ec9d5ce"},{"name":"Device List","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript"}}],"id":"d872d0f9-58cc-4f4c-a007-d7db2bcdab3c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/devices","description":"This API returns all the existing devices for the current user.\n\nThis API supports advanced filtering: the url accepts a set of parameters to filter over the list.\n\nThe available filters are:\n\n| Key | Value | Description |\n| --- | --- | --- |\n| deveui | {{deveui}} | DeviceEUI is a global end-device ID that uniquely identifies the end-device. |\n| devaddr | {{devaddr}} | Device Address computed runtime for OTAA and fixed for ABP, Identifies the device in the current network. |\n| appeui | {{appeui}} | AppEUI (until LoRaWAN 1.0.3) and JoinEUI (LoRaWAN 1.1+) identifies the entity able to process the JoinReq frame. |\n| label | {{label}} | Label used to Identifies the device. |\n| activated | {{activated}} | Status that informas if the end-device is active or not. ABP nodes are always active. OTAA node requires a succesfull Join procedure. |\n| type | {{type}} | Identifies if the device is ABP or OTAA. |\n| appid | {{appid}} | Identifies the application associated to each end-device. |\n\nFiltering is supported as described in `Common` section under Filtering.\n\nPaging is supported as described in `Common` section under Paging.\n\nDetails:\n\n- No body in the request\n    \n- The possible responses are listed in the section on the right"},"response":[{"id":"ba878362-8335-4329-944d-56774a07fcc4","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/devices"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 13:55:09 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"2597"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"a25-FMJltpbw3gME8VX+W2IRvg49Nlw\""}],"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [\n        {\n            \"id\": 1,\n            \"label\": \"Device e1ccb173403673ae - applications 1 (OTAA)\",\n            \"type\": \"OTAA\",\n            \"deveui\": \"e1ccb173403673ae\",\n            \"appKey\": \"6768497b85d8ef7e9bf682e7a97e561c\",\n            \"appeui\": \"641aea0ef6b93d74\",\n            \"UserId\": 12,\n            \"owner\": {\n                \"username\": \"foo\"\n            },\n            \"appid\": 1,\n            \"DeviceProfileId\": 6,\n            \"status\": {\n                \"activated\": false,\n                \"currentClass\": \"A\",\n                \"airtime\": 0\n            },\n            \"model\": null,\n            \"serial\": null,\n            \"firmware\": null,\n            \"position\": {\n                \"lat\": null,\n                \"lng\": null,\n                \"alt\": null\n            },\n            \"createdAt\": \"2023-05-31T12:42:51.827Z\",\n            \"updatedAt\": \"2023-05-31T12:42:51.827Z\"\n        },\n        {\n            \"id\": 2,\n            \"label\": \"Device 84d561f55c514e02 - applications 1 (ABP)\",\n            \"type\": \"ABP\",\n            \"deveui\": \"84d561f55c514e02\",\n            \"devaddr\": \"07603557\",\n            \"appSKey\": \"cb45c4381dd51f2ccd72d7c114ae3b73\",\n            \"nwkSKey\": \"4d1213d957fe9ffa4675b03e679a6562\",\n            \"UserId\": 12,\n            \"owner\": {\n                \"username\": \"foo\"\n            },\n            \"appid\": 1,\n            \"DeviceProfileId\": 6,\n            \"status\": {\n                \"activated\": true,\n                \"devaddr\": \"07603557\",\n                \"currentClass\": \"A\",\n                \"airtime\": 0\n            },\n            \"model\": null,\n            \"serial\": null,\n            \"firmware\": null,\n            \"position\": {\n                \"lat\": null,\n                \"lng\": null,\n                \"alt\": null\n            },\n            \"createdAt\": \"2023-05-31T12:42:51.887Z\",\n            \"updatedAt\": \"2023-05-31T12:42:51.887Z\"\n        },\n        {\n            \"id\": 3,\n            \"label\": \"Device c7cae6af0a11efec - applications 1 (ABP)\",\n            \"type\": \"ABP\",\n            \"deveui\": \"c7cae6af0a11efec\",\n            \"devaddr\": \"1a589c48\",\n            \"appSKey\": \"507d4e42b78e54e4291f986ff257c59e\",\n            \"nwkSKey\": \"78198d801dc5fd55fdc0653cbd505310\",\n            \"UserId\": 12,\n            \"owner\": {\n                \"username\": \"foo\"\n            },\n            \"appid\": 1,\n            \"DeviceProfileId\": 6,\n            \"status\": {\n                \"activated\": true,\n                \"devaddr\": \"1a589c48\",\n                \"currentClass\": \"A\",\n                \"airtime\": 0\n            },\n            \"model\": null,\n            \"serial\": null,\n            \"firmware\": null,\n            \"position\": {\n                \"lat\": null,\n                \"lng\": null,\n                \"alt\": null\n            },\n            \"createdAt\": \"2023-05-31T12:42:51.933Z\",\n            \"updatedAt\": \"2023-05-31T12:42:51.933Z\"\n        },\n        {\n            \"id\": 4,\n            \"label\": \"Device 610e300033cae6ad - applications 1 (ABP)\",\n            \"type\": \"ABP\",\n            \"deveui\": \"610e300033cae6ad\",\n            \"devaddr\": \"5c75ef55\",\n            \"appSKey\": \"c3b058d8bb79079f9eac1c69686fac0c\",\n            \"nwkSKey\": \"f9ec3c6b5b71c4fd48092cdfae6ce21b\",\n            \"UserId\": 12,\n            \"owner\": {\n                \"username\": \"foo\"\n            },\n            \"appid\": 1,\n            \"DeviceProfileId\": 6,\n            \"status\": {\n                \"activated\": true,\n                \"devaddr\": \"5c75ef55\",\n                \"currentClass\": \"A\",\n                \"airtime\": 0\n            },\n            \"model\": null,\n            \"serial\": null,\n            \"firmware\": null,\n            \"position\": {\n                \"lat\": null,\n                \"lng\": null,\n                \"alt\": null\n            },\n            \"createdAt\": \"2023-05-31T12:42:51.977Z\",\n            \"updatedAt\": \"2023-05-31T12:42:51.977Z\"\n        },\n        {\n            \"id\": 5,\n            \"label\": \"Device 55111ede48d3d88b - applications 1 (OTAA)\",\n            \"type\": \"OTAA\",\n            \"deveui\": \"55111ede48d3d88b\",\n            \"appKey\": \"474e4f1b4789dc61030c7990a96c013c\",\n            \"appeui\": \"922816a402da1906\",\n            \"UserId\": 12,\n            \"owner\": {\n                \"username\": \"foo\"\n            },\n            \"appid\": 1,\n            \"DeviceProfileId\": 6,\n            \"status\": {\n                \"activated\": false,\n                \"currentClass\": \"A\",\n                \"airtime\": 0\n            },\n            \"model\": null,\n            \"serial\": null,\n            \"firmware\": null,\n            \"position\": {\n                \"lat\": null,\n                \"lng\": null,\n                \"alt\": null\n            },\n            \"createdAt\": \"2023-05-31T12:42:52.018Z\",\n            \"updatedAt\": \"2023-05-31T12:42:52.018Z\"\n        }\n    ],\n    \"size\": 5,\n    \"offset\": 0,\n    \"limit\": 20\n}"}],"_postman_id":"d872d0f9-58cc-4f4c-a007-d7db2bcdab3c"},{"name":"Device Information","event":[{"listen":"test","script":{"id":"f9a09d6d-f1b9-48f9-b8d2-f5dcf24bdf34","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"e18ee0bc-c93e-4d29-87f4-7952da41a3c8","exec":["pm.environment.set(\"deveui\", '1234567890abcdef');"],"type":"text/javascript","packages":{}}}],"id":"20137387-dd2a-4cb5-bb48-6f20158d03f4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}","description":"This API returns the device associated with the specified `{{deveui}}`, where `deveui` is a unique identifier consisting of the device’s `deveui` (a 16-character hexadecimal).\n\nFor example, for deveui `1122334455667788` the URL will be `/api/v2/device/deveui-1122334455667788`\n\nThe response will provide an object that contains the single Device details.\n\nDetails:\n\n- Body not requested.\n    \n- The device to obtain is identified in the url by `{{deveui}}`"},"response":[{"id":"c93b867d-4a2e-42c8-be1c-0274ba80e1bd","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 13:56:32 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"476"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"1dc-enK2YT+PrtYSmSLCg2LRe/AoKpg\""}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1,\n    \"label\": \"Device e1ccb173403673ae - applications 1 (OTAA)\",\n    \"type\": \"OTAA\",\n    \"deveui\": \"e1ccb173403673ae\",\n    \"appKey\": \"6768497b85d8ef7e9bf682e7a97e561c\",\n    \"appeui\": \"641aea0ef6b93d74\",\n    \"UserId\": 12,\n    \"owner\": {\n        \"username\": \"foo\"\n    },\n    \"appid\": 1,\n    \"DeviceProfileId\": 6,\n    \"status\": {\n        \"activated\": false,\n        \"currentClass\": \"A\",\n        \"airtime\": 0\n    },\n    \"model\": null,\n    \"serial\": null,\n    \"firmware\": null,\n    \"position\": {\n        \"lat\": null,\n        \"lng\": null,\n        \"alt\": null\n    },\n    \"createdAt\": \"2023-05-31T12:42:51.827Z\",\n    \"updatedAt\": \"2023-05-31T12:42:51.827Z\"\n}"},{"id":"2ebe9a24-0928-413c-979b-cecc44e5f6bf","name":"404 - Device not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-9999999999999999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 13:57:24 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"600055b6-ba5c-4fcb-afb8-5332fb365e3b","name":"400 - params.did should be integer","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-xxxxxxxxxxxxxxxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 13:57:43 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"}],"_postman_id":"20137387-dd2a-4cb5-bb48-6f20158d03f4"},{"name":"Create Device","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"57e65486-a32f-499b-a610-7a1c7fec237a","exec":["pm.environment.set(\"appid\", 1);","pm.environment.set(\"DeviceProfileId\", 2);","","// OTAA","pm.environment.set(\"type\", \"OTAA\");","pm.environment.set(\"deveui\", \"00000000000000aa\");","pm.environment.set(\"label\", \"Device 00000000000000aa\");","pm.environment.set(\"appkey\", \"000000000000000000000000000000aa\");","pm.environment.set(\"appeui\", \"00000000000000aa\");","","// ABP","//pm.environment.set(\"type\", \"ABP\");","//pm.environment.set(\"devaddr\", \"000000bb\");","//pm.environment.set(\"appSKey\", \"000000000000000000000000000000bb\");","//pm.environment.set(\"nwkSKey\", \"000000000000000000000000000000bb\");","//pm.environment.set(\"deveui\", \"00000000000000bb\");","//pm.environment.set(\"label\", \"Device 00000000000000bb\");",""],"type":"text/javascript"}}],"id":"e19c36a5-eb99-42bd-b100-eb158a14da20","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"appid\": {{appid}},\n\t\"DeviceProfileId\": {{DeviceProfileId}},\n\t\"deveui\": \"{{deveui}}\",\n\t\"label\":\"{{label}}\",\n\t\"type\": \"{{type}}\",\n\t\"appKey\": \"{{appkey}}\",\n\t\"appeui\": \"{{appeui}}\"\n    //\"devaddr\": \"{{devaddr}}\",\n    //\"appSKey\": \"{{appSKey}}\",\n    //\"nwkSKey\": \"{{nwkSKey}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device","description":"This API creates a new device.\n\nThe reponse will contain the created object with the created device.\n\nExaustive description is written in the following rows.\n\nBased on `type=[ABP, OTAA]`, there are additional required properties:\n\n| Property | Type | Required Keyword |\n| --- | --- | --- |\n| `type` | `OTAA` | appKey, AppEUI (LW 1.0.3-) / JoinEUI (LW 1.0.4+) |\n| `type` | `ABP` | appSKey, nwkSKey, devaddr |\n\n_Note: There are also_ **not** _specific keyword always required described below_\n\nDetails:\n\n- The Request contains a body that should have the parameters listed below in the `Properties` table\n    \n- The possible responses are listed in the section on the right\n    \n\n# Schema\n\n```\n\"standard\": {\n  \"type\": \"object\",\n  \"properties\": {\n    \"appid\": {\n      \"type\": \"integer\",\n      \"minimum\": 1,\n      \"maximum\": 9007199254740991,\n      \"description\": \"Identify the application associated to this device\"\n    },\n    \"deveui\": {\n      \"type\": \"string\",\n      \"pattern\": \"^[a-f0-9]{16}$\",\n      \"description\": \"Is a global end-device ID that uniquely identifies the end-device\"\n    },\n    \"firmware\": {\n      \"type\": \"string\",\n      \"minLength\": 1,\n      \"maxLength\": 255,\n      \"description\": \"Current firmware version present in the device\"\n    },\n    \"label\": {\n      \"type\": [\n        \"number\",\n        \"string\"\n      ],\n      \"minLength\": 1,\n      \"maxLength\": 255,\n      \"description\": \"The label is a field used to describe this end-device\",\n      \"pattern\": \"^[^,;.:?!/]{1,}$\"\n    },\n    \"alt\": {\n      \"type\": \"number\",\n      \"minimum\": -7000,\n      \"maximum\": 7000,\n      \"description\": \"Altitude location of the device [m]\"\n    },\n    \"lat\": {\n      \"type\": \"number\",\n      \"minimum\": -90,\n      \"maximum\": 90,\n      \"description\": \"Latitude location of the device [°]\"\n    },\n    \"lng\": {\n      \"type\": \"number\",\n      \"minimum\": -180,\n      \"maximum\": 180,\n      \"description\": \"Longitude location of the device [°]\"\n    },\n    \"model\": {\n      \"type\": \"string\",\n      \"minLength\": 1,\n      \"maxLength\": 255,\n      \"description\": \"Describes the end-device model\"\n    },\n    \"serial\": {\n      \"type\": \"string\",\n      \"minLength\": 1,\n      \"maxLength\": 255,\n      \"description\": \"Serial number of the device\"\n    },\n    \"DeviceProfileId\": {\n      \"type\": \"integer\",\n      \"minimum\": 1,\n      \"description\": \"Id of the device profile associated to this device\"\n    },\n    \"type\": {\n      \"type\": \"string\",\n      \"enum\": [\n        \"ABP\",\n        \"OTAA\"\n      ],\n      \"description\": \"Identifies if a device is ABP or OTAA\"\n    },\n    \"appKey\": {\n      \"type\": \"string\",\n      \"pattern\": \"^[a-f0-9]{32}$\",\n      \"description\": \"Application Key is an AES-128 root key used to derive the session keys\"\n    },\n    \"appeui\": {\n      \"type\": \"string\",\n      \"pattern\": \"^[a-f0-9]{16}$\",\n      \"description\": \"Uniquely identifies the entity able to process the JoinReq frame\"\n    },\n    \"devaddr\": {\n      \"type\": \"string\",\n      \"pattern\": \"^[0-9a-f]{8}$\",\n      \"description\": \"Identifies the device in the current network\"\n    },\n    \"appSKey\": {\n      \"type\": \"string\",\n      \"pattern\": \"^[a-f0-9]{32}$\",\n      \"description\": \"Application Session Key used to encrypt and decrypt the applciation payload\"\n    },\n    \"nwkSKey\": {\n      \"type\": \"string\",\n      \"pattern\": \"^[a-f0-9]{32}$\",\n      \"description\": \"Network Session Key used to ensure data integrity on the complete LoRaWAN frame\"\n    }\n  },\n  \"if\": {\n    \"properties\": {\n      \"type\": {\n        \"const\": \"ABP\"\n      }\n    },\n    \"required\": [\n      \"type\"\n    ]\n  },\n  \"then\": {\n    \"required\": [\n      \"devaddr\",\n      \"appSKey\",\n      \"nwkSKey\"\n    ],\n    \"not\": {\n      \"required\": [\n        \"appKey\",\n        \"appeui\"\n      ]\n    }\n  },\n  \"else\": {\n    \"if\": {\n      \"properties\": {\n        \"type\": {\n          \"const\": \"OTAA\"\n        }\n      },\n      \"required\": [\n        \"type\"\n      ]\n    },\n    \"then\": {\n      \"required\": [\n        \"appKey\",\n        \"appeui\"\n      ],\n      \"not\": {\n        \"required\": [\n          \"appSKey\",\n          \"nwkSKey\",\n          \"devaddr\"\n        ]\n      }\n    }\n  },\n  \"required\": [\n    \"appid\",\n    \"DeviceProfileId\",\n    \"deveui\",\n    \"label\",\n    \"type\"\n  ],\n  \"additionalProperties\": false\n}\n\n ```\n\n# Properties\n\n| Property | Type | Required | Nullable | Defined by |\n| --- | --- | --- | --- | --- |\n| [appid](#appid) | `integer` | **Required** | No | (this schema) |\n| [DeviceProfileId](#deviceprofileid) | `integer` | **Required** | No | (this schema) |\n| [alt](#alt) | `number` | Optional | No | (this schema) |\n| [appKey](#appkey) | `string` | Optional | No | (this schema) |\n| [appSKey](#appskey) | `string` | Optional | No | (this schema) |\n| [appeui](#appeui) | `string` | Optional | No | (this schema) |\n| [devaddr](#devaddr) | `string` | Optional | No | (this schema) |\n| [deveui](#deveui) | `string` | **Required** | No | (this schema) |\n| [firmware](#firmware) | `string` | Optional | No | (this schema) |\n| [joineui](#joineui) | `string` | Optional | No | (this schema) |\n| [label](#label) | `string` | **Required** | No | (this schema) |\n| [lat](#lat) | `number` | Optional | No | (this schema) |\n| [lng](#lng) | `number` | Optional | No | (this schema) |\n| [model](#model) | `string` | Optional | No | (this schema) |\n| [nwkSKey](#nwkskey) | `string` | Optional | No | (this schema) |\n| [serial](#serial) | `string` | Optional | No | (this schema) |\n| [type](#type) | `enum` | **Required** | No | (this schema) |\n\n## appid\n\nIdentifies the application associated to this device\n\n`appid`\n\n- is **required**\n    \n- type: `integer`\n    \n- defined in this schema\n    \n\n### ApplicationId Type\n\n`integer`\n\n- minimum value: `1`\n    \n\n## DeviceProfileId\n\nId of the device profile associated to this device\n\n`DeviceProfileId`\n\n- is **required**\n    \n- type: `integer`\n    \n- defined in this schema\n    \n\n### DeviceProfileId Type\n\n`integer`\n\n- minimum value: `1`\n    \n\n## alt\n\nAltitude location of the device \\[m\\]\n\n`alt`\n\n- is optional\n    \n- type: `number`\n    \n- defined in this schema\n    \n\n### alt Type\n\n`number`\n\n- minimum value: `-7000`\n    \n- maximum value: `7000`\n    \n\n## appKey\n\nApplication Key is an AES-128 root key used to derive the session keys\n\n`appKey`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### appKey Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples  \n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B32%7D%24)):\n\n``` regex\n^[a-f0-9]{32}$\n\n ```\n\n## appSKey\n\nApplication Session Key used to encrypt and decrypt the applciation payload\n\n`appSKey`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### appSKey Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples  \n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B32%7D%24)):\n\n``` regex\n^[a-f0-9]{32}$\n\n ```\n\n## appeui\n\nUniquely identifies the entity able to process the JoinReq frame(LW1.0.3-)\n\n`appeui`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### appeui Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples  \n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B16%7D%24)):\n\n``` regex\n^[a-f0-9]{16}$\n\n ```\n\n## devaddr\n\nIdentifies the device in the current network\n\n`devaddr`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### devaddr Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples  \n[here](https://regexr.com/?expression=%5E%5B0-9a-f%5D%7B8%7D%24)):\n\n``` regex\n^[0-9a-f]{8}$\n\n ```\n\n## deveui\n\nIs a global end-device ID that uniquely identifies the end-device\n\n`deveui`\n\n- is **required**\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### deveui Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples  \n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B16%7D%24)):\n\n``` regex\n^[a-f0-9]{16}$\n\n ```\n\n## firmware\n\nCurrent firmware version present in the device\n\n`firmware`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### firmware Type\n\n`string`\n\n- minimum length: 1 characters\n    \n- maximum length: 255 characters\n    \n\n## joineui\n\nUniquely identifies the entity able to process the JoinReq frame (LW1.0.4+)\n\n`joineui`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### joineui Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples  \n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B16%7D%24)):\n\n``` regex\n^[a-f0-9]{16}$\n\n ```\n\n## label\n\nThe label is a field used to describe this end-device\n\n`label`\n\n- is **required**\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### label Type\n\n`string`\n\n- minimum length: 1 characters\n    \n- maximum length: 255 characters\n    \n\n## lat\n\nLatitude location of the device \\[°\\]\n\n`lat`\n\n- is optional\n    \n- type: `number`\n    \n- defined in this schema\n    \n\n### lat Type\n\n`number`\n\n- minimum value: `-90`\n    \n- maximum value: `90`\n    \n\n## lng\n\nLongitude location of the device \\[°\\]\n\n`lng`\n\n- is optional\n    \n- type: `number`\n    \n- defined in this schema\n    \n\n### lng Type\n\n`number`\n\n- minimum value: `-180`\n    \n- maximum value: `180`\n    \n\n## model\n\nThe model describes the end-device model\n\n`model`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### model Type\n\n`string`\n\n- minimum length: 1 characters\n    \n- maximum length: 255 characters\n    \n\n## nwkSKey\n\nNetwork Session Key used to ensure data integrity on the complete LoRaWAN frame\n\n`nwkSKey`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### nwkSKey Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples  \n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B32%7D%24)):\n\n``` regex\n^[a-f0-9]{32}$\n\n ```\n\n## serial\n\nSerial number of the device\n\n`serial`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### serial Type\n\n`string`\n\n- minimum length: 1 characters\n    \n- maximum length: 255 characters\n    \n\n## type\n\nIdentifies if a device is ABP or OTAA\n\n`type`\n\n- is **required**\n    \n- type: `enum`\n    \n- defined in this schema\n    \n\nThe value of this property **must** be equal to one of the [known values below](#type-known-values).\n\n### type Known Values\n\n| Value | Description |\n| --- | --- |\n| `ABP` | Activation-By-Personalization |\n| `OTAA` | Over-The-Air-Activation |"},"response":[{"id":"d6159bf4-6b92-4daa-ba1a-ab74d6da2a25","name":"200 - Success (OTAA)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"appid\": {{appid}},\n\t\"DeviceProfileId\": {{DeviceProfileId}},\n\t\"deveui\": \"{{deveui}}\",\n\t\"label\":\"{{label}}\",\n\t\"type\": \"{{type}}\",\n\t\"appKey\": \"{{appkey}}\",\n\t\"appeui\": \"{{appeui}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 14:07:41 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"426"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"1aa-DQdhgwQpz1cFGIBcCSL+obILhjU\""}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 51,\n    \"label\": \"Device 00000000000000aa\",\n    \"type\": \"OTAA\",\n    \"deveui\": \"00000000000000aa\",\n    \"appKey\": \"000000000000000000000000000000aa\",\n    \"appeui\": \"00000000000000aa\",\n    \"UserId\": 12,\n    \"appid\": 1,\n    \"DeviceProfileId\": 2,\n    \"status\": {\n        \"activated\": false,\n        \"currentClass\": \"A\",\n        \"airtime\": 0\n    },\n    \"model\": null,\n    \"serial\": null,\n    \"firmware\": null,\n    \"position\": {\n        \"lat\": null,\n        \"lng\": null,\n        \"alt\": null\n    },\n    \"createdAt\": \"2023-05-31T14:07:41.093Z\",\n    \"updatedAt\": \"2023-05-31T14:07:41.093Z\"\n}"},{"id":"0b15b86a-bc2f-4d11-bdb9-cf8e8a64f863","name":"200 -Success (ABP)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"appid\": {{appid}},\n\t\"DeviceProfileId\": {{DeviceProfileId}},\n\t\"deveui\": \"{{deveui}}\",\n\t\"label\":\"{{label}}\",\n\t\"type\": \"{{type}}\",\n    \"devaddr\": \"{{devaddr}}\",\n    \"appSKey\": \"{{appSKey}}\",\n    \"nwkSKey\": \"{{nwkSKey}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device"},"status":"Created","code":201,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 14:31:39 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"484"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"1e4-mF8y0Y2hEPZzubcbFNaM71UEKSQ\""}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": 52,\n    \"label\": \"Device 00000000000000bb\",\n    \"type\": \"ABP\",\n    \"deveui\": \"00000000000000bb\",\n    \"devaddr\": \"000000bb\",\n    \"appSKey\": \"000000000000000000000000000000bb\",\n    \"nwkSKey\": \"000000000000000000000000000000bb\",\n    \"UserId\": 12,\n    \"appid\": 1,\n    \"DeviceProfileId\": 2,\n    \"status\": {\n        \"activated\": true,\n        \"devaddr\": \"000000bb\",\n        \"currentClass\": \"A\",\n        \"airtime\": 0\n    },\n    \"model\": null,\n    \"serial\": null,\n    \"firmware\": null,\n    \"position\": {\n        \"lat\": null,\n        \"lng\": null,\n        \"alt\": null\n    },\n    \"createdAt\": \"2023-05-31T14:31:39.317Z\",\n    \"updatedAt\": \"2023-05-31T14:31:39.317Z\"\n}"},{"id":"887aa7e6-406d-442d-9385-c7a8340c2164","name":"403 - Max device","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"appid\": {{appid}},\n\t\"DeviceProfileId\": {{DeviceProfileId}},\n\t\"deveui\": \"{{deveui}}\",\n\t\"label\":\"{{label}}\",\n\t\"type\": \"{{type}}\",\n    \"devaddr\": \"{{devaddr}}\",\n    \"appSKey\": \"{{appSKey}}\",\n    \"nwkSKey\": \"{{nwkSKey}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 14:30:04 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"106"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"6a-ZqkwQrEhA2fE+YxykfIgzeSiHLc\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 403,\n    \"message\": \"the user foo can insert a maximum of 6 devices, at the moment he has inserted 6\"\n}"},{"id":"8df1495a-fabd-46a1-a8cf-09d9df8751b0","name":"400 - Device already exists","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"appid\": {{appid}},\n\t\"DeviceProfileId\": {{DeviceProfileId}},\n\t\"deveui\": \"{{deveui}}\",\n\t\"label\":\"{{label}}\",\n\t\"type\": \"{{type}}\",\n\t\"appKey\": \"{{appkey}}\",\n\t\"appeui\": \"{{appeui}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 14:33:55 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"48"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"30-hZ2ztK9xzGZLj8cwx9+15TJrnAM\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"Device already exists\"\n}"},{"id":"c698f17e-46e6-4a9b-aab4-8bff63ae73c6","name":"400 - missing required param","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"appid\": {{appid}},\n\t\"DeviceProfileId\": {{DeviceProfileId}},\n\t\"label\":\"{{label}}\",\n\t\"type\": \"{{type}}\",\n\t\"appKey\": \"{{appkey}}\",\n\t\"appeui\": \"{{appeui}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 14:34:40 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"48-U4c5Ec9/vbCpULPf4qt5mVfuFEk\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params should have required property 'deveui'\"\n}"},{"id":"15ffd360-4449-4cc1-9cee-ee1ccf85118d","name":"400 - params.deveui should be string","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"appid\": {{appid}},\n\t\"DeviceProfileId\": {{DeviceProfileId}},\n\t\"deveui\": 1,\n\t\"label\":\"{{label}}\",\n\t\"type\": \"{{type}}\",\n\t\"appKey\": \"{{appkey}}\",\n\t\"appeui\": \"{{appeui}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 14:35:13 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"57"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"39-eLwh4ddGAnzS07/ssIpAJwLqfn0\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.deveui should be string\"\n}"}],"_postman_id":"e19c36a5-eb99-42bd-b100-eb158a14da20"},{"name":"Update Device Information","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"ce441e05-328a-45af-8ee1-9e5f5bb27412","exec":["pm.environment.set(\"deveui\", '1234567890abcdef');"],"type":"text/javascript","packages":{}}}],"id":"48c1ad1d-e15a-42c0-9d46-ccc8dde4e929","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\":\"{{new-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}","description":"This API allows to update the information of the own device identified by `{{deveui}}`, where `deveui` is a unique identifier consisting of the device’s `deveui` (a 16-character hexadecimal).\n\nFor example, for deveui `1122334455667788` the URL will be `/api/v2/device/deveui-1122334455667788`\n\nThis API requires at least a property to update. All the properties are optional but at least one is required.\n\nFor example you can change model or DeviceProfileId.\n\nBased on `type=[ABP, OTAA]` or `Key` update, there are additional required properties:\n\n| Property | Type | Required Keyword |\n| --- | --- | --- |\n| `type` | `OTAA` | appKey, appeui |\n| `type` | `ABP` | appSKey, nwkSKey, devaddr |\n\nExaustive description is written in the following rows.\n\nDetails:\n\n- The Request contains a body that should have the parameters listed below in the `Properties` table\n    \n- If `type` is updated from `OTAA` to `ABP` (or vice-versa), there are other required information listed in the table on top\n    \n- You need to set all the `Required Keyword` if you update only a single `properties` as written in the table on top. e.g if you update `appkey` you need to pass `appeui` and `type=\"OTAA\"`\n    \n\n# Schema\n\n```\n{\n        \"type\": \"object\",\n        \"properties\": {\n            \"appid\": {\n                \"type\": \"integer\",\n                \"minimum\": 1,\n                \"maximum\": 9007199254740991,\n                \"description\": \"Identify the application associated to this device\"\n            },\n            \"firmware\": {\n                \"type\": \"string\",\n                \"minLength\": 1,\n                \"maxLength\": 255,\n                \"description\": \"Current firmware version present in the device\"\n            },\n            \"label\": {\n                \"type\": [\n                    \"number\",\n                    \"string\"\n                ],\n                \"minLength\": 1,\n                \"maxLength\": 255,\n                \"description\": \"The label is a field used to describe this end-device\",\n                \"pattern\": \"^[^,;.:?!/]{1,}$\"\n            },\n            \"alt\": {\n                \"type\": \"number\",\n                \"minimum\": -7000,\n                \"maximum\": 7000,\n                \"description\": \"Altitude location of the device [m]\"\n            },\n            \"lat\": {\n                \"type\": \"number\",\n                \"minimum\": -90,\n                \"maximum\": 90,\n                \"description\": \"Latiude location of the device [°]\"\n            },\n            \"lng\": {\n                \"type\": \"number\",\n                \"minimum\": -180,\n                \"maximum\": 180,\n                \"description\": \"Longitude location of the device [°]\"\n            },\n            \"model\": {\n                \"type\": \"string\",\n                \"minLength\": 1,\n                \"maxLength\": 255,\n                \"description\": \"The model describe the end-device model\"\n            },\n            \"serial\": {\n                \"type\": \"string\",\n                \"minLength\": 1,\n                \"maxLength\": 255,\n                \"description\": \"Serial number of the device\"\n            },\n            \"DeviceProfileId\": {\n                \"type\": \"integer\",\n                \"minimum\": 1,\n                \"description\": \"Id of the device profile associated to this device\"\n            },\n            \"type\": {\n                \"type\": \"string\",\n                \"enum\": [\n                    \"ABP\",\n                    \"OTAA\"\n                ],\n                \"description\": \"Identify if a device is ABP or OTAA\"\n            },\n            \"appKey\": {\n                \"type\": \"string\",\n                \"pattern\": \"^[a-f0-9]{32}$\",\n                \"description\": \"Application Key is an AES-128 root key used to derive the session keys\"\n            },\n            \"appeui\": {\n                \"type\": \"string\",\n                \"pattern\": \"^[a-f0-9]{16}$\",\n                \"description\": \"Uniquely identifies the entity able to process the JoinReq frame(LW1.0.3-)\"\n            },\n            \"devaddr\": {\n                \"type\": \"string\",\n                \"pattern\": \"^[0-9a-f]{8}$\",\n                \"description\": \"Identify the device in the current network\"\n            },\n            \"appSKey\": {\n                \"type\": \"string\",\n                \"pattern\": \"^[a-f0-9]{32}$\",\n                \"description\": \"Application Session Key used to encrypt and decrypt the applciation payload\"\n            },\n            \"nwkSKey\": {\n                \"type\": \"string\",\n                \"pattern\": \"^[a-f0-9]{32}$\",\n                \"description\": \"Network Session Key used to ensure data integrity on the complete LoRaWAN frame\"\n            }\n        },\n        \"anyOf\": [\n            {\n                \"required\": [\n                    \"appid\"\n                ]\n            },\n            {\n                \"required\": [\n                    \"DeviceProfileId\"\n                ]\n            },\n            {\n                \"required\": [\n                    \"serial\"\n                ]\n            },\n            {\n                \"required\": [\n                    \"model\"\n                ]\n            },\n            {\n                \"required\": [\n                    \"firmware\"\n                ]\n            },\n            {\n                \"required\": [\n                    \"lng\"\n                ]\n            },\n            {\n                \"required\": [\n                    \"lat\"\n                ]\n            },\n            {\n                \"required\": [\n                    \"alt\"\n                ]\n            },\n            {\n                \"required\": [\n                    \"label\"\n                ]\n            },\n            {\n                \"required\": [\n                    \"type\"\n                ]\n            }\n        ],\n        \"additionalProperties\": false\n    }\n\n ```\n\n# Properties\n\n| Property | Type | Required | Nullable | Defined by |\n| --- | --- | --- | --- | --- |\n| [appid](#appid) | `integer` | Optional | No | (this schema) |\n| [DeviceProfileId](#deviceprofileid) | `integer` | Optional | No | (this schema) |\n| [alt](#alt) | `number` | Optional | No | (this schema) |\n| [appKey](#appkey) | `string` | Optional | No | (this schema) |\n| [appSKey](#appskey) | `string` | Optional | No | (this schema) |\n| [appeui](#appeui) | `string` | Optional | No | (this schema) |\n| [devaddr](#devaddr) | `string` | Optional | No | (this schema) |\n| [firmware](#firmware) | `string` | Optional | No | (this schema) |\n| [joineui](#joineui) | `string` | Optional | No | (this schema) |\n| [label](#label) | `string` | Optional | No | (this schema) |\n| [lat](#lat) | `number` | Optional | No | (this schema) |\n| [lng](#lng) | `number` | Optional | No | (this schema) |\n| [model](#model) | `string` | Optional | No | (this schema) |\n| [nwkSKey](#nwkskey) | `string` | Optional | No | (this schema) |\n| [serial](#serial) | `string` | Optional | No | (this schema) |\n| [type](#type) | `enum` | Optional | No | (this schema) |\n\n## appid\n\nId of the application\n\n`appid`\n\n- is optional\n    \n- type: `integer`\n    \n- defined in this schema\n    \n\n## DeviceProfileId\n\nId of the device profile associated to this device\n\n`DeviceProfileId`\n\n- is optional\n    \n- type: `integer`\n    \n- defined in this schema\n    \n\n### DeviceProfileId Type\n\n`integer`\n\n- minimum value: `1`\n    \n\n## alt\n\nAltitude location of the device \\[m\\]\n\n`alt`\n\n- is optional\n    \n- type: `number`\n    \n- defined in this schema\n    \n\n### alt Type\n\n`number`\n\n- minimum value: `-7000`\n    \n- maximum value: `7000`\n    \n\n## appKey\n\nApplication Key is an AES-128 root key used to derive the session keys\n\n`appKey`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### appKey Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples  \n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B32%7D$)):\n\n``` regex\n^[a-f0-9]{32}$\n\n ```\n\n## appSKey\n\nApplication Session Key used to encrypt and decrypt the applciation payload\n\n`appSKey`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### appSKey Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples  \n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B32%7D$)):\n\n``` regex\n^[a-f0-9]{32}$\n\n ```\n\n## appeui\n\nUniquely identifies the entity able to process the JoinReq frame(LW1.0.3-)\n\n`appeui`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### appeui Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples  \n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B16%7D$)):\n\n``` regex\n^[a-f0-9]{16}$\n\n ```\n\n## devaddr\n\nIdentifies the device in the current network\n\n`devaddr`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### devaddr Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples  \n[here](https://regexr.com/?expression=%5E%5B0-9a-f%5D%7B8%7D$)):\n\n``` regex\n^[0-9a-f]{8}$\n\n ```\n\n## firmware\n\nCurrent firmware version present in the device\n\n`firmware`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### firmware Type\n\n`string`\n\n- minimum length: 1 characters\n    \n- maximum length: 255 characters\n    \n\n## joineui\n\nUniquely identifies the entity able to process the JoinReq frame (LW1.0.4+)\n\n`joineui`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### joineui Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples  \n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B16%7D$)):\n\n``` regex\n^[a-f0-9]{16}$\n\n ```\n\n## label\n\nThe label is a field used to describe this end-device\n\n`label`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### label Type\n\n`string`\n\n- minimum length: 1 characters\n    \n- maximum length: 255 characters\n    \n\n## lat\n\nLatitude location of the device \\[°\\]\n\n`lat`\n\n- is optional\n    \n- type: `number`\n    \n- defined in this schema\n    \n\n### lat Type\n\n`number`\n\n- minimum value: `-90`\n    \n- maximum value: `90`\n    \n\n## lng\n\nLongitude location of the device \\[°\\]\n\n`lng`\n\n- is optional\n    \n- type: `number`\n    \n- defined in this schema\n    \n\n### lng Type\n\n`number`\n\n- minimum value: `-180`\n    \n- maximum value: `180`\n    \n\n## model\n\nDescribes the end-device model\n\n`model`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### model Type\n\n`string`\n\n- minimum length: 1 characters\n    \n- maximum length: 255 characters\n    \n\n## nwkSKey\n\nNetwork Session Key used to ensure data integrity on the complete LoRaWAN frame\n\n`nwkSKey`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### nwkSKey Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples  \n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B32%7D$)):\n\n``` regex\n^[a-f0-9]{32}$\n\n ```\n\n## serial\n\nSerial number of the device\n\n`serial`\n\n- is optional\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### serial Type\n\n`string`\n\n- minimum length: 1 characters\n    \n- maximum length: 255 characters\n    \n\n## type\n\nIdentifies if a device is ABP or OTAA\n\n`type`\n\n- is optional\n    \n- type: `enum`\n    \n- defined in this schema\n    \n\nThe value of this property **must** be equal to one of the [known values below](#type-known-values).\n\n### type Known Values\n\n| Value | Description |\n| --- | --- |\n| `ABP` |  |\n| `OTAA` |  |"},"response":[{"id":"b9588adf-2e21-4d82-aea8-93fcbdaa6cb5","name":"204 - Success","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\":\"{{new-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}"},"status":"No Content","code":204,"_postman_previewlanguage":"plain","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 14:39:17 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"19f-HPrKaZt0WGc5UFQ1M9gXQKJpAz4\""}],"cookie":[],"responseTime":null,"body":null},{"id":"7b1c6578-44af-4019-b826-3d545782c638","name":"404 - Device not found","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\":\"{{new-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-9999999999999999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 14:40:03 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"bc3f9f7d-f039-45fc-ad7a-06142eb5cd83","name":"400 - wrong params filed","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\": \"\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-xxxxxxxxxxxxxxxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 14:41:06 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"135"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"87-ZAl4MH/dXMZkIhuzCtTCDLCcy6g\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.label should NOT be shorter than 1 characters, params.label should match pattern \\\"^[^,;.:?!/]{1,}$\\\"\"\n}"}],"_postman_id":"48c1ad1d-e15a-42c0-9d46-ccc8dde4e929"},{"name":"Remove Device","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"77774da1-1a35-4261-a1e6-47b00201f8d5","exec":["pm.environment.set(\"deveui\", '1234567890abcdef');"],"type":"text/javascript","packages":{}}}],"id":"32f806f1-0044-4373-a3fc-fdf478d1bdbf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}","description":"This API allows to delete an existing device and all the relationship with other users if the device is shared with some user.\n\nThe device to delete is passed in the URL using the `{{deveui}}` , where `deveui` is a unique identifier consisting of the device’s `deveui` (a 16-character hexadecimal).\n\nFor example, for deveui `1122334455667788` the URL will be `/api/v2/device/deveui-1122334455667788`\n\nExaustive description is written in the following rows.\n\nDetails:\n\n- No body in the request\n    \n- The device to delete is identified in the url by `{{deveui}}`\n    \n- If we delete a device, we delete also the relationship with all the other user. A friend user won't see anymore the device if we delete it"},"response":[{"id":"6550acdd-a6c8-4cf8-8952-9499cdc688e8","name":"204 - Success","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}"},"status":"No Content","code":204,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"40e23165-2608-476a-b07c-e83dd346f2fa","name":"404 - Device not found","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-9999999999999999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 14:43:31 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"7d738254-40d8-48e3-9eaa-eba7eb47c44c","name":"400 - wring param type","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-xxxxxxxxxxxxxxxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 14:44:37 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"}],"_postman_id":"32f806f1-0044-4373-a3fc-fdf478d1bdbf"}],"id":"95695f1c-38bd-412a-9d76-79be3f295680","_postman_id":"95695f1c-38bd-412a-9d76-79be3f295680"},{"name":"Device Move","item":[{"name":"Move Devices","id":"19aed5e6-b353-410f-870b-6d772402a330","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","value":null}]},"url":"{{protocol}}://{{host}}/api/v2/devices/csv","description":"This API moves the devices from one application to another.\n\nThe response will contain the result of the moved devices.\n\nThe request body parameters is provided in the `Properties` table.  \nAn example of a response is provided in the right-side section.\n\n# Properties\n\n| Property | Type | Required | Nullable | Defined by |\n| --- | --- | --- | --- | --- |\n| [file](#file) | `file` | **Required** | No |  |\n\n## file\n\nIt is a `csv` file providing the devices list.\n\n`file`\n\n\\* is **required**  \n\\* type: `file`\n\n### `CSV fields`\n\n| Property | type | description |\n| --- | --- | --- |\n| **did** | `integer` | `id` of the device you want to move |\n| **new_appid** | `integer` | destination `appid` |\n\n`csv` example:\n\n```\ndid,new_appid\n1,2\n2,2\n3,2\n4,3\n\n ```"},"response":[{"id":"005bc2fc-18c3-4a46-9b95-084284bbedff","name":"200 - Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer {{token}}","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","value":null}]},"url":"{{protocol}}://{{host}}/api/v2/devices/csv"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.1"},{"key":"Date","value":"Tue, 11 Oct 2022 07:45:59 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"93"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"5d-F2U22wMi2IxRD6p7MUCy0QvJrmg\""}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"devices\": [\n            1,\n            2,\n            3\n        ],\n        \"appid\": 2,\n        \"username\": \"foo\"\n    },\n    {\n        \"devices\": [\n            4\n        ],\n        \"appid\": 100,\n        \"username\": \"foo\"\n    }\n]"},{"id":"e1a3f57d-0372-4672-b3c0-352559d1a043","name":"400 - non-processable entity","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","value":null}]},"url":"{{protocol}}://{{host}}/api/v2/devices/csv"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 31 May 2023 14:47:14 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"49"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"31-GrF2V5X9T31VQYBwvMysDWLMXgY\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"non-processable entity\"\n}"}],"_postman_id":"19aed5e6-b353-410f-870b-6d772402a330"}],"id":"cca9e7d7-21f8-4c3c-84bd-c856d8524bc0","_postman_id":"cca9e7d7-21f8-4c3c-84bd-c856d8524bc0"},{"name":"Downlink","item":[{"name":"-DEPRECATED-","item":[{"name":"Downlink Queue List","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"c3b31470-221a-45ab-ab29-64abf511f883","exec":["pm.environment.set(\"did\", 1);"],"type":"text/javascript","packages":{}}}],"id":"813b6e82-2044-476b-8c11-6545ac0d6588","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/downlink-queue","description":"# \\[DEPRECATED\\]\n\n[new api version](#a626a661-0911-44d5-a3b0-f0755ac82258)\n\nThis API returns all the downlinks added in queue and not already sent to the device identified by `{{did}}` in the url, a unique ID of the device (integer number).\n\nThe available filters are:\n\n| Key | Value | Description |\n| --- | --- | --- |\n| id | {{id}} | Uniquely id that identifies a downlink for the device |\n| payload | {{payload}} | Payload to send by a downlink message |\n| port | {{port}} | LoRaWAN frame port to use for the downlink |\n| priority | {{priority}} | Priority used to define which message must be sent first |\n| confirmed | {{confirmed}} | Defines if the downlink may be confirmed (True) or unconfirmed (False) |\n| window | {{window}} | Receive window that will be used to send the downlink |\n\nSupported filtering is described in the `Common` section.\n\nDetails:\n\n- The device choosed to get the downlink queue is identified by the `{{did}}` in the URL.\n    \n- No body in the request\n    \n- The possible responses are listed in the section on the right"},"response":[{"id":"8e10a391-8b7e-47b1-a5a0-a176a08df823","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/downlink-queue"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [\n        {\n            \"confirmed\": false,\n            \"id\": 0,\n            \"payload\": \"02\",\n            \"port\": 1,\n            \"priority\": 0,\n            \"window\": \"BOTH\"\n        }\n    ],\n    \"size\": 1,\n    \"offset\": 0,\n    \"limit\": 20\n}"},{"id":"55e50f90-4788-45ce-904b-f9798927546d","name":"200 - Success (empty)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/downlink-queue"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:24:24 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"42"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2a-Jxn4v/jxq7/gSdYD/IJT5dQhSB8\""}],"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [],\n    \"size\": 0,\n    \"offset\": 0,\n    \"limit\": 20\n}"},{"id":"233a0c78-e991-4b98-99f3-469f7b301dbc","name":"404 - Device not found","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/999/downlink-queue"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:25:56 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"f8ae8b1f-35f9-4e97-b80b-d0137a1f8826","name":"400 - wrong param type","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/xxx/downlink-queue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:26:36 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"}],"_postman_id":"813b6e82-2044-476b-8c11-6545ac0d6588"},{"name":"Downlink Queue Shared By List","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"2e189969-fc53-4b79-b32b-f78dbabaccb0","exec":["pm.environment.set(\"did\", 1);"],"type":"text/javascript"}}],"id":"4d0c2127-6540-45e0-8c4e-65288b0481c2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/shared/by/downlink-queue","description":"# \\[DEPRECATED\\]\n\n[new api version](#57c03d77-eac6-4703-a16c-6f7b226d629f)\n\nThis API returns all the downlinks added in queue and not already sent to the device for a device that is shared by another account with us identified by `{{did}}` in the url, a unique ID of the device (integer number).\n\nDetails:\n\n- The device choosed to get the downlink queue is identified by the `{{did}}` in the URL.\n    \n- No body in the request\n    \n- The possible responses are listed in the section on the right"},"response":[{"id":"df55e0f9-1463-40f1-bdfd-23e2afa0d7fb","name":"200 - Success","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/shared/by/downlink-queue"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"rows\": [\n    {\n      \"confirmed\": false,\n      \"id\": 0,\n      \"payload\": \"02\",\n      \"port\": 1,\n      \"priority\": 0,\n      \"window\": \"BOTH\"\n    }\n  ],\n  \"size\": 1,\n  \"offset\": 0,\n  \"limit\": 20\n}"},{"id":"0536edc2-796b-41ec-8c1d-558d03a8b432","name":"200 - Success (empty)","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/shared/by/downlink-queue"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:24:24 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"42"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2a-Jxn4v/jxq7/gSdYD/IJT5dQhSB8\""}],"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [],\n    \"size\": 0,\n    \"offset\": 0,\n    \"limit\": 20\n}"},{"id":"450e3169-9ff9-401b-a1a8-aeb605ac190d","name":"404 - Device not found","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/999/shared/by/downlink-queue"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:28:27 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"597855c9-7525-4016-8c00-08d83449f8a8","name":"400 - wrong param type","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/xxx/shared/by/downlink-queue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:28:50 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"}],"_postman_id":"4d0c2127-6540-45e0-8c4e-65288b0481c2"},{"name":"Downlink","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"723e8a9d-3411-4826-b0da-d227d019a9fb","exec":["pm.environment.set(\"did\", 1);","pm.environment.set(\"port\", 1);","pm.environment.set(\"payload\", \"01\");"],"type":"text/javascript"}}],"id":"394fcc9e-e818-4ca1-aced-234fad6c8c60","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/downlink-queue","description":"# \\[DEPRECATED\\]\n\n[new api version](#0c549f06-d89b-44ed-9237-9ac958c29e73)\n\nThis API adds a new downlink in queue for a device. `{{did}}` is the unique ID of the device (integer number).\n\nThe reponse will contain the created object with the created downlink.\n\nExaustive description is written in the following rows.\n\nDetails:\n\n- The Request contains a body that should have the parameters listed below in the `Properties` table\n    \n- The possible responses are listed in the section on the right\n    \n\n# Schema\n\n```\n{\n    \"type\": \"object\",\n    \"properties\": {\n        \"window\": {\n            \"type\": \"string\",\n            \"enum\": [\n                \"RX1\",\n                \"RX2\",\n                \"BOTH\"\n            ],\n            \"description\": \"Select the RX window to send the downlink\"\n        },\n        \"port\": {\n            \"type\": \"integer\",\n            \"minimum\": 1,\n            \"maximum\": 255,\n            \"description\": \"LoRaWAN port\"\n        },\n        \"confirmed\": {\n            \"type\": \"boolean\",\n            \"description\": \"Set if the downlink is a LoRaWAN confirmed or unconfirmed message\"\n        },\n        \"priority\": {\n            \"type\": \"integer\",\n            \"minumum\": 0,\n            \"maximum\": 214748364,\n            \"description\": \"Set the downlink priority message\"\n        },\n        \"payload\": {\n            \"type\": \"string\",\n            \"pattern\": \"(^([a-fA-F0-9][a-fA-F0-9]){1,242})$\",\n            \"minLength\": 2,\n            \"maxLength\": 484,\n            \"description\": \"Is the message contents to send to the device\"\n        }\n    },\n    \"required\": [\n        \"port\",\n        \"payload\"\n    ],\n    \"additionalProperties\": false\n}\n\n ```\n\n# Properties\n\n| Property | Type | Required | Nullable | Defined by |\n| --- | --- | --- | --- | --- |\n| [confirmed](#confirmed) | `boolean` | Optional | No | (this schema) |\n| [payload](#payload) | `string` | **Required** | No | (this schema) |\n| [port](#port) | `integer` | **Required** | No | (this schema) |\n| [priority](#priority) | `integer` | Optional | No | (this schema) |\n| [window](#window) | `enum` | Optional | No | (this schema) |\n\n## confirmed\n\nSet if the downlink is a LoRaWAN confirmed or unconfirmed message\n\n`confirmed`\n\n- is optional\n    \n- type: `boolean`\n    \n- defined in this schema\n    \n\n### confirmed Type\n\n`boolean`\n\n## payload\n\nIs the message contents to send to the device\n\n`payload`\n\n- is **required**\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### payload Type\n\n`string`\n\n- minimum length: 2 characters\n    \n- maximum length: 484 characters All instances must conform to this regular expression (test examples  \n    [here](https://regexr.com/?expression=(%5E(%5Ba-fA-F0-9%5D%5Ba-fA-F0-9%5D)%7B1%2C242%7D)%24)):\n    \n\n``` regex\n(^([a-fA-F0-9][a-fA-F0-9]){1,242})$\n\n ```\n\n## port\n\nLoRaWAN port\n\n`port`\n\n- is **required**\n    \n- type: `integer`\n    \n- defined in this schema\n    \n\n### port Type\n\n`integer`\n\n- minimum value: `1`\n    \n- maximum value: `255`\n    \n\n## priority\n\nSet the downlink priority message\n\n`priority`\n\n- is optional\n    \n- type: `integer`\n    \n- defined in this schema\n    \n\n### priority Type\n\n`integer`\n\n- maximum value: `214748364`\n    \n\n## window\n\nSelect the RX window to send the downlink\n\n`window`\n\n- is optional\n    \n- type: `enum`\n    \n- defined in this schema\n    \n\nThe value of this property **must** be equal to one of the [known values below](#window-known-values).\n\n### window Known Values\n\n| Value | Description |\n| --- | --- |\n| `RX1` |  |\n| `RX2` |  |\n| `BOTH` |  |"},"response":[{"id":"0989a9a5-901a-4d4d-bbdd-08b676c59da2","name":"200 - Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/downlink-queue"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:30:35 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"79"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"4f-q8haa6vntbbSavbWsdM2z8xPsbI\""}],"cookie":[],"responseTime":null,"body":"{\n    \"confirmed\": false,\n    \"id\": 0,\n    \"payload\": \"01\",\n    \"port\": 1,\n    \"priority\": 0,\n    \"window\": \"BOTH\"\n}"},{"id":"5836f917-013c-4bc5-bc17-2ec34e7f53a1","name":"400 - Maximum queue size reached","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/downlink-queue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:31:55 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"58"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"3a-GQ5P+JGY9KYI2vS6Qwq4OfJ46iw\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"Maximum queue size reached (12)\"\n}"},{"id":"1a646a88-2009-4451-92d9-14b8d422778d","name":"400 - wrong param type","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"port\": \"xxx\",\n\t\"payload\": \"{{payload}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/downlink-queue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:32:46 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"38-HbEegKF9UMxcdf05TAASVEFqz2A\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.port should be integer\"\n}"},{"id":"bb6266e0-d571-473b-9551-2a7c68bef3a1","name":"400 - Missing param","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"payload\": \"{{payload}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/downlink-queue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:33:23 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"70"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"46-wYdAEmQXPPNHncWRTWWxzYsxnrs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params should have required property 'port'\"\n}"},{"id":"15b56a67-e371-40f3-92ea-148be346fbc0","name":"444 - device never communicated with the server","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/downlink-queue"},"status":"unknown","code":444,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:35:23 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"48-boRMClbdSZ+CRaVku/inh6u4f48\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 444,\n    \"message\": \"the device never communicated with the server\"\n}"}],"_postman_id":"394fcc9e-e818-4ca1-aced-234fad6c8c60"},{"name":"Downlink Shared By","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}}],"id":"317ada66-200a-4773-9bf7-2960453d0f6c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/shared/by/downlink-queue","description":"# \\[DEPRECATED\\]\n\n[new api version](#a4318565-0ce5-4390-9b13-4e339a3c63e2)\n\nThis API adds a new downlink in queue for a device that is shared with us from another user. `{{did}}` is the unique ID of the device (integer number).\n\nThe reponse will contain the created object with the created downlink.\n\nExaustive description is written in the following rows.\n\nDetails:\n\n- The Request contains a body that should have the parameters listed below in the `Properties` table\n    \n- The possible responses are listed in the section on the right\n    \n\n# Schema\n\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"window\": {\n      \"type\": \"string\",\n      \"enum\": [\n        \"RX1\",\n        \"RX2\",\n        \"BOTH\"\n      ],\n      \"description\": \"Select the RX window to send the downlink\"\n    },\n    \"port\": {\n      \"type\": \"integer\",\n      \"minimum\": 1,\n      \"maximum\": 255,\n      \"description\": \"LoRaWAN port\"\n    },\n    \"confirmed\": {\n      \"type\": \"boolean\",\n      \"description\": \"Set if the downlink is a LoRaWAN confirmed or unconfirmed message\"\n    },\n    \"payload\": {\n      \"type\": \"string\",\n      \"pattern\": \"(^([a-fA-F0-9][a-fA-F0-9]){1,242})$\",\n      \"minLength\": 2,\n      \"maxLength\": 484,\n      \"description\": \"Is the message contents to send to the device\"\n    }\n  },\n  \"required\": [\n    \"port\",\n    \"payload\"\n  ],\n  \"additionalProperties\": false\n}\n\n ```\n\n# Properties\n\n| Property | Type | Required | Nullable | Defined by |\n| --- | --- | --- | --- | --- |\n| [confirmed](#confirmed) | `boolean` | Optional | No | (this schema) |\n| [payload](#payload) | `string` | **Required** | No | (this schema) |\n| [port](#port) | `integer` | **Required** | No | (this schema) |\n| [window](#window) | `enum` | Optional | No | (this schema) |\n\n## confirmed\n\nSet if the downlink is a LoRaWAN confirmed or unconfirmed message\n\n`confirmed`\n\n- is optional\n    \n- type: `boolean`\n    \n- defined in this schema\n    \n\n### confirmed Type\n\n`boolean`\n\n## payload\n\nIs the message contents to send to the device\n\n`payload`\n\n- is **required**\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### payload Type\n\n`string`\n\n- minimum length: 2 characters\n    \n- maximum length: 484 characters All instances must conform to this regular expression (test examples  \n    [here](https://regexr.com/?expression=(%5E(%5Ba-fA-F0-9%5D%5Ba-fA-F0-9%5D)%7B1%2C242%7D)%24)):\n    \n\n``` regex\n(^([a-fA-F0-9][a-fA-F0-9]){1,242})$\n\n ```\n\n## port\n\nLoRaWAN port\n\n`port`\n\n- is **required**\n    \n- type: `integer`\n    \n- defined in this schema\n    \n\n### port Type\n\n`integer`\n\n- minimum value: `1`\n    \n- maximum value: `255`\n    \n\n## window\n\nSelect the RX window to send the downlink\n\n`window`\n\n- is optional\n    \n- type: `enum`\n    \n- defined in this schema\n    \n\nThe value of this property **must** be equal to one of the [known values below](#window-known-values).\n\n### window Known Values\n\n| Value | Description |\n| --- | --- |\n| `RX1` |  |\n| `RX2` |  |\n| `BOTH` |  |"},"response":[{"id":"03dd3a5f-1145-4840-95cf-10ca179dfa9a","name":"200 - Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/shared/by/downlink-queue"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"confirmed\": false,\n    \"id\": 0,\n    \"payload\": \"02\",\n    \"port\": 1,\n    \"priority\": 0,\n    \"window\": \"BOTH\"\n}"},{"id":"475e7a5a-e486-4187-bcc0-a212629c703d","name":"400 - Maximum queue size reached","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/shared/by/downlink-queue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:31:55 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"58"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"3a-GQ5P+JGY9KYI2vS6Qwq4OfJ46iw\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"Maximum queue size reached (12)\"\n}"},{"id":"de72663f-df78-40ad-bb96-14a8262273fb","name":"400 - wrong param type","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"port\": \"xxx\",\n\t\"payload\": \"{{payload}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/shared/by/downlink-queue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:32:46 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"38-HbEegKF9UMxcdf05TAASVEFqz2A\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.port should be integer\"\n}"},{"id":"fae01eb9-fe76-4fe6-89bb-ba6936907a6f","name":"400 - Missing param","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"payload\": \"{{payload}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/shared/by/downlink-queue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:33:23 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"70"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"46-wYdAEmQXPPNHncWRTWWxzYsxnrs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params should have required property 'port'\"\n}"},{"id":"6d29b26c-a8d4-4d13-b51b-764ed572d445","name":"444 - device never communicated with the server","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/shared/by/downlink-queue"},"status":"unknown","code":444,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:35:23 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"48-boRMClbdSZ+CRaVku/inh6u4f48\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 444,\n    \"message\": \"the device never communicated with the server\"\n}"}],"_postman_id":"317ada66-200a-4773-9bf7-2960453d0f6c"},{"name":"Downlink","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"b418c169-ac87-456d-ba5b-662d496fd24a","exec":["pm.environment.set(\"did\", 1);","pm.environment.set(\"dqid\", );"],"type":"text/javascript"}}],"id":"c030ddc1-6e7b-4a8d-992e-ac70877b0b83","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/downlink-queue/{{dqid}}","description":"# \\[DEPRECATED\\]\n\n[new api version](#c94463ec-bea1-4e2b-8343-0f52b6b026b8)\n\nThis API removes a single downlink message for a device owned by the current user.\n\nThe downlink message to delete is passed in the URL using the DownlinkQueueId as `{{dqid}}` and the device is identified by `{{did}}` the unique ID of the device (integer number).\n\nExaustive description is written in the following rows.\n\nDetails:\n\n- No body in the request\n    \n- The device associated to the downlink message to delete is identified in the url by `{{did}}`\n    \n- The downlink message to delete is identified in the url by `{{dqid}}`\n    \n- The possible responses are listed in the section on the right"},"response":[{"id":"0d9bad36-0d83-44c9-a94d-b280906ecc2a","name":"200 - Success","originalRequest":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/downlink-queue/{{dqid}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"confirmed\": false,\n    \"id\": 0,\n    \"payload\": \"01\",\n    \"port\": 1,\n    \"priority\": 0,\n    \"window\": \"BOTH\"\n}"},{"id":"6ee4c126-b88b-4a24-ade0-c9f9942a3cc9","name":"404 - Message not found","originalRequest":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/downlink-queue/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:40:44 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"44"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2c-37aL9nqtX5VUkUsix+FWG7coZUc\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Message not found\"\n}"},{"id":"2c3e3cde-431f-4bcc-ad12-77f83ccd78b9","name":"400 - wrong param type","originalRequest":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/downlink-queue/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:41:22 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"38-Pp0EO3CZD7CMTf3F2XZ26TYSHiw\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.dqid should be integer\"\n}"}],"_postman_id":"c030ddc1-6e7b-4a8d-992e-ac70877b0b83"},{"name":"Downlink Shared By","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}}],"id":"9bc03c33-24c4-405a-b275-469789f10a10","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/shared/by/downlink-queue/{{dqid}}","description":"# \\[DEPRECATED\\]\n\n[new api version](#4e258b56-2c2b-4450-9277-97efa945a69b)\n\nThis API removes a single downlink message for a device owned by the another user.\n\nThe downlink message to delete is passed in the URL using the DownlinkQueueId as `{{dqid}}` and the device is identified by `{{did}}` the unique ID of the device (integer number).\n\nExaustive description is written in the following rows.\n\nDetails:\n\n- No body in the request\n    \n- The device associated to the downlink message to delete is identified in the url by `{{did}}`\n    \n- The downlink message to delete is identified in the url by `{{dqid}}`\n    \n- The possible responses are listed in the section on the right"},"response":[{"id":"cec07e25-f290-48cd-841f-067c03d94b47","name":"200 - Success","originalRequest":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/shared/by/downlink-queue/{{dqid}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"confirmed\": false,\n    \"id\": 0,\n    \"payload\": \"02\",\n    \"port\": 1,\n    \"priority\": 0,\n    \"window\": \"BOTH\"\n}"},{"id":"4efc3967-38f7-42c8-9959-6fac89aca59e","name":"404 - Message not found","originalRequest":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/shared/by/downlink-queue/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:40:44 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"44"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2c-37aL9nqtX5VUkUsix+FWG7coZUc\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Message not found\"\n}"},{"id":"890f1874-a83b-4b33-84d6-7fa96c83eac9","name":"400 - wrong param type","originalRequest":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/shared/by/downlink-queue/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:41:22 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"38-Pp0EO3CZD7CMTf3F2XZ26TYSHiw\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.dqid should be integer\"\n}"}],"_postman_id":"9bc03c33-24c4-405a-b275-469789f10a10"}],"id":"ca21137f-c036-4aae-87f3-2a5a473524a6","_postman_id":"ca21137f-c036-4aae-87f3-2a5a473524a6"},{"name":"Downlink Queue List","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"c3b31470-221a-45ab-ab29-64abf511f883","exec":["pm.environment.set(\"did\", 1);"],"type":"text/javascript","packages":{}}}],"id":"a626a661-0911-44d5-a3b0-f0755ac82258","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/downlink-queue","description":"This API returns all the downlinks added in queue and not already sent to the device identified by `{{deveui}}` in the url, where `deveui` is a unique identifier consisting of the device’s `deveui` (a 16-character hexadecimal).\n\nFor example, for deveui `1122334455667788` the URL will be `/api/v2/device/deveui-1122334455667788/downlink-queue`\n\nThe available filters are:\n\n| Key | Value | Description |\n| --- | --- | --- |\n| id | {{id}} | Uniquely id that identifies a downlink for the device |\n| payload | {{payload}} | Payload to send by a downlink message |\n| port | {{port}} | LoRaWAN frame port to use for the downlink |\n| priority | {{priority}} | Priority used to define which message must be sent first |\n| confirmed | {{confirmed}} | Defines if the downlink may be confirmed (True) or unconfirmed (False) |\n| window | {{window}} | Receive window that will be used to send the downlink |\n\nSupported filtering is described in the `Common` section.\n\nDetails:\n\n- The device choosed to get the downlink queue is identified by the `{{deveui}}` in the URL.\n    \n- Body not requested."},"response":[{"id":"284c400d-6401-4285-8282-927692fdef52","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/downlink-queue"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [\n        {\n            \"confirmed\": false,\n            \"id\": 0,\n            \"payload\": \"02\",\n            \"port\": 1,\n            \"priority\": 0,\n            \"window\": \"BOTH\"\n        }\n    ],\n    \"size\": 1,\n    \"offset\": 0,\n    \"limit\": 20\n}"},{"id":"a4bc2f69-eedd-4e20-872d-f0dc4d166625","name":"200 - Success (empty)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/downlink-queue"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:24:24 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"42"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2a-Jxn4v/jxq7/gSdYD/IJT5dQhSB8\""}],"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [],\n    \"size\": 0,\n    \"offset\": 0,\n    \"limit\": 20\n}"},{"id":"b9918634-499b-442f-9ac8-92cb1f549716","name":"404 - Device not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-9999999999999999/downlink-queue"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:25:56 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"aa3ee9f1-22b0-41c5-8bc2-a3b6009dd58a","name":"400 - wrong param type","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-xxxxxxxxxxxxxxxx/downlink-queue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:26:36 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"}],"_postman_id":"a626a661-0911-44d5-a3b0-f0755ac82258"},{"name":"Downlink Queue Shared By List","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"2e189969-fc53-4b79-b32b-f78dbabaccb0","exec":["pm.environment.set(\"did\", 1);"],"type":"text/javascript","packages":{}}}],"id":"57c03d77-eac6-4703-a16c-6f7b226d629f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/shared/by/downlink-queue","description":"This API returns all the downlinks added in queue and not already sent to the device for a device that is shared by another account with us identified by `{{deveui}}` in the url, where `deveui` is a unique identifier consisting of the device’s `deveui` (a 16-character hexadecimal).\n\nFor example, for deveui `1122334455667788` the URL will be `/api/v2/device/deveui-1122334455667788/shared/by/downlink-queue`\n\nDetails:\n\n- The device choosed to get the downlink queue is identified by the `{{deveui}}` in the URL.\n    \n- Body not requested."},"response":[{"id":"1a8f5647-3b95-4697-9062-186137f1f23b","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/shared/by/downlink-queue"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"rows\": [\n    {\n      \"confirmed\": false,\n      \"id\": 0,\n      \"payload\": \"02\",\n      \"port\": 1,\n      \"priority\": 0,\n      \"window\": \"BOTH\"\n    }\n  ],\n  \"size\": 1,\n  \"offset\": 0,\n  \"limit\": 20\n}"},{"id":"d7721b54-7ef2-41da-a9d6-bf5ab4002f6e","name":"200 - Success (empty)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/shared/by/downlink-queue"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:24:24 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"42"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2a-Jxn4v/jxq7/gSdYD/IJT5dQhSB8\""}],"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [],\n    \"size\": 0,\n    \"offset\": 0,\n    \"limit\": 20\n}"},{"id":"20d14fdf-3d1c-44bd-a30a-b60406bdfd99","name":"404 - Device not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-9999999999999999/shared/by/downlink-queue"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:28:27 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"7db08590-3a81-42bb-a438-5a2a75ba0bbd","name":"400 - wrong param type","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-xxxxxxxxxxxxxxxx/shared/by/downlink-queue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:28:50 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"}],"_postman_id":"57c03d77-eac6-4703-a16c-6f7b226d629f"},{"name":"Downlink","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"723e8a9d-3411-4826-b0da-d227d019a9fb","exec":["pm.environment.set(\"deveui\", '1234567890abcdef');","pm.environment.set(\"port\", 1);","pm.environment.set(\"payload\", \"01\");"],"type":"text/javascript","packages":{}}}],"id":"0c549f06-d89b-44ed-9237-9ac958c29e73","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/downlink-queue","description":"This API adds a new downlink in queue for a device. `{{deveui}}` is a unique identifier consisting of the device’s `deveui` (a 16-character hexadecimal).\n\nFor example, for deveui `1122334455667788` the URL will be `/api/v2/device/deveui-1122334455667788/downlink-queue`\n\nDetails:\n\n- The Request contains a body that should have the parameters listed below in the `Properties` table.\n    \n\n# Schema\n\n```\n{\n    \"type\": \"object\",\n    \"properties\": {\n        \"window\": {\n            \"type\": \"string\",\n            \"enum\": [\n                \"RX1\",\n                \"RX2\",\n                \"BOTH\"\n            ],\n            \"description\": \"Select the RX window to send the downlink\"\n        },\n        \"port\": {\n            \"type\": \"integer\",\n            \"minimum\": 1,\n            \"maximum\": 255,\n            \"description\": \"LoRaWAN port\"\n        },\n        \"confirmed\": {\n            \"type\": \"boolean\",\n            \"description\": \"Set if the downlink is a LoRaWAN confirmed or unconfirmed message\"\n        },\n        \"priority\": {\n            \"type\": \"integer\",\n            \"minumum\": 0,\n            \"maximum\": 214748364,\n            \"description\": \"Set the downlink priority message\"\n        },\n        \"payload\": {\n            \"type\": \"string\",\n            \"pattern\": \"(^([a-fA-F0-9][a-fA-F0-9]){1,242})$\",\n            \"minLength\": 2,\n            \"maxLength\": 484,\n            \"description\": \"Is the message contents to send to the device\"\n        }\n    },\n    \"required\": [\n        \"port\",\n        \"payload\"\n    ],\n    \"additionalProperties\": false\n}\n\n ```\n\n# Properties\n\n| Property | Type | Required | Nullable | Defined by |\n| --- | --- | --- | --- | --- |\n| [confirmed](#confirmed) | `boolean` | Optional | No | (this schema) |\n| [payload](#payload) | `string` | **Required** | No | (this schema) |\n| [port](#port) | `integer` | **Required** | No | (this schema) |\n| [priority](#priority) | `integer` | Optional | No | (this schema) |\n| [window](#window) | `enum` | Optional | No | (this schema) |\n\n## confirmed\n\nSet if the downlink is a LoRaWAN confirmed or unconfirmed message\n\n`confirmed`\n\n- is optional\n    \n- type: `boolean`\n    \n- defined in this schema\n    \n\n### confirmed Type\n\n`boolean`\n\n## payload\n\nIs the message contents to send to the device\n\n`payload`\n\n- is **required**\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### payload Type\n\n`string`\n\n- minimum length: 2 characters\n    \n- maximum length: 484 characters All instances must conform to this regular expression (test examples  \n    [here](https://regexr.com/?expression=(%5E(%5Ba-fA-F0-9%5D%5Ba-fA-F0-9%5D)%7B1%2C242%7D)%24)):\n    \n\n``` regex\n(^([a-fA-F0-9][a-fA-F0-9]){1,242})$\n\n ```\n\n## port\n\nLoRaWAN port\n\n`port`\n\n- is **required**\n    \n- type: `integer`\n    \n- defined in this schema\n    \n\n### port Type\n\n`integer`\n\n- minimum value: `1`\n    \n- maximum value: `255`\n    \n\n## priority\n\nSet the downlink priority message\n\n`priority`\n\n- is optional\n    \n- type: `integer`\n    \n- defined in this schema\n    \n\n### priority Type\n\n`integer`\n\n- maximum value: `214748364`\n    \n\n## window\n\nSelect the RX window to send the downlink\n\n`window`\n\n- is optional\n    \n- type: `enum`\n    \n- defined in this schema\n    \n\nThe value of this property **must** be equal to one of the [known values below](#window-known-values).\n\n### window Known Values\n\n| Value | Description |\n| --- | --- |\n| `RX1` |  |\n| `RX2` |  |\n| `BOTH` |  |"},"response":[{"id":"670f8cec-61aa-4740-b915-97bf2e444b1c","name":"200 - Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/downlink-queue"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:30:35 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"79"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"4f-q8haa6vntbbSavbWsdM2z8xPsbI\""}],"cookie":[],"responseTime":null,"body":"{\n    \"confirmed\": false,\n    \"id\": 0,\n    \"payload\": \"01\",\n    \"port\": 1,\n    \"priority\": 0,\n    \"window\": \"BOTH\"\n}"},{"id":"abbe585c-c64c-405e-911e-e9db25a12545","name":"400 - Maximum queue size reached","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/downlink-queue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:31:55 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"58"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"3a-GQ5P+JGY9KYI2vS6Qwq4OfJ46iw\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"Maximum queue size reached (12)\"\n}"},{"id":"d61eca0d-5a89-4915-bf65-a66490f26929","name":"400 - wrong param type","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"port\": \"xxx\",\n\t\"payload\": \"{{payload}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/downlink-queue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:32:46 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"38-HbEegKF9UMxcdf05TAASVEFqz2A\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.port should be integer\"\n}"},{"id":"0c62059c-936f-41fe-866c-5c5cf21b8f4e","name":"400 - Missing param","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"payload\": \"{{payload}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/downlink-queue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:33:23 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"70"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"46-wYdAEmQXPPNHncWRTWWxzYsxnrs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params should have required property 'port'\"\n}"},{"id":"a4af3433-bd99-4045-8907-00ff6c4d7d25","name":"444 - device never communicated with the server","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/downlink-queue"},"status":"unknown","code":444,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:35:23 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"48-boRMClbdSZ+CRaVku/inh6u4f48\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 444,\n    \"message\": \"the device never communicated with the server\"\n}"}],"_postman_id":"0c549f06-d89b-44ed-9237-9ac958c29e73"},{"name":"Downlink Shared By","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript","packages":{}}}],"id":"a4318565-0ce5-4390-9b13-4e339a3c63e2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/shared/by/downlink-queue","description":"This API adds a new downlink in queue for a device that is shared with us from another user. `{{deveui}}` is a unique identifier consisting of the device’s `deveui` (a 16-character hexadecimal).\n\nFor example, for deveui `1122334455667788` the URL will be `/api/v2/device/deveui-1122334455667788/shared/by/downlink-queue`\n\nDetails:\n\n- The Request contains a body that should have the parameters listed below in the `Properties` table\n    \n\n# Schema\n\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"window\": {\n      \"type\": \"string\",\n      \"enum\": [\n        \"RX1\",\n        \"RX2\",\n        \"BOTH\"\n      ],\n      \"description\": \"Select the RX window to send the downlink\"\n    },\n    \"port\": {\n      \"type\": \"integer\",\n      \"minimum\": 1,\n      \"maximum\": 255,\n      \"description\": \"LoRaWAN port\"\n    },\n    \"confirmed\": {\n      \"type\": \"boolean\",\n      \"description\": \"Set if the downlink is a LoRaWAN confirmed or unconfirmed message\"\n    },\n    \"payload\": {\n      \"type\": \"string\",\n      \"pattern\": \"(^([a-fA-F0-9][a-fA-F0-9]){1,242})$\",\n      \"minLength\": 2,\n      \"maxLength\": 484,\n      \"description\": \"Is the message contents to send to the device\"\n    }\n  },\n  \"required\": [\n    \"port\",\n    \"payload\"\n  ],\n  \"additionalProperties\": false\n}\n\n ```\n\n# Properties\n\n| Property | Type | Required | Nullable | Defined by |\n| --- | --- | --- | --- | --- |\n| [confirmed](#confirmed) | `boolean` | Optional | No | (this schema) |\n| [payload](#payload) | `string` | **Required** | No | (this schema) |\n| [port](#port) | `integer` | **Required** | No | (this schema) |\n| [window](#window) | `enum` | Optional | No | (this schema) |\n\n## confirmed\n\nSet if the downlink is a LoRaWAN confirmed or unconfirmed message\n\n`confirmed`\n\n- is optional\n    \n- type: `boolean`\n    \n- defined in this schema\n    \n\n### confirmed Type\n\n`boolean`\n\n## payload\n\nIs the message contents to send to the device\n\n`payload`\n\n- is **required**\n    \n- type: `string`\n    \n- defined in this schema\n    \n\n### payload Type\n\n`string`\n\n- minimum length: 2 characters\n    \n- maximum length: 484 characters All instances must conform to this regular expression (test examples  \n    [here](https://regexr.com/?expression=(%5E(%5Ba-fA-F0-9%5D%5Ba-fA-F0-9%5D)%7B1%2C242%7D)%24)):\n    \n\n``` regex\n(^([a-fA-F0-9][a-fA-F0-9]){1,242})$\n\n ```\n\n## port\n\nLoRaWAN port\n\n`port`\n\n- is **required**\n    \n- type: `integer`\n    \n- defined in this schema\n    \n\n### port Type\n\n`integer`\n\n- minimum value: `1`\n    \n- maximum value: `255`\n    \n\n## window\n\nSelect the RX window to send the downlink\n\n`window`\n\n- is optional\n    \n- type: `enum`\n    \n- defined in this schema\n    \n\nThe value of this property **must** be equal to one of the [known values below](#window-known-values).\n\n### window Known Values\n\n| Value | Description |\n| --- | --- |\n| `RX1` |  |\n| `RX2` |  |\n| `BOTH` |  |"},"response":[{"id":"5bdfb46b-9a8d-4d3d-907a-9fa59648395a","name":"200 - Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/shared/by/downlink-queue"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"confirmed\": false,\n    \"id\": 0,\n    \"payload\": \"02\",\n    \"port\": 1,\n    \"priority\": 0,\n    \"window\": \"BOTH\"\n}"},{"id":"4352e995-fdc5-4c08-abaa-9e415fb00a1b","name":"400 - Maximum queue size reached","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/shared/by/downlink-queue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:31:55 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"58"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"3a-GQ5P+JGY9KYI2vS6Qwq4OfJ46iw\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"Maximum queue size reached (12)\"\n}"},{"id":"228e10b5-5888-492d-bf4b-c07c623c246e","name":"400 - wrong param type","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"port\": \"xxx\",\n\t\"payload\": \"{{payload}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/shared/by/downlink-queue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:32:46 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"38-HbEegKF9UMxcdf05TAASVEFqz2A\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.port should be integer\"\n}"},{"id":"796d0ba3-c859-4732-8294-c6eb8e6ed0d0","name":"400 - Missing param","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"payload\": \"{{payload}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/shared/by/downlink-queue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:33:23 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"70"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"46-wYdAEmQXPPNHncWRTWWxzYsxnrs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params should have required property 'port'\"\n}"},{"id":"0482cd48-9203-42b0-9f74-c09a6bbb900f","name":"444 - device never communicated with the server","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/shared/by/downlink-queue"},"status":"unknown","code":444,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:35:23 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"48-boRMClbdSZ+CRaVku/inh6u4f48\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 444,\n    \"message\": \"the device never communicated with the server\"\n}"}],"_postman_id":"a4318565-0ce5-4390-9b13-4e339a3c63e2"},{"name":"Downlink","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"b418c169-ac87-456d-ba5b-662d496fd24a","exec":["pm.environment.set(\"deveui\", '1234567890abcdef');","pm.environment.set(\"dqid\", );"],"type":"text/javascript","packages":{}}}],"id":"c94463ec-bea1-4e2b-8343-0f52b6b026b8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/downlink-queue/{{dqid}}","description":"This API removes a single downlink message for a device owned by the current user.\n\nThe downlink message to delete is passed in the URL using the DownlinkQueueId as `{{dqid}}` and the device is identified by `{{deveui}}` , where `deveui` is a unique identifier consisting of the device’s `deveui` (a 16-character hexadecimal).\n\nFor example, for deveui `1122334455667788` the URL will be `/api/v2/device/deveui-1122334455667788/downlink-queue/1`\n\nExaustive description is written in the following rows.\n\nDetails:\n\n- Body not requested.\n    \n- The device associated to the downlink message to delete is identified in the url by `{{deveui}}`\n    \n- The downlink message to delete is identified in the url by `{{dqid}}`"},"response":[{"id":"1c5014a2-43fc-4fc3-8ac3-a4b8049f5c48","name":"200 - Success","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/downlink-queue/{{dqid}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"confirmed\": false,\n    \"id\": 0,\n    \"payload\": \"01\",\n    \"port\": 1,\n    \"priority\": 0,\n    \"window\": \"BOTH\"\n}"},{"id":"e0f90853-86ab-40a2-8be8-4388ef9fa94a","name":"404 - Message not found","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/downlink-queue/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:40:44 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"44"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2c-37aL9nqtX5VUkUsix+FWG7coZUc\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Message not found\"\n}"},{"id":"72bf386a-cffa-4ecb-8963-fd9bf7f23e00","name":"400 - wrong param type","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/downlink-queue/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:41:22 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"38-Pp0EO3CZD7CMTf3F2XZ26TYSHiw\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.dqid should be integer\"\n}"}],"_postman_id":"c94463ec-bea1-4e2b-8343-0f52b6b026b8"},{"name":"Downlink Shared By","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript","packages":{}}}],"id":"4e258b56-2c2b-4450-9277-97efa945a69b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/shared/by/downlink-queue/{{dqid}}","description":"This API removes a single downlink message for a device owned by the another user.\n\nThe downlink message to delete is passed in the URL using the DownlinkQueueId as `{{dqid}}` and the device is identified by `{{deveui}}` , where `deveui` is a unique identifier consisting of the device’s `deveui` (a 16-character hexadecimal).\n\nFor example, for deveui `1122334455667788` the URL will be `/api/v2/device/deveui-1122334455667788/shared/by/downlink-queue/1`\n\nExaustive description is written in the following rows.\n\nDetails:\n\n- Body not requested.\n    \n- The device associated to the downlink message to delete is identified in the url by `{{deveui}}`\n    \n- The downlink message to delete is identified in the url by `{{dqid}}`"},"response":[{"id":"86fcfa81-cfbd-466b-a17b-1165580afc4a","name":"200 - Success","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/shared/by/downlink-queue/{{dqid}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"confirmed\": false,\n    \"id\": 0,\n    \"payload\": \"02\",\n    \"port\": 1,\n    \"priority\": 0,\n    \"window\": \"BOTH\"\n}"},{"id":"74d7f13b-3a0e-4eec-bcdd-78d7f4a63968","name":"404 - Message not found","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/shared/by/downlink-queue/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:40:44 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"44"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2c-37aL9nqtX5VUkUsix+FWG7coZUc\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Message not found\"\n}"},{"id":"8a9bf00a-731e-4469-97a1-d48686a81ab1","name":"400 - wrong param type","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/shared/by/downlink-queue/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:41:22 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"38-Pp0EO3CZD7CMTf3F2XZ26TYSHiw\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.dqid should be integer\"\n}"}],"_postman_id":"4e258b56-2c2b-4450-9277-97efa945a69b"}],"id":"7d621b9f-aa38-4ea4-9415-569e7b8f3292","_postman_id":"7d621b9f-aa38-4ea4-9415-569e7b8f3292"},{"name":"MAC Command","item":[{"name":"Device Status","item":[{"name":"Device Status","event":[{"listen":"prerequest","script":{"id":"51c53801-e14c-4832-95cf-e16e6f36d16c","exec":["pm.environment.set(\"deveui\", '1234567890abcdef');"],"type":"text/javascript","packages":{}}},{"listen":"test","script":{"id":"d083e5b7-0a43-4db6-a066-cb9cfbe3081f","exec":[""],"type":"text/javascript","packages":{}}}],"id":"9d7341b4-c9c6-4341-94c3-5555f13ff465","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/dev-status","description":"This API returns the status of a single device for the current user.\n\nThis commands return the information about battery level and margin of the demodulation SNR.\n\nDetails:\n\n- Body not requested."},"response":[{"id":"71e23783-e540-4811-8fd8-609940ee479f","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/dev-status"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:09:50 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"75"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"4b-VRF8YpswN2/0GEUleVqRBqJolq4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"sync\",\n    \"battery\": 26,\n    \"margin\": 31,\n    \"time\": \"2023-06-07T12:09:45.000Z\"\n}"},{"id":"7057ef31-64f8-45be-a9f6-4035d6df498a","name":"444 - device never communicated","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/dev-status"},"status":"unknown","code":444,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 11:53:53 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"48-boRMClbdSZ+CRaVku/inh6u4f48\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 444,\n    \"message\": \"the device never communicated with the server\"\n}"},{"id":"29326c6d-fce5-406e-966f-f173f89718e6","name":"404 - Device not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-9999999999999999/params/dev-status"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:10:31 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"0c9fd270-0362-41c3-85b6-52671de278e2","name":"400 - wrong param type","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-xxxxxxxxxxxxxxxx/params/dev-status"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:11:05 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"}],"_postman_id":"9d7341b4-c9c6-4341-94c3-5555f13ff465"},{"name":"Device Status Update","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"ffa08f3e-93f0-45ff-91b4-6397dcee5b08","exec":["pm.environment.set(\"deveui\", '1234567890abcdef');"],"type":"text/javascript","packages":{}}}],"id":"9ed9716c-4007-4c14-a936-af44d1bb043e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/dev-status","description":"Executing this request will enqueue the corresponding LoRa MAC command on the device downlink queue.\n\nAs soon as the device is reachable the request will be sent, and the corresponding MAC event will be published as soon as the device replies.\n\nFrom that moment, the status will be available only via GET Device Status request.\n\nThis commands return the information about battery level and margin of the demodulation SNR.\n\nDetails:\n\n- Body not requested."},"response":[{"id":"f2fdfcb7-fc0e-4e60-8c5c-a14e9e5b8294","name":"200 - Success","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/dev-status"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{}"},{"id":"83b10c5d-0c20-4724-ada5-4b7f11307ed2","name":"404 - Device not found","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-9999999999999999/params/dev-status"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:11:48 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"f9e8bf01-53b9-48d5-8faa-efbe08f8616c","name":"400 - wrong param type","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-xxxxxxxxxxxxxxxx/params/dev-status"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:12:12 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"e790d9db-d355-4f61-8e08-c4751ece7177","name":"409 - ABP device has not yet transmitted","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/dev-status"},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:19:42 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"70"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"46-GsdfZHxYqexW8HieX/4Myfub5BA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 409,\n    \"message\": \"The ABP device has not yet transmitted (15)\"\n}"}],"_postman_id":"9ed9716c-4007-4c14-a936-af44d1bb043e"}],"id":"d5e0714b-dd8a-4ea8-89d8-6ce34c232106","description":"Implementation of the LoRaWAN MAC command: ***DevStatusReq/Ans***","_postman_id":"d5e0714b-dd8a-4ea8-89d8-6ce34c232106"},{"name":"Duty Cycle","item":[{"name":"Duty Cycle","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"7e000a0c-b3b5-4262-8db1-fee27c6c13fe","exec":["pm.environment.set(\"deveui\", '1234567890abcdef');"],"type":"text/javascript","packages":{}}}],"id":"7bf69aaa-fa3c-438f-9391-00164fa605cc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/duty-cycle","description":"This API returns the duty cycle limitation for a device.\n\nDetails:\n\n- Body not requested."},"response":[{"id":"2736b522-5801-4128-8df8-dd623681f19d","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/duty-cycle"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:35:16 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"30"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"1e-pn6eejawD3ybMcYlYkxxP+xFO5s\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"sync\",\n    \"maxDCycle\": 7\n}"},{"id":"e49d0079-f180-481e-92af-cbfa76d507c9","name":"404 - Device not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-9999999999999999/params/duty-cycle"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:23:27 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"d9a3c789-bbd1-432a-bd43-5056510ad7e0","name":"400 - wrong param type","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-xxxxxxxxxxxxxxxx/params/duty-cycle"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:23:46 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"dd3b9c39-4433-42e0-adab-b19c066ee028","name":"444 - device never communicated","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/duty-cycle"},"status":"unknown","code":444,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:24:47 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"48-boRMClbdSZ+CRaVku/inh6u4f48\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 444,\n    \"message\": \"the device never communicated with the server\"\n}"}],"_postman_id":"7bf69aaa-fa3c-438f-9391-00164fa605cc"},{"name":"Duty Cycle Update","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"62335350-25ae-42db-8485-b7985b76ad2d","exec":["pm.environment.set(\"deveui\", '1234567890abcdef');","pm.environment.set(\"maxDCycle\", 7);"],"type":"text/javascript","packages":{}}}],"id":"6874c744-dd17-4f48-8d9d-6b7d4a10b937","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"maxDCycle\": {{maxDCycle}}\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/duty-cycle","description":"Set the maximum aggregated transmit duty cycle of a device.\n\nExecuting this request will enqueue the corresponding LoRa MAC command on the device downlink queue.\n\nAs soon as the device is reachable the request will be sent, and the corresponding MAC event will be published as soon as the device replies.\n\n# Schema\n\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"maxDCycle\": {\n      \"type\": \"integer\",\n      \"enum\": [\n        0,\n        1,\n        2,\n        3,\n        4,\n        5,\n        6,\n        7,\n        8,\n        9,\n        10,\n        11,\n        12,\n        13,\n        14,\n        15\n      ],\n      \"description\": \"Duty cycle limitation, on top of the one set by the regional regulation. The max end-device transmit duty cycle is 1/(2^{maxDCycle}\"\n    }\n  },\n  \"required\": [\n    \"maxDCycle\"\n  ],\n  \"additionalProperties\": false\n}\n\n ```\n\n# Properties\n\n| Property | Type | Required | Nullable | Defined by |\n| --- | --- | --- | --- | --- |\n| [maxDCycle](#maxdcycle) | `enum` | **Required** | No | (this schema) |\n\n## maxDCycle\n\nDuty cycle limitation, on top of the one set by the regional regulation. The max end-device transmit duty cycle is  \n1/(2^{maxDCycle}\n\n`maxDCycle`\n\n- is **required**\n    \n- type: `enum`\n    \n- defined in this schema\n    \n\nThe value of this property **must** be equal to one of the [known values below](#maxdcycle-known-values).\n\n### maxDCycle Known Values\n\n| Value | Description |\n| --- | --- |\n| `0` | No limitation |\n| `1` | Limit duty cycle to 1/(2^1) \\~= 50% \\~= 1800 s/h |\n| `2` | Limit duty cycle to 1/(2^2) \\~= 25% \\~= 900 s/h |\n| `3` | Limit duty cycle to 1/(2^3) \\~= 12.5% \\~= 450 s/h |\n| `4` | Limit duty cycle to 1/(2^4) \\~= 6.25% \\~= 225 s/h |\n| `5` | Limit duty cycle to 1/(2^5) \\~= 3.13% \\~= 112 s/h |\n| `6` | Limit duty cycle to 1/(2^6) \\~= 1.56% \\~= 56 s/h |\n| `7` | Limit duty cycle to 1/(2^7) \\~= 0.781% \\~= 28 s/h |\n| `8` | Limit duty cycle to 1/(2^8) \\~= 0.391% \\~= 14 s/h |\n| `9` | Limit duty cycle to 1/(2^9) \\~= 0.195% \\~= 7031 ms/h |\n| `10` | Limit duty cycle to 1/(2^10) \\~= 0.0977% \\~= 3516 ms/h |\n| `11` | Limit duty cycle to 1/(2^11) \\~= 0.0488% \\~= 1758 ms/h |\n| `12` | Limit duty cycle to 1/(2^12) \\~= 0.0244% \\~= 879 ms/h |\n| `13` | Limit duty cycle to 1/(2^13) \\~= 0.0122% \\~= 439 ms/h |\n| `14` | Limit duty cycle to 1/(2^14) \\~= 0.0061% \\~= 220 ms/h |\n| `15` | Limit duty cycle to 1/(2^15) \\~= 0.00305% \\~= 110 ms/h |"},"response":[{"id":"66447cee-d9ed-4a46-a7f6-96b1fc48ffb9","name":"200 - Success","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"maxDCycle\": {{maxDCycle}}\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/duty-cycle"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:29:49 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"15"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"f-mlUQcTvBGNjeKRb310/u9UjzrpY\""}],"cookie":[],"responseTime":null,"body":"{\n    \"maxDCycle\": 7\n}"},{"id":"245f30b3-d6b0-48c6-a31b-793751ed7fb6","name":"400 - missing param","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/duty-cycle"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:22:29 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"75"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"4b-FmDTxbevifoJBjgENwXMe2MYIz0\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params should have required property 'maxDCycle'\"\n}"},{"id":"cc84f8ee-2775-4255-bd5c-891509d66122","name":"404 - Device not found","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"maxDCycle\": {{maxDCycle}}\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-9999999999999999/params/duty-cycle"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:28:44 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"6b75d540-ebbb-43a4-a57f-15570299003e","name":"400 - wrong param type","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"maxDCycle\": {{maxDCycle}}\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-xxxxxxxxxxxxxxxx/params/duty-cycle"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:29:13 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"}],"_postman_id":"6874c744-dd17-4f48-8d9d-6b7d4a10b937"}],"id":"5736c976-62c7-49c6-8c37-26e591e3da79","description":"Implementation of the LoRaWAN MAC command: ***DutyCycleReq/Ans***","_postman_id":"5736c976-62c7-49c6-8c37-26e591e3da79"},{"name":"Reception Windows","item":[{"name":"Receive Windows Configuration","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"f48eddc0-7235-4b12-95a3-2c3539322a28","exec":["pm.environment.set(\"deveui\", '1234567890abcdef');"],"type":"text/javascript","packages":{}}}],"id":"acdde7f0-5fac-4958-9fc9-fb0eb7e56465","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/rx-param","description":"This API returns information about frequency and data rate set for RX2 on the device choosed in the URL by `{{deveui}}`, where `deveui` is a unique identifier consisting of the device’s `deveui` (a 16-character hexadecimal).\n\nThe reply contains information about frequency and data rate set for RX2.  \nMoreover we receive the data rate offset between the uplink and the RX1 on the device choosed in the URL by `{{deveui}}`.\n\nMAC command: LoRaWAN RXParamsSetupReq/Ans\n\nDetails:\n\n- Body not requested."},"response":[{"id":"59f600ef-471d-48cc-b5f2-7515757efaa7","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/rx-param"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:39:31 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"71"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"47-t7NvkZKudHb7iapDzS9F30gO4dg\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"sync\",\n    \"rx1DRoffset\": 0,\n    \"rx2DataRate\": 0,\n    \"rx2Frequency\": 8695250\n}"},{"id":"5db0c74e-e21b-4ce6-83bd-80e87cd7e2d7","name":"200 - Success (pending)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/rx-param"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:46:31 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"147"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"93-JuUdSnUNiJehZVIzj6LUa94nl2A\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"pending\",\n    \"rx1DRoffset\": 0,\n    \"rx2DataRate\": 0,\n    \"rx2Frequency\": 8695250,\n    \"pendingValues\": {\n        \"rx1DRoffset\": 0,\n        \"rx2DataRate\": 2,\n        \"rx2Frequency\": 8700000\n    }\n}"},{"id":"6d201305-5054-4b4c-93fe-a6c8d937755d","name":"200 - Success (sync)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/rx-param"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:48:39 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"71"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"47-dK8VoNfeQ75RunwCWVNc2GGRHjg\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"sync\",\n    \"rx1DRoffset\": 0,\n    \"rx2DataRate\": 2,\n    \"rx2Frequency\": 8700000\n}"},{"id":"32090bb2-bb69-4180-9d3f-1778d6e45c93","name":"404 - Device not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-9999999999999999/params/rx-param"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:40:40 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"304666e3-5002-48f5-89bb-83ca3004881d","name":"400 - wrong param type","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-xxxxxxxxxxxxxxxx/params/rx-param"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:40:58 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"5ab2f5ab-df10-49c4-8fcd-ec84bcb088d5","name":"444 - device never communicated","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/rx-param"},"status":"unknown","code":444,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:45:02 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"48-boRMClbdSZ+CRaVku/inh6u4f48\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 444,\n    \"message\": \"the device never communicated with the server\"\n}"}],"_postman_id":"acdde7f0-5fac-4958-9fc9-fb0eb7e56465"},{"name":"Receive Windows Update","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"a6212dd6-49ed-496a-921e-1077b2ae2b52","exec":["pm.environment.set(\"deveui\", '1234567890abcdef');","pm.environment.set(\"rx1DRoffset\", 0);","pm.environment.set(\"rx2DataRate\", 2);","pm.environment.set(\"rx2Frequency\", 870.0000);"],"type":"text/javascript","packages":{}}}],"id":"8898b46f-6551-4a24-bec6-8f89d65e391b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"rx1DRoffset\": {{rx1DRoffset}},\n  \"rx2DataRate\": {{rx2DataRate}},\n  \"rx2Frequency\": {{rx2Frequency}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/rx-param","description":"Set the maximum aggregated transmit duty cycle of a device.\n\nExecuting this request will enqueue the corresponding LoRa MAC command on the device downlink queue.\n\nAs soon as the device is reachable the request will be sent, and the corresponding MAC event will be published as soon as the device replies.\n\n# Schema\n\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"rx1DRoffset\": {\n      \"type\": \"integer\",\n      \"enum\": [\n        0,\n        1,\n        2,\n        3,\n        4,\n        5\n      ],\n      \"default\": 0,\n      \"description\": \"Offset between the uplink data rate and the downlink data rate used to communicate with the end-device on the first reception slot\"\n    },\n    \"rx2DataRate\": {\n      \"type\": \"integer\",\n      \"enum\": [\n        0,\n        1,\n        2,\n        3,\n        4,\n        5,\n        6\n      ],\n      \"default\": 0,\n      \"description\": \"Data rate of a downlink using the second receive window\"\n    },\n    \"rx2Frequency\": {\n      \"type\": \"number\",\n      \"minimum\": 100,\n      \"maximum\": 1670,\n      \"default\": 869.525,\n      \"description\": \"Frequency of the channel used for the second receive window [MHz]\"\n    }\n  },\n  \"required\": [\n    \"rx1DRoffset\",\n    \"rx2DataRate\",\n    \"rx2Frequency\"\n  ],\n  \"additionalProperties\": false\n}\n\n ```\n\n# Properties\n\n| Property | Type | Required | Nullable | Defined by |\n| --- | --- | --- | --- | --- |\n| [rx1DRoffset](#rx1droffset) | `enum` | **Required** | No | (this schema) |\n| [rx2DataRate](#rx2datarate) | `enum` | **Required** | No | (this schema) |\n| [rx2Frequency](#rx2frequency) | `number` | **Required** | No | (this schema) |\n\n## rx1DRoffset\n\nOffset between the uplink data rate and the downlink data rate used to communicate with the end-device on the first  \nreception slot\n\n`rx1DRoffset`\n\n- is **required**\n    \n- type: `enum`\n    \n- default: 0\n    \n- defined in this schema\n    \n\nThe value of this property **must** be equal to one of the [known values below](#rx1droffset-known-values).\n\n### rx1DRoffset Known Values\n\n| Value | Description |\n| --- | --- |\n| `0` |  |\n| `1` |  |\n| `2` |  |\n| `3` |  |\n| `4` |  |\n| `5` |  |\n\n## rx2DataRate\n\nData rate of a downlink using the second receive window\n\n`rx2DataRate`\n\n- is **required**\n    \n- type: `enum`\n    \n- default: 0\n    \n- defined in this schema\n    \n\nThe value of this property **must** be equal to one of the [known values below](#rx2datarate-known-values).\n\n### rx2DataRate Known Values\n\n| Value | Description |\n| --- | --- |\n| `0` | LoRa SF12 BW 125KHz |\n| `1` | LoRa SF11 BW 125KHz |\n| `2` | LoRa SF10 BW 125KHz |\n| `3` | LoRa SF9 BW 125KHz |\n| `4` | LoRa SF8 BW 125KHz |\n| `5` | LoRa SF7 BW 125KHz |\n| `6` | LoRa SF7 BW 250KHz |\n\n## rx2Frequency\n\nFrequency of the channel used for the second receive window \\[MHz\\].\n\n`rx2Frequency`\n\n- is **required**\n    \n- type: `number`\n    \n- default: 869.525\n    \n- defined in this schema\n    \n\n### rx2Frequency Type\n\n`number`\n\n- minimum value: `1`\n    \n- maximum value: `1670`"},"response":[{"id":"fb6057c7-ef06-4fb5-b8f6-c9e72042292d","name":"200 - Success","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"rx1DRoffset\": {{rx1DRoffset}},\n  \"rx2DataRate\": {{rx2DataRate}},\n  \"rx2Frequency\": {{rx2Frequency}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/rx-param"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:43:34 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"52"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"34-pMAMj0dnRstEXiYXjB7XPXeys0c\""}],"cookie":[],"responseTime":null,"body":"{\n    \"rx1DRoffset\": 0,\n    \"rx2DataRate\": 2,\n    \"rx2Frequency\": 870\n}"},{"id":"fec341c4-042f-463e-af36-3454dafa6c7d","name":"404 - Device not found","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"rx1DRoffset\": {{rx1DRoffset}},\n  \"rx2DataRate\": {{rx2DataRate}},\n  \"rx2Frequency\": {{rx2Frequency}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-9999999999999999/params/rx-param"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:44:10 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"24fc983f-107e-4221-9eea-b309c0695cdc","name":"400 - wrong param type","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"rx1DRoffset\": {{rx1DRoffset}},\n  \"rx2DataRate\": {{rx2DataRate}},\n  \"rx2Frequency\": {{rx2Frequency}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-xxxxxxxxxxxxxxxx/params/rx-param"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:44:29 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"42c220b9-c1f2-400a-9099-d67ea9b151b6","name":"409 - ABP device has not yet transmitted","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"rx1DRoffset\": {{rx1DRoffset}},\n  \"rx2DataRate\": {{rx2DataRate}},\n  \"rx2Frequency\": {{rx2Frequency}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/rx-param"},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:45:43 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"70"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"46-GsdfZHxYqexW8HieX/4Myfub5BA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 409,\n    \"message\": \"The ABP device has not yet transmitted (15)\"\n}"}],"_postman_id":"8898b46f-6551-4a24-bec6-8f89d65e391b"}],"id":"f6b0bba8-2ecf-433c-a2b9-fa178585f8ee","description":"Implementation of the LoRaWAN MAC command: ***DutyCycleReq/Ans***","_postman_id":"f6b0bba8-2ecf-433c-a2b9-fa178585f8ee"},{"name":"Reception Slot","item":[{"name":"Reception Slot","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"5b74ca32-e636-4ee7-a11f-076b2de0bab0","exec":["pm.environment.set(\"deveui\", '1234567890abcdef');"],"type":"text/javascript","packages":{}}}],"id":"df969169-2b88-479e-8194-b5873959c069","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/rx-timing","description":"This API returns the delay between the end of the TX uplink and the opening of the first reception slot in seconds on the device choosed in the URL by `{{deveui}}`, where `deveui` is a unique identifier consisting of the device’s `deveui` (a 16-character hexadecimal).\n\nDetails:\n\n- Body not requested."},"response":[{"id":"ea99c6bf-aa27-4f26-8d93-a3bb6cb7b479","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/rx-timing"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:50:08 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"29"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"1d-lwEvZR7OSGPnEZ53TLlM46R4GK0\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"sync\",\n    \"rx1Delay\": 0\n}"},{"id":"8f62e2bb-5ff7-44ed-a9ce-b2856570f97c","name":"200 - Success (pending)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/rx-timing"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:56:49 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"3f-+Rs4Shxv3gMrCUyRpADvSE1vD6o\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"pending\",\n    \"rx1Delay\": 0,\n    \"pendingValues\": {\n        \"rx1Delay\": 7\n    }\n}"},{"id":"3a4861f7-487d-4098-b2f6-5c00866398bb","name":"200 - Success (sync)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/rx-timing"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:57:56 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"29"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"1d-dXAsfyQqfOGUq+0nm7ZX58a3wE0\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"sync\",\n    \"rx1Delay\": 7\n}"},{"id":"f0767f75-5e4d-4590-9d32-1bc7b40744e4","name":"404 - Device not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-9999999999999999/params/rx-timing"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:51:10 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"ebd2d96e-534c-4e5c-b405-3373f61d4a79","name":"400 - wrong param type","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-xxxxxxxxxxxxxxxx/params/rx-timing"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:51:33 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"c5935ff0-25ee-42d6-ad66-7e0f0b25851c","name":"444 - device never communicated","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/rx-timing"},"status":"unknown","code":444,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:52:11 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"48-boRMClbdSZ+CRaVku/inh6u4f48\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 444,\n    \"message\": \"the device never communicated with the server\"\n}"}],"_postman_id":"df969169-2b88-479e-8194-b5873959c069"},{"name":"Reception Slot Update","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"70410555-0e05-4d6e-b697-9f60fc8556f1","exec":["pm.environment.set(\"deveui\", '1234567890abcdef');","pm.environment.set(\"rx1Delay\", 7);"],"type":"text/javascript","packages":{}}}],"id":"d56addf3-31da-474b-96df-2cb0b82ce352","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"rx1Delay\": {{rx1Delay}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/rx-timing","description":"This API set the delay between the end of the TX uplink and the opening of the first reception slot in seconds on the device choosed in the URL by `{{deveui}}`, where `deveui` is a unique identifier consisting of the device’s `deveui` (a 16-character hexadecimal).\n\nExecuting this request will enqueue the corresponding LoRaWAN MAC command on the device downlink queue (LoRaWAN ).\n\nAs soon as the device is reachable the request will be sent, and the corresponding MAC event will be published as soon as the device replies.\n\n# Schema\n\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"rx1Delay\": {\n      \"type\": \"integer\",\n      \"enum\": [\n        1,\n        2,\n        3,\n        4,\n        5,\n        6,\n        7,\n        8,\n        9,\n        10,\n        11,\n        12,\n        13,\n        14,\n        15\n      ],\n      \"description\": \"Delay between the end of the uplink transmission and the opening of the first reception slot [s]\"\n    }\n  },\n  \"required\": [\n    \"rx1Delay\"\n  ],\n  \"additionalProperties\": false\n}\n\n ```\n\n# Properties\n\n| Property | Type | Required | Nullable | Defined by |\n| --- | --- | --- | --- | --- |\n| [rx1Delay](#rx1delay) | `enum` | **Required** | No | (this schema) |\n\n## rx1Delay\n\nDelay between the end of the uplink transmission and the opening of the first reception slot \\[s\\]\n\n`rx1Delay`\n\n- is **required**\n    \n- type: `enum`\n    \n- defined in this schema\n    \n\nThe value of this property **must** be equal to one of the [known values below](#rx1delay-known-values)."},"response":[{"id":"1855fe57-9e18-4247-afb4-dc774abb77d4","name":"200 - Success","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"rx1Delay\": {{rx1Delay}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/rx-timing"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:54:30 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"14"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"e-mggAB15COUCwh2sreL6hecPA00w\""}],"cookie":[],"responseTime":null,"body":"{\n    \"rx1Delay\": 7\n}"},{"id":"12b94e4f-f91e-41ad-9d55-9ebdbcc10cd3","name":"404 - Device not found","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"rx1Delay\": {{rx1Delay}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-9999999999999999/params/rx-timing"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:58:43 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"8acb8fdb-7fac-498f-a124-53daa74e82cc","name":"400 - wrong param type","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"rx1Delay\": {{rx1Delay}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-xxxxxxxxxxxxxxxxx/params/rx-timing"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:59:00 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"2f74b690-fe88-49ec-bb4a-5723ffe39f5b","name":"409 - ABP device has not yet transmitted","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"rx1Delay\": {{rx1Delay}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/rx-timing"},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:59:52 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"70"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"46-GsdfZHxYqexW8HieX/4Myfub5BA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 409,\n    \"message\": \"The ABP device has not yet transmitted (15)\"\n}"}],"_postman_id":"d56addf3-31da-474b-96df-2cb0b82ce352"}],"id":"fb99ccce-d23e-4930-8ec2-e28fbceb3974","description":"Implementation of the LoRaWAN MAC command: ***RXTimeSetupReq/Ans***","_postman_id":"fb99ccce-d23e-4930-8ec2-e28fbceb3974"},{"name":"Ping Slot","item":[{"name":"Ping Slot","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"6f719d96-acc2-4327-8b17-526778f9357d","exec":["pm.environment.set(\"deveui\", '1234567890abcdef');"],"type":"text/javascript","packages":{}}}],"id":"8acee49d-0647-4542-95fb-b692a0b18ce5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/ping-slot-channel","description":"This API returns the class B parameters about the Ping Slot for the device choosed in the URL by `{{deveui}}`, where `deveui` is a unique identifier consisting of the device’s `deveui` (a 16-character hexadecimal).\n\nThis API is available only for devices that have a Device Profile that support class B.\n\nThe reply contains the ping slot frequency in MHz and the ping slot data rate\n\nDetails:\n\n- Body not requested"},"response":[{"id":"85aba96d-2afa-49b2-b818-f6979ac521a2","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/ping-slot-channel"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:05:13 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"16"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"10-V6/QhipC0w2Ka1ZttBFPcESmI2c\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"sync\"\n}"},{"id":"e40a3fc6-77cc-4e63-83a4-8223976f69d6","name":"200 - Success (pending)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/ping-slot-channel"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:35:06 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"109"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"6d-92XAwyBktnzF5GoedTIQEx9kEMU\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"pending\",\n    \"pingSlotDR\": 3,\n    \"pingSlotFreq\": 869.525,\n    \"pendingValues\": {\n        \"pingSlotDR\": 7,\n        \"pingSlotFreq\": 868\n    }\n}"},{"id":"4e262f2f-e89f-45bb-ae23-03253c46f1c7","name":"200 - Success (sync)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/ping-slot-channel"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:35:06 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"109"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"6d-92XAwyBktnzF5GoedTIQEx9kEMU\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"pending\",\n    \"pingSlotDR\": 7,\n    \"pingSlotFreq\": 868\n}"},{"id":"61c14347-cf78-4034-b81d-28b2ed1b9d48","name":"404 - Device not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-9999999999999999/params/ping-slot-channel"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:05:39 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"247021a8-2567-4bb2-b215-6153995e5da9","name":"400 - wrong param type","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-xxxxxxxxxxxxxxxx/params/ping-slot-channel"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:05:56 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"19a4c8b1-1913-4ac7-834c-32004fcfca97","name":"444 - device never communicated","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/ping-slot-channel"},"status":"unknown","code":444,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:06:25 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"48-boRMClbdSZ+CRaVku/inh6u4f48\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 444,\n    \"message\": \"the device never communicated with the server\"\n}"}],"_postman_id":"8acee49d-0647-4542-95fb-b692a0b18ce5"},{"name":"Ping Slot Update","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"018e6281-946f-4e56-a416-149599c8c368","exec":["pm.environment.set(\"deveui\", '1234567890abcdef');","pm.environment.set(\"pingSlotFreq\", 868.000);","pm.environment.set(\"pingSlotDR\", 7);"],"type":"text/javascript","packages":{}}}],"id":"ea94d566-0122-4755-bb65-196dd5f70be6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"pingSlotFreq\": {{pingSlotFreq}},\n  \"pingSlotDR\": {{pingSlotDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/ping-slot-channel","description":"This API allows to set the Ping Slot Frequency and the Ping Slot data rate on the device choosed in the URL by `{{deveui}}`, where `deveui` is a unique identifier consisting of the device’s `deveui` (a 16-character hexadecimal).\n\nAs soon as the device is reachable the request will be sent, and the corresponding MAC event will be published as soon as the device replies.\n\n# Schema\n\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"pingSlotDR\": {\n      \"type\": \"integer\",\n      \"enum\": [\n        0,\n        1,\n        2,\n        3,\n        4,\n        5,\n        6,\n        7,\n        8,\n        9,\n        10,\n        11,\n        12,\n        13,\n        14,\n        15\n      ],\n      \"defualt\": 3,\n      \"description\": \"Data rate for the downlink using the ping slot\"\n    }\n  },\n  \"pingSlotFreq\": {\n    \"type\": \"number\",\n    \"minimum\": 100,\n    \"maximum\": 1670,\n    \"default\": 869.525,\n    \"description\": \"Frequency of the channel used for the ping slot [MHz]\"\n  },\n  \"required\": [\n    \"pingSlotDR\",\n    \"pingSlotFreq\"\n  ],\n  \"additionalProperties\": false\n}\n\n ```\n\n# Properties\n\n| Property | Type | Required | Nullable | Defined by |\n| --- | --- | --- | --- | --- |\n| [pingSlotDR](#pingslotdr) | `enum` | **Required** | No | (this schema) |\n\n## pingSlotDR\n\nData rate for the downlink using the ping slot\n\n`pingSlotDR`\n\n- is **required**\n    \n- type: `enum`\n    \n- defined in this schema\n    \n\nThe value of this property **must** be equal to one of the [known values below](#pingslotdr-known-values)."},"response":[{"id":"ca8745df-9830-4e64-867c-9e6ffaf20e0b","name":"200 - Success","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"pingSlotFreq\": {{pingSlotFreq}},\n  \"pingSlotDR\": {{pingSlotDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/ping-slot-channel"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:34:36 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"35"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"23-El8ef6louUMkBbP4pfMxFUP8G8Y\""}],"cookie":[],"responseTime":null,"body":"{\n    \"pingSlotFreq\": 868,\n    \"pingSlotDR\": 7\n}"},{"id":"e0370b4e-3a8b-4f6d-b916-558b1f471d1c","name":"400 - Device not support class B","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"pingSlotFreq\": {{pingSlotFreq}},\n  \"pingSlotDR\": {{pingSlotDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/ping-slot-channel"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:33:47 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"48"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"30-gtkMS8JFnmgv/AHkg9zTbW6dBec\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"Command not available\"\n}"},{"id":"ba773578-86b4-44d5-bb57-cbbd7f32b862","name":"404 - Device not found","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"pingSlotFreq\": {{pingSlotFreq}},\n  \"pingSlotDR\": {{pingSlotDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-9999999999999999/params/ping-slot-channel"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:38:21 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"60f5bb89-6bb4-46df-8ef7-8ccfb7dd6c76","name":"400 - wrong param type","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"pingSlotFreq\": {{pingSlotFreq}},\n  \"pingSlotDR\": {{pingSlotDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-xxxxxxxxxxxxxxxxx/params/ping-slot-channel"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:38:41 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"b374f35d-d29e-447b-b867-101880181372","name":"409 - ABP device has not yet transmitted","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"pingSlotFreq\": {{pingSlotFreq}},\n  \"pingSlotDR\": {{pingSlotDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/ping-slot-channel"},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:40:05 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"70"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"46-GsdfZHxYqexW8HieX/4Myfub5BA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 409,\n    \"message\": \"The ABP device has not yet transmitted (15)\"\n}"}],"_postman_id":"ea94d566-0122-4755-bb65-196dd5f70be6"}],"id":"99786e06-d832-4a5e-bae3-f6319ae4109b","description":"Implementation of the LoRaWAN MAC command: ***LoRaWAN PingSlotReq/Ans***","_postman_id":"99786e06-d832-4a5e-bae3-f6319ae4109b"},{"name":"Channels","item":[{"name":"Channels","event":[{"listen":"test","script":{"id":"93feb3e4-b6c9-4139-a447-a88d6b036118","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"19a5f975-c1f0-4476-978a-76c058793618","exec":["pm.environment.set(\"deveui\", '1234567890abcdef');"],"type":"text/javascript","packages":{}}}],"id":"50ac4a49-f61d-48bc-aa87-e8e62be627e6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/channels"},"response":[{"id":"44976d7e-adf6-4ba9-a241-6323fd3a4751","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/channels"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:41:40 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"236"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"ec-gtWMxeCTGn1sLrb49whTNeXEoKQ\""}],"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.1,\n            \"index\": 0,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.3,\n            \"index\": 1,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.5,\n            \"index\": 2,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        }\n    ],\n    \"size\": 3,\n    \"offset\": 0,\n    \"limit\": 20\n}"},{"id":"498f2feb-8672-4e11-83ef-dc4ab66747b4","name":"200 - Success (pending)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/channels"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:57:47 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"302"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"12e-KKUBctolQ1RtuN51S/QpeiyeIT4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.1,\n            \"index\": 0,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.3,\n            \"index\": 1,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.5,\n            \"index\": 2,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"pending\",\n            \"frequency\": 863,\n            \"index\": 4,\n            \"maxDR\": 2,\n            \"minDR\": 1\n        }\n    ],\n    \"size\": 4,\n    \"offset\": 0,\n    \"limit\": 20\n}"},{"id":"9e2657bd-783a-4674-8fd6-30573755b859","name":"200 - Success (sync)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/channels"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 14:09:38 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"299"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"12b-GeNRz6PgYkXm6ZF4ttRTgloiEBU\""}],"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.1,\n            \"index\": 0,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.3,\n            \"index\": 1,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.5,\n            \"index\": 2,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"sync\",\n            \"frequency\": 863,\n            \"index\": 4,\n            \"maxDR\": 2,\n            \"minDR\": 1\n        }\n    ],\n    \"size\": 4,\n    \"offset\": 0,\n    \"limit\": 20\n}"},{"id":"75c75d4b-6e7d-4582-8063-52325f14cfc7","name":"200 - Success (deleting)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/channels"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 14:11:33 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"300"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"12c-MC5t/RKiGR1RHUmWv3osA+NCTOA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.1,\n            \"index\": 0,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.3,\n            \"index\": 1,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.5,\n            \"index\": 2,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"pending\",\n            \"frequency\": 0,\n            \"index\": 4,\n            \"maxDR\": 0,\n            \"minDR\": 0\n        }\n    ],\n    \"size\": 4,\n    \"offset\": 0,\n    \"limit\": 20\n}"},{"id":"2854a787-cd19-4ca0-b18c-e30cf0af1560","name":"404 - Device not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-9999999999999999/params/channels"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:43:10 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"3184af6e-5ce7-4560-bd30-afed7d959600","name":"400 - wrong param type","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-xxxxxxxxxxxxxxxx/params/channels"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:43:28 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"6c4a6316-3042-4033-80d2-7e9113f6b197","name":"444 - device never communicated","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/channels"},"status":"unknown","code":444,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:57:24 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"48-boRMClbdSZ+CRaVku/inh6u4f48\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 444,\n    \"message\": \"the device never communicated with the server\"\n}"}],"_postman_id":"50ac4a49-f61d-48bc-aa87-e8e62be627e6"},{"name":"Channels Update","event":[{"listen":"test","script":{"id":"2f765211-234f-4fa6-bfe9-00a920c4d303","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"7ccf8f97-7f49-4a44-b7c6-45a474b40366","exec":["pm.environment.set(\"deveui\", '1234567890abcdef');","pm.environment.set(\"chIndex\", 3);","pm.environment.set(\"frequency\", 863);","pm.environment.set(\"maxDR\", 2);","pm.environment.set(\"minDR\", 1);"],"type":"text/javascript","packages":{}}}],"id":"518d4d2b-abdf-4232-b21c-462b53635106","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"chIndex\": {{chIndex}},\n\t\"frequency\": {{frequency}},\n\t\"maxDR\": {{maxDR}},\n\t\"minDR\": {{minDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/channels"},"response":[{"id":"55906bcf-0d52-4c06-bc0b-c56a5360b15d","name":"200 - Success","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"chIndex\": {{chIndex}},\n\t\"frequency\": {{frequency}},\n\t\"maxDR\": {{maxDR}},\n\t\"minDR\": {{minDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/channels"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:55:01 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"49"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"31-3kb4tSrIZqxQ5EbJoK0ZNn4zpbk\""}],"cookie":[],"responseTime":null,"body":"{\n    \"chIndex\": 4,\n    \"frequency\": 863,\n    \"maxDR\": 2,\n    \"minDR\": 1\n}"},{"id":"3e9b4472-9c20-44a9-b357-e5a843fd081e","name":"404 - Device not found","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"chIndex\": {{chIndex}},\n\t\"frequency\": {{frequency}},\n\t\"maxDR\": {{maxDR}},\n\t\"minDR\": {{minDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-9999999999999999/params/channels"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:55:37 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"d47b340b-43b6-4736-b6aa-9da5f88fe769","name":"400 - wrong param type","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"chIndex\": {{chIndex}},\n\t\"frequency\": {{frequency}},\n\t\"maxDR\": {{maxDR}},\n\t\"minDR\": {{minDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-xxxxxxxxxxxxxxxx/params/channels"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:56:01 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"59510cc5-a940-4450-b57d-8a504627cc0c","name":"444 - device never communicated","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"chIndex\": {{chIndex}},\n\t\"frequency\": {{frequency}},\n\t\"maxDR\": {{maxDR}},\n\t\"minDR\": {{minDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/channels"},"status":"unknown","code":444,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:56:31 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"48-boRMClbdSZ+CRaVku/inh6u4f48\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 444,\n    \"message\": \"the device never communicated with the server\"\n}"}],"_postman_id":"518d4d2b-abdf-4232-b21c-462b53635106"},{"name":"Channels Delete","event":[{"listen":"test","script":{"id":"8bc73c0c-25ce-49f3-9e9d-fbd658aa5e6f","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"3c2c62b5-2ffb-46ad-9ae3-bb2cc46c0e9e","exec":["pm.environment.set(\"deveui\", '1234567890abcdef');","pm.environment.set(\"chid\", 3);"],"type":"text/javascript","packages":{}}}],"id":"96c79797-6777-4dc4-8ecd-01be6f14e915","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/channels/{{chid}}"},"response":[{"id":"07540ae3-b8e7-40a5-bf6f-70c634698b98","name":"200 - Success","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/channels/{{chid}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 14:11:13 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"2"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\""}],"cookie":[],"responseTime":null,"body":"{}"},{"id":"d2659fb5-d6f3-4c2e-8a32-b371c0ba3bdf","name":"404 - Device not found","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-999999999999999/params/channels/{{chid}}"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 14:13:03 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"61b3a4a5-41ea-4f63-af83-2970b1e05233","name":"400 - wrong param type","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-xxxxxxxxxxxxxxxx/params/channels/{{chid}}"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 14:13:44 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"9ab8d5bb-7db5-4db4-aab0-f6db383da982","name":"400 - message malformed","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/deveui-{{deveui}}/params/channels/999"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 14:15:15 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"50"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"32-6HvoFQT35gVo09/DBmR51A/XVN4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"Input message malformed\"\n}"}],"_postman_id":"96c79797-6777-4dc4-8ecd-01be6f14e915"}],"id":"65ebceff-72ad-4b82-af53-c8825a0b2b12","description":"Implementation of the LoRaWAN MAC command: ***LoRaWAN PingSlotReq/Ans***","_postman_id":"65ebceff-72ad-4b82-af53-c8825a0b2b12"},{"name":"-DEPRECATED-","item":[{"name":"Device Status","item":[{"name":"Device Status","event":[{"listen":"prerequest","script":{"id":"51c53801-e14c-4832-95cf-e16e6f36d16c","exec":["pm.environment.set(\"did\", 1);"],"type":"text/javascript"}},{"listen":"test","script":{"id":"d083e5b7-0a43-4db6-a066-cb9cfbe3081f","exec":[""],"type":"text/javascript"}}],"id":"65791d4c-59a6-4576-8e37-30802a99f697","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/dev-status","description":"# \\[DEPRECATED\\]\n\nThis API returns the status of a single device for the current user.\n\nThis commands return the information about battery level and margin of the demodulation SNR.\n\nDetails:\n\n- No body in the request\n    \n- The possible responses are listed in the section on the right"},"response":[{"id":"5b2e65ff-2f13-4f32-bb64-edc9f4831552","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/dev-status"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:09:50 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"75"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"4b-VRF8YpswN2/0GEUleVqRBqJolq4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"sync\",\n    \"battery\": 26,\n    \"margin\": 31,\n    \"time\": \"2023-06-07T12:09:45.000Z\"\n}"},{"id":"e4d10708-2f3a-4af3-801d-29cd7d05fb76","name":"444 - device never communicated","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/dev-status"},"status":"unknown","code":444,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 11:53:53 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"48-boRMClbdSZ+CRaVku/inh6u4f48\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 444,\n    \"message\": \"the device never communicated with the server\"\n}"},{"id":"f0d71f07-e1c1-4146-9042-cb43590b4761","name":"404 - Device not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/999/params/dev-status"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:10:31 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"e1ffde7b-084a-427b-b878-1201297ca05b","name":"400 - wrong param type","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/xxx/params/dev-status"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:11:05 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"}],"_postman_id":"65791d4c-59a6-4576-8e37-30802a99f697"},{"name":"Device Status Update","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"ffa08f3e-93f0-45ff-91b4-6397dcee5b08","exec":["pm.environment.set(\"did\", 1);"],"type":"text/javascript"}}],"id":"8d0e6f5a-f999-4889-9602-6d2b0fc9b98c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/dev-status","description":"# \\[DEPRECATED\\]\n\nExecuting this request will enqueue the corresponding LoRa MAC command on the device downlink queue.\n\nAs soon as the device is reachable the request will be sent, and the corresponding MAC event will be published as soon as the device replies.\n\nFrom that moment, the status will be available only via GET Device Status request.\n\nThis commands return the information about battery level and margin of the demodulation SNR.\n\nDetails:\n\n- No body in the request\n    \n- The possible responses are listed in the section on the right"},"response":[{"id":"a6dae16b-7d2f-4469-8cd5-98ae21024d30","name":"200 - Success","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/dev-status"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{}"},{"id":"53e2f6aa-2fa8-4bfb-a15a-4580c9a3c4e4","name":"404 - Device not found","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/999/params/dev-status"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:11:48 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"cc85543f-5779-4297-8005-a3734f590fb1","name":"400 - wrong param type","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/xxx/params/dev-status"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:12:12 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"6c77f4a3-2a05-4861-bccc-32ec206d1232","name":"409 - ABP device has not yet transmitted","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/dev-status"},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:19:42 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"70"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"46-GsdfZHxYqexW8HieX/4Myfub5BA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 409,\n    \"message\": \"The ABP device has not yet transmitted (15)\"\n}"}],"_postman_id":"8d0e6f5a-f999-4889-9602-6d2b0fc9b98c"}],"id":"69e1bd3b-790a-4ee2-9337-67e80fcda43e","description":"Implementation of the LoRaWAN MAC command: ***DevStatusReq/Ans***","_postman_id":"69e1bd3b-790a-4ee2-9337-67e80fcda43e"},{"name":"Duty Cycle","item":[{"name":"Duty Cycle","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"7e000a0c-b3b5-4262-8db1-fee27c6c13fe","exec":["pm.environment.set(\"did\", 1);"],"type":"text/javascript"}}],"id":"1e79eb41-79ac-4a54-9f46-7f951456ffaf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/duty-cycle","description":"# \\[DEPRECATED\\]\n\nThis API returns the duty cycle limitation for a device.\n\nDetails:\n\n- No body in the request\n    \n- The possible responses are listed in the section on the right"},"response":[{"id":"f076826c-87e0-479f-a563-ffa4a096e8d1","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/duty-cycle"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:35:16 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"30"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"1e-pn6eejawD3ybMcYlYkxxP+xFO5s\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"sync\",\n    \"maxDCycle\": 7\n}"},{"id":"3cd78a8b-ffa6-4295-a96f-56771d3c8472","name":"404 - Device not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/999/params/duty-cycle"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:23:27 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"1f454fff-2806-4210-9ad5-a3895df04df9","name":"400 - wrong param type","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/xxx/params/duty-cycle"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:23:46 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"601bd4d7-8b0c-4c65-9336-a94a55b3f8d8","name":"444 - device never communicated","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/duty-cycle"},"status":"unknown","code":444,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:24:47 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"48-boRMClbdSZ+CRaVku/inh6u4f48\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 444,\n    \"message\": \"the device never communicated with the server\"\n}"}],"_postman_id":"1e79eb41-79ac-4a54-9f46-7f951456ffaf"},{"name":"Duty Cycle Update","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"62335350-25ae-42db-8485-b7985b76ad2d","exec":["pm.environment.set(\"did\", 1);","pm.environment.set(\"maxDCycle\", 7);"],"type":"text/javascript"}}],"id":"b24f4e2e-133e-4e26-95d4-a8cc054f6f53","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"maxDCycle\": {{maxDCycle}}\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/duty-cycle","description":"# \\[DEPRECATED\\]\n\nSet the maximum aggregated transmit duty cycle of a device.\n\nExecuting this request will enqueue the corresponding LoRa MAC command on the device downlink queue.\n\nAs soon as the device is reachable the request will be sent, and the corresponding MAC event will be published as soon as the device replies.\n\nDetails:\n\n- The possible responses are listed in the section on the right\n    \n\n# Schema\n\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"maxDCycle\": {\n      \"type\": \"integer\",\n      \"enum\": [\n        0,\n        1,\n        2,\n        3,\n        4,\n        5,\n        6,\n        7,\n        8,\n        9,\n        10,\n        11,\n        12,\n        13,\n        14,\n        15\n      ],\n      \"description\": \"Duty cycle limitation, on top of the one set by the regional regulation. The max end-device transmit duty cycle is 1/(2^{maxDCycle}\"\n    }\n  },\n  \"required\": [\n    \"maxDCycle\"\n  ],\n  \"additionalProperties\": false\n}\n\n ```\n\n# Properties\n\n| Property | Type | Required | Nullable | Defined by |\n| --- | --- | --- | --- | --- |\n| [maxDCycle](#maxdcycle) | `enum` | **Required** | No | (this schema) |\n\n## maxDCycle\n\nDuty cycle limitation, on top of the one set by the regional regulation. The max end-device transmit duty cycle is  \n1/(2^{maxDCycle}\n\n`maxDCycle`\n\n- is **required**\n    \n- type: `enum`\n    \n- defined in this schema\n    \n\nThe value of this property **must** be equal to one of the [known values below](#maxdcycle-known-values).\n\n### maxDCycle Known Values\n\n| Value | Description |\n| --- | --- |\n| `0` | No limitation |\n| `1` | Limit duty cycle to 1/(2^1) \\~= 50% \\~= 1800 s/h |\n| `2` | Limit duty cycle to 1/(2^2) \\~= 25% \\~= 900 s/h |\n| `3` | Limit duty cycle to 1/(2^3) \\~= 12.5% \\~= 450 s/h |\n| `4` | Limit duty cycle to 1/(2^4) \\~= 6.25% \\~= 225 s/h |\n| `5` | Limit duty cycle to 1/(2^5) \\~= 3.13% \\~= 112 s/h |\n| `6` | Limit duty cycle to 1/(2^6) \\~= 1.56% \\~= 56 s/h |\n| `7` | Limit duty cycle to 1/(2^7) \\~= 0.781% \\~= 28 s/h |\n| `8` | Limit duty cycle to 1/(2^8) \\~= 0.391% \\~= 14 s/h |\n| `9` | Limit duty cycle to 1/(2^9) \\~= 0.195% \\~= 7031 ms/h |\n| `10` | Limit duty cycle to 1/(2^10) \\~= 0.0977% \\~= 3516 ms/h |\n| `11` | Limit duty cycle to 1/(2^11) \\~= 0.0488% \\~= 1758 ms/h |\n| `12` | Limit duty cycle to 1/(2^12) \\~= 0.0244% \\~= 879 ms/h |\n| `13` | Limit duty cycle to 1/(2^13) \\~= 0.0122% \\~= 439 ms/h |\n| `14` | Limit duty cycle to 1/(2^14) \\~= 0.0061% \\~= 220 ms/h |\n| `15` | Limit duty cycle to 1/(2^15) \\~= 0.00305% \\~= 110 ms/h |"},"response":[{"id":"269a7ee2-fd18-4e49-b534-86afbc416d9f","name":"200 - Success","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"maxDCycle\": {{maxDCycle}}\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/duty-cycle"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:29:49 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"15"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"f-mlUQcTvBGNjeKRb310/u9UjzrpY\""}],"cookie":[],"responseTime":null,"body":"{\n    \"maxDCycle\": 7\n}"},{"id":"cb8317ff-0adf-4be3-aca9-39621818bcb8","name":"400 - missing param","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/duty-cycle"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:22:29 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"75"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"4b-FmDTxbevifoJBjgENwXMe2MYIz0\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params should have required property 'maxDCycle'\"\n}"},{"id":"8b658d8b-fdd1-486c-bfb5-f16ff44dee19","name":"404 - Device not found","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"maxDCycle\": {{maxDCycle}}\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/999/params/duty-cycle"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:28:44 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"2c9dea43-fa59-4cd2-9393-570f23a0c79a","name":"400 - wrong param type","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"maxDCycle\": {{maxDCycle}}\n}"},"url":"{{protocol}}://{{host}}/api/v2/device/xxx/params/duty-cycle"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:29:13 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"}],"_postman_id":"b24f4e2e-133e-4e26-95d4-a8cc054f6f53"}],"id":"485b89b4-5200-4487-9a90-b02619f95329","description":"Implementation of the LoRaWAN MAC command: ***DutyCycleReq/Ans***","_postman_id":"485b89b4-5200-4487-9a90-b02619f95329"},{"name":"Reception Windows","item":[{"name":"Receive Windows Configuration","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"f48eddc0-7235-4b12-95a3-2c3539322a28","exec":["pm.environment.set(\"did\", 1);"],"type":"text/javascript"}}],"id":"30386def-4fc3-4cb7-9569-f10ec64e4edb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/rx-param","description":"# \\[DEPRECATED\\]\n\nThis API returns information about frequency and data rate set for RX2 on the device choosed in the URL by `{{did}}`.\n\nThe reply contains information about frequency and data rate set for RX2.  \nMoreover we receive the data rate offset between the uplink and the RX1 on the device choosed in the URL by `{{did}}`.\n\nMAC command: LoRaWAN RXParamsSetupReq/Ans\n\nDetails:\n\n- No body in the request\n    \n- The possible responses are listed in the section on the right"},"response":[{"id":"c2dc17d0-f8b9-4c85-9e48-b34bb1d9ed82","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/rx-param"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:39:31 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"71"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"47-t7NvkZKudHb7iapDzS9F30gO4dg\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"sync\",\n    \"rx1DRoffset\": 0,\n    \"rx2DataRate\": 0,\n    \"rx2Frequency\": 8695250\n}"},{"id":"ae1e65f5-4c30-45c0-8df3-b5dcc9dec0b8","name":"200 - Success (pending)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/rx-param"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:46:31 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"147"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"93-JuUdSnUNiJehZVIzj6LUa94nl2A\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"pending\",\n    \"rx1DRoffset\": 0,\n    \"rx2DataRate\": 0,\n    \"rx2Frequency\": 8695250,\n    \"pendingValues\": {\n        \"rx1DRoffset\": 0,\n        \"rx2DataRate\": 2,\n        \"rx2Frequency\": 8700000\n    }\n}"},{"id":"5de77d52-41fc-4e02-a72c-f228ee60c9da","name":"200 - Success (sync)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/rx-param"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:48:39 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"71"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"47-dK8VoNfeQ75RunwCWVNc2GGRHjg\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"sync\",\n    \"rx1DRoffset\": 0,\n    \"rx2DataRate\": 2,\n    \"rx2Frequency\": 8700000\n}"},{"id":"2a38c5ab-3654-4ef2-89dc-e1fdef5cc382","name":"404 - Device not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/999/params/rx-param"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:40:40 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"4d7c04ad-ada9-4001-ab4e-67ad04656fa7","name":"400 - wrong param type","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/xxx/params/rx-param"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:40:58 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"ea931d96-2957-4fed-8c1a-e71d07b4ea30","name":"444 - device never communicated","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/rx-param"},"status":"unknown","code":444,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:45:02 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"48-boRMClbdSZ+CRaVku/inh6u4f48\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 444,\n    \"message\": \"the device never communicated with the server\"\n}"}],"_postman_id":"30386def-4fc3-4cb7-9569-f10ec64e4edb"},{"name":"Receive Windows Update","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"a6212dd6-49ed-496a-921e-1077b2ae2b52","exec":["pm.environment.set(\"did\", 1);","pm.environment.set(\"rx1DRoffset\", 0);","pm.environment.set(\"rx2DataRate\", 2);","pm.environment.set(\"rx2Frequency\", 870.0000);"],"type":"text/javascript"}}],"id":"8c599757-662d-46d1-900f-4367cb238a7c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n  \"rx1DRoffset\": {{rx1DRoffset}},\n  \"rx2DataRate\": {{rx2DataRate}},\n  \"rx2Frequency\": {{rx2Frequency}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/rx-param","description":"# \\[DEPRECATED\\]\n\nSet the maximum aggregated transmit duty cycle of a device.\n\nExecuting this request will enqueue the corresponding LoRa MAC command on the device downlink queue.\n\nAs soon as the device is reachable the request will be sent, and the corresponding MAC event will be published as soon as the device replies.\n\nDetails:\n\n- The possible responses are listed in the section on the right\n    \n\n# Schema\n\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"rx1DRoffset\": {\n      \"type\": \"integer\",\n      \"enum\": [\n        0,\n        1,\n        2,\n        3,\n        4,\n        5\n      ],\n      \"default\": 0,\n      \"description\": \"Offset between the uplink data rate and the downlink data rate used to communicate with the end-device on the first reception slot\"\n    },\n    \"rx2DataRate\": {\n      \"type\": \"integer\",\n      \"enum\": [\n        0,\n        1,\n        2,\n        3,\n        4,\n        5,\n        6\n      ],\n      \"default\": 0,\n      \"description\": \"Data rate of a downlink using the second receive window\"\n    },\n    \"rx2Frequency\": {\n      \"type\": \"number\",\n      \"minimum\": 100,\n      \"maximum\": 1670,\n      \"default\": 869.525,\n      \"description\": \"Frequency of the channel used for the second receive window [MHz]\"\n    }\n  },\n  \"required\": [\n    \"rx1DRoffset\",\n    \"rx2DataRate\",\n    \"rx2Frequency\"\n  ],\n  \"additionalProperties\": false\n}\n\n ```\n\n# Properties\n\n| Property | Type | Required | Nullable | Defined by |\n| --- | --- | --- | --- | --- |\n| [rx1DRoffset](#rx1droffset) | `enum` | **Required** | No | (this schema) |\n| [rx2DataRate](#rx2datarate) | `enum` | **Required** | No | (this schema) |\n| [rx2Frequency](#rx2frequency) | `number` | **Required** | No | (this schema) |\n\n## rx1DRoffset\n\nOffset between the uplink data rate and the downlink data rate used to communicate with the end-device on the first  \nreception slot\n\n`rx1DRoffset`\n\n- is **required**\n    \n- type: `enum`\n    \n- default: 0\n    \n- defined in this schema\n    \n\nThe value of this property **must** be equal to one of the [known values below](#rx1droffset-known-values).\n\n### rx1DRoffset Known Values\n\n| Value | Description |\n| --- | --- |\n| `0` |  |\n| `1` |  |\n| `2` |  |\n| `3` |  |\n| `4` |  |\n| `5` |  |\n\n## rx2DataRate\n\nData rate of a downlink using the second receive window\n\n`rx2DataRate`\n\n- is **required**\n    \n- type: `enum`\n    \n- default: 0\n    \n- defined in this schema\n    \n\nThe value of this property **must** be equal to one of the [known values below](#rx2datarate-known-values).\n\n### rx2DataRate Known Values\n\n| Value | Description |\n| --- | --- |\n| `0` | LoRa SF12 BW 125KHz |\n| `1` | LoRa SF11 BW 125KHz |\n| `2` | LoRa SF10 BW 125KHz |\n| `3` | LoRa SF9 BW 125KHz |\n| `4` | LoRa SF8 BW 125KHz |\n| `5` | LoRa SF7 BW 125KHz |\n| `6` | LoRa SF7 BW 250KHz |\n\n## rx2Frequency\n\nFrequency of the channel used for the second receive window \\[MHz\\].\n\n`rx2Frequency`\n\n- is **required**\n    \n- type: `number`\n    \n- default: 869.525\n    \n- defined in this schema\n    \n\n### rx2Frequency Type\n\n`number`\n\n- minimum value: `1`\n    \n- maximum value: `1670`"},"response":[{"id":"a31cef4e-9cfe-4686-aeef-a6e5f6cede9c","name":"200 - Success","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n  \"rx1DRoffset\": {{rx1DRoffset}},\n  \"rx2DataRate\": {{rx2DataRate}},\n  \"rx2Frequency\": {{rx2Frequency}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/rx-param"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:43:34 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"52"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"34-pMAMj0dnRstEXiYXjB7XPXeys0c\""}],"cookie":[],"responseTime":null,"body":"{\n    \"rx1DRoffset\": 0,\n    \"rx2DataRate\": 2,\n    \"rx2Frequency\": 870\n}"},{"id":"1a32c057-4a1d-4a68-9c94-9e4fed4a9027","name":"404 - Device not found","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n  \"rx1DRoffset\": {{rx1DRoffset}},\n  \"rx2DataRate\": {{rx2DataRate}},\n  \"rx2Frequency\": {{rx2Frequency}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/999/params/rx-param"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:44:10 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"845a1fc4-51d4-40c8-a85f-955afa3f8f34","name":"400 - wrong param type","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n  \"rx1DRoffset\": {{rx1DRoffset}},\n  \"rx2DataRate\": {{rx2DataRate}},\n  \"rx2Frequency\": {{rx2Frequency}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/xxx/params/rx-param"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:44:29 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"a4db40a8-affb-480b-a6b6-47ea4c7c53b7","name":"409 - ABP device has not yet transmitted","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n  \"rx1DRoffset\": {{rx1DRoffset}},\n  \"rx2DataRate\": {{rx2DataRate}},\n  \"rx2Frequency\": {{rx2Frequency}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/rx-param"},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:45:43 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"70"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"46-GsdfZHxYqexW8HieX/4Myfub5BA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 409,\n    \"message\": \"The ABP device has not yet transmitted (15)\"\n}"}],"_postman_id":"8c599757-662d-46d1-900f-4367cb238a7c"}],"id":"01daa4d1-7745-41e5-8c23-89d834f0af4d","description":"Implementation of the LoRaWAN MAC command: ***DutyCycleReq/Ans***","_postman_id":"01daa4d1-7745-41e5-8c23-89d834f0af4d"},{"name":"Reception Slot","item":[{"name":"Reception Slot","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"5b74ca32-e636-4ee7-a11f-076b2de0bab0","exec":["pm.environment.set(\"did\", 1);"],"type":"text/javascript"}}],"id":"b7d46870-7b23-45d4-8157-27589b89a8fd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/rx-timing","description":"# \\[DEPRECATED\\]\n\nThis API returns the delay between the end of the TX uplink and the opening of the first reception slot in seconds on the device choosed in the URL by `{{did}}`.\n\nDetails:\n\n- No body in the request\n    \n- The possible responses are listed in the section on the right"},"response":[{"id":"7b1ae3d0-db15-4ead-8e6d-be9aa20fc0b7","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/rx-timing"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:50:08 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"29"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"1d-lwEvZR7OSGPnEZ53TLlM46R4GK0\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"sync\",\n    \"rx1Delay\": 0\n}"},{"id":"69371581-912b-4724-9481-986e4407ee75","name":"200 - Success (pending)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/rx-timing"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:56:49 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"63"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"3f-+Rs4Shxv3gMrCUyRpADvSE1vD6o\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"pending\",\n    \"rx1Delay\": 0,\n    \"pendingValues\": {\n        \"rx1Delay\": 7\n    }\n}"},{"id":"9e417396-b66d-4ec7-b660-9afda2a2ef7b","name":"200 - Success (sync)","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/rx-timing"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:57:56 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"29"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"1d-dXAsfyQqfOGUq+0nm7ZX58a3wE0\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"sync\",\n    \"rx1Delay\": 7\n}"},{"id":"1fca4e37-3b87-4703-ac46-e9ac9552d85e","name":"404 - Device not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/999/params/rx-timing"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:51:10 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"1cf04afc-d586-44db-997a-4ae78f195516","name":"400 - wrong param type","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/xxx/params/rx-timing"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:51:33 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"53d2b555-3a47-4657-9165-c162b18961ea","name":"444 - device never communicated","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/rx-timing"},"status":"unknown","code":444,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:52:11 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"48-boRMClbdSZ+CRaVku/inh6u4f48\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 444,\n    \"message\": \"the device never communicated with the server\"\n}"}],"_postman_id":"b7d46870-7b23-45d4-8157-27589b89a8fd"},{"name":"Reception Slot Update","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"70410555-0e05-4d6e-b697-9f60fc8556f1","exec":["pm.environment.set(\"did\", 1);","pm.environment.set(\"rx1Delay\", 7);"],"type":"text/javascript"}}],"id":"b5a307d7-075d-4284-bd4e-a2983f3dbc45","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n  \"rx1Delay\": {{rx1Delay}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/rx-timing","description":"# \\[DEPRECATED\\]\n\nThis API set the delay between the end of the TX uplink and the opening of the first reception slot in seconds on the device choosed in the URL by {{did}}.\n\nExecuting this request will enqueue the corresponding LoRaWAN MAC command on the device downlink queue (LoRaWAN ).\n\nAs soon as the device is reachable the request will be sent, and the corresponding MAC event will be published as soon as the device replies.\n\nDetails:\n\n- The possible responses are listed in the section on the right\n    \n\n# Schema\n\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"rx1Delay\": {\n      \"type\": \"integer\",\n      \"enum\": [\n        1,\n        2,\n        3,\n        4,\n        5,\n        6,\n        7,\n        8,\n        9,\n        10,\n        11,\n        12,\n        13,\n        14,\n        15\n      ],\n      \"description\": \"Delay between the end of the uplink transmission and the opening of the first reception slot [s]\"\n    }\n  },\n  \"required\": [\n    \"rx1Delay\"\n  ],\n  \"additionalProperties\": false\n}\n\n ```\n\n# Properties\n\n| Property | Type | Required | Nullable | Defined by |\n| --- | --- | --- | --- | --- |\n| [rx1Delay](#rx1delay) | `enum` | **Required** | No | (this schema) |\n\n## rx1Delay\n\nDelay between the end of the uplink transmission and the opening of the first reception slot \\[s\\]\n\n`rx1Delay`\n\n- is **required**\n    \n- type: `enum`\n    \n- defined in this schema\n    \n\nThe value of this property **must** be equal to one of the [known values below](#rx1delay-known-values)."},"response":[{"id":"30f9aff6-5b02-454b-9e88-e9042193354f","name":"200 - Success","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n  \"rx1Delay\": {{rx1Delay}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/rx-timing"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:54:30 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"14"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"e-mggAB15COUCwh2sreL6hecPA00w\""}],"cookie":[],"responseTime":null,"body":"{\n    \"rx1Delay\": 7\n}"},{"id":"511975c6-6b10-4470-b1c0-82194bcf9b3a","name":"404 - Device not found","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n  \"rx1Delay\": {{rx1Delay}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/999/params/rx-timing"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:58:43 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"ee7ce391-266c-4dc1-a7fb-66f782e561dc","name":"400 - wrong param type","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n  \"rx1Delay\": {{rx1Delay}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/xxx/params/rx-timing"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:59:00 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"40f0682a-6f5a-4b45-b093-c234d83665c0","name":"409 - ABP device has not yet transmitted","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n  \"rx1Delay\": {{rx1Delay}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/rx-timing"},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 12:59:52 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"70"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"46-GsdfZHxYqexW8HieX/4Myfub5BA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 409,\n    \"message\": \"The ABP device has not yet transmitted (15)\"\n}"}],"_postman_id":"b5a307d7-075d-4284-bd4e-a2983f3dbc45"}],"id":"75c35d0c-242c-4919-b321-47972be50dae","description":"Implementation of the LoRaWAN MAC command: ***RXTimeSetupReq/Ans***","_postman_id":"75c35d0c-242c-4919-b321-47972be50dae"},{"name":"Ping Slot","item":[{"name":"Ping Slot","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"6f719d96-acc2-4327-8b17-526778f9357d","exec":["pm.environment.set(\"did\", 1);"],"type":"text/javascript"}}],"id":"a229c674-defd-4fd1-adb8-07d2ae2f2daf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/ping-slot-channel","description":"# \\[DEPRECATED\\]\n\nThis API returns the class B parameters about the Ping Slot for the device choosed in the URL by `{{did}}`.\n\nThis API is available only for devices that have a Device Profile that support class B.\n\nThe reply contains the ping slot frequency in MHz and the ping slot data rate\n\nDetails:\n\n- No body in the request\n    \n- The possible responses are listed in the section on the right"},"response":[{"id":"8669b126-9e6c-4240-bc1b-301ab2fd4c94","name":"200 - Success","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/ping-slot-channel"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:05:13 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"16"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"10-V6/QhipC0w2Ka1ZttBFPcESmI2c\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"sync\"\n}"},{"id":"c6af5d19-b10a-42b3-9e16-943520b89af6","name":"200 - Success (pending)","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/ping-slot-channel"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:35:06 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"109"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"6d-92XAwyBktnzF5GoedTIQEx9kEMU\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"pending\",\n    \"pingSlotDR\": 3,\n    \"pingSlotFreq\": 869.525,\n    \"pendingValues\": {\n        \"pingSlotDR\": 7,\n        \"pingSlotFreq\": 868\n    }\n}"},{"id":"38ed2b96-3702-42c1-b29c-710f5377d28a","name":"200 - Success (sync)","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/ping-slot-channel"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:35:06 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"109"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"6d-92XAwyBktnzF5GoedTIQEx9kEMU\""}],"cookie":[],"responseTime":null,"body":"{\n    \"state\": \"pending\",\n    \"pingSlotDR\": 7,\n    \"pingSlotFreq\": 868\n}"},{"id":"28a5b1e4-c478-4864-9764-f099023454bd","name":"404 - Device not found","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/999/params/ping-slot-channel"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:05:39 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"0ef63c87-f71f-4f07-b081-764b34206114","name":"400 - wrong param type","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/xxx/params/ping-slot-channel"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:05:56 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"2663afba-a2c3-45b4-b507-e6854e3b822b","name":"444 - device never communicated","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/ping-slot-channel"},"status":"unknown","code":444,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:06:25 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"48-boRMClbdSZ+CRaVku/inh6u4f48\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 444,\n    \"message\": \"the device never communicated with the server\"\n}"}],"_postman_id":"a229c674-defd-4fd1-adb8-07d2ae2f2daf"},{"name":"Ping Slot Update","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"018e6281-946f-4e56-a416-149599c8c368","exec":["pm.environment.set(\"did\", 1);","pm.environment.set(\"pingSlotFreq\", 868.000);","pm.environment.set(\"pingSlotDR\", 7);"],"type":"text/javascript"}}],"id":"bf393016-94aa-414a-97c4-1d37459aca00","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n  \"pingSlotFreq\": {{pingSlotFreq}},\n  \"pingSlotDR\": {{pingSlotDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/ping-slot-channel","description":"# \\[DEPRECATED\\]\n\nThis API allows to set the Ping Slot Frequency and the Ping Slot data rate on the device choosed in the URL by {{did}}.\n\nAs soon as the device is reachable the request will be sent, and the corresponding MAC event will be published as soon as the device replies.\n\nDetails:\n\n- The possible responses are listed in the section on the right\n    \n\n# Schema\n\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"pingSlotDR\": {\n      \"type\": \"integer\",\n      \"enum\": [\n        0,\n        1,\n        2,\n        3,\n        4,\n        5,\n        6,\n        7,\n        8,\n        9,\n        10,\n        11,\n        12,\n        13,\n        14,\n        15\n      ],\n      \"defualt\": 3,\n      \"description\": \"Data rate for the downlink using the ping slot\"\n    }\n  },\n  \"pingSlotFreq\": {\n    \"type\": \"number\",\n    \"minimum\": 100,\n    \"maximum\": 1670,\n    \"default\": 869.525,\n    \"description\": \"Frequency of the channel used for the ping slot [MHz]\"\n  },\n  \"required\": [\n    \"pingSlotDR\",\n    \"pingSlotFreq\"\n  ],\n  \"additionalProperties\": false\n}\n\n ```\n\n# Properties\n\n| Property | Type | Required | Nullable | Defined by |\n| --- | --- | --- | --- | --- |\n| [pingSlotDR](#pingslotdr) | `enum` | **Required** | No | (this schema) |\n\n## pingSlotDR\n\nData rate for the downlink using the ping slot\n\n`pingSlotDR`\n\n- is **required**\n    \n- type: `enum`\n    \n- defined in this schema\n    \n\nThe value of this property **must** be equal to one of the [known values below](#pingslotdr-known-values)."},"response":[{"id":"7ba86b3b-6984-4316-a861-5d97225e900b","name":"200 - Success","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n  \"pingSlotFreq\": {{pingSlotFreq}},\n  \"pingSlotDR\": {{pingSlotDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/ping-slot-channel"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:34:36 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"35"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"23-El8ef6louUMkBbP4pfMxFUP8G8Y\""}],"cookie":[],"responseTime":null,"body":"{\n    \"pingSlotFreq\": 868,\n    \"pingSlotDR\": 7\n}"},{"id":"4c1d0de8-d731-4bef-a6f2-b895d3b8c7b9","name":"400 - Device not support class B","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n  \"pingSlotFreq\": {{pingSlotFreq}},\n  \"pingSlotDR\": {{pingSlotDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/ping-slot-channel"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:33:47 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"48"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"30-gtkMS8JFnmgv/AHkg9zTbW6dBec\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"Command not available\"\n}"},{"id":"d4ba6231-de85-4723-be5f-1b2db4fa3d8e","name":"404 - Device not found","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n  \"pingSlotFreq\": {{pingSlotFreq}},\n  \"pingSlotDR\": {{pingSlotDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/999/params/ping-slot-channel"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:38:21 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"9aeeab60-8519-4942-bdd0-f67c05380c5b","name":"400 - wrong param type","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n  \"pingSlotFreq\": {{pingSlotFreq}},\n  \"pingSlotDR\": {{pingSlotDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/xxx/params/ping-slot-channel"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:38:41 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"71a3fed5-e1c3-45d4-82d8-8ce438d8bc33","name":"409 - ABP device has not yet transmitted","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n  \"pingSlotFreq\": {{pingSlotFreq}},\n  \"pingSlotDR\": {{pingSlotDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/ping-slot-channel"},"status":"Conflict","code":409,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:40:05 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"70"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"46-GsdfZHxYqexW8HieX/4Myfub5BA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 409,\n    \"message\": \"The ABP device has not yet transmitted (15)\"\n}"}],"_postman_id":"bf393016-94aa-414a-97c4-1d37459aca00"}],"id":"72c48951-04df-4428-a1d8-5821ba716c41","description":"Implementation of the LoRaWAN MAC command: ***LoRaWAN PingSlotReq/Ans***","_postman_id":"72c48951-04df-4428-a1d8-5821ba716c41"},{"name":"Channels","item":[{"name":"Channels","event":[{"listen":"test","script":{"id":"93feb3e4-b6c9-4139-a447-a88d6b036118","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"19a5f975-c1f0-4476-978a-76c058793618","exec":["pm.environment.set(\"did\", 1);"],"type":"text/javascript"}}],"id":"19117a18-3948-4b73-b90a-b1a587a6e404","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/channels","description":"# \\[DEPRECATED\\]"},"response":[{"id":"68876924-b91c-4edf-9957-ede3336add23","name":"200 - Success","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/channels"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:41:40 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"236"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"ec-gtWMxeCTGn1sLrb49whTNeXEoKQ\""}],"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.1,\n            \"index\": 0,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.3,\n            \"index\": 1,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.5,\n            \"index\": 2,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        }\n    ],\n    \"size\": 3,\n    \"offset\": 0,\n    \"limit\": 20\n}"},{"id":"95b34417-47be-4caf-9fa5-4ef73202cd4f","name":"200 - Success (pending)","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/channels"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:57:47 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"302"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"12e-KKUBctolQ1RtuN51S/QpeiyeIT4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.1,\n            \"index\": 0,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.3,\n            \"index\": 1,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.5,\n            \"index\": 2,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"pending\",\n            \"frequency\": 863,\n            \"index\": 4,\n            \"maxDR\": 2,\n            \"minDR\": 1\n        }\n    ],\n    \"size\": 4,\n    \"offset\": 0,\n    \"limit\": 20\n}"},{"id":"e70db6fe-5e55-4664-8c5b-0fce0b635c4d","name":"200 - Success (sync)","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/channels"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 14:09:38 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"299"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"12b-GeNRz6PgYkXm6ZF4ttRTgloiEBU\""}],"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.1,\n            \"index\": 0,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.3,\n            \"index\": 1,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.5,\n            \"index\": 2,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"sync\",\n            \"frequency\": 863,\n            \"index\": 4,\n            \"maxDR\": 2,\n            \"minDR\": 1\n        }\n    ],\n    \"size\": 4,\n    \"offset\": 0,\n    \"limit\": 20\n}"},{"id":"08bbd54a-ec5a-4c4d-9647-e5ef708e661d","name":"200 - Success (deleting)","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/channels"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 14:11:33 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"300"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"12c-MC5t/RKiGR1RHUmWv3osA+NCTOA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.1,\n            \"index\": 0,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.3,\n            \"index\": 1,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"sync\",\n            \"frequency\": 868.5,\n            \"index\": 2,\n            \"maxDR\": 5,\n            \"minDR\": 0\n        },\n        {\n            \"state\": \"pending\",\n            \"frequency\": 0,\n            \"index\": 4,\n            \"maxDR\": 0,\n            \"minDR\": 0\n        }\n    ],\n    \"size\": 4,\n    \"offset\": 0,\n    \"limit\": 20\n}"},{"id":"b603fe5d-ff32-4bde-83af-ed84120d7c74","name":"404 - Device not found","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/999/params/channels"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:43:10 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"2babcb6f-17ba-4d39-afb5-cf2ed9fc9415","name":"400 - wrong param type","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/xxx/params/channels"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:43:28 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"e472c46e-b2eb-4837-ad2c-81db49a9af5d","name":"444 - device never communicated","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/channels"},"status":"unknown","code":444,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:57:24 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"48-boRMClbdSZ+CRaVku/inh6u4f48\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 444,\n    \"message\": \"the device never communicated with the server\"\n}"}],"_postman_id":"19117a18-3948-4b73-b90a-b1a587a6e404"},{"name":"Channels Update","event":[{"listen":"test","script":{"id":"2f765211-234f-4fa6-bfe9-00a920c4d303","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"7ccf8f97-7f49-4a44-b7c6-45a474b40366","exec":["pm.environment.set(\"did\", 1);","pm.environment.set(\"chIndex\", 3);","pm.environment.set(\"frequency\", 863);","pm.environment.set(\"maxDR\", 2);","pm.environment.set(\"minDR\", 1);"],"type":"text/javascript"}}],"id":"bd7716c4-15ec-4c6c-89fd-7990e32d7ad7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"chIndex\": {{chIndex}},\n\t\"frequency\": {{frequency}},\n\t\"maxDR\": {{maxDR}},\n\t\"minDR\": {{minDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/channels","description":"# \\[DEPRECATED\\]"},"response":[{"id":"396087fa-2956-4033-9885-d4e43ff90ae9","name":"200 - Success","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"chIndex\": {{chIndex}},\n\t\"frequency\": {{frequency}},\n\t\"maxDR\": {{maxDR}},\n\t\"minDR\": {{minDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/channels"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:55:01 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"49"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"31-3kb4tSrIZqxQ5EbJoK0ZNn4zpbk\""}],"cookie":[],"responseTime":null,"body":"{\n    \"chIndex\": 4,\n    \"frequency\": 863,\n    \"maxDR\": 2,\n    \"minDR\": 1\n}"},{"id":"674f5372-f2d4-4b8f-b603-d1d24fb078b7","name":"404 - Device not found","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"chIndex\": {{chIndex}},\n\t\"frequency\": {{frequency}},\n\t\"maxDR\": {{maxDR}},\n\t\"minDR\": {{minDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/999/params/channels"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:55:37 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"da4cf8bc-1188-4156-918d-027f31210e64","name":"400 - wrong param type","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"chIndex\": {{chIndex}},\n\t\"frequency\": {{frequency}},\n\t\"maxDR\": {{maxDR}},\n\t\"minDR\": {{minDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/xxx/params/channels"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:56:01 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"54df8d4b-2b2c-4136-99ac-c12006bf13ac","name":"444 - device never communicated","originalRequest":{"method":"PUT","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"chIndex\": {{chIndex}},\n\t\"frequency\": {{frequency}},\n\t\"maxDR\": {{maxDR}},\n\t\"minDR\": {{minDR}}\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/channels"},"status":"unknown","code":444,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 13:56:31 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"72"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"48-boRMClbdSZ+CRaVku/inh6u4f48\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 444,\n    \"message\": \"the device never communicated with the server\"\n}"}],"_postman_id":"bd7716c4-15ec-4c6c-89fd-7990e32d7ad7"},{"name":"Channels Delete","event":[{"listen":"test","script":{"id":"8bc73c0c-25ce-49f3-9e9d-fbd658aa5e6f","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"3c2c62b5-2ffb-46ad-9ae3-bb2cc46c0e9e","exec":["pm.environment.set(\"did\", 1);","pm.environment.set(\"chid\", 3);"],"type":"text/javascript"}}],"id":"6109d16f-7420-48be-8a55-6c66b4844bfc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/channels/{{chid}}","description":"# \\[DEPRECATED\\]"},"response":[{"id":"d686764b-c9a9-43e6-9e00-628668edca42","name":"200 - Success","originalRequest":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/channels/{{chid}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 14:11:13 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"2"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\""}],"cookie":[],"responseTime":null,"body":"{}"},{"id":"b2e34dfc-ccfd-43f1-9b87-fcb1a44d4ad0","name":"404 - Device not found","originalRequest":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/999/params/channels/{{chid}}"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 14:13:03 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-ebhaQXuHMxJQelC9QsUfctGhJDs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device not found\"\n}"},{"id":"0305602f-cfb8-4786-be6c-95f44ecb105b","name":"400 - wrong param type","originalRequest":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/xxx/params/channels/{{chid}}"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 14:13:44 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"},{"id":"527a0a6b-5bad-4fbc-999d-33760b432d66","name":"400 - message malformed","originalRequest":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device/{{did}}/params/channels/999"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Wed, 07 Jun 2023 14:15:15 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"50"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"32-6HvoFQT35gVo09/DBmR51A/XVN4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"Input message malformed\"\n}"}],"_postman_id":"6109d16f-7420-48be-8a55-6c66b4844bfc"}],"id":"5f320057-9d20-4751-ab9a-15606b2a6be9","description":"Implementation of the LoRaWAN MAC command: ***LoRaWAN PingSlotReq/Ans***","_postman_id":"5f320057-9d20-4751-ab9a-15606b2a6be9"}],"id":"d53a066e-9f2f-42d7-8d56-18dae6c5b1b5","_postman_id":"d53a066e-9f2f-42d7-8d56-18dae6c5b1b5"}],"id":"59555929-0c49-489a-95fb-59892b16247d","_postman_id":"59555929-0c49-489a-95fb-59892b16247d"},{"name":"Devices Import","item":[{"name":"Import Devices","id":"abd865ed-e421-4642-a47a-c64c3d685425","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","value":null}]},"url":"{{protocol}}://{{host}}/api/v2/application/{{aid}}/devices/import","description":"This API imports the devices to one application.\n\nThe response will contain the result of the imported devices.\n\nThe request body parameters is provided in the `Properties` table.  \nAn example of a response is provided in the right-side section.\n\n# Properties\n\n| Property | Type | Required | Nullable | Defined by |\n| --- | --- | --- | --- | --- |\n| [file](#file) | `file` | **Required** | No |  |\n\n## file\n\nIt is a `csv` file providing the devices list.\n\n`file`\n\n\\* is **required**  \n\\* type: `file`\n\n### `CSV fields`\n\n| Property | type | description |\n| --- | --- | --- |\n| **serial** | `string` | `serial number` of the device |\n| **deveui** \\* | `hexstring` | `deveui` of the device |\n| **devaddr** | `hexstring` | the device `address` |\n| **label** \\* | `string` | the `label` of the device |\n| **firmware** | `string` | the `firmware` version of the device |\n| **model** | `string` | the `model` of the device |\n| **nwkSKey** ** | `hexstring` | the `nwkSKey` of `ABP` device |\n| **appSKey** ** | `hexstring` | the `appSKey` of `ABP` device |\n| **appKey** **†** | `hexstring` | the `appKey` of `OTAA` device |\n| **joineui** **†** | `hexstring` | the `appEui`/`joinEui` of `OTAA` device |\n| **DeviceProfileId** \\* | `integer` | the `profile id` of the device |\n| **type** \\* | `integer` | `type` of device, `ABP` (`0`) o `OTAA` (`128`) |\n\n\\* is **required** / ** is **required** for **ABP** devices / **†** is **required** for **OTAA** devices\n\n`csv` example:\n\n``` plaintext\nserial,deveui,devaddr,label,firmware,model,nwkSKey,appSKey,appKey,joineui,DeviceProfileId,type\n\"16257\",\"000000002fc28b1d\",\"\",\"device 000000002fc28b1d\",\"66270\",\"94946\",\"\",\"\",\"0000000000000000000000002fc28b1d\",\"000000002fc28b1d\",\"7\",\"128\"\n\"34581\",\"000000004f2d8fd0\",\"4f2d8fd0\",\"device 000000004f2d8fd0\",\"54000\",\"70133\",\"0000000000000000000000004f2d8fd0\",\"0000000000000000000000004f2d8fd0\",\"\",\"\",\"7\",\"0\"\n\n```"},"response":[],"_postman_id":"abd865ed-e421-4642-a47a-c64c3d685425"}],"id":"8782608d-6be3-4806-ac96-d4dc0f3870cb","_postman_id":"8782608d-6be3-4806-ac96-d4dc0f3870cb"}],"id":"98a1360a-737e-4e41-8ca5-c7efc974ef86","_postman_id":"98a1360a-737e-4e41-8ca5-c7efc974ef86"},{"name":"DeviceShare","item":[{"name":"Device List Shared With","event":[{"listen":"test","script":{"id":"f9a09d6d-f1b9-48f9-b8d2-f5dcf24bdf34","exec":[""],"type":"text/javascript"}}],"id":"75cb2fa5-b86b-47f0-b285-e1ccedb9579d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/devices/shared/with","description":"This API returns all the existing device for the current user shared with the other users.\n\nThis API supports advanced filtering: the url accepts a set of parameters to filter over the list.\n\nThe available filters are:\n\n| Key     | Value       | Description               | \n| ------- | ----------- | ------------------------- |\n| guestid | {{guestid}} | Device shared with this user id\n| did     | {{did}}     | Device id \n| label   | {{label}}   | Label used to identify the sharing between device and user\n\nFiltering is supported as described in `Common` section under Filtering.\n\nPaging is supported as described in `Common` section under Paging.\n \nDetails:\n   * No body in the request\n   * The possible responses are listed in the section on the right"},"response":[{"id":"51fb0233-c687-4467-8d5a-0105920bea42","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/devices/shared/with"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"rows\": [\n    {\n      \"id\": 1,\n      \"label\": \"TEST Giussa\",\n      \"DeviceId\": 1,\n      \"device\": {\n        \"id\": 1,\n        \"label\": \"Device OTAA user foo\",\n        \"UserId\": 5,\n        \"deveui\": \"0000000000000001\",\n        \"type\": \"OTAA\",\n        \"DeviceProfileId\": 2,\n        \"model\": null,\n        \"serial\": null,\n        \"firmware\": null,\n        \"appKey\": \"00000000000000000000000000000001\",\n        \"createdAt\": \"2020-02-03T07:00:27.715Z\",\n        \"updatedAt\": \"2020-02-03T07:00:27.715Z\",\n        \"status\": {\n          \"activated\": false\n        },\n        \"position\": {\n          \"lat\": 44.2414926410978,\n          \"lng\": 9.32150783148117,\n          \"alt\": 181.43419098371\n        },\n        \"appid\": 1,\n        \"appeui\": \"0000000000000001\"\n      },\n      \"guest\": {\n        \"id\": 6,\n        \"username\": \"bar\",\n        \"email\": \"bar@foo.com\"\n      }\n    },\n    {\n      \"id\": 4,\n      \"label\": \"Shared device TEST 991987\",\n      \"DeviceId\": 2,\n      \"device\": {\n        \"id\": 2,\n        \"label\": \"Device ABP user foo\",\n        \"UserId\": 5,\n        \"deveui\": \"0000000000000002\",\n        \"type\": \"ABP\",\n        \"DeviceProfileId\": 4,\n        \"devaddr\": \"00000002\",\n        \"model\": null,\n        \"serial\": null,\n        \"firmware\": null,\n        \"appSKey\": \"00000000000000000000000000000002\",\n        \"nwkSKey\": \"00000000000000000000000000000002\",\n        \"createdAt\": \"2020-02-03T07:00:27.715Z\",\n        \"updatedAt\": \"2020-02-03T07:00:27.715Z\",\n        \"status\": {\n          \"activated\": true\n        },\n        \"position\": {\n          \"lat\": 45.1647155957037,\n          \"lng\": 9.66578130815256,\n          \"alt\": 309.189201481501\n        },\n        \"appid\": 1\n      },\n      \"guest\": {\n        \"id\": 6,\n        \"username\": \"bar\",\n        \"email\": \"bar@foo.com\"\n      }\n    }\n  ],\n  \"size\": 2,\n  \"offset\": 0,\n  \"limit\": 20\n}"}],"_postman_id":"75cb2fa5-b86b-47f0-b285-e1ccedb9579d"},{"name":"Device List Shared By","event":[{"listen":"test","script":{"id":"f9a09d6d-f1b9-48f9-b8d2-f5dcf24bdf34","exec":[""],"type":"text/javascript"}}],"id":"8acc668a-ea88-46a3-bb3e-9be3762c02e0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/devices/shared/by","description":"This API returns all the existing devices for the current user shared by the other users.\n\nThis API supports advanced filtering: the url accepts a set of parameters to filter over the list of shared devices by other users.\n\nThe available filters are:\n\n| Key     | Value       | Description               | \n| ------- | ----------- | ------------------------- |\n| guestid | {{guestid}} | Device shared with this user id\n| did     | {{did}}     | Device id \n| label   | {{label}}   | Label used to identify the sharing between device and user\n\nFiltering is supported as described in `Common` section under Filtering.\n\nPaging is supported as described in `Common` section under Paging.\n \nDetails:\n   * No body in the request\n   * The possible responses are listed in the section on the right"},"response":[{"id":"2d39ed7b-d891-4505-90bd-e0ae47da742f","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/devices/shared/by"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"rows\": [\n    {\n      \"id\": 2,\n      \"label\": \"Shared device TEST 165206\",\n      \"DeviceId\": 3,\n      \"GuestId\": 5,\n      \"device\": {\n        \"id\": 3,\n        \"label\": \"Device OTAA user bar\",\n        \"UserId\": 6,\n        \"deveui\": \"0000000000000001\",\n        \"type\": \"OTAA\",\n        \"DeviceProfileId\": 2,\n        \"model\": null,\n        \"serial\": null,\n        \"firmware\": null,\n        \"appKey\": \"00000000000000000000000000000011\",\n        \"createdAt\": \"2020-02-03T07:00:27.715Z\",\n        \"updatedAt\": \"2020-02-03T07:00:27.715Z\",\n        \"owner\": {\n          \"id\": 6,\n          \"username\": \"bar\",\n          \"email\": \"bar@foo.com\"\n        },\n        \"status\": {\n          \"activated\": false\n        },\n        \"position\": {\n          \"lat\": 45.4172164553258,\n          \"lng\": 9.94288171102641,\n          \"alt\": 368.319447046326\n        },\n        \"appid\": 2,\n        \"appeui\": \"0000000000000001\"\n      }\n    },\n    {\n      \"id\": 3,\n      \"label\": \"Shared device TEST 165206\",\n      \"DeviceId\": 4,\n      \"GuestId\": 5,\n      \"device\": {\n        \"id\": 4,\n        \"label\": \"Device ABP user bar\",\n        \"UserId\": 6,\n        \"deveui\": \"0000000000000002\",\n        \"type\": \"ABP\",\n        \"DeviceProfileId\": 4,\n        \"devaddr\": \"00000002\",\n        \"model\": null,\n        \"serial\": null,\n        \"firmware\": null,\n        \"appSKey\": \"00000000000000000000000000000022\",\n        \"nwkSKey\": \"00000000000000000000000000000022\",\n        \"createdAt\": \"2020-02-03T07:00:27.715Z\",\n        \"updatedAt\": \"2020-02-03T07:00:27.715Z\",\n        \"owner\": {\n          \"id\": 6,\n          \"username\": \"bar\",\n          \"email\": \"bar@foo.com\"\n        },\n        \"status\": {\n          \"activated\": true\n        },\n        \"position\": {\n          \"lat\": 45.1358898900724,\n          \"lng\": 8.59242682255438,\n          \"alt\": 324.559215648213\n        },\n        \"appid\": 2\n      }\n    }\n  ],\n  \"size\": 2,\n  \"offset\": 0,\n  \"limit\": 20\n}"}],"_postman_id":"8acc668a-ea88-46a3-bb3e-9be3762c02e0"},{"name":"Share Device","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"ef8c5b93-1ad9-4392-953b-fdf0e5ab78c4","exec":["pm.environment.set(\"guest-uid\", 13);","pm.environment.set(\"guest-email\", \"bar@foo.com\");","pm.environment.set(\"did\", 51);","pm.environment.set(\"share-label\", \"Device 0000000000000001 shared with bar\");"],"type":"text/javascript"}}],"id":"b754fdc5-9eb2-4c55-9a9b-3adf741794ba","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t//\"GuestId\": {{guest-uid}},\n    \"GuestEmail\": \"{{guest-email}}\",\n\t\"ids\": [{{did}}],\n\t\"label\": \"{{share-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device-share","description":"This API creates a new sharing for the device.\n\nThe reponse will contain the created object with the created sharing device.\n\nExaustive description is written in the following rows.\n \nDetails:\n   * The Request contains a body that should have the parameters listed below in the `Properties` table\n   * The possible responses are listed in the section on the right\n\n \n# Schema\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"label\": {\n      \"type\": \"string\",\n      \"minLength\": 1,\n      \"maxLength\": 255,\n      \"description\": \"The label is a field used to describe this shared device relation\"\n    },\n    \"GuestId\": {\n      \"type\": \"integer\",\n      \"minimum\": 1,\n      \"description\": \"Identifies the user on which add the device\"\n    },\n    \"ids\": {\n      \"type\": \"array\",\n      \"minItems\": 1,\n      \"items\": {\n        \"type\": \"integer\"\n      },\n      \"description\": \"Array of device id\"\n    },\n    \"GuestEmail\": {\n      \"type\": \"string\",\n      \"minLength\": 1,\n      \"maxLength\": 255,\n      \"format\": \"email\",\n      \"description\": \"The email of the user on which add the device\"\n    }\n  },\n  \"oneOf\": [{\n      \"required\": [\n        \"GuestId\"\n      ]\n    },\n    {\n      \"required\": [\n        \"GuestEmail\"\n      ]\n    }\n  ],\n  \"required\": [\n    \"ids\",\n    \"label\"\n  ],\n  \"additionalProperties\": false\n}\n```\n\n# Properties\n\n| Property            | Type       | Required     | Nullable | Defined by    |\n| ------------------- | ---------- | ------------ | -------- | ------------- |\n| [GuestId](#guestid) | `integer`  | **Required** | No       | (this schema) |\n| [GuestEmail](#guestemail) | `string`  | **Required** | No       | (this schema) |\n| [ids](#ids)         | `integer[]` | **Required** | No       | (this schema) |\n| [label](#label)     | `string`   | **Required** | No       | (this schema) |\n\n## GuestId\n\nIdentifies the user on which add the device\n\n`GuestId`\n\n- is **required**\n- type: `integer`\n- defined in this schema\n\n### GuestId Type\n\n`integer`\n\n- minimum value: `1`\n\n## GuestEmail\n\nIdentifies the user on which add the device\n\n`GuestEmail`\n\n- is **required**\n- type: `string`\n- defined in this schema\n\n### GuestEmail Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters\n\n## ids\n\nArray of device id\n\n`ids`\n\n- is **required**\n- type: `integer[]`\n- at least `1` items in the array\n- defined in this schema\n\n### ids Type\n\nArray type: `integer[]`\n\nAll items must be of the type: `integer`\n\n## label\n\nThe label is a field used to describe this shared device relation\n\n`label`\n\n- is **required**\n- type: `string`\n- defined in this schema\n\n### label Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters"},"response":[{"id":"61683c0d-9962-4b6b-ae11-788a8923fd62","name":"200 - Success (with UserId)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"GuestId\": {{guest-uid}},\n\t\"ids\": [{{did}}],\n\t\"label\": \"{{share-label}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device-share"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 07:49:34 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"167"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"a7-q0FuWyxAFmd1J+ybLKmUvTN9//4\""}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 1,\n        \"DeviceId\": 1,\n        \"GuestId\": 2,\n        \"label\": \"Device 0000000000000001 shared with bar\",\n        \"createdAt\": \"2023-06-05T07:49:34.066Z\",\n        \"updatedAt\": \"2023-06-05T07:49:34.066Z\"\n    }\n]"},{"id":"8a1f41fc-4767-4e55-a22f-35703e1d9ea6","name":"200 - Success (with email)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n    \"GuestEmail\": \"{{guest-email}}\",\n\t\"ids\": [{{did}}],\n\t\"label\": \"{{share-label}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device-share"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 08:00:41 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"167"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"a7-8KiIpXiuFhM6BpYGSg2ZOjUecSs\""}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 452,\n        \"DeviceId\": 51,\n        \"GuestId\": 13,\n        \"label\": \"Device 0000000000000001 shared with bar\",\n        \"createdAt\": \"2023-06-05T08:00:41.620Z\",\n        \"updatedAt\": \"2023-06-05T08:00:41.620Z\"\n    }\n]"},{"id":"bb5b082d-431c-4f17-81e9-91e68218cbab","name":"404 - Guest user not found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"GuestId\": 999,\n\t\"ids\": [{{did}}],\n\t\"label\": \"{{share-label}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device-share"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 07:50:38 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"47"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2f-Ok1RZhtQfXXdtUWQQ0qI73Oj104\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Guest user not found\"\n}"},{"id":"fca2f3d5-4b11-43e4-9b3f-e9474785924b","name":"400 - wrong param type","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"GuestId\": \"xxx\",\n\t\"ids\": [{{did}}],\n\t\"label\": \"{{share-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device-share"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 07:51:13 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"59"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"3b-FnaSp4g0yMnBUHVdGNsRCSR5zvY\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.GuestId should be integer\"\n}"},{"id":"df887230-a095-4653-811b-6abec41ad55e","name":"400 - Ivalid ids param","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"GuestId\": {{guest-uid}},\n\t\"ids\": [999],\n\t\"label\": \"{{share-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device-share"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 07:51:40 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-bFiDJI9VQSk2iD2E3kPR1SAZXNA\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"Ivalid ids param\"\n}"}],"_postman_id":"b754fdc5-9eb2-4c55-9a9b-3adf741794ba"},{"name":"Update Device Shared Information","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"d0a2b6a2-1076-4df2-9462-d37ef418a275","exec":["pm.environment.set(\"dsid\", 1);","pm.environment.set(\"new-share-label\", \"Device 0000000000000001 shared with bar [updated]\");",""],"type":"text/javascript"}}],"id":"89594304-0b65-4be2-828d-9d64a0284945","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\": \"{{new-share-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device-share/{{dsid}}","description":"This API allows to update the information of the own device identified by `{{dsid}}`.\n\nThis API requires at least a property to update. All the properties are optional but at least one is required. \n \nFor example you can change label.\n\nExaustive description is written in the following rows.\n \nDetails:\n   * The Request contains a body that should have the parameters listed below in the `Properties` table\n   * The possible responses are listed in the section on the right\n\n# Schema\n```\n{\n    \"type\": \"object\",\n    \"properties\": {\n        \"label\": {\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"maxLength\": 255,\n            \"description\": \"The label is a field used to describe this shared device relation\"\n        }\n    },\n    \"required\": [\n        \"label\"\n    ],\n    \"additionalProperties\": false\n}\n```\n\n# Properties\n\n| Property        | Type     | Required     | Nullable | Defined by    |\n| --------------- | -------- | ------------ | -------- | ------------- |\n| [label](#label) | `string` | **Required** | No       | (this schema) |\n\n## label\n\nThe label is a field used to describe this shared device relation\n\n`label`\n\n- is **required**\n- type: `string`\n- defined in this schema\n\n### label Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters"},"response":[{"id":"a9a00c86-21e7-4c0a-a033-75f57309e030","name":"204 - Success","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\": \"{{new-share-label}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/device-share/{{dsid}}"},"status":"No Content","code":204,"_postman_previewlanguage":"plain","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 07:55:13 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"e-wVWNT6UsysLKAc52mfcyJknNgNc\""}],"cookie":[],"responseTime":null,"body":null},{"id":"5976c5ba-8239-411b-97e5-a0b27d464ca8","name":"404 - Device Share not found","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\": \"{{new-share-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device-share/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 07:55:53 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"49"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"31-q7Xd2ixDxn0fd/70gcqUQUTjxqQ\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device Share not found\"\n}"},{"id":"b0b2cbd4-1522-4727-b5be-30ddad38417b","name":"400 - wrong param type","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\": \"{{new-share-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/device-share/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 07:58:33 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"38-HS530gw4k8ouip10bCg91n+QAtE\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.dsid should be integer\"\n}"}],"_postman_id":"89594304-0b65-4be2-828d-9d64a0284945"},{"name":"Remove Device Sharing","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"c2f2c6bd-e53d-4fd9-b8f7-d02b2648dcff","exec":["pm.environment.set(\"dsid\", 451);"],"type":"text/javascript"}}],"id":"77748398-03ae-4f06-994f-ad046c9c1250","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device-share/{{dsid}}","description":"This API removes an existing sharing relation for the device.\n\nThe device share to delete is passed in the URL using the DeviceShareId as `{{dsid}}`.\n\nExaustive description is written in the following rows.\n \nDetails:\n   * No body in the request\n   * The device share to delete is identified in the url by `{{dsid}}`\n   * The possible responses are listed in the section on the right"},"response":[{"id":"01a59a13-d16f-4246-afe2-7bcc8a1e9df8","name":"204 - Success","originalRequest":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device-share/{{dsid}}"},"status":"No Content","code":204,"_postman_previewlanguage":"plain","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 07:57:16 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"e-wVWNT6UsysLKAc52mfcyJknNgNc\""}],"cookie":[],"responseTime":null,"body":null},{"id":"8a9f392a-ac9c-4ece-bb3a-eac99e1ea277","name":"404 - Device Share not found","originalRequest":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device-share/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 07:57:39 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"49"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"31-q7Xd2ixDxn0fd/70gcqUQUTjxqQ\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device Share not found\"\n}"},{"id":"f4f0404c-68e0-48a8-87d0-2cfe5b766bcd","name":"400 - wrong param type","originalRequest":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device-share/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 07:57:58 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"38-HS530gw4k8ouip10bCg91n+QAtE\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.dsid should be integer\"\n}"}],"_postman_id":"77748398-03ae-4f06-994f-ad046c9c1250"}],"id":"9d0fa0f1-e777-4333-98e7-68dee3040192","_postman_id":"9d0fa0f1-e777-4333-98e7-68dee3040192"},{"name":"DeviceProfile","item":[{"name":"Device Profile List","event":[{"listen":"test","script":{"id":"f9a09d6d-f1b9-48f9-b8d2-f5dcf24bdf34","exec":[""],"type":"text/javascript"}}],"id":"6e7b45b1-9633-41b0-bc90-29a7be04c66b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device-profiles","description":"This API returns all the existing device profile.\n\nThis API supports advanced filtering: the url accepts a set of parameters to filter over the list.\n\nThe available filters are:\n\n| Key              | Value                 | Description               | \n| ---------------- | --------------------- | ------------------------- |\n| macVersion       | {{maxtxpower}}        | Indicate the LoRaWAN version supported by this device profile.\n| supports32biFCnt | {{supports32bitfcnt}} | Used to indicate if the frame counter supports 32 bit.\n| supportsClassB   | {{supportsclassb}}    | Flag used to indicate if this device support the class B. If True this profile manage class B.\n| supportsClassC   | {{supportsclassc}}    | Flag used to indicate if this device support the class C. If True this profile manage class C.\n\nFiltering is supported as described in `Common` section under Filtering.\n\nPaging is supported as described in `Common` section under Paging.\n \nDetails:\n   * No body in the request.\n   * The possible responses are listed in the section on the right."},"response":[{"id":"03f24920-169d-433e-8384-d58cddab8151","name":"200 - Success","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/device-profiles"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"rows\": [\n    {\n      \"id\": 1,\n      \"macVersion\": \"1.0.2\",\n      \"supports32bitFCnt\": false,\n      \"supportsClassB\": false,\n      \"supportsClassC\": false,\n      \"createdAt\": \"2020-12-10T14:22:41.337Z\",\n      \"updatedAt\": \"2020-12-10T14:22:41.337Z\"\n    },\n    {\n      \"id\": 2,\n      \"macVersion\": \"1.0.2\",\n      \"supports32bitFCnt\": true,\n      \"supportsClassB\": false,\n      \"supportsClassC\": false,\n      \"createdAt\": \"2020-12-10T14:22:41.337Z\",\n      \"updatedAt\": \"2020-12-10T14:22:41.337Z\"\n    },\n    {\n      \"id\": 3,\n      \"macVersion\": \"1.0.2\",\n      \"supports32bitFCnt\": false,\n      \"supportsClassB\": false,\n      \"supportsClassC\": true,\n      \"createdAt\": \"2020-12-10T14:22:41.337Z\",\n      \"updatedAt\": \"2020-12-10T14:22:41.337Z\"\n    },\n    {\n      \"id\": 4,\n      \"macVersion\": \"1.0.2\",\n      \"supports32bitFCnt\": true,\n      \"supportsClassB\": false,\n      \"supportsClassC\": true,\n      \"createdAt\": \"2020-12-10T14:22:41.337Z\",\n      \"updatedAt\": \"2020-12-10T14:22:41.337Z\"\n    },\n    {\n      \"id\": 5,\n      \"macVersion\": \"1.0.3\",\n      \"supports32bitFCnt\": false,\n      \"supportsClassB\": false,\n      \"supportsClassC\": false,\n      \"createdAt\": \"2020-12-10T14:22:41.337Z\",\n      \"updatedAt\": \"2020-12-10T14:22:41.337Z\"\n    },\n    {\n      \"id\": 6,\n      \"macVersion\": \"1.0.3\",\n      \"supports32bitFCnt\": true,\n      \"supportsClassB\": false,\n      \"supportsClassC\": false,\n      \"createdAt\": \"2020-12-10T14:22:41.337Z\",\n      \"updatedAt\": \"2020-12-10T14:22:41.337Z\"\n    },\n    {\n      \"id\": 7,\n      \"macVersion\": \"1.0.3\",\n      \"supports32bitFCnt\": false,\n      \"supportsClassB\": true,\n      \"supportsClassC\": false,\n      \"createdAt\": \"2020-12-10T14:22:41.337Z\",\n      \"updatedAt\": \"2020-12-10T14:22:41.337Z\"\n    },\n    {\n      \"id\": 8,\n      \"macVersion\": \"1.0.3\",\n      \"supports32bitFCnt\": true,\n      \"supportsClassB\": true,\n      \"supportsClassC\": false,\n      \"createdAt\": \"2020-12-10T14:22:41.337Z\",\n      \"updatedAt\": \"2020-12-10T14:22:41.337Z\"\n    },\n    {\n      \"id\": 9,\n      \"macVersion\": \"1.0.3\",\n      \"supports32bitFCnt\": false,\n      \"supportsClassB\": false,\n      \"supportsClassC\": true,\n      \"createdAt\": \"2020-12-10T14:22:41.337Z\",\n      \"updatedAt\": \"2020-12-10T14:22:41.337Z\"\n    },\n    {\n      \"id\": 10,\n      \"macVersion\": \"1.0.3\",\n      \"supports32bitFCnt\": true,\n      \"supportsClassB\": false,\n      \"supportsClassC\": true,\n      \"createdAt\": \"2020-12-10T14:22:41.337Z\",\n      \"updatedAt\": \"2020-12-10T14:22:41.337Z\"\n    }\n  ],\n  \"size\": 10,\n  \"offset\": 0,\n  \"limit\": 20\n}"}],"_postman_id":"6e7b45b1-9633-41b0-bc90-29a7be04c66b"},{"name":"Device Profile Properties","event":[{"listen":"test","script":{"id":"f9a09d6d-f1b9-48f9-b8d2-f5dcf24bdf34","exec":[""],"type":"text/javascript"}}],"id":"d0743eff-8b99-4877-8f72-e361e5e54e6d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device-profile/properties","description":"This API returns all the possible values that a property associated to the device profile may have.\n\nThe response is an object that containssssssss the property name and all the possible values associated to it.\n\nFor example there is a property called `supportClassB` that is a boolean flag that indicate if the device supports or not the class B feature. \n\nDetails:\n   * No body in the request\n   * The possible responses are listed in the section on the right"},"response":[{"id":"a704b841-ca9e-4abb-99c5-0d3c220ee0e5","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device-profile/properties"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"macVersion\": [\n    \"1.0.2\",\n    \"1.0.3\"\n  ],\n  \"supports32bitFCnt\": [\n    false,\n    true\n  ],\n  \"supportsClassB\": [\n    false,\n    true\n  ],\n  \"supportsClassC\": [\n    false,\n    true\n  ]\n}"}],"_postman_id":"d0743eff-8b99-4877-8f72-e361e5e54e6d"},{"name":"Device Profile Single","event":[{"listen":"test","script":{"id":"f9a09d6d-f1b9-48f9-b8d2-f5dcf24bdf34","exec":[""],"type":"text/javascript"}}],"id":"5d5f6722-053a-4046-b24a-c6881672f2cf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device-profile/{{dpid}}","description":"This API returns the device profile associated with the given `dpid`, the unique id associated to each profile.\n\nThe response will provide an object that containsssssss the single Device Profile details.\n\nDetails:\n   * The device profile to obtain is identified in the url by `{{dpid}}`\n   * No body in the request\n   * The possible responses are listed in the section on the right"},"response":[{"id":"749208b2-6e41-4073-95f1-261ae86363bb","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device-profile/{{dpid}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"id\": 1,\n  \"macVersion\": \"1.0.2\",\n  \"supports32bitFCnt\": false,\n  \"supportsClassB\": false,\n  \"supportsClassC\": false,\n  \"createdAt\": \"2020-12-10T14:22:41.337Z\",\n  \"updatedAt\": \"2020-12-10T14:22:41.337Z\"\n}"},{"id":"1a9d4ce4-2256-464c-a368-e1d29ba42200","name":"404 - Device profile not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device-profile/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 10:33:58 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"51"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"33-ZirnK1CtEydBWwyXL/vI/3qNHmQ\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Device profile not found\"\n}"},{"id":"978c73c7-9663-4db1-b3e8-ab846bb577cc","name":"400 - wrong param type","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/device-profile/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 10:34:28 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"38-EFjUNRiAx+XLjkIZHX0EWkV1zMU\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.dpid should be integer\"\n}"}],"_postman_id":"5d5f6722-053a-4046-b24a-c6881672f2cf"}],"id":"c8ba0dba-8120-4aa8-91f4-010e3910ac2c","_postman_id":"c8ba0dba-8120-4aa8-91f4-010e3910ac2c"},{"name":"Application","item":[{"name":"Application List","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript"}}],"id":"6cd370fe-e2e7-4b17-844f-e99e1abedb14","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/applications","description":"This API returns all the existing applications related to the current user.\n\nThis API supports advanced filtering: the url accepts a set of parameters to filter over the list.\n\nThe available filters are:\n\n| Key   | Value   | Description               | \n| ----- | ------- | ------------------------- |\n| aid   | {{aid}}   | Global id that uniquely identifies the application\n| appid | {{appid}} | Application id used by the MQTT topics\n| label | {{label}} | Label used to tag the application\n\nSupported filtering and paging is described in the `Common` section.\n \nDetails:\n   * The request has no body\n   * Examples of response are available in the right section\n\n ---\n\n **NOTE:** `aid` and `appid` are not alike."},"response":[{"id":"c2e97666-c1a8-4350-ab6b-41801a043999","name":"200 - Success","originalRequest":{"method":"GET","header":[],"url":"{{protocol}}://{{host}}/api/v2/applications"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"529"},{"key":"ETag","value":"W/\"211-EBs6Hqk0js6I+KIVZChDPdElR+M\""},{"key":"Date","value":"Wed, 10 Oct 2018 15:10:44 GMT"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n  \"rows\": [\n    {\n      \"id\": 1,\n      \"appid\": 1,\n      \"label\": \"Application 1\",\n      \"UserId\": 9,\n      \"createdAt\": \"2020-12-14T08:39:48.827Z\",\n      \"updatedAt\": \"2020-12-14T08:39:48.848Z\"\n    }\n  ],\n  \"size\": 1,\n  \"offset\": 0,\n  \"limit\": 20\n}"}],"_postman_id":"6cd370fe-e2e7-4b17-844f-e99e1abedb14"},{"name":"Application Information","event":[{"listen":"test","script":{"id":"f9a09d6d-f1b9-48f9-b8d2-f5dcf24bdf34","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"190a3cf3-4c92-4d4e-b39f-bf594f162557","exec":["pm.environment.set(\"aid\", 1);"],"type":"text/javascript"}}],"id":"3b256cf6-2780-4c65-a23b-8f2177074739","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/application/{{aid}}","description":"This API returns the application associated with the given `aid`, the unique identifier associated to each application.\n\nThe response will provide an object that containssssssss the info about the related application.\n\nDetails:\n   * No body in the request\n   * The requested application is identified in the url by `{{aid}}`\n   * The possible responses are listed in the section on the right\n   * No filtering or paging supported"},"response":[{"id":"53d328da-2563-4f16-b6e0-e170b8809b73","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/application/{{aid}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"id\": 1,\n  \"appid\": 1,\n  \"label\": \"Application 1\",\n  \"UserId\": 9,\n  \"createdAt\": \"2020-12-14T08:39:48.827Z\",\n  \"updatedAt\": \"2020-12-14T08:39:48.848Z\"\n}"},{"id":"6e77a4ed-b389-4f70-81de-25fff54b1ef0","name":"404 - Application not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/application/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:55:44 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"48"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"30-mGzjyEwxPXxYXnmgJvpYKotFJr0\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Application not found\"\n}"},{"id":"83a39296-0270-416a-ac43-b75828cff2cd","name":"400 - wrong param type","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/application/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:56:13 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-ENsPvt3h4U6lEZGi6Ac3U5MHRTo\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.aid should be integer\"\n}"}],"_postman_id":"3b256cf6-2780-4c65-a23b-8f2177074739"},{"name":"Create Application","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}}],"id":"c8e0364e-e024-4405-b9e0-5c7fc65c2211","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\":\"{{label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/application","description":"This API creates a new application and returns the object related to the application.\n \nDetails:\n   * The request contains a body that should have the parameters listed below in the `Properties` table\n   * The possible responses are listed in the section on the right\n \n# Schema\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"label\": {\n      \"type\": [\n        \"number\",\n        \"string\"\n      ],\n      \"minLength\": 1,\n      \"maxLength\": 255,\n      \"description\": \"The label is a field used to describe this application\"\n    },\n    \"appid\": {\n      \"type\": \"integer\",\n      \"minimum\": 1,\n      \"maximum\": 9007199254740991,\n      \"description\": \"Uniquely identify an application for the current user. If omitted will be auto-generated\"\n    }\n  },\n  \"required\": [\n    \"label\"\n  ],\n  \"additionalProperties\": false\n}\n```\n\n# Properties\n\n| Property        | Type      | Required     | Nullable | Defined by    |\n| --------------- | --------- | ------------ | -------- | ------------- |\n| [appid](#appid) | `integer` | Optional     | No       | schema above |\n| [label](#label) | `string`  | **Required** | No       | schema above |\n\n## appid\n\nID that uniquely identifies the application. Auto-generated if omitted\n\n`appid`\n\n- optional\n- type: `integer`\n- defined in the schema above\n\n### appid Type\n\n`integer`\n\n- minimum value: `1`\n\n## label\n\nThe label is a field used to describe the application\n\n`label`\n\n- is **required**\n- type: `string`\n- defined in the schema above\n\n### label Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters"},"response":[{"id":"11523ca9-26f9-4640-8afe-9f3773a34baa","name":"200 - Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"label\": \"application\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/application"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"id\": 1,\n  \"UserId\": 9,\n  \"label\": \"application\",\n  \"appid\": 1,\n  \"createdAt\": \"2020-12-14T13:15:46.333Z\",\n  \"updatedAt\": \"2020-12-14T13:15:46.365Z\"\n}"},{"id":"5908ee1e-7ae7-465c-b385-1df4f9dd46a4","name":"400 - missing param","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n}"},"url":"{{protocol}}://{{host}}/api/v2/application"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:58:23 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"71"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"47-ETmVClinXU56KDhI7fR5ifEntKM\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params should have required property 'label'\"\n}"},{"id":"61b1148c-81b7-4830-bd88-f572c7b0ba95","name":"400 - additional param","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\":\"{{label}}\",\n    \"field\": \"xxx\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/application"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 09:59:14 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"71"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"47-bflGtp7M1DByxn49D07doWNh3xc\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params should NOT have additional properties\"\n}"}],"_postman_id":"c8e0364e-e024-4405-b9e0-5c7fc65c2211"},{"name":"Update Application Information","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}}],"id":"82fb8ec2-5a20-4de2-8cd8-090568924b0d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\":\"{{new-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/application/{{aid}}","description":"This API allows to update the information of the own application identified by `{{aid}}`.\n\nThis API requires at least a property to update. All the properties are optional but at least one is required. \n \nFor example you can change label.\n\nExaustive description is written in the following rows.\n \nDetails:\n   * The Request contains a body that should have the parameters listed below in the `Properties` table\n   * The possible responses are listed in the section on the right\n\n# Schema\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"label\": {\n      \"type\": [\n        \"number\",\n        \"string\"\n      ],\n      \"minLength\": 1,\n      \"maxLength\": 255,\n      \"description\": \"The label is a field used to describe this application\"\n    }\n  },\n  \"required\": [\n    \"label\"\n  ],\n  \"additionalProperties\": false\n}\n```\n\n# Properties\n\n| Property        | Type     | Required     | Nullable | Defined by    |\n| --------------- | -------- | ------------ | -------- | ------------- |\n| [label](#label) | `string` | **Required** | No       | (this schema) |\n\n## label\n\nThe label is a field used to describe this application\n\n`label`\n\n- is **required**\n- type: `string`\n- defined in this schema\n\n### label Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters"},"response":[{"id":"45773567-8caf-42e9-9529-ad65b0da3683","name":"204 - Success","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n  \"label\": \"TEST application update 614018\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/application/{{aid}}"},"status":"No Content","code":204,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"b4007d67-857b-4f8d-96c3-757d12dcf8df","name":"404 - Application not found","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\":\"{{new-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/application/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 10:01:01 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"97"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"61-7pW1kWqepqgb7KHJpYNIh0bjEWs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Application not found or it was created with a previous version of api\"\n}"},{"id":"6334ee06-d4c9-4b1f-beb7-cf133a046c1e","name":"400 - wrong param type","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\":\"{{new-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/application/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 10:08:15 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-ENsPvt3h4U6lEZGi6Ac3U5MHRTo\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.aid should be integer\"\n}"},{"id":"ea3b2ff7-7ed7-4767-b95a-93324a7ae96a","name":"400 - missing param","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","type":"text"}],"body":{"mode":"raw","raw":"{}"},"url":"{{protocol}}://{{host}}/api/v2/application/{{aid}}"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Thu, 01 Jun 2023 10:09:11 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"71"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"47-ETmVClinXU56KDhI7fR5ifEntKM\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params should have required property 'label'\"\n}"}],"_postman_id":"82fb8ec2-5a20-4de2-8cd8-090568924b0d"},{"name":"Remove Application","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}}],"id":"7d2440ba-9b31-4f82-9993-69a6b943f8d6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n"}],"url":"{{protocol}}://{{host}}/api/v2/application/{{aid}}","description":"This API allows to delete an existing application and all the relationship with other users if the application is shared with some user.\n\nThe application to delete is passed in the URL using the ApplciationId as `{{aid}}`.\n\nExaustive description is written in the following rows.\n \nDetails:\n   * No body in the request\n   * The application to delete is identified in the url by `{{aid}}`\n   * The possible responses are listed in the section on the right\n   * We can't delete an application if it has some device associated"},"response":[{"id":"3c72e55e-281d-4b40-a840-ce3c3ac2aaa5","name":"204 - Success","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n"}],"url":"{{protocol}}://{{host}}/api/v2/application/{{aid}}"},"status":"No Content","code":204,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"87e9cfa6-9135-4a50-9e7f-30788d689217","name":"404 - Application not found","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n"}],"url":"{{protocol}}://{{host}}/api/v2/application/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Application not found\"\n}"},{"id":"ce32d085-dd76-40da-9482-26d92fcf63a5","name":"400 - wrong param type","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n"}],"url":"{{protocol}}://{{host}}/api/v2/application/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.aid should be integer\"\n}"}],"_postman_id":"7d2440ba-9b31-4f82-9993-69a6b943f8d6"}],"id":"63d4d449-c543-46a0-9145-f5d96eff03ba","_postman_id":"63d4d449-c543-46a0-9145-f5d96eff03ba"},{"name":"ApplicationShare","item":[{"name":"Application List Shared With","event":[{"listen":"test","script":{"id":"f9a09d6d-f1b9-48f9-b8d2-f5dcf24bdf34","exec":[""],"type":"text/javascript"}}],"id":"964e27cf-2322-4580-a14a-36c99ff260c4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/applications/shared/with","description":"This API returns all the existing applications owned by the logged user and shared with other users.\n\nThis API supports advanced filtering: the url accepts a set of parameters to filter over the list.\n\nThe available filters are:\n\n| Key     | Value       | Description               | \n| ------- | ----------- | ------------------------- |\n| guestid | {{guestid}} | Application shared with this user id\n| appid     | {{appid}}     | ID that uniquely identifies the application for the user\n| label   | {{label}}   | Label used to tag the application sharing\n\nFiltering is supported as described in `Common` section under Filtering.\n\nPaging is supported as described in `Common` section under Paging.\n \nDetails:\n   * The request has no body\n   * Examples of response are available in the right-side section"},"response":[{"id":"62e4ab47-e26d-4008-bdcb-41a885e5aad0","name":"200 - Success","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"url":"{{protocol}}://{{host}}/api/v2/applications/shared/with"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"rows\": [\n    {\n      \"id\": 1,\n      \"label\": \"Shared application by FlorianBogan with Adrien37\",\n      \"ApplicationId\": 1,\n      \"GuestId\": 10,\n      \"application\": {\n        \"id\": 1,\n        \"appid\": 1,\n        \"label\": \"Application 1 by FlorianBogan\",\n        \"UserId\": 9,\n        \"createdAt\": \"2020-12-14T08:39:48.827Z\",\n        \"updatedAt\": \"2020-12-14T08:39:48.848Z\",\n        \"owner\": {\n          \"id\": 9,\n          \"username\": \"FlorianBogan\"\n        }\n      },\n      \"guest\": {\n        \"id\": 10,\n        \"email\": \"Mose.Carroll@gmail.com\",\n        \"username\": \"Adrien37\"\n      }\n    },\n    {\n      \"id\": 2,\n      \"label\": \"Shared application by FlorianBogan with MargotHills\",\n      \"ApplicationId\": 1,\n      \"GuestId\": 11,\n      \"application\": {\n        \"id\": 1,\n        \"appid\": 1,\n        \"label\": \"Application 1 by FlorianBogan\",\n        \"UserId\": 9,\n        \"createdAt\": \"2020-12-14T08:39:48.827Z\",\n        \"updatedAt\": \"2020-12-14T08:39:48.848Z\",\n        \"owner\": {\n          \"id\": 9,\n          \"username\": \"FlorianBogan\"\n        }\n      },\n      \"guest\": {\n        \"id\": 11,\n        \"email\": \"Maurine_Klein@hotmail.com\",\n        \"username\": \"MargotHills\"\n      }\n    },\n    {\n      \"id\": 3,\n      \"label\": \"Shared application by FlorianBogan with EvansMcClure90\",\n      \"ApplicationId\": 1,\n      \"GuestId\": 12,\n      \"application\": {\n        \"id\": 1,\n        \"appid\": 1,\n        \"label\": \"Application 1 by FlorianBogan\",\n        \"UserId\": 9,\n        \"createdAt\": \"2020-12-14T08:39:48.827Z\",\n        \"updatedAt\": \"2020-12-14T08:39:48.848Z\",\n        \"owner\": {\n          \"id\": 9,\n          \"username\": \"FlorianBogan\"\n        }\n      },\n      \"guest\": {\n        \"id\": 12,\n        \"email\": \"Ashlee48@yahoo.com\",\n        \"username\": \"EvansMcClure90\"\n      }\n    },\n    {\n      \"id\": 4,\n      \"label\": \"Shared application by FlorianBogan with Ole1\",\n      \"ApplicationId\": 1,\n      \"GuestId\": 13,\n      \"application\": {\n        \"id\": 1,\n        \"appid\": 1,\n        \"label\": \"Application 1 by FlorianBogan\",\n        \"UserId\": 9,\n        \"createdAt\": \"2020-12-14T08:39:48.827Z\",\n        \"updatedAt\": \"2020-12-14T08:39:48.848Z\",\n        \"owner\": {\n          \"id\": 9,\n          \"username\": \"FlorianBogan\"\n        }\n      },\n      \"guest\": {\n        \"id\": 13,\n        \"email\": \"Janessa_Conroy@gmail.com\",\n        \"username\": \"Ole1\"\n      }\n    },\n    {\n      \"id\": 5,\n      \"label\": \"Shared application by FlorianBogan with VerniceMcDermott\",\n      \"ApplicationId\": 1,\n      \"GuestId\": 14,\n      \"application\": {\n        \"id\": 1,\n        \"appid\": 1,\n        \"label\": \"Application 1 by FlorianBogan\",\n        \"UserId\": 9,\n        \"createdAt\": \"2020-12-14T08:39:48.827Z\",\n        \"updatedAt\": \"2020-12-14T08:39:48.848Z\",\n        \"owner\": {\n          \"id\": 9,\n          \"username\": \"FlorianBogan\"\n        }\n      },\n      \"guest\": {\n        \"id\": 14,\n        \"email\": \"Sigmund_Nicolas@yahoo.com\",\n        \"username\": \"VerniceMcDermott\"\n      }\n    },\n    {\n      \"id\": 6,\n      \"label\": \"Shared application by FlorianBogan with Keshaun45\",\n      \"ApplicationId\": 1,\n      \"GuestId\": 15,\n      \"application\": {\n        \"id\": 1,\n        \"appid\": 1,\n        \"label\": \"Application 1 by FlorianBogan\",\n        \"UserId\": 9,\n        \"createdAt\": \"2020-12-14T08:39:48.827Z\",\n        \"updatedAt\": \"2020-12-14T08:39:48.848Z\",\n        \"owner\": {\n          \"id\": 9,\n          \"username\": \"FlorianBogan\"\n        }\n      },\n      \"guest\": {\n        \"id\": 15,\n        \"email\": \"Ophelia.Dibbert@yahoo.com\",\n        \"username\": \"Keshaun45\"\n      }\n    },\n    {\n      \"id\": 7,\n      \"label\": \"Shared application by FlorianBogan with JeraldKerluke\",\n      \"ApplicationId\": 1,\n      \"GuestId\": 16,\n      \"application\": {\n        \"id\": 1,\n        \"appid\": 1,\n        \"label\": \"Application 1 by FlorianBogan\",\n        \"UserId\": 9,\n        \"createdAt\": \"2020-12-14T08:39:48.827Z\",\n        \"updatedAt\": \"2020-12-14T08:39:48.848Z\",\n        \"owner\": {\n          \"id\": 9,\n          \"username\": \"FlorianBogan\"\n        }\n      },\n      \"guest\": {\n        \"id\": 16,\n        \"email\": \"Cecil.Ferry@hotmail.com\",\n        \"username\": \"JeraldKerluke\"\n      }\n    },\n    {\n      \"id\": 8,\n      \"label\": \"Shared application by FlorianBogan with FrederikSauer63\",\n      \"ApplicationId\": 1,\n      \"GuestId\": 17,\n      \"application\": {\n        \"id\": 1,\n        \"appid\": 1,\n        \"label\": \"Application 1 by FlorianBogan\",\n        \"UserId\": 9,\n        \"createdAt\": \"2020-12-14T08:39:48.827Z\",\n        \"updatedAt\": \"2020-12-14T08:39:48.848Z\",\n        \"owner\": {\n          \"id\": 9,\n          \"username\": \"FlorianBogan\"\n        }\n      },\n      \"guest\": {\n        \"id\": 17,\n        \"email\": \"Loy_Doyle@hotmail.com\",\n        \"username\": \"FrederikSauer63\"\n      }\n    },\n    {\n      \"id\": 9,\n      \"label\": \"Shared application by FlorianBogan with Reba_Rippin58\",\n      \"ApplicationId\": 1,\n      \"GuestId\": 18,\n      \"application\": {\n        \"id\": 1,\n        \"appid\": 1,\n        \"label\": \"Application 1 by FlorianBogan\",\n        \"UserId\": 9,\n        \"createdAt\": \"2020-12-14T08:39:48.827Z\",\n        \"updatedAt\": \"2020-12-14T08:39:48.848Z\",\n        \"owner\": {\n          \"id\": 9,\n          \"username\": \"FlorianBogan\"\n        }\n      },\n      \"guest\": {\n        \"id\": 18,\n        \"email\": \"Freda.Upton@gmail.com\",\n        \"username\": \"Reba_Rippin58\"\n      }\n    }\n  ],\n  \"size\": 9,\n  \"offset\": 0,\n  \"limit\": 20\n}"}],"_postman_id":"964e27cf-2322-4580-a14a-36c99ff260c4"},{"name":"Application List Shared By","event":[{"listen":"test","script":{"id":"f9a09d6d-f1b9-48f9-b8d2-f5dcf24bdf34","exec":[""],"type":"text/javascript"}}],"id":"816dea1c-8218-4eb6-a62c-82abaff8b019","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/applications/shared/by","description":"This API returns all the existing applications shared with the logged user and owned by other users.\n\nThis API supports advanced filtering: the url accepts a set of parameters to filter over the list.\n\nThe available filters are:\n\n| Key     | Value       | Description               | \n| ------- | ----------- | ------------------------- |\n| ownerid | {{ownerid}} | Application shared by this user id\n| aid     | {{aid}}     | ID that uniquely identifies the application\n| label   | {{label}}   | Label used to tag the application sharing\n\nFiltering is supported as described in `Common` section under Filtering.\n\nPaging is supported as described in `Common` section under Paging.\n \nDetails:\n   * The request has no body\n   * Examples of response are available in the right-side section"},"response":[{"id":"e768dd0a-e47c-44e0-b7fe-736231989551","name":"200 - Success","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/applications/shared/by"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"rows\": [\n    {\n      \"id\": 10,\n      \"label\": \"Shared application by Adrien37 with FlorianBogan\",\n      \"ApplicationId\": 2,\n      \"GuestId\": 9,\n      \"application\": {\n        \"id\": 2,\n        \"appid\": 1,\n        \"label\": \"Application 1 by Adrien37\",\n        \"UserId\": 10,\n        \"createdAt\": \"2020-12-14T08:39:50.729Z\",\n        \"updatedAt\": \"2020-12-14T08:39:50.739Z\",\n        \"owner\": {\n          \"id\": 10,\n          \"username\": \"Adrien37\"\n        }\n      },\n      \"guest\": {\n        \"id\": 9,\n        \"email\": \"Leonardo.Bernhard18@gmail.com\",\n        \"username\": \"FlorianBogan\"\n      }\n    },\n    {\n      \"id\": 19,\n      \"label\": \"Shared application by MargotHills with FlorianBogan\",\n      \"ApplicationId\": 3,\n      \"GuestId\": 9,\n      \"application\": {\n        \"id\": 3,\n        \"appid\": 1,\n        \"label\": \"Application 1 by MargotHills\",\n        \"UserId\": 11,\n        \"createdAt\": \"2020-12-14T08:39:52.299Z\",\n        \"updatedAt\": \"2020-12-14T08:39:52.309Z\",\n        \"owner\": {\n          \"id\": 11,\n          \"username\": \"MargotHills\"\n        }\n      },\n      \"guest\": {\n        \"id\": 9,\n        \"email\": \"Leonardo.Bernhard18@gmail.com\",\n        \"username\": \"FlorianBogan\"\n      }\n    },\n    {\n      \"id\": 28,\n      \"label\": \"Shared application by EvansMcClure90 with FlorianBogan\",\n      \"ApplicationId\": 4,\n      \"GuestId\": 9,\n      \"application\": {\n        \"id\": 4,\n        \"appid\": 1,\n        \"label\": \"Application 1 by EvansMcClure90\",\n        \"UserId\": 12,\n        \"createdAt\": \"2020-12-14T08:39:53.852Z\",\n        \"updatedAt\": \"2020-12-14T08:39:53.860Z\",\n        \"owner\": {\n          \"id\": 12,\n          \"username\": \"EvansMcClure90\"\n        }\n      },\n      \"guest\": {\n        \"id\": 9,\n        \"email\": \"Leonardo.Bernhard18@gmail.com\",\n        \"username\": \"FlorianBogan\"\n      }\n    },\n    {\n      \"id\": 37,\n      \"label\": \"Shared application by Ole1 with FlorianBogan\",\n      \"ApplicationId\": 5,\n      \"GuestId\": 9,\n      \"application\": {\n        \"id\": 5,\n        \"appid\": 1,\n        \"label\": \"Application 1 by Ole1\",\n        \"UserId\": 13,\n        \"createdAt\": \"2020-12-14T08:39:55.360Z\",\n        \"updatedAt\": \"2020-12-14T08:39:55.368Z\",\n        \"owner\": {\n          \"id\": 13,\n          \"username\": \"Ole1\"\n        }\n      },\n      \"guest\": {\n        \"id\": 9,\n        \"email\": \"Leonardo.Bernhard18@gmail.com\",\n        \"username\": \"FlorianBogan\"\n      }\n    },\n    {\n      \"id\": 46,\n      \"label\": \"Shared application by VerniceMcDermott with FlorianBogan\",\n      \"ApplicationId\": 6,\n      \"GuestId\": 9,\n      \"application\": {\n        \"id\": 6,\n        \"appid\": 1,\n        \"label\": \"Application 1 by VerniceMcDermott\",\n        \"UserId\": 14,\n        \"createdAt\": \"2020-12-14T08:39:56.898Z\",\n        \"updatedAt\": \"2020-12-14T08:39:56.906Z\",\n        \"owner\": {\n          \"id\": 14,\n          \"username\": \"VerniceMcDermott\"\n        }\n      },\n      \"guest\": {\n        \"id\": 9,\n        \"email\": \"Leonardo.Bernhard18@gmail.com\",\n        \"username\": \"FlorianBogan\"\n      }\n    },\n    {\n      \"id\": 55,\n      \"label\": \"Shared application by Keshaun45 with FlorianBogan\",\n      \"ApplicationId\": 7,\n      \"GuestId\": 9,\n      \"application\": {\n        \"id\": 7,\n        \"appid\": 1,\n        \"label\": \"Application 1 by Keshaun45\",\n        \"UserId\": 15,\n        \"createdAt\": \"2020-12-14T08:39:58.280Z\",\n        \"updatedAt\": \"2020-12-14T08:39:58.287Z\",\n        \"owner\": {\n          \"id\": 15,\n          \"username\": \"Keshaun45\"\n        }\n      },\n      \"guest\": {\n        \"id\": 9,\n        \"email\": \"Leonardo.Bernhard18@gmail.com\",\n        \"username\": \"FlorianBogan\"\n      }\n    },\n    {\n      \"id\": 64,\n      \"label\": \"Shared application by JeraldKerluke with FlorianBogan\",\n      \"ApplicationId\": 8,\n      \"GuestId\": 9,\n      \"application\": {\n        \"id\": 8,\n        \"appid\": 1,\n        \"label\": \"Application 1 by JeraldKerluke\",\n        \"UserId\": 16,\n        \"createdAt\": \"2020-12-14T08:39:59.873Z\",\n        \"updatedAt\": \"2020-12-14T08:39:59.881Z\",\n        \"owner\": {\n          \"id\": 16,\n          \"username\": \"JeraldKerluke\"\n        }\n      },\n      \"guest\": {\n        \"id\": 9,\n        \"email\": \"Leonardo.Bernhard18@gmail.com\",\n        \"username\": \"FlorianBogan\"\n      }\n    },\n    {\n      \"id\": 73,\n      \"label\": \"Shared application by FrederikSauer63 with FlorianBogan\",\n      \"ApplicationId\": 9,\n      \"GuestId\": 9,\n      \"application\": {\n        \"id\": 9,\n        \"appid\": 1,\n        \"label\": \"Application 1 by FrederikSauer63\",\n        \"UserId\": 17,\n        \"createdAt\": \"2020-12-14T08:40:01.321Z\",\n        \"updatedAt\": \"2020-12-14T08:40:01.331Z\",\n        \"owner\": {\n          \"id\": 17,\n          \"username\": \"FrederikSauer63\"\n        }\n      },\n      \"guest\": {\n        \"id\": 9,\n        \"email\": \"Leonardo.Bernhard18@gmail.com\",\n        \"username\": \"FlorianBogan\"\n      }\n    },\n    {\n      \"id\": 82,\n      \"label\": \"Shared application by Reba_Rippin58 with FlorianBogan\",\n      \"ApplicationId\": 10,\n      \"GuestId\": 9,\n      \"application\": {\n        \"id\": 10,\n        \"appid\": 1,\n        \"label\": \"Application 1 by Reba_Rippin58\",\n        \"UserId\": 18,\n        \"createdAt\": \"2020-12-14T08:40:02.896Z\",\n        \"updatedAt\": \"2020-12-14T08:40:02.902Z\",\n        \"owner\": {\n          \"id\": 18,\n          \"username\": \"Reba_Rippin58\"\n        }\n      },\n      \"guest\": {\n        \"id\": 9,\n        \"email\": \"Leonardo.Bernhard18@gmail.com\",\n        \"username\": \"FlorianBogan\"\n      }\n    }\n  ],\n  \"size\": 9,\n  \"offset\": 0,\n  \"limit\": 20\n}"}],"_postman_id":"816dea1c-8218-4eb6-a62c-82abaff8b019"},{"name":"Share Application","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"18ad5188-6efe-4a2c-b3c0-bc7bde631566","exec":["pm.environment.set(\"guest-uid\", 13);","pm.environment.set(\"guest-email\", \"bar@foo.com\");","pm.environment.set(\"aid\", 1);","pm.environment.set(\"share-label\", \"application 1 shared with bar\");"],"type":"text/javascript"}}],"id":"93e24e2f-4beb-459f-9cab-e90ebba61c13","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t//\"GuestId\": {{guest-uid}},\n    \"GuestEmail\": \"{{guest-email}}\",\n\t\"ids\": [{{aid}}],\n\t\"label\": \"{{share-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/application-share","description":"This API creates a new share for the application.\n\nThe response supplies an object with the created sharing application.\n \nDetails:\n   * The Request body parameters description is listed in the `Properties` table\n   * Examples of response are available in the right-side section\n\n \n# Schema\n```\n{\n    \"type\": \"object\",\n    \"properties\": {\n      \"label\": {\n        \"type\": \"string\",\n        \"minLength\": 1,\n        \"maxLength\": 255,\n        \"pattern\": \"^(\\\\w+\\\\s?)+$\",\n        \"description\": \"Description of the sharing relation\"\n      },\n      \"GuestId\": {\n        \"type\": \"integer\",\n        \"minimum\": 1,\n        \"maximum\": 4294967295,\n        \"description\": \"The user to whom share the application\"\n      },\n      \"GuestEmail\": {\n        \"type\": \"string\",\n        \"minLength\": 1,\n        \"maxLength\": 255,\n        \"format\": \"email\",\n        \"description\": \"Identifies the user on which add the gateway\"\n      },\n      \"ids\": {\n        \"type\": \"array\",\n        \"minItems\": 1,\n        \"items\": {\n          \"type\": \"integer\"\n        },\n        \"description\": \"Array of application identifiers\"\n      }\n    },\n    \"oneOf\": [{\n        \"required\": [\n          \"GuestId\"\n        ]\n      },\n      {\n        \"required\": [\n          \"GuestEmail\"\n        ]\n      }\n    ],\n    \"required\": [\n      \"ids\",\n      \"label\"\n    ],\n    \"additionalProperties\": false\n  }\n```\n\n# Properties\n\n| Property            | Type       | Required     | Nullable | Defined by    |\n| ------------------- | ---------- | ------------ | -------- | ------------- |\n| [GuestId](#guestid) | `integer`  | **Required** | No       | (this schema) |\n| [GuestEmail](#GuestEmail) | `string`  | **Required** | No       | (this schema) |\n| [ids](#ids)         | `integer[]` | **Required** | No       | (this schema) |\n| [label](#label)     | `string`   | **Required** | No       | (this schema) |\n\n## GuestId\n\nIdentify the user to whom share the application\n\n`GuestId`\n\n- is **required**\n- type: `integer`\n- defined in this schema\n\n### GuestId Type\n\n`integer`\n\n- minimum value: `1`\n\n## GuestId\n\nIdentify the user to whom share the application\n\n`GuestEmail`\n\n- is **required**\n- type: `string`\n- defined in this schema\n\n### GuestEmail Type\n\n`string`\n\n## ids\n\nArray of application identifiers\n\n`ids`\n\n- is **required**\n- type: `integer[]`\n- at least `1` items in the array\n- defined in this schema\n\n### ids Type\n\nArray type: `integer[]`\n\nAll items must be of the type: `integer`\n\n## label\n\nDescription of the sharing relation\n\n`label`\n\n- is **required**\n- type: `string`\n- defined in this schema\n\n### label Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters"},"response":[{"id":"cdc04917-8a0b-417c-9f33-082dd9dfd73f","name":"200 - Success (with UserId)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"GuestId\": {{guest-uid}},\n\t\"ids\": [{{aid}}],\n\t\"label\": \"{{share-label}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/application-share"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 11:46:25 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"160"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"a0-EUNpC6EkyKl7Jw1Rgu8P78SjBUQ\""}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 1,\n        \"ApplicationId\": 1,\n        \"GuestId\": 2,\n        \"label\": \"application 1 shared with bar\",\n        \"createdAt\": \"2023-06-05T11:46:25.744Z\",\n        \"updatedAt\": \"2023-06-05T11:46:25.744Z\"\n    }\n]"},{"id":"b65dfb75-f5ce-43a7-adaf-4a6d9710c1bf","name":"200 - Success (with email)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t//\"GuestId\": {{guest-uid}},\n    \"GuestEmail\": \"{{guest-email}}\",\n\t\"ids\": [{{aid}}],\n\t\"label\": \"{{share-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/application-share"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 11:54:31 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"160"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"a0-cF/TtFr+TmQO2Gbo2jMu14xolmM\""}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 1,\n        \"ApplicationId\": 1,\n        \"GuestId\": 2,\n        \"label\": \"application 1 shared with bar\",\n        \"createdAt\": \"2023-06-05T11:54:31.235Z\",\n        \"updatedAt\": \"2023-06-05T11:54:31.235Z\"\n    }\n]"},{"id":"93b02ad7-0ece-467b-8383-ba0101157837","name":"404 - Guest user not found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"GuestId\": 999,\n\t\"ids\": [{{aid}}],\n\t\"label\": \"{{share-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/application-share"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 11:47:18 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"47"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2f-Ok1RZhtQfXXdtUWQQ0qI73Oj104\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Guest user not found\"\n}"},{"id":"5d2065b1-d888-459a-8ca2-7092daad0d20","name":"400 - wrong param type","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"GuestId\": \"xxx\",\n\t\"ids\": [{{aid}}],\n\t\"label\": \"{{share-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/application-share"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 11:47:48 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"59"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"3b-FnaSp4g0yMnBUHVdGNsRCSR5zvY\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.GuestId should be integer\"\n}"}],"_postman_id":"93e24e2f-4beb-459f-9cab-e90ebba61c13"},{"name":"Update Application Shared Information","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"e7c94665-f420-4df1-8534-7bc2b5d3e47e","exec":["pm.environment.set(\"asid\", 91);","pm.environment.set(\"new-share-label\", \"application 1 shared with bar [updated]\");"],"type":"text/javascript"}}],"id":"d05656a1-1c04-498d-b4e0-cbe61b0381c7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\": \"{{new-share-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/application-share/{{asid}}","description":"This API updates the information of the application share given the `{{asid}}`.\n\nAll the API properties are optional, but at least one valid property has to be provided (e.g. label).\n \nDetails:\n   * The Request body parameters description is listed in the `Properties` table\n   * Examples of response are available in the right-side section\n\n# Schema\n```\n{\n    \"type\": \"object\",\n    \"properties\": {\n        \"label\": {\n            \"type\": \"string\",\n            \"minLength\": 1,\n            \"maxLength\": 255,\n            \"description\": \"Description of the sharing relation\"\n        }\n    },\n    \"required\": [\n        \"label\"\n    ],\n    \"additionalProperties\": false\n}\n```\n\n# Properties\n\n| Property        | Type     | Required     | Nullable | Defined by    |\n| --------------- | -------- | ------------ | -------- | ------------- |\n| [label](#label) | `string` | **Required** | No       | (this schema) |\n\n## label\n\nDescription of this sharing relation\n\n`label`\n\n- is **required**\n- type: `string`\n- defined in this schema\n\n### label Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters"},"response":[{"id":"763a1a97-0496-4791-b3cc-d4fdb1d5b7c1","name":"204 - Success","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\": \"{{new-share-label}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/application-share/{{asid}}"},"status":"No Content","code":204,"_postman_previewlanguage":"plain","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 11:49:56 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"e-wVWNT6UsysLKAc52mfcyJknNgNc\""}],"cookie":[],"responseTime":null,"body":null},{"id":"9b6eb0b4-efcc-42b9-998a-c05525c18252","name":"404 - Application Share not found","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\": \"{{new-share-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/application-share/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 11:50:34 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"54"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"36-fmHMre/VF3GUfqB3U+suq2s7d5Q\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Application Share not found\"\n}"},{"id":"8e758cbb-3da9-4eea-aa56-12ccb01c4075","name":"400 - wrong param type","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"label\": \"{{new-share-label}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/application-share/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 11:50:59 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"38-OpRy2OA3/rSJhEr7WCQ4MWtoMcM\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.asid should be integer\"\n}"}],"_postman_id":"d05656a1-1c04-498d-b4e0-cbe61b0381c7"},{"name":"Remove Application Sharing","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"197623ce-11d5-4332-aa35-e1229b22bb7f","exec":["pm.environment.set(\"asid\", 91);"],"type":"text/javascript"}}],"id":"239702e7-9d8b-41c1-a52e-7ed7d79efc5f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/application-share/{{asid}}","description":"This API removes the application share given the `{{asid}}`.\n\nThe application share to delete is identified by the application share identifier `{{asid}}`.\n \nDetails:\n   * The request has no body\n   * The application share to delete is identified in the url by `{{asid}}`\n   * Examples of response are available in the right-side section"},"response":[{"id":"bf51d8e4-7a5e-4d03-93af-04f21c2075de","name":"204 - Success","originalRequest":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/application-share/{{asid}}"},"status":"No Content","code":204,"_postman_previewlanguage":"plain","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 11:52:00 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"e-wVWNT6UsysLKAc52mfcyJknNgNc\""}],"cookie":[],"responseTime":null,"body":null},{"id":"50af677d-2e8b-4e38-b308-65fbe8d6b505","name":"404 - Application Share not found","originalRequest":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/application-share/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 11:52:31 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"54"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"36-fmHMre/VF3GUfqB3U+suq2s7d5Q\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Application Share not found\"\n}"},{"id":"206dbd36-6cd0-4e54-aae1-ef41e4a7e084","name":"400 - wrong param type","originalRequest":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/application-share/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 11:52:55 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"38-OpRy2OA3/rSJhEr7WCQ4MWtoMcM\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.asid should be integer\"\n}"}],"_postman_id":"239702e7-9d8b-41c1-a52e-7ed7d79efc5f"}],"id":"639c0c3c-08f4-4968-91f6-7e645be61170","_postman_id":"639c0c3c-08f4-4968-91f6-7e645be61170"},{"name":"Multicast","item":[{"name":"Group Manager","item":[{"name":"Multicast Group List","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript"}}],"id":"c4ec14f2-289b-4cf2-8d64-e7b558c7b5f2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/multicast-groups","description":"This API returns all the multicast group for the current user. \n \nThis API supports advanced filtering: the url accepts a set of parameters to filter over the list.\n\nThe available filters are:\n\n| Key      | Value       | Description               | \n| -------- | ----------- | ------------------------- |\n| label    | {{label}}   | Label used to describe the multicast group.\n| devaddr  | {{devaddr}} | Device Address that Identifies the device in the current network.\n\n\nFiltering is supported as described in `Common` section under Filtering.\n\nPaging is supported as described in `Common` section under Paging.\n\nDetails:\n   * No body in the request\n   * The possible responses are listed in the section on the right"},"response":[{"id":"b70c3e40-0ad6-489d-b67d-5fc523387b88","name":"200 - Success","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/multicast-groups"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [\n        {\n            \"id\": 1,\n            \"UserId\": 5,\n            \"label\": \"Multicat group\",\n            \"devaddr\": \"ffffff00\",\n            \"appSKey\": \"000000000000000000000000000000ff\",\n            \"nwkSKey\": \"000000000000000000000000000000ff\",\n            \"supports32bitFCnt\": false,\n            \"fCnt\": null,\n            \"createdAt\": \"2020-02-20T06:54:53.828Z\",\n            \"updatedAt\": \"2020-02-20T06:54:53.828Z\"\n        }\n    ],\n    \"size\": 1,\n    \"offset\": 0,\n    \"limit\": 20\n}"}],"_postman_id":"c4ec14f2-289b-4cf2-8d64-e7b558c7b5f2"},{"name":"Multicast Group Information","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"4bff84cd-fe0b-4275-8c34-77a896afdfa2","exec":["pm.environment.set(\"mgid\", 1);"],"type":"text/javascript"}}],"id":"00fea423-d692-4c10-bacd-5a011a3a4b6b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}","description":"This API returns a single multicast group identified by `{{mgid}}` in the url. \n\nThe response will provide an object that containssssssss the Multicast group details.\n\nDetails:\n   * The multicast group choosed is identified by the `{{mgid}}` in the URL.\n   * No body in the request\n   * The possible responses are listed in the section on the right"},"response":[{"id":"c380b08f-1e1a-4ae8-b6aa-15615222de09","name":"200 - Success","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1,\n    \"UserId\": 5,\n    \"label\": \"Multicat group\",\n    \"devaddr\": \"ffffff00\",\n    \"appSKey\": \"000000000000000000000000000000ff\",\n    \"nwkSKey\": \"000000000000000000000000000000ff\",\n    \"supports32bitFCnt\": false,\n    \"fCnt\": null,\n    \"createdAt\": \"2020-02-20T06:54:53.828Z\",\n    \"updatedAt\": \"2020-02-20T06:54:53.828Z\"\n}"},{"id":"5c300a4d-d8e5-43cb-b623-44c18fc60a70","name":"404 - No Multicast Group found","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/multicast-group/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:05:22 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"52"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"34-+h4fjyPVfNCdU/Dv1fEb5KqUuuQ\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"No Multicast Group found!\"\n}"}],"_postman_id":"00fea423-d692-4c10-bacd-5a011a3a4b6b"},{"name":"Create Multicast Group","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"41f23893-68cb-4a3a-b057-655ed224c387","exec":["pm.environment.set(\"label\", \"Multicast Group 1\");","pm.environment.set(\"devaddr\", \"00000001\");","pm.environment.set(\"nwkskey\", \"00000000000000000000000000000001\");","pm.environment.set(\"appskey\", \"00000000000000000000000000000001\");"],"type":"text/javascript"}}],"id":"a45b4113-7c08-442d-90eb-2833118f29f4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"label\": \"{{label}}\",\n\t\"devaddr\": \"{{devaddr}}\",\n\t\"nwkSKey\": \"{{nwkskey}}\",\n\t\"appSKey\": \"{{appskey}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group","description":"This API adds a new downlink in queue for a device.\n\nThe reponse will contain the created object with the created downlink.\n\nExaustive description is written in the following rows.\n \nDetails:\n   * The Request contains a body that should have the parameters listed below in the `Properties` table\n   * The possible responses are listed in the section on the right\n\n \n# Schema\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"label\": {\n      \"type\": \"string\",\n      \"minLength\": 1,\n      \"maxLength\": 255,\n      \"description\": \"The label is a field used to describe this multicast group\"\n    },\n    \"devaddr\": {\n      \"type\": \"string\",\n      \"pattern\": \"^[0-9a-f]{8}$\",\n      \"description\": \"Identifies the device in the current network\"\n    },\n    \"appSKey\": {\n      \"type\": \"string\",\n      \"pattern\": \"^[a-f0-9]{32}$\",\n      \"description\": \"Application Session Key used to encrypt and decrypt the applciation payload\"\n    },\n    \"nwkSKey\": {\n      \"type\": \"string\",\n      \"pattern\": \"^[a-f0-9]{32}$\",\n      \"description\": \"Network Session Key used to ensure data integrity on the complete LoRaWAN frame\"\n    },\n    \"supports32bitFCnt\": {\n      \"type\": \"boolean\",\n      \"default\": true,\n      \"description\": \"Flag used to indicate 16 or 32 bit frame counter length. If omitted is 32 bit length\"\n    },\n    \"fCnt\": {\n      \"type\": \"integer\",\n      \"minimum\": 0,\n      \"default\": 0,\n      \"description\": \"Starting frame counter for the devices in this group\"\n    }\n  },\n  \"required\": [\n    \"devaddr\",\n    \"appSKey\",\n    \"nwkSKey\",\n    \"label\"\n  ],\n  \"additionalProperties\": false\n}\n```\n\n# Properties\n\n| Property                                | Type      | Required     | Nullable | Default | Defined by    |\n| --------------------------------------- | --------- | ------------ | -------- | ------- | ------------- |\n| [appSKey](#appskey)                     | `string`  | **Required** | No       |         | (this schema) |\n| [devaddr](#devaddr)                     | `string`  | **Required** | No       |         | (this schema) |\n| [fCnt](#fcnt)                           | `integer` | Optional     | No       | `0`     | (this schema) |\n| [label](#label)                         | `string`  | **Required** | No       |         | (this schema) |\n| [nwkSKey](#nwkskey)                     | `string`  | **Required** | No       |         | (this schema) |\n| [supports32bitFCnt](#supports32bitfcnt) | `boolean` | Optional     | No       | `true`  | (this schema) |\n\n## appSKey\n\nApplication Session Key used to encrypt and decrypt the applciation payload\n\n`appSKey`\n\n- is **required**\n- type: `string`\n- defined in this schema\n\n### appSKey Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples\n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B32%7D%24)):\n\n```regex\n^[a-f0-9]{32}$\n```\n\n## devaddr\n\nIdentifies the device in the current network\n\n`devaddr`\n\n- is **required**\n- type: `string`\n- defined in this schema\n\n### devaddr Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples\n[here](https://regexr.com/?expression=%5E%5B0-9a-f%5D%7B8%7D%24)):\n\n```regex\n^[0-9a-f]{8}$\n```\n\n## fCnt\n\nStarting frame counter for the devices in this group\n\n`fCnt`\n\n- is optional\n- type: `integer`\n- default: `0`\n- defined in this schema\n\n### fCnt Type\n\n`integer`\n\n- minimum value: `0`\n\n## label\n\nThe label is a field used to describe this multicast group\n\n`label`\n\n- is **required**\n- type: `string`\n- defined in this schema\n\n### label Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters\n\n## nwkSKey\n\nNetwork Session Key used to ensure data integrity on the complete LoRaWAN frame\n\n`nwkSKey`\n\n- is **required**\n- type: `string`\n- defined in this schema\n\n### nwkSKey Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples\n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B32%7D%24)):\n\n```regex\n^[a-f0-9]{32}$\n```\n\n## supports32bitFCnt\n\nFlag used to indicate 16 or 32 bit frame counter length. If omitted is 32 bit length\n\n`supports32bitFCnt`\n\n- is optional\n- type: `boolean`\n- default: `true`\n- defined in this schema\n\n### supports32bitFCnt Type\n\n`boolean`"},"response":[{"id":"b5fa4eea-a8af-48b8-b31a-decc777629fd","name":"200 - Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n  \"label\": \"Multicat group TEST N° 342617\",\n  \"devaddr\": \"ffffff0e\",\n  \"appSKey\": \"000000000000000000000000000000fe\",\n  \"nwkSKey\": \"000000000000000000000000000000fe\",\n  \"supports32bitFCnt\": false\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/multicast-group"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"id\": 1,\n    \"UserId\": 2,\n    \"label\": \"Multicat group foo\",\n    \"devaddr\": \"ffffff0e\",\n    \"appSKey\": \"000000000000000000000000000000fe\",\n    \"nwkSKey\": \"000000000000000000000000000000fe\",\n    \"supports32bitFCnt\": false,\n    \"fCnt\": null,\n    \"updatedAt\": \"2020-02-20T11:22:00.679Z\",\n    \"createdAt\": \"2020-02-20T11:22:00.679Z\"\n}"},{"id":"286b7daf-1ee2-4e73-ae4b-650f06945647","name":"400 - missing param","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"devaddr\": \"{{devaddr}}\",\n\t\"nwkSKey\": \"{{nwkskey}}\",\n\t\"appSKey\": \"{{appskey}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:01:45 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"183"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"b7-0u03WlukYi3UqiGz4QrMKgj9KyI\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params should have required property 'label', params.appSKey should match pattern \\\"^[a-f0-9]{32}$\\\", params.nwkSKey should match pattern \\\"^[a-f0-9]{32}$\\\"\"\n}"},{"id":"7ece3af3-955f-47e7-b503-40a04548f8c2","name":"400 - wrong param type","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"label\": \"{{label}}\",\n\t\"devaddr\": \"{{devaddr}}\",\n\t\"nwkSKey\": \"{{nwkskey}}\",\n\t\"appSKey\": 999\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:02:24 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"114"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"72-/3EoRsrmYb2jaua65NAQJjLWxFI\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.appSKey should be string, params.nwkSKey should match pattern \\\"^[a-f0-9]{32}$\\\"\"\n}"}],"_postman_id":"a45b4113-7c08-442d-90eb-2833118f29f4"},{"name":"Update Multicast Group","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"6657e2fc-3434-4a14-a809-e5536df12055","exec":["pm.environment.set(\"mgid\", 1);","pm.environment.set(\"new-label\", \"multicast group 1 [updated]\");"],"type":"text/javascript"}}],"id":"76752038-0a88-42b6-866d-4520b5ab0c26","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"label\":\"{{new-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}","description":"This API allows to update the information of the own device identified by `{{did}}`.\n\nThis API requires at least a property to update. All the properties are optional but at least one is required. \n \nFor example you can change model or DeviceProfileId.\n\nBased on `type=[ABP, OTAA]` or `Key` update, there are additional required properties:\n\n| Property  | Type      | Required Keyword  |\n| --------- | --------- | -----------------\n| `type`    | `OTAA`      | appKey, appeui    |\n| `type`    | `ABP`       | appSKey, nwkSKey, devaddr    |\n\nExaustive description is written in the following rows.\n \nDetails:\n   * The Request contains a body that should have the parameters listed below in the `Properties` table\n   * The possible responses are listed in the section on the right\n   * If `type` is updated from `OTAA` to `ABP` (or vice-versa), there are other required information listed in the table on top\n   * You need to set all the `Required Keyword` if you update only a single `properties` as written in the table on top. e.g if you update `appkey` you need to pass `appeui` and `type=\"OTAA\"`\n\n# Schema\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"label\": {\n      \"type\": \"string\",\n      \"minLength\": 1,\n      \"maxLength\": 255,\n      \"description\": \"The label is a field used to describe this multicast group\"\n    },\n    \"devaddr\": {\n      \"type\": \"string\",\n      \"pattern\": \"^[0-9a-f]{8}$\",\n      \"description\": \"Identifies the device in the current network\"\n    },\n    \"appSKey\": {\n      \"type\": \"string\",\n      \"pattern\": \"^[a-f0-9]{32}$\",\n      \"description\": \"Application Session Key used to encrypt and decrypt the applciation payload\"\n    },\n    \"nwkSKey\": {\n      \"type\": \"string\",\n      \"pattern\": \"^[a-f0-9]{32}$\",\n      \"description\": \"Network Session Key used to ensure data integrity on the complete LoRaWAN frame\"\n    },\n    \"supports32bitFCnt\": {\n      \"type\": \"boolean\",\n      \"default\": true,\n      \"description\": \"Flag used to indicate 16 or 32 bit frame counter length. If omitted is 32 bit length\"\n    },\n    \"fCnt\": {\n      \"type\": \"integer\",\n      \"minimum\": 0,\n      \"default\": 0,\n      \"description\": \"Starting frame counter for the devices in this group\"\n    }\n  },\n  \"anyOf\": [\n    {\n      \"required\": [\n        \"devaddr\"\n      ]\n    },\n    {\n      \"required\": [\n        \"appSKey\"\n      ]\n    },\n    {\n      \"required\": [\n        \"nwkSKey\"\n      ]\n    },\n    {\n      \"required\": [\n        \"label\"\n      ]\n    },\n    {\n      \"required\": [\n        \"supports32bitFCnt\"\n      ]\n    },\n    {\n      \"required\": [\n        \"fCnt\"\n      ]\n    }\n  ],\n  \"additionalProperties\": false\n}\n```\n\n# Properties\n\n| Property                                | Type      | Required | Nullable | Default | Defined by    |\n| --------------------------------------- | --------- | -------- | -------- | ------- | ------------- |\n| [appSKey](#appskey)                     | `string`  | Optional | No       |         | (this schema) |\n| [devaddr](#devaddr)                     | `string`  | Optional | No       |         | (this schema) |\n| [fCnt](#fcnt)                           | `integer` | Optional | No       | `0`     | (this schema) |\n| [label](#label)                         | `string`  | Optional | No       |         | (this schema) |\n| [nwkSKey](#nwkskey)                     | `string`  | Optional | No       |         | (this schema) |\n| [supports32bitFCnt](#supports32bitfcnt) | `boolean` | Optional | No       | `true`  | (this schema) |\n\n## appSKey\n\nApplication Session Key used to encrypt and decrypt the applciation payload\n\n`appSKey`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### appSKey Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples\n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B32%7D%24)):\n\n```regex\n^[a-f0-9]{32}$\n```\n\n## devaddr\n\nIdentifies the device in the current network\n\n`devaddr`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### devaddr Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples\n[here](https://regexr.com/?expression=%5E%5B0-9a-f%5D%7B8%7D%24)):\n\n```regex\n^[0-9a-f]{8}$\n```\n\n## fCnt\n\nStarting frame counter for the devices in this group\n\n`fCnt`\n\n- is optional\n- type: `integer`\n- default: `0`\n- defined in this schema\n\n### fCnt Type\n\n`integer`\n\n- minimum value: `0`\n\n## label\n\nThe label is a field used to describe this multicast group\n\n`label`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### label Type\n\n`string`\n\n- minimum length: 1 characters\n- maximum length: 255 characters\n\n## nwkSKey\n\nNetwork Session Key used to ensure data integrity on the complete LoRaWAN frame\n\n`nwkSKey`\n\n- is optional\n- type: `string`\n- defined in this schema\n\n### nwkSKey Type\n\n`string`\n\nAll instances must conform to this regular expression (test examples\n[here](https://regexr.com/?expression=%5E%5Ba-f0-9%5D%7B32%7D%24)):\n\n```regex\n^[a-f0-9]{32}$\n```\n\n## supports32bitFCnt\n\nFlag used to indicate 16 or 32 bit frame counter length. If omitted is 32 bit length\n\n`supports32bitFCnt`\n\n- is optional\n- type: `boolean`\n- default: `true`\n- defined in this schema\n\n### supports32bitFCnt Type\n\n`boolean`"},"response":[{"id":"421c9765-b3ee-47b1-8281-bc02d6c635c9","name":"204 - Success","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n  \"label\": \"Multicat group UPDATE N° 776444\",\n  \"devaddr\": \"000000ff\",\n  \"appSKey\": \"00000000000000000000000000000000\",\n  \"nwkSKey\": \"00000000000000000000000000000000\",\n  \"supports32bitFCnt\": true,\n  \"fCnt\": 0\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}"},"status":"No Content","code":204,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"e7bd340a-df80-4a26-9034-bf5882731078","name":"404 - No Group found","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"label\":\"{{new-label}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:11:03 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"42"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2a-mW2byzW17rCRhDKcSsKW976UX4o\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"No Group found!\"\n}"},{"id":"58983d31-9cc4-4722-b4e9-9b3b5750e3e9","name":"400 - wrong param type","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"label\":\"{{new-label}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:11:36 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"38-qB3t+sDwpaZR0Y7gaZ1ofGPt2kg\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.mgid should be integer\"\n}"}],"_postman_id":"76752038-0a88-42b6-866d-4520b5ab0c26"},{"name":"Remove Multicast Group","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"cd0d8bb2-24fd-4d7f-a403-89266c583d63","exec":["pm.environment.set(\"mgid\", 1);"],"type":"text/javascript"}}],"id":"9d450371-cbf1-432c-96b4-587314292605","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}","description":"This API removes a single multicast group for the current user.\n\nThe multicast group to delete is passed in the URL using the MulticastGroupId as `{{mgid}}`.\n\nExaustive description is written in the following rows.\n \nDetails:\n   * No body in the request\n   * The multicast group to delete is identified in the url by `{{mgid}}`\n   * The possible responses are listed in the section on the right"},"response":[{"id":"bdfe259d-08ca-48d7-9513-c9a9550cac53","name":"204 - Success","originalRequest":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}"},"status":"No Content","code":204,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"95630bb0-8553-4acb-80b9-24f758793939","name":"404 - No Group found","originalRequest":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/multicast-group/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:12:49 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"41"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"29-fDAdgADQ2+FkTqzlkP1pufiMw78\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"No Group found\"\n}"},{"id":"9208c339-df14-470b-8efd-a5e18baefc7a","name":"400 - wrong param type","originalRequest":{"method":"DELETE","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","name":"Content-Type","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/multicast-group/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:13:14 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"38-qB3t+sDwpaZR0Y7gaZ1ofGPt2kg\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.mgid should be integer\"\n}"}],"_postman_id":"9d450371-cbf1-432c-96b4-587314292605"}],"id":"9ead205c-5af1-4b81-bae9-ca82f3799892","_postman_id":"9ead205c-5af1-4b81-bae9-ca82f3799892"},{"name":"Group Device","item":[{"name":"Multicast Group Device List","event":[{"listen":"test","script":{"id":"6d3ffb42-f6f7-4dda-abd9-31381f72b7df","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"2f200832-0ab9-4143-b58b-b1f87f19854e","exec":["pm.environment.set(\"mgid\", 51);"],"type":"text/javascript"}}],"id":"28995e98-bfc4-472b-80d5-c6ef52360a3d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}/devices","description":"This API returns all the devices associated to a multicast group. \n\nThe response will provide an object that containsssssss the devices in the choosed multicast group.\n\nThis API supports advanced filtering: the url accepts a set of parameters to filter over the list.\n\nThe available filters are:\n\n| Key     | Value       | Description               | \n| ------- | ----------- | ------------------------- |\n| mgid    | {{mgid}}    | Multicast Group id uniquely identify a multicast group\n| did     | {{did}}     | Device id that uniquely identify a device\n\nFiltering is supported as described in `Common` section under Filtering.\n\nPaging is supported as described in `Common` section under Paging.\n\nDetails:\n   * No body in the request\n   * The possible responses are listed in the section on the right"},"response":[{"id":"7cfee869-7de9-46df-9175-7cc9ab4f41b6","name":"200 - Success","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}/devices"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n  \"rows\": [\n    {\n      \"id\": 1,\n      \"label\": \"Device 84802c09bf2ac259 - applications 1 (ABP)\",\n      \"UserId\": 9,\n      \"ApplicationId\": 1,\n      \"deveui\": \"84802c09bf2ac259\",\n      \"type\": 0,\n      \"DeviceProfileId\": 6,\n      \"devaddr\": \"247c5158\",\n      \"joineui\": null,\n      \"lat\": null,\n      \"lng\": null,\n      \"alt\": null,\n      \"model\": null,\n      \"serial\": null,\n      \"firmware\": null,\n      \"appKey\": null,\n      \"appSKey\": \"943138dec83968c3e4fcf33286acbb97\",\n      \"nwkSKey\": \"2916aae8dbb8f08a49ff523157650540\",\n      \"createdAt\": \"2020-12-14T08:39:48.969Z\",\n      \"updatedAt\": \"2020-12-14T08:39:48.969Z\"\n    },\n    {\n      \"id\": 2,\n      \"label\": \"Device 27942dfd8828f84b - applications 1 (OTAA)\",\n      \"UserId\": 9,\n      \"ApplicationId\": 1,\n      \"deveui\": \"27942dfd8828f84b\",\n      \"type\": 128,\n      \"DeviceProfileId\": 6,\n      \"devaddr\": null,\n      \"joineui\": \"69b873769a18b0a2\",\n      \"lat\": null,\n      \"lng\": null,\n      \"alt\": null,\n      \"model\": null,\n      \"serial\": null,\n      \"firmware\": null,\n      \"appKey\": \"5435c5d2e2dfc1524b873067f288dae8\",\n      \"appSKey\": null,\n      \"nwkSKey\": null,\n      \"createdAt\": \"2020-12-14T08:39:49.081Z\",\n      \"updatedAt\": \"2020-12-14T08:39:49.081Z\"\n    },\n    {\n      \"id\": 4,\n      \"label\": \"Device 8faf4a6fae377a9a - applications 1 (OTAA)\",\n      \"UserId\": 9,\n      \"ApplicationId\": 1,\n      \"deveui\": \"8faf4a6fae377a9a\",\n      \"type\": 128,\n      \"DeviceProfileId\": 6,\n      \"devaddr\": null,\n      \"joineui\": \"14a47e40209fbe6e\",\n      \"lat\": null,\n      \"lng\": null,\n      \"alt\": null,\n      \"model\": null,\n      \"serial\": null,\n      \"firmware\": null,\n      \"appKey\": \"cb05177e89a03e00de1f9a662a9547f5\",\n      \"appSKey\": null,\n      \"nwkSKey\": null,\n      \"createdAt\": \"2020-12-14T08:39:49.306Z\",\n      \"updatedAt\": \"2020-12-14T08:39:49.306Z\"\n    },\n    {\n      \"id\": 3,\n      \"label\": \"Device 1d917b8455cdecda - applications 1 (OTAA)\",\n      \"UserId\": 9,\n      \"ApplicationId\": 1,\n      \"deveui\": \"1d917b8455cdecda\",\n      \"type\": 128,\n      \"DeviceProfileId\": 6,\n      \"devaddr\": null,\n      \"joineui\": \"5b8b013b1b94ceae\",\n      \"lat\": null,\n      \"lng\": null,\n      \"alt\": null,\n      \"model\": null,\n      \"serial\": null,\n      \"firmware\": null,\n      \"appKey\": \"84cd1b1f9d2d2d7abf54039c4cec030b\",\n      \"appSKey\": null,\n      \"nwkSKey\": null,\n      \"createdAt\": \"2020-12-14T08:39:49.189Z\",\n      \"updatedAt\": \"2020-12-14T08:39:49.189Z\"\n    },\n    {\n      \"id\": 5,\n      \"label\": \"Device 1fa9234d4c5ee057 - applications 1 (ABP)\",\n      \"UserId\": 9,\n      \"ApplicationId\": 1,\n      \"deveui\": \"1fa9234d4c5ee057\",\n      \"type\": 0,\n      \"DeviceProfileId\": 6,\n      \"devaddr\": \"d07569c6\",\n      \"joineui\": null,\n      \"lat\": null,\n      \"lng\": null,\n      \"alt\": null,\n      \"model\": null,\n      \"serial\": null,\n      \"firmware\": null,\n      \"appKey\": null,\n      \"appSKey\": \"d4aabce9465180f5216502ea7b23ddd0\",\n      \"nwkSKey\": \"526c7515d31c72ca1df2a8fea431acd4\",\n      \"createdAt\": \"2020-12-14T08:39:49.402Z\",\n      \"updatedAt\": \"2020-12-14T08:39:49.402Z\"\n    }\n  ],\n  \"size\": 5,\n  \"offset\": 0,\n  \"limit\": 20\n}"},{"id":"c60acebc-35ff-4153-8aed-8119dff7d66b","name":"200 - device group non exist","originalRequest":{"method":"GET","header":[{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials\n","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"url":"{{protocol}}://{{host}}/api/v2/multicast-group/999/devices"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:35:00 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"42"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2a-Jxn4v/jxq7/gSdYD/IJT5dQhSB8\""}],"cookie":[],"responseTime":null,"body":"{\n    \"rows\": [],\n    \"size\": 0,\n    \"offset\": 0,\n    \"limit\": 20\n}"}],"_postman_id":"28995e98-bfc4-472b-80d5-c6ef52360a3d"},{"name":"Add Device In Multicast Grop","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"a9ba8a7a-d215-46ec-b210-f326e4026799","exec":["pm.environment.set(\"mgid\", \"51\");","pm.environment.set(\"did\", 1);"],"type":"text/javascript"}}],"id":"af4e33ca-da14-41e7-a0e5-0fecbe54220a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"ids\": [{{did}}]\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}/device","description":"This API adds a new device in the multicast group, we can pass also an array odf `deviceId`.\n\nThe reponse will contain the created object with the device details.\n\nExaustive description is written in the following rows.\n \nDetails:\n   * The Request contains a body that should have the parameters listed below in the `Properties` table\n   * The possible responses are listed in the section on the right\n\n \n# Schema\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"MulticastGroupId\": {\n      \"type\": \"integer\",\n      \"minimum\": 1,\n      \"description\": \"Identifies the user on which add the gateway\"\n    },\n    \"ids\": {\n      \"type\": \"array\",\n      \"minItems\": 1,\n      \"items\": {\n        \"type\": \"integer\"\n      },\n      \"description\": \"Array of device id\"\n    }\n  },\n  \"required\": [\n    \"MulticastGroupId\",\n    \"ids\"\n  ],\n  \"additionalProperties\": false\n}\n```\n\n# Properties\n\n| Property                              | Type        | Required     | Nullable | Defined by    |\n| ------------------------------------- | ----------- | ------------ | -------- | ------------- |\n| [MulticastGroupId](#multicastgroupid) | `integer`   | **Required** | No       | (this schema) |\n| [ids](#ids)                           | `integer[]` | **Required** | No       | (this schema) |\n\n## MulticastGroupId\n\nIdentifies the user on which add the gateway\n\n`MulticastGroupId`\n\n- is **required**\n- type: `integer`\n- defined in this schema\n\n### MulticastGroupId Type\n\n`integer`\n\n- minimum value: `1`\n\n## ids\n\nArray of device id\n\n`ids`\n\n- is **required**\n- type: `integer[]`\n- at least `1` items in the array\n- defined in this schema\n\n### ids Type\n\nArray type: `integer[]`\n\nAll items must be of the type: `integer`"},"response":[{"id":"6d1b9fbb-52ce-4358-b368-8e947e0b2ca5","name":"200 - Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"ids\": [{{did}}]\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}/device"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:47:02 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"125"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"7d-M/qE6f/LwCGB8jOpjWIDMIInLl8\""}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"id\": 251,\n        \"DeviceId\": 1,\n        \"MulticastGroupId\": 51,\n        \"updatedAt\": \"2023-06-05T12:47:02.066Z\",\n        \"createdAt\": \"2023-06-05T12:47:02.066Z\"\n    }\n]"},{"id":"9a134a7f-30d3-4364-b746-147574c798c4","name":"404 - No Multicast Group found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"ids\": [{{did}}]\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/999/device"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:47:56 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"52"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"34-+h4fjyPVfNCdU/Dv1fEb5KqUuuQ\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"No Multicast Group found!\"\n}"},{"id":"6355dde1-d77c-4e2f-8e6f-f59cdf366f31","name":"404 - Devices not found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"ids\": [999]\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}/device"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:48:30 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"44"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2c-Q5H7LF5MYb7wlmH2hVwDTCWb3To\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"Devices not found\"\n}"},{"id":"4b5c7e06-c351-4e90-8fb2-f6909a35523b","name":"400 - wrong param type","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"ids\": [\"xxx\"]\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}/device"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:49:01 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"58"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"3a-8qFq4kSvbfzlwYtngC2ZS8gUBEs\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.ids[0] should be integer\"\n}"}],"_postman_id":"af4e33ca-da14-41e7-a0e5-0fecbe54220a"},{"name":"Remove Device In Multicast Group","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"ab27104d-c8a9-4720-a7ed-3d298485063e","exec":["pm.environment.set(\"mgid\", 51);","pm.environment.set(\"deveui\", '1234567890abcdef');"],"type":"text/javascript","packages":{}}}],"id":"57317315-7145-49d4-9470-5fecea6af8ce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"MulticastGroupId\": {{mgid}},\n\t\"ids\": \"[{{did}}]\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}/device/deveui-{{deveui}}","description":"This API removes a single device in an owned multicast group.\n\nThe device to delete is passed in the URL using the DeviceId as `{{deveui}}` , where `deveui` is a unique identifier consisting of the device’s `deveui` (a 16-character hexadecimal) and the multicast group is identified by `{{mgid}}`.\n\nExaustive description is written in the following rows.\n\nDetails:\n\n- Body not requested.\n    \n- The device is not delete, only the relationship with multicast group is deleted.\n    \n- The device associated to the multicast group is identified in the url by `{{deveui}}`\n    \n- The multicast group is identified in the url by `{{mgid}}`"},"response":[{"id":"bf9997c3-e09e-4f7b-9cf9-272b2731af79","name":"204 - Success","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"MulticastGroupId\": {{mgid}},\n\t\"ids\": \"[{{did}}]\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}/device/deveui-{{deveui}}"},"status":"No Content","code":204,"_postman_previewlanguage":"plain","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:50:49 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"}],"cookie":[],"responseTime":null,"body":null},{"id":"d2a6a24d-7305-4602-9c2d-5c32a8622b6e","name":"404 - No Device found","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"MulticastGroupId\": {{mgid}},\n\t\"ids\": \"[{{did}}]\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/999/device/deveui-{{deveui}}"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:51:40 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-HMB0T93Vasm8mV9wLV/XRSQ8MV4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"No Device found!\"\n}"},{"id":"0c812465-fe4f-4be3-9f3d-44acc2457888","name":"404 - No Device found","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"MulticastGroupId\": {{mgid}},\n\t\"ids\": \"[{{did}}]\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}/device/deveui-9999999999999999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:52:09 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-HMB0T93Vasm8mV9wLV/XRSQ8MV4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"No Device found!\"\n}"},{"id":"97393b44-f9cf-4a96-a1ca-f981e158a8ee","name":"400 - wrong param type","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"MulticastGroupId\": {{mgid}},\n\t\"ids\": \"[{{did}}]\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}/device/deveui-xxxxxxxxxxxxxxxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:52:27 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"}],"_postman_id":"57317315-7145-49d4-9470-5fecea6af8ce"}],"id":"6eec0bfb-95f0-4b8c-ad1b-1f1c4b16c72e","_postman_id":"6eec0bfb-95f0-4b8c-ad1b-1f1c4b16c72e"},{"name":"Group Message","item":[{"name":"Downlink","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"010309ca-2ca1-4e9b-bffe-e7cf8de90479","exec":["pm.environment.set(\"mgid\", 51);","pm.environment.set(\"port\", 1);","pm.environment.set(\"payload\", \"01\");"],"type":"text/javascript"}}],"id":"184fbb12-9493-4bb3-abbb-7db1cc5f0c7e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}/downlink-queue","description":"This API adds a new downlink in queue in a multicast group.\n\nThe reponse will contain the created object with the created downlink.\n\nExaustive description is written in the following rows.\n \nDetails:\n   * The Request contains a body that should have the parameters listed below in the `Properties` table\n   * The possible responses are listed in the section on the right\n\n \n# Schema\n```\n{\n  \"type\": \"object\",\n  \"properties\": {\n    \"qos\": {\n      \"type\": \"integer\",\n      \"enum\": [\n        \"0\",\n        \"1\"\n      ],\n      \"Default\": 1,\n      \"description\": \"Quality Of Service: 0 - Best effort. 1 - Transmission guaranteed\"\n    },\n    \"port\": {\n      \"type\": \"integer\",\n      \"minimum\": 1,\n      \"maximum\": 255,\n      \"description\": \"LoRaWAN port\"\n    },\n    \"payload\": {\n      \"type\": \"string\",\n      \"pattern\": \"(^([a-fA-F0-9][a-fA-F0-9]){1,242})$\",\n      \"minLength\": 2,\n      \"maxLength\": 484,\n      \"description\": \"Is the message contents to send to the device\"\n    }\n  },\n  \"required\": [\n    \"port\",\n    \"payload\"\n  ],\n  \"additionalProperties\": false\n}\n```\n\n# Properties\n\n| Property            | Type      | Required     | Nullable | Defined by    |\n| ------------------- | --------- | ------------ | -------- | ------------- |\n| [payload](#payload) | `string`  | **Required** | No       | (this schema) |\n| [port](#port)       | `integer` | **Required** | No       | (this schema) |\n| [qos](#qos)         | `enum`    | Optional     | No       | (this schema) |\n\n## payload\n\nIs the message contents to send to the device\n\n`payload`\n\n- is **required**\n- type: `string`\n- defined in this schema\n\n### payload Type\n\n`string`\n\n- minimum length: 2 characters\n- maximum length: 484 characters All instances must conform to this regular expression (test examples\n  [here](<https://regexr.com/?expression=(%5E(%5Ba-fA-F0-9%5D%5Ba-fA-F0-9%5D)%7B1%2C242%7D)%24>)):\n\n```regex\n(^([a-fA-F0-9][a-fA-F0-9]){1,242})$\n```\n\n## port\n\nLoRaWAN port\n\n`port`\n\n- is **required**\n- type: `integer`\n- defined in this schema\n\n### port Type\n\n`integer`\n\n- minimum value: `1`\n- maximum value: `255`\n\n## qos\n\nQuality Of Service: 0 - Best effort. 1 - Transmission guaranteed\n\n`qos`\n\n- is optional\n- type: `enum`\n- defined in this schema\n\nThe value of this property **must** be equal to one of the [known values below](#qos-known-values).\n\n### qos Known Values\n\n| Value | Description |\n| ----- | ----------- |\n| `0`   | Best effort. The message will be transmitted to the devices of the group that satisfy the multicast profile requirements (they should have been activated and have sent at least one uplink, they should be class C devices, etc..).           |\n| `1`   | Transmission guaranteed. No message will be transmitted if some devices do not satisfy the multicast profile requirements.            |"},"response":[{"id":"efb909ca-c7c7-4589-8ff7-14c049beae01","name":"200 - Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}/downlink-queue"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 13:00:23 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"91"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"5b-l2wbUUsFFLH6NPyCs2NoWGGv8Do\""}],"cookie":[],"responseTime":null,"body":"{\n    \"devices\": [\n        {\n            \"deveui\": \"032c540ecb9ae4b4\",\n            \"status\": \"Success\",\n            \"gateway\": \"8248a44530236800\"\n        }\n    ]\n}"},{"id":"c13a3ca9-a73c-47fa-b1f3-b980484b7aff","name":"404 - No Multicast Group found","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/999/downlink-queue"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 13:04:02 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"52"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"34-+h4fjyPVfNCdU/Dv1fEb5KqUuuQ\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"No Multicast Group found!\"\n}"},{"id":"9315bc22-bc21-4794-9a48-a75136f7f83a","name":"400 - wrong param type","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/xxx/downlink-queue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 13:04:40 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"56"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"38-qB3t+sDwpaZR0Y7gaZ1ofGPt2kg\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.mgid should be integer\"\n}"},{"id":"6f64820f-716e-4657-bb07-ed339d8d4fab","name":"400 - Multicast failure send","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","key":"Authorization","type":"text","value":"Bearer {{token}}"}],"body":{"mode":"raw","raw":"{\n\t\"port\": {{port}},\n\t\"payload\": \"{{payload}}\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}/downlink-queue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 13:05:16 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"44"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2c-HT649Ie16/3FXXDL5keyuJ5Qtv0\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"Multicast failure\"\n}"}],"_postman_id":"184fbb12-9493-4bb3-abbb-7db1cc5f0c7e"}],"id":"7173abce-928e-439c-a28c-910bd3575eb2","_postman_id":"7173abce-928e-439c-a28c-910bd3575eb2"},{"name":"-DEPRECATED-","item":[{"name":"Group Device","item":[{"name":"Remove Device In Multicast Group","event":[{"listen":"test","script":{"id":"5e840328-2ae8-4d3e-8e9f-ab73832cddf4","exec":[""],"type":"text/javascript","packages":{}}},{"listen":"prerequest","script":{"id":"ab27104d-c8a9-4720-a7ed-3d298485063e","exec":["pm.environment.set(\"mgid\", 51);","pm.environment.set(\"did\", 1);"],"type":"text/javascript","packages":{}}}],"id":"cdfc43f3-91b5-4cfd-bb38-29a797976710","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"MulticastGroupId\": {{mgid}},\n\t\"ids\": \"[{{did}}]\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}/device/{{did}}","description":"# \\[DEPRECATED\\]\n\nThis API removes a single device in an owned multicast group.\n\nThe device to delete is passed in the URL using the DeviceId as `{{did}}` and the multicast group is identified by `{{mgid}}`.\n\nExaustive description is written in the following rows.\n\nDetails:\n\n- Body not requested.\n    \n- The device is not delete, only the relationship with multicast group is deleted.\n    \n- The device associated to the multicast group is identified in the url by `{{did}}`\n    \n- The multicast group is identified in the url by `{{mgid}}`"},"response":[{"id":"9644cf34-5f11-4f8e-8157-ebc59d67471e","name":"204 - Success","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"MulticastGroupId\": {{mgid}},\n\t\"ids\": \"[{{did}}]\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}/device/{{did}}"},"status":"No Content","code":204,"_postman_previewlanguage":"plain","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:50:49 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"}],"cookie":[],"responseTime":null,"body":null},{"id":"99b82820-9f55-4e7b-9ed8-939956c509c4","name":"404 - No Device found","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"MulticastGroupId\": {{mgid}},\n\t\"ids\": \"[{{did}}]\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/999/device/{{did}}"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:51:40 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-HMB0T93Vasm8mV9wLV/XRSQ8MV4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"No Device found!\"\n}"},{"id":"d9221d8c-cb43-4b7c-8ea8-815259a9eaa0","name":"404 - No Device found","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"MulticastGroupId\": {{mgid}},\n\t\"ids\": \"[{{did}}]\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}/device/999"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:52:09 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"2b-HMB0T93Vasm8mV9wLV/XRSQ8MV4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 404,\n    \"message\": \"No Device found!\"\n}"},{"id":"1d74f8a5-166a-4852-9021-504e7a38e7bd","name":"400 - wrong param type","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{token}}","description":"In order to invoke API calls, the client should first gets an access token by providing valid credentials","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"MulticastGroupId\": {{mgid}},\n\t\"ids\": \"[{{did}}]\"\n}"},"url":"{{protocol}}://{{host}}/api/v2/multicast-group/{{mgid}}/device/xxx"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.23.4"},{"key":"Date","value":"Mon, 05 Jun 2023 12:52:27 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"55"},{"key":"Connection","value":"keep-alive"},{"key":"Access-Control-Allow-Headers","value":"Origin, X-Requested-With, Content-Type, Accept, Authorization, pt-ns"},{"key":"ETag","value":"W/\"37-WGYWbLsKw26uJQJReoByawrfpr4\""}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": 400,\n    \"message\": \"params.did should be integer\"\n}"}],"_postman_id":"cdfc43f3-91b5-4cfd-bb38-29a797976710"}],"id":"4b6bb0ae-8a7d-4aaf-b902-de2aeec7369f","_postman_id":"4b6bb0ae-8a7d-4aaf-b902-de2aeec7369f"}],"id":"95f49581-4735-44da-9146-3db749b728d5","_postman_id":"95f49581-4735-44da-9146-3db749b728d5"}],"id":"54d90a1c-37e1-4536-bf2d-a777a2a6504e","_postman_id":"54d90a1c-37e1-4536-bf2d-a777a2a6504e"}],"event":[{"listen":"prerequest","script":{"id":"8e2fb667-f06e-4e5a-82b0-35657b5df241","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"0e36a036-2f53-4c3f-9d3d-f89508d18443","type":"text/javascript","exec":[""]}}],"variable":[{"value":"","type":"string","disabled":true}]}