{"info":{"_postman_id":"56cf8310-81a5-4f8b-8a54-d2c247705ec7","name":"API OLT","description":"<html><head></head><body><p>Welcome to the API OLT documentation. Below are the initial instructions for using the API.</p>\n<h2 id=\"search\">Search</h2>\n<p>The API listing endpoints follow a consistent return and usage pattern. The base structure for all searches will adhere to this standard:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"return\": true,\n    \"count\": 999,\n    \"next\": \"http://your-instance.olt.com/api/v2/list?example=1\",\n    \"previous\": null,\n    \"results\": [\n    ]\n}\n\n</code></pre>\n<p>The query returns <strong>100 results per page by default</strong>.</p>\n<p>Use the optional <code>page_size</code> parameter to define the number of records per page (up to <strong>1000</strong>). If not specified, the default value is <strong>100</strong>.</p>\n<p>To correctly use pagination, a GET request should be sent to the URL provided in the \"next\" field returned by the API. The same logic applies to the \"previous\" field returned by the API to return to the previous search page.</p>\n<p>The \"count\" variable shows the total number of records found.</p>\n<h3 id=\"search-operators\">Search operators</h3>\n<p>It is possible to include the variable \"oper\" in the query parameters to use a specific search operator. The available operators are:</p>\n<ul>\n<li><p>\"=\" - To search for exact values</p>\n</li>\n<li><p>\"&gt;\" - Greater than</p>\n</li>\n<li><p>\"&gt;=\" - Greater than or equal</p>\n</li>\n<li><p>\"&lt;\" - Less than</p>\n</li>\n<li><p>\"&lt;=\" - Less than or equal</p>\n</li>\n<li><p>\"OR\" - Match records that satisfy at least one of the provided fields (logical OR across columns)</p>\n</li>\n</ul>\n<p>If no operator is specified, the search will be done by proximity.</p>\n<p>The operators above (except \"OR\") change how each field is matched. The \"OR\" operator is different: it changes how multiple fields are combined. By default, when more than one field is sent, a record must match all of them (AND). With <code>`oper=OR`</code>, a record is returned if it matches at least one of the sent fields, and each field is matched by proximity. Only one \"oper\" value can be sent per request, so \"OR\" cannot be combined with the comparison operators.<br>Example: <code>`?name=joe&amp;login=joe&amp;oper=OR`</code> returns every record whose \"name\" or \"login\" contains \"joe\".</p>\n<h2 id=\"standard-returns\">Standard Returns</h2>\n<p>By default, the API will always return a JSON object with the \"return\" flag. If this flag has the value true, the request was successful. If it has the value false, the parameter \"error\" will also be sent, which will contain details about the request error.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"return\" false,\n  \"error\" \"error message\"\n}\n\n</code></pre>\n<blockquote>\n<p>In the case of an internal server error (status code 500), an error message will be returned instead of a JSON object. For other errors, the following status codes may be returned: 400, 401, 403, and 404.</p>\n</blockquote>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"16426554","collectionId":"56cf8310-81a5-4f8b-8a54-d2c247705ec7","publishedId":"2sAY518KuB","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2024-11-07T14:16:05.000Z"},"item":[{"name":"Authentication","item":[{"name":"GET Token","id":"fbdbc298-2789-4f68-9160-adbb71058f85","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"username\": \"user\",\n  \"password\": \"password\"\n}\n","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/token","urlObject":{"path":["api","token"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"051e863a-3aa6-4827-a13b-e1cb26e9004b","name":"GET Token","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"username\": \"user\",\n  \"password\": \"password\"\n}\n","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/token"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 07 Oct 2024 12:03:16 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"483"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"refresh\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTcyODM4ODk5NiwiaWF0IjoxNzI4MzAyNTk2LCJqdGkiOiI4YmEzMzRhNDFhMjg0NjU5OWE4YjZlZDI0Yzc1OGYyZCIsInVzZXJfaWQiOjF9.Rjb3r-6vO5Sfc4qepb5QzZ4040esX7jGHCDaBv5NTJg\",\n    \"access\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzI4MzEzMzk2LCJpYXQiOjE3MjgzMDI1OTYsImp0aSI6IjU5NDBhOGMyOGM0YjQ4MzdhYjRkMjYwZDY2ZDUwMzE1IiwidXNlcl9pZCI6MX0.Vzz3LCtseOU4U7R0G9Ba6NE90tG-vORf-c0OrL1IlXM\"\n}"}],"_postman_id":"fbdbc298-2789-4f68-9160-adbb71058f85"},{"name":"GET Refresh Token","id":"2cc4c68f-06d8-458c-8abc-c4853e9d2e4c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"refresh\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...\"\n}\n","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/token/refresh","urlObject":{"path":["api","token","refresh"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"c349b01c-684c-4787-a939-b2878eb1ea24","name":"GET Refresh Token","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"refresh\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...\"\n}\n","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/token/refresh"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 07 Oct 2024 12:46:49 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"241"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"access\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzI4MzE2MDA5LCJpYXQiOjE3MjgzMDI1OTYsImp0aSI6IjllYjA3ZDlmNmEzMjRjMWViNjVjMGRmMjZiNmJlYjg3IiwidXNlcl9pZCI6MX0.7eKb7MDlZVGry_XP-s87D3NiEcif74xk8BHXjn_iW5E\"\n}"}],"_postman_id":"2cc4c68f-06d8-458c-8abc-c4853e9d2e4c"}],"id":"f00f9c18-7931-4b7a-9760-1d7bde309da2","description":"<p>To access the API, authentication is required using a JWT (JSON Web Token) with a Bearer token. This token must be included in the header of every request you make to the API.</p>\n<p>Here’s how to include the token:</p>\n<ol>\n<li>After obtaining the JWT from the authentication process, you need to add it to the request headers.</li>\n<li>The token should be sent using the <code>Authorization</code> header.</li>\n<li>The format of the header should be:</li>\n</ol>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0...\n\n</code></pre>","_postman_id":"f00f9c18-7931-4b7a-9760-1d7bde309da2"},{"name":"Client","item":[{"name":"GET Client","id":"042b01ba-efdc-4552-9031-9e64f266549c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/client/{client_id}","urlObject":{"path":["api","v2","client","{client_id}"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"bfeeb52b-7ce7-493d-b195-61d80a4b2e2a","name":"GET Client","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/client/1"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 07 Oct 2024 12:04:13 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"436"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"clients\": [\n        {\n            \"id\": 1,\n            \"external_id\": null,\n            \"external_contract_id\": null,\n            \"client_name\": \"João Silva\",\n            \"pppoe\": \"joao.silva\",\n            \"pppoe_password\": \"1234\",\n            \"status\": \"Ativo\",\n            \"plan\": \"Plano 550mb\",\n            \"address\": \"AV PAU BRASIL 269 - Centro, Curitiba - Paraná\",\n            \"street\": \"AV PAU BRASIL\",\n            \"number\": \"269\",\n            \"neighborhood\": \"Centro\",\n            \"city\": \"Curitiba\",\n            \"state\": \"Paraná\",\n            \"zip_code\": \"89249000\",\n            \"address_reference\": \"\",\n            \"box\": \"12.00.00.001A\",\n            \"box_port\": 8,\n            \"coordinates\": \"-25.430000,-49.260000\",\n            \"contact\": 554199906677,\n            \"secondary_contact\": 554199906699,\n            \"impact_activity\": [\n                {\n                    \"id\": 9,\n                    \"name\": \"Manutenção CTO 12.00.00.001A\",\n                    \"type_of_activity\": \"Rompimento de fibra CTO\",\n                    \"type_of_impact\": \"Impacto Parcial\",\n                    \"scheduled\": false,\n                    \"status\": \"Atividade Programada\",\n                    \"finished\": false,\n                    \"start_date\": \"2024-01-01T09:00:00\",\n                    \"end_date\": \"2024-01-01T14:00:00\",\n                    \"observations\": \"Teste impacto\",\n                    \"responsible\": \"Admin Oltsoft\",\n                    \"filters\": [\n                        {\n                            \"filter\": \"PON\",\n                            \"content\": \"PON: 0 - SLOT: 3 - OLT: 10\"\n                        },\n                        {\n                            \"filter\": \"PON\",\n                            \"content\": \"PON: 9 - SLOT: 3 - OLT: 10\"\n                        }\n                    ]\n                }\n            ]\n        }\n    ]\n}"}],"_postman_id":"042b01ba-efdc-4552-9031-9e64f266549c"},{"name":"LIST Clients","id":"a08a4824-2b9b-43bc-ab35-2d1e2a8d0dd4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/client/list","urlObject":{"path":["api","v2","client","list"],"host":["https://your-instance.olt.com"],"query":[{"disabled":true,"key":"","value":""},{"disabled":true,"key":"box","value":""},{"disabled":true,"key":"id","value":""},{"disabled":true,"key":"external_id","value":""},{"disabled":true,"key":"external_contract_id","value":""},{"disabled":true,"key":"client_name","value":""},{"disabled":true,"key":"pppoe","value":""},{"disabled":true,"key":"pppoe_password","value":""},{"disabled":true,"key":"status","value":""},{"disabled":true,"key":"plan","value":""},{"disabled":true,"key":"address","value":""},{"disabled":true,"key":"street","value":""},{"disabled":true,"key":"number","value":""},{"disabled":true,"key":"neighborhood","value":""},{"disabled":true,"key":"city","value":""},{"disabled":true,"key":"state","value":""},{"disabled":true,"key":"zip_code","value":""},{"disabled":true,"key":"address_reference","value":""},{"disabled":true,"key":"box_port","value":""},{"disabled":true,"description":{"content":"<p>Please enter coordinates in decimal format. Example: '00.0000, 00.11111'</p>\n","type":"text/plain"},"key":"coordinates","value":""},{"disabled":true,"key":"contact","value":null},{"disabled":true,"key":"secondary_contact","value":null}],"variable":[]}},"response":[{"id":"72ee4f21-0b7a-465e-9e62-91c9cefd1039","name":"LIST Clients","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":{"raw":"https://your-instance.olt.com/api/v2/client/list","protocol":"https","host":["your-instance","olt","com"],"path":["api","v2","client","list"],"query":[{"key":"","value":"","disabled":true},{"key":"box","value":"","disabled":true},{"key":"id","value":null,"disabled":true},{"key":"external_id","value":null,"disabled":true},{"key":"external_contract_id","value":null,"disabled":true},{"key":"client_name","value":null,"disabled":true},{"key":"pppoe","value":null,"disabled":true},{"key":"pppoe_password","value":null,"disabled":true},{"key":"status","value":null,"disabled":true},{"key":"plan","value":null,"disabled":true},{"key":"address","value":null,"disabled":true},{"key":"street","value":null,"disabled":true},{"key":"number","value":null,"disabled":true},{"key":"neighborhood","value":null,"disabled":true},{"key":"city","value":null,"disabled":true},{"key":"state","value":null,"disabled":true},{"key":"zip_code","value":null,"disabled":true},{"key":"address_reference","value":null,"disabled":true},{"key":"box_port","value":null,"disabled":true},{"key":"coordinates","value":null,"description":"Please enter coordinates in decimal format. Example: '00.0000, 00.11111'","type":"text","disabled":true},{"key":"contact","value":null,"type":"text","disabled":true},{"key":"secondary_contact","value":null,"type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 07 Oct 2024 12:43:05 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"43121"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"count\": 12563,\n    \"next\": \"http://your-istance.olt.com/api/v2/client/list?page=2&address=&address_reference=&box=&box_port=&city=&client_name=&external_contract_id=&external_id=&id=&neighborhood=&number=&plan=&pppoe=&pppoe_password=&state=&status=&street=&zip_code=\",\n    \"previous\": null,\n    \"results\": [\n        {\n            \"id\": 1,\n            \"external_id\": null,\n            \"external_contract_id\": null,\n            \"client_name\": \"João Silva\",\n            \"pppoe\": \"joao.silva\",\n            \"pppoe_password\": \"1234\",\n            \"status\": \"Ativo\",\n            \"plan\": \"Plano 550mb\",\n            \"address\": \"AV PAU BRASIL 269 - Centro, Curitiba - Paraná\",\n            \"street\": \"AV PAU BRASIL\",\n            \"number\": \"269\",\n            \"neighborhood\": \"Centro\",\n            \"city\": \"Curitiba\",\n            \"state\": \"Paraná\",\n            \"zip_code\": \"89249000\",\n            \"address_reference\": \"\",\n            \"box\": \"12.00.00.001A\",\n            \"box_port\": 8,\n            \"coordinates\": \"-25.430000,-49.260000\",\n            \"contact\": 554199906677,\n            \"secondary_contact\": 554199906699,\n            \"impact_activity\": [\n                {\n                    \"name\": \"Manutenção CTO 12.00.00.001A\",\n                    \"start_date\": \"2024-01-01T09:00:00\",\n                    \"end_date\": \"2024-01-01T14:00:00\",\n                    \"status\": \"Em Andamento\",\n                    \"type\": \"Rompimento de fibra CTO\"\n                }\n            ]\n        }\n    ]\n}"}],"_postman_id":"a08a4824-2b9b-43bc-ab35-2d1e2a8d0dd4"},{"name":"GET Companies","id":"98923d5d-0efe-47ba-ba44-a0c2d5705bb0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/company/list","urlObject":{"path":["api","v2","company","list"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"18899371-656f-456d-9e18-b2f8fc0a449a","name":"New Request","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzI5MTA0NjIzLCJpYXQiOjE3MjkwOTM4MjMsImp0aSI6IjZkMTg0ODNkZmY2OTQzYzViNzkwNTVlZmIwMGU1MzQwIiwidXNlcl9pZCI6MX0.3SmZ7xNhl_8ia8PVvcc7qDlID21xJPIgoNEqUoRMzxk","type":"text"}],"url":"http://127.0.0.1:8000/api/v2/company/list"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 16 Oct 2024 16:34:28 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.9.5"},{"key":"Content-Type","value":"application/json"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"Content-Length","value":"86"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"companies\": [\n        {\n            \"id\": 1,\n            \"abbreviation\": \"CPN\",\n            \"name\": \"COMPANY\"\n        }\n    ]\n}"}],"_postman_id":"98923d5d-0efe-47ba-ba44-a0c2d5705bb0"},{"name":"GET Plans","id":"cb788339-3a59-49f2-b29c-7dfec83af5c0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/plan/list","urlObject":{"path":["api","v2","plan","list"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"5b0eca45-5360-4e0c-be88-b2f183f98368","name":"LIST Plans","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/plan/list"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"plans\": [\n        {\n            \"id\": 1,\n            \"name\": \"PLAN 100M\",\n            \"download\": 100,\n            \"upload\": 50,\n            \"enable\": true\n        },\n        {\n            \"id\": 2,\n            \"name\": \"PLAN 200M\",\n            \"download\": 200,\n            \"upload\": 100,\n            \"enable\": true\n        }\n    ]\n}"}],"_postman_id":"cb788339-3a59-49f2-b29c-7dfec83af5c0"},{"name":"CREATE Client","id":"fdc700e8-4dad-429e-9aaf-ad596eb32e29","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/client/create","description":"<p>This endpoint is used to create a client. The fields \"id_company\" and \"id_plan\" are mandatory. To obtain the IDs of the registered companies and plans in the system, make a GET request to the \"GET Companies\" and \"GET Plans\" endpoints listed in this section of the documentation</p>\n<h2 id=\"body-raw-json\"><strong>BODY</strong> raw (JSON)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>parameter</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>name</td>\n<td>Client name <strong>(required)</strong></td>\n</tr>\n<tr>\n<td>type_client</td>\n<td>Use 0 for natural person and 1 for Legal Entity <strong>(required)</strong></td>\n</tr>\n<tr>\n<td>document</td>\n<td>Client Identification Document <strong>(required)</strong></td>\n</tr>\n<tr>\n<td>pppoe_login</td>\n<td>PPPoE <strong>(required)</strong></td>\n</tr>\n<tr>\n<td>pppoe_password</td>\n<td>PPPoE password <strong>(required)</strong></td>\n</tr>\n<tr>\n<td>id_company</td>\n<td>ID of the company the customer is linked to <strong>(required)</strong></td>\n</tr>\n<tr>\n<td>id_plan</td>\n<td>ID of the plan the customer is linked to <strong>(required)</strong></td>\n</tr>\n<tr>\n<td>coordinates</td>\n<td>Client coordinates format (\"-0.000, -0.1000\")</td>\n</tr>\n<tr>\n<td>external_id</td>\n<td>Client ID in your ERP</td>\n</tr>\n<tr>\n<td>external_contract_id</td>\n<td>Client contract ID in your ERP</td>\n</tr>\n<tr>\n<td>zip_code</td>\n<td></td>\n</tr>\n<tr>\n<td>street</td>\n<td></td>\n</tr>\n<tr>\n<td>number</td>\n<td></td>\n</tr>\n<tr>\n<td>neighborhood</td>\n<td></td>\n</tr>\n<tr>\n<td>city</td>\n<td></td>\n</tr>\n<tr>\n<td>state</td>\n<td></td>\n</tr>\n<tr>\n<td>address_reference</td>\n<td></td>\n</tr>\n<tr>\n<td>phone1</td>\n<td></td>\n</tr>\n<tr>\n<td>phone2</td>\n<td></td>\n</tr>\n<tr>\n<td>observation</td>\n<td></td>\n</tr>\n<tr>\n<td>equipment_serial_number</td>\n<td>ONT Serial Number</td>\n</tr>\n<tr>\n<td>mac</td>\n<td>format (\"FF:FF:FF:FF:FF:FF\")</td>\n</tr>\n<tr>\n<td>status</td>\n<td>The <strong>status</strong> field in the API uses numeric values to represent different client statuses:  <br />- 0: \"Cancelado\" (Canceled)  <br />- 1: \"Ativo\" (Active)  <br />- 2: \"Bloqueado\" (Blocked)</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","client","create"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"c01f0fab-b58b-4cef-b8ca-93d743658749","name":"CREATE client","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/client/create"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 07 Oct 2024 12:04:13 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"436"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"clients\": [\n        {\n            \"id\": 1,\n            \"external_id\": null,\n            \"external_contract_id\": null,\n            \"client_name\": \"João Silva\",\n            \"pppoe\": \"joao.silva\",\n            \"status\": \"Ativo\",\n            \"plan\": \"Plano 550mb\",\n            \"address\": \"AV PAU BRASIL 269 - Centro, Curitiba - Paraná\",\n            \"street\": \"AV PAU BRASIL\",\n            \"number\": \"269\",\n            \"neighborhood\": \"Centro\",\n            \"city\": \"Curitiba\",\n            \"state\": \"Paraná\",\n            \"zip_code\": \"89249000\",\n            \"address_reference\": \"\",\n            \"box\": \"12.00.00.001A\",\n            \"box_port\": 8,\n            \"impact_activity\": [\n                {\n                    \"name\": \"Manutenção CTO 12.00.00.001A\",\n                    \"start_date\": \"2024-01-01T09:00:00\",\n                    \"end_date\": \"2024-01-01T14:00:00\",\n                    \"status\": \"Em Andamento\",\n                    \"type\": \"Rompimento de fibra CTO\"\n                }\n            ]\n        }\n    ]\n}"}],"_postman_id":"fdc700e8-4dad-429e-9aaf-ad596eb32e29"},{"name":"UPDATE Client","id":"c001d0b8-160b-41ae-bc7c-6b117f588ab0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"url":"https://your-instance.olt.com/api/v2/client/update/{client_id}","description":"<h2 id=\"body-raw-json\"><strong>BODY</strong> raw (JSON)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>parameter</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>name</td>\n<td>Client name <strong>(required)</strong></td>\n</tr>\n<tr>\n<td>type_client</td>\n<td>Use 0 for natural person and 1 for Legal Entity <strong>(required)</strong></td>\n</tr>\n<tr>\n<td>document</td>\n<td>Client Identification Document <strong>(required)</strong></td>\n</tr>\n<tr>\n<td>pppoe_login</td>\n<td>PPPoE <strong>(required)</strong></td>\n</tr>\n<tr>\n<td>pppoe_password</td>\n<td>PPPoE password <strong>(required)</strong></td>\n</tr>\n<tr>\n<td>id_company</td>\n<td>ID of the company the customer is linked to <strong>(required)</strong></td>\n</tr>\n<tr>\n<td>id_plan</td>\n<td>ID of the plan the customer is linked to <strong>(required)</strong></td>\n</tr>\n<tr>\n<td>coordinates</td>\n<td>Client coordinates format (\"-0.000, -0.1000\")</td>\n</tr>\n<tr>\n<td>external_id</td>\n<td>Client ID in your ERP</td>\n</tr>\n<tr>\n<td>external_contract_id</td>\n<td>Client contract ID in your ERP</td>\n</tr>\n<tr>\n<td>zip_code</td>\n<td></td>\n</tr>\n<tr>\n<td>street</td>\n<td></td>\n</tr>\n<tr>\n<td>number</td>\n<td></td>\n</tr>\n<tr>\n<td>neighborhood</td>\n<td></td>\n</tr>\n<tr>\n<td>city</td>\n<td></td>\n</tr>\n<tr>\n<td>state</td>\n<td></td>\n</tr>\n<tr>\n<td>address_reference</td>\n<td></td>\n</tr>\n<tr>\n<td>phone1</td>\n<td></td>\n</tr>\n<tr>\n<td>phone2</td>\n<td></td>\n</tr>\n<tr>\n<td>observation</td>\n<td></td>\n</tr>\n<tr>\n<td>equipment_serial_number</td>\n<td>ONT Serial Number</td>\n</tr>\n<tr>\n<td>mac</td>\n<td>format (\"FF:FF:FF:FF:FF:FF\")</td>\n</tr>\n<tr>\n<td>status</td>\n<td>The <strong>status</strong> field in the API uses numeric values to represent different client statuses:  <br />- 0: \"Cancelado\" (Canceled)  <br />- 1: \"Ativo\" (Active)  <br />- 2: \"Bloqueado\" (Blocked)</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","client","update","{client_id}"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"d05a2971-dfe0-4c49-8822-3ad1dc83dbce","name":"UPDATE client","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/client/update/{client_id}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 07 Oct 2024 12:04:13 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"436"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"clients\": [\n        {\n            \"id\": 1,\n            \"external_id\": null,\n            \"external_contract_id\": null,\n            \"client_name\": \"João Silva\",\n            \"pppoe\": \"joao.silva\",\n            \"status\": \"Ativo\",\n            \"plan\": \"Plano 550mb\",\n            \"address\": \"AV PAU BRASIL 269 - Centro, Curitiba - Paraná\",\n            \"street\": \"AV PAU BRASIL\",\n            \"number\": \"269\",\n            \"neighborhood\": \"Centro\",\n            \"city\": \"Curitiba\",\n            \"state\": \"Paraná\",\n            \"zip_code\": \"89249000\",\n            \"address_reference\": \"\",\n            \"box\": \"12.00.00.001A\",\n            \"box_port\": 8,\n            \"impact_activity\": [\n                {\n                    \"name\": \"Manutenção CTO 12.00.00.001A\",\n                    \"start_date\": \"2024-01-01T09:00:00\",\n                    \"end_date\": \"2024-01-01T14:00:00\",\n                    \"status\": \"Em Andamento\",\n                    \"type\": \"Rompimento de fibra CTO\"\n                }\n            ]\n        }\n    ]\n}"}],"_postman_id":"c001d0b8-160b-41ae-bc7c-6b117f588ab0"},{"name":"GET Client Alerts","id":"a8c0d4fd-58e1-404e-b104-7616cda976df","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://your-instance.olt.com/api/v2/client/device_alert?id=55789","description":"<p>Returns the list of all alarms associated with a customer in OLT Cloud. The customer can be identified by any of the available search parameters. If more than one parameter is provided, the endpoint will use their combination to narrow down the results.</p>\n<p><strong>Optional search parameters:</strong></p>\n<ul>\n<li><p><strong>id</strong>: internal customer ID in OLT Cloud.</p>\n</li>\n<li><p><strong>pppoe</strong>: customer PPPoE username registered in OLT Cloud.</p>\n</li>\n<li><p><strong>document</strong>: customer’s CPF or CNPJ.</p>\n</li>\n<li><p><strong>external_id</strong>: external customer identifier coming from integrations.</p>\n</li>\n<li><p><strong>external_contract_id</strong>: external contract identifier coming from integrations.</p>\n</li>\n</ul>\n<p>The response includes all alarms in which the customer is involved (for example, alarms generated from the OLT, PON, CTO, or directly from the customer’s device), allowing the support or monitoring system to quickly view the history and current status of alerts related to this customer.</p>\n","urlObject":{"path":["api","v2","client","device_alert"],"host":["https://your-instance.olt.com"],"query":[{"key":"id","value":"55789"},{"disabled":true,"key":"pppoe","value":null},{"disabled":true,"key":"document","value":null},{"disabled":true,"key":"external_id","value":null},{"disabled":true,"key":"external_contract_id","value":null}],"variable":[]}},"response":[{"id":"91d4637f-02d0-4086-9739-96734a8e648c","name":"GET Client Alerts","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://your-instance.olt.com/api/v2/client/device_alert?id=55789","host":["https://your-instance.olt.com"],"path":["api","v2","client","device_alert"],"query":[{"key":"id","value":"55789"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"return\": true,\n    \"client\": {\n        \"id\": 55789,\n        \"external_id\": null,\n        \"external_contract_id\": null,\n        \"client_name\": \"Gabriel Schiavon Camargo\",\n        \"document\": \"03205678999\",\n        \"pppoe\": \"gabriel.camargo2@fenix\",\n        \"pppoe_password\": \"1234\",\n        \"status\": \"Ativo\",\n        \"plan\": \"750M_INNON_MAIS_CPF\",\n        \"address\": \"Rua Antônio Maria Johnsson, 776 - Centro, Colombo - PR\",\n        \"street\": \"Rua Antônio Maria Johnsson\",\n        \"number\": \"776\",\n        \"neighborhood\": \"Centro\",\n        \"city\": \"Colombo\",\n        \"state\": \"Paraná\",\n        \"zip_code\": \"83412220\",\n        \"address_reference\": \"\",\n        \"coordinates\": \"\",\n        \"contact\": 52991424730,\n        \"secondary_contact\": 52991424730,\n        \"box\": \"27.02.05.037A\",\n        \"box_port\": 3,\n        \"tags\": [],\n        \"impact_activity\": [],\n        \"email\": \"asdasdewe@hotmail.com\"\n    },\n    \"alerts\": [\n        {\n            \"id\": 372,\n            \"alert_type\": \"cto_loss\",\n            \"olt_id\": 44,\n            \"olt_name\": \"27 - Colombo Centro\",\n            \"initial_date\": \"2025-08-18 09:43:44\",\n            \"confirm_date\": null,\n            \"end_date\": \"2025-08-18 17:24:49\",\n            \"ignored\": false,\n            \"config_id\": 1,\n            \"config_name\": \"MONITORAMENTO CTO\",\n            \"description\": \"ONUs em LOSS na CTO 27.02.05.037A OLT 27 - Colombo Centro\",\n            \"event_id\": 25,\n            \"event_name\": \"27 - Colombo Centro 18/08/2025 09:43\",\n            \"total_devices_count\": 16,\n            \"active_devices_count\": 0,\n            \"cto_id\": 31,\n            \"cto_name\": \"27.02.05.037A\",\n            \"internal_id\": null,\n            \"affected_devices\": [\n                {\n                    \"id\": 3438,\n                    \"device_index\": \"44:FHTT92830D70\",\n                    \"onu_device\": {\n                        \"id\": 1654608,\n                        \"sn_onu\": \"FHTT92830D70\",\n                        \"alias\": \"gabriel.camargo2@fenix\",\n                        \"model\": \"AN5506-02-F\",\n                        \"status\": \"Online\",\n                        \"last_status_change\": \"29/10/2025 18:04:57\",\n                        \"client_id\": 55789,\n                        \"client_name\": \"Gabriel Schiavon Camargo\",\n                        \"client_login\": \"gabriel.camargo2@fenix\",\n                        \"cto_id\": 31,\n                        \"cto_name\": \"27.02.05.037A\",\n                        \"cto_port\": 3,\n                        \"vip\": false\n                    },\n                    \"last_rx_onu\": -23.76,\n                    \"last_rx_olt\": -23.2,\n                    \"last_rx_updated\": \"15/08/2025 05:11:38\",\n                    \"after_rx_onu\": -23.76,\n                    \"after_rx_olt\": -23.3,\n                    \"after_rx_updated\": \"18/08/2025 19:09:57\",\n                    \"registered\": \"18/08/2025 09:43:44\",\n                    \"deregistered\": \"18/08/2025 09:43:30\"\n                }\n            ],\n            \"comments\": []\n        }\n    ]\n}"}],"_postman_id":"a8c0d4fd-58e1-404e-b104-7616cda976df"}],"id":"2704feb6-e18d-425c-8de9-9fc21b65f77c","_postman_id":"2704feb6-e18d-425c-8de9-9fc21b65f77c","description":""},{"name":"Boxes","item":[{"name":"GET Box","id":"bf968667-a74d-4948-9801-39cdf91c9291","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/box/{box_id}","urlObject":{"path":["api","v2","box","{box_id}"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"f702ffb2-7582-4fd7-b140-05d99727e2a9","name":"GET Box","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/box/100"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 07 Oct 2024 12:52:18 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"1539"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"box\": {\n        \"id\": 302,\n        \"name\": \"12.00.00.001A\",\n        \"ports\": 16,\n        \"status\": \"Ativo\",\n        \"pon_id\": null,\n        \"initial_rx\": 0,\n        \"zip_code\": null,\n        \"street\": \"\",\n        \"number\": \"\",\n        \"neighborhood\": \"\",\n        \"city\": \"\",\n        \"state\": \"\",\n        \"address_reference\": \"\",\n        \"coordinates\": \"-1.00000, 0.100000\",\n        \"description\": \"\",\n        \"occupation\": [\n            {\n                \"port\": 1,\n                \"status\": \"Livre\",\n                \"client_id\": null,\n                \"client_name\": null,\n                \"pppoe\": null\n            },\n            {\n                \"port\": 2,\n                \"status\": \"Livre\",\n                \"client_id\": null,\n                \"client_name\": null,\n                \"pppoe\": null\n            },\n            {\n                \"port\": 3,\n                \"status\": \"Livre\",\n                \"client_id\": null,\n                \"client_name\": null,\n                \"pppoe\": null\n            },\n            {\n                \"port\": 4,\n                \"status\": \"Livre\",\n                \"client_id\": null,\n                \"client_name\": null,\n                \"pppoe\": null\n            },\n            {\n                \"port\": 5,\n                \"status\": \"Livre\",\n                \"client_id\": null,\n                \"client_name\": null,\n                \"pppoe\": null\n            },\n            {\n                \"port\": 6,\n                \"status\": \"Livre\",\n                \"client_id\": null,\n                \"client_name\": null,\n                \"pppoe\": null\n            },\n            {\n                \"port\": 7,\n                \"status\": \"Livre\",\n                \"client_id\": null,\n                \"client_name\": null,\n                \"pppoe\": null\n            },\n            {\n                \"port\": 8,\n                \"status\": \"Ocupada\",\n                \"client_id\": 3,\n                \"client_name\": \"João Silva\",\n                \"pppoe\": \"joao.silva1\"\n            },\n            {\n                \"port\": 9,\n                \"status\": \"Livre\",\n                \"client_id\": null,\n                \"client_name\": null,\n                \"pppoe\": null\n            },\n            {\n                \"port\": 10,\n                \"status\": \"Livre\",\n                \"client_id\": null,\n                \"client_name\": null,\n                \"pppoe\": null\n            },\n            {\n                \"port\": 11,\n                \"status\": \"Livre\",\n                \"client_id\": null,\n                \"client_name\": null,\n                \"pppoe\": null\n            },\n            {\n                \"port\": 12,\n                \"status\": \"Livre\",\n                \"client_id\": null,\n                \"client_name\": null,\n                \"pppoe\": null\n            },\n            {\n                \"port\": 13,\n                \"status\": \"Livre\",\n                \"client_id\": null,\n                \"client_name\": null,\n                \"pppoe\": null\n            },\n            {\n                \"port\": 14,\n                \"status\": \"Livre\",\n                \"client_id\": null,\n                \"client_name\": null,\n                \"pppoe\": null\n            },\n            {\n                \"port\": 15,\n                \"status\": \"Livre\",\n                \"client_id\": null,\n                \"client_name\": null,\n                \"pppoe\": null\n            },\n            {\n                \"port\": 16,\n                \"status\": \"Livre\",\n                \"client_id\": null,\n                \"client_name\": null,\n                \"pppoe\": null\n            }\n        ]\n    }\n}"}],"_postman_id":"bf968667-a74d-4948-9801-39cdf91c9291"},{"name":"LIST Boxes","id":"0397ebcc-403d-4237-a4cb-2ddc14763b75","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/box/list","urlObject":{"path":["api","v2","box","list"],"host":["https://your-instance.olt.com"],"query":[{"disabled":true,"key":"id","value":""},{"disabled":true,"key":"name","value":""},{"disabled":true,"description":{"content":"<p>number of BOX ports</p>\n","type":"text/plain"},"key":"ports","value":""},{"disabled":true,"description":{"content":"<p>OLT linked to the service box</p>\n","type":"text/plain"},"key":"olt","value":""},{"disabled":true,"description":{"content":"<p>OLT slot linked to the service box</p>\n","type":"text/plain"},"key":"slot","value":""},{"disabled":true,"description":{"content":"<p>OLT PON linked to the service box</p>\n","type":"text/plain"},"key":"pon","value":""},{"disabled":true,"description":{"content":"<p>Internal OLT ID</p>\n","type":"text/plain"},"key":"olt_id","value":""},{"disabled":true,"description":{"content":"<p>External OLT ID</p>\n","type":"text/plain"},"key":"olt_external_id","value":""},{"disabled":true,"description":{"content":"<p>OLT Slot internal ID</p>\n","type":"text/plain"},"key":"slot_id","value":""},{"disabled":true,"description":{"content":"<p>OLT PON internal ID</p>\n","type":"text/plain"},"key":"pon_id","value":""},{"disabled":true,"description":{"content":"<p>RX level at the time of creating the service box</p>\n","type":"text/plain"},"key":"initial_rx","value":""},{"disabled":true,"description":{"content":"<p>Service box status</p>\n","type":"text/plain"},"key":"status","value":""},{"disabled":true,"key":"zip_code","value":""},{"disabled":true,"key":"street","value":""},{"disabled":true,"key":"number","value":""},{"disabled":true,"key":"neighborhood","value":""},{"disabled":true,"key":"city","value":""},{"disabled":true,"key":"state","value":""},{"disabled":true,"key":"address_reference","value":""},{"disabled":true,"description":{"content":"<p>Please enter coordinates in decimal format. Example: '00.0000, 00.11111'</p>\n","type":"text/plain"},"key":"coordinates","value":""},{"disabled":true,"key":"description","value":""},{"disabled":true,"key":"external_id","value":null}],"variable":[]}},"response":[{"id":"aba6cf22-799a-4181-8f87-7e7a659b2d00","name":"LIST Boxes","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":{"raw":"https://your-instance.olt.com/api/v2/box/list?id&name&ports&olt&slot&pon&olt_id&olt_external_id&slot_id&pon_id&initial_rx&status&zip_code&street&number&neighborhood&city&state&address_reference&coordinates=&description","host":["https://your-instance.olt.com"],"path":["api","v2","box","list"],"query":[{"key":"id","value":null},{"key":"name","value":null},{"key":"ports","value":null,"description":"number of BOX ports"},{"key":"olt","value":null,"description":"OLT linked to the service box"},{"key":"slot","value":null,"description":"OLT slot linked to the service box"},{"key":"pon","value":null,"description":"OLT PON linked to the service box"},{"key":"olt_id","value":null,"description":"Internal OLT ID"},{"key":"olt_external_id","value":null,"description":"External OLT ID"},{"key":"slot_id","value":null,"description":"OLT Slot internal ID"},{"key":"pon_id","value":null,"description":"OLT PON internal ID"},{"key":"initial_rx","value":null,"description":"RX level at the time of creating the service box"},{"key":"status","value":null,"description":"Service box status"},{"key":"zip_code","value":null},{"key":"street","value":null},{"key":"number","value":null},{"key":"neighborhood","value":null},{"key":"city","value":null},{"key":"state","value":null},{"key":"address_reference","value":null},{"key":"coordinates","value":"","description":"Please enter coordinates in decimal format. Example: '00.0000, 00.11111'"},{"key":"description","value":null}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 07 Oct 2024 12:54:25 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"113928"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"count\": 197,\n    \"next\": \"https://your-instance.olt.com/api/v2/box/list?page=2\",\n    \"previous\": null,\n    \"results\": [\n        {\n            \"id\": 302,\n            \"name\": \"12.00.00.001A\",\n            \"ports\": 16,\n            \"status\": \"Ativo\",\n            \"pon_id\": null,\n            \"initial_rx\": 0,\n            \"zip_code\": null,\n            \"street\": \"\",\n            \"number\": \"\",\n            \"neighborhood\": \"\",\n            \"city\": \"\",\n            \"state\": \"\",\n            \"address_reference\": \"\",\n            \"coordinates\": \"-1.00000, 0.100000\",\n            \"description\": \"\",\n            \"occupation\": [\n                {\n                    \"port\": 1,\n                    \"status\": \"Livre\",\n                    \"client_id\": null,\n                    \"client_name\": null,\n                    \"pppoe\": null\n                },\n                {\n                    \"port\": 2,\n                    \"status\": \"Livre\",\n                    \"client_id\": null,\n                    \"client_name\": null,\n                    \"pppoe\": null\n                },\n                {\n                    \"port\": 3,\n                    \"status\": \"Livre\",\n                    \"client_id\": null,\n                    \"client_name\": null,\n                    \"pppoe\": null\n                },\n                {\n                    \"port\": 4,\n                    \"status\": \"Livre\",\n                    \"client_id\": null,\n                    \"client_name\": null,\n                    \"pppoe\": null\n                },\n                {\n                    \"port\": 5,\n                    \"status\": \"Livre\",\n                    \"client_id\": null,\n                    \"client_name\": null,\n                    \"pppoe\": null\n                },\n                {\n                    \"port\": 6,\n                    \"status\": \"Livre\",\n                    \"client_id\": null,\n                    \"client_name\": null,\n                    \"pppoe\": null\n                },\n                {\n                    \"port\": 7,\n                    \"status\": \"Livre\",\n                    \"client_id\": null,\n                    \"client_name\": null,\n                    \"pppoe\": null\n                },\n                {\n                    \"port\": 8,\n                    \"status\": \"Ocupada\",\n                    \"client_id\": 3,\n                    \"client_name\": \"João Silva\",\n                    \"pppoe\": \"joao.silva1\",\n                    \"external_client_id\": null,\n                    \"external_client_contract_id\": null\n                },\n                {\n                    \"port\": 9,\n                    \"status\": \"Livre\",\n                    \"client_id\": null,\n                    \"client_name\": null,\n                    \"pppoe\": null\n                },\n                {\n                    \"port\": 10,\n                    \"status\": \"Livre\",\n                    \"client_id\": null,\n                    \"client_name\": null,\n                    \"pppoe\": null\n                },\n                {\n                    \"port\": 11,\n                    \"status\": \"Livre\",\n                    \"client_id\": null,\n                    \"client_name\": null,\n                    \"pppoe\": null\n                },\n                {\n                    \"port\": 12,\n                    \"status\": \"Livre\",\n                    \"client_id\": null,\n                    \"client_name\": null,\n                    \"pppoe\": null\n                },\n                {\n                    \"port\": 13,\n                    \"status\": \"Livre\",\n                    \"client_id\": null,\n                    \"client_name\": null,\n                    \"pppoe\": null\n                },\n                {\n                    \"port\": 14,\n                    \"status\": \"Livre\",\n                    \"client_id\": null,\n                    \"client_name\": null,\n                    \"pppoe\": null\n                },\n                {\n                    \"port\": 15,\n                    \"status\": \"Livre\",\n                    \"client_id\": null,\n                    \"client_name\": null,\n                    \"pppoe\": null\n                },\n                {\n                    \"port\": 16,\n                    \"status\": \"Livre\",\n                    \"client_id\": null,\n                    \"client_name\": null,\n                    \"pppoe\": null\n                }\n            ]\n        }\n    ]\n}"}],"_postman_id":"0397ebcc-403d-4237-a4cb-2ddc14763b75"},{"name":"CREATE Box","id":"ec89a038-9826-4336-af2f-32d064629845","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"BOX Example\",\n    \"ports\": 16,\n    \"coordinates\": \"-11.0000, -21.0000\",\n    \"status\": 0,\n    \"olt_id\": 1,\n    \"olt_external_id\": 5,\n    \"slot\": 1,\n    \"pon\": 1,\n    \"initial_rx\": -20.65,\n    \"street\": \"AV BRASIL\",\n    \"number\": \"269\",\n    \"neighborhood\": \"Centro\",\n    \"city\": \"Curitiba\",\n    \"state\": \"Paraná\",\n    \"zip_code\": \"89249000\",\n    \"address_reference\": \"\",\n    \"description\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/box/create","description":"<h2 id=\"request-fields\">Request Fields</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>CTO name (<strong>Required</strong>).</td>\n</tr>\n<tr>\n<td><code>ports</code></td>\n<td>integer</td>\n<td>Total number of ports available in the CTO (<strong>Required</strong>).</td>\n</tr>\n<tr>\n<td><code>coordinates</code></td>\n<td>string</td>\n<td>Geographic coordinates in <code>latitude,longitude</code> format (<strong>Required</strong>).</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>integer</td>\n<td>CTO status (<strong>Required</strong>). Available values:  <br />• <code>0</code> = Active  <br />• <code>1</code> = Projected  <br />• <code>2</code> = PON Full  <br />• <code>3</code> = Maintenance  <br />• <code>4</code> = CTO Full  <br />• <code>5</code> = Technical Reserve  <br />• <code>6</code> = Inactive</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>integer</td>\n<td>CTO type.  <br />Available values:  <br />• <code>0</code> = CTO  <br />• <code>1</code> = PA  <br />• <code>2</code> = OLT  <br />• <code>3</code> = PON</td>\n</tr>\n<tr>\n<td><code>olt_id</code></td>\n<td>integer</td>\n<td>Internal ID of the OLT in OLT Cloud.</td>\n</tr>\n<tr>\n<td><code>olt_external_id</code></td>\n<td>string</td>\n<td>External ID of the OLT from your ERP system.</td>\n</tr>\n<tr>\n<td><code>slot</code></td>\n<td>integer</td>\n<td>OLT slot number.</td>\n</tr>\n<tr>\n<td><code>pon</code></td>\n<td>integer</td>\n<td>PON port number.</td>\n</tr>\n<tr>\n<td><code>initial_rx</code></td>\n<td>float</td>\n<td>Initial projected RX signal level.</td>\n</tr>\n<tr>\n<td><code>street</code></td>\n<td>string</td>\n<td>Street name.</td>\n</tr>\n<tr>\n<td><code>number</code></td>\n<td>string</td>\n<td>Street number.</td>\n</tr>\n<tr>\n<td><code>neighborhood</code></td>\n<td>string</td>\n<td>Neighborhood or district.</td>\n</tr>\n<tr>\n<td><code>city</code></td>\n<td>string</td>\n<td>City name.</td>\n</tr>\n<tr>\n<td><code>state</code></td>\n<td>string</td>\n<td>State or province.</td>\n</tr>\n<tr>\n<td><code>zip_code</code></td>\n<td>string</td>\n<td>ZIP or postal code.</td>\n</tr>\n<tr>\n<td><code>address_reference</code></td>\n<td>string</td>\n<td>Additional address reference information.</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string</td>\n<td>Free-text description of the CTO.</td>\n</tr>\n<tr>\n<td><code>external_id</code></td>\n<td>string</td>\n<td>External identifier of the CTO in your ERP system.</td>\n</tr>\n</tbody>\n</table>\n</div><p>OLT Identification</p>\n<blockquote>\n<p>The <code>olt_id</code> field refers to the internal ID of the OLT within OLT Cloud. These IDs can be obtained from the existing OLT listing endpoint under the <strong>FTTH &gt; OLTs</strong> module. </p>\n</blockquote>\n<blockquote>\n<p>Alternatively, you may use <code>olt_external_id</code> to reference the OLT by its external identifier from your ERP system. To use this field, the <strong>External ID</strong> field of the OLT registration in OLT Cloud must contain the corresponding internal OLT identifier from your ERP.</p>\n</blockquote>\n","urlObject":{"path":["api","v2","box","create"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ec89a038-9826-4336-af2f-32d064629845"},{"name":"UPDATE Box","id":"bd0d0334-0021-4c57-b8b9-0315fd332d78","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"name\": \"BOX Example\",\n    \"ports\": 16,\n    \"coordinates\": \"-11.0000, -21.0000\",\n    \"status\": 0,\n    \"olt_id\": 1,\n    \"olt_external_id\": 5,\n    \"slot\": 1,\n    \"pon\": 1,\n    \"initial_rx\": -20.65,\n    \"street\": \"AV BRASIL\",\n    \"number\": \"269\",\n    \"neighborhood\": \"Centro\",\n    \"city\": \"Curitiba\",\n    \"state\": \"Paraná\",\n    \"zip_code\": \"89249000\",\n    \"address_reference\": \"\",\n    \"description\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/box/{box_id}","description":"<h2 id=\"request-fields\">Request Fields</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>CTO name (<strong>Required</strong>).</td>\n</tr>\n<tr>\n<td><code>ports</code></td>\n<td>integer</td>\n<td>Total number of ports available in the CTO (<strong>Required</strong>).</td>\n</tr>\n<tr>\n<td><code>coordinates</code></td>\n<td>string</td>\n<td>Geographic coordinates in <code>latitude,longitude</code> format (<strong>Required</strong>).</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>integer</td>\n<td>CTO status (<strong>Required</strong>). Available values:  <br />• <code>0</code> = Active  <br />• <code>1</code> = Projected  <br />• <code>2</code> = PON Full  <br />• <code>3</code> = Maintenance  <br />• <code>4</code> = CTO Full  <br />• <code>5</code> = Technical Reserve  <br />• <code>6</code> = Inactive</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>integer</td>\n<td>CTO type.  <br />Available values:  <br />• <code>0</code> = CTO  <br />• <code>1</code> = PA  <br />• <code>2</code> = OLT  <br />• <code>3</code> = PON</td>\n</tr>\n<tr>\n<td><code>olt_id</code></td>\n<td>integer</td>\n<td>Internal ID of the OLT in OLT Cloud.</td>\n</tr>\n<tr>\n<td><code>olt_external_id</code></td>\n<td>string</td>\n<td>External ID of the OLT from your ERP system.</td>\n</tr>\n<tr>\n<td><code>slot</code></td>\n<td>integer</td>\n<td>OLT slot number.</td>\n</tr>\n<tr>\n<td><code>pon</code></td>\n<td>integer</td>\n<td>PON port number.</td>\n</tr>\n<tr>\n<td><code>initial_rx</code></td>\n<td>float</td>\n<td>Initial projected RX signal level.</td>\n</tr>\n<tr>\n<td><code>street</code></td>\n<td>string</td>\n<td>Street name.</td>\n</tr>\n<tr>\n<td><code>number</code></td>\n<td>string</td>\n<td>Street number.</td>\n</tr>\n<tr>\n<td><code>neighborhood</code></td>\n<td>string</td>\n<td>Neighborhood or district.</td>\n</tr>\n<tr>\n<td><code>city</code></td>\n<td>string</td>\n<td>City name.</td>\n</tr>\n<tr>\n<td><code>state</code></td>\n<td>string</td>\n<td>State or province.</td>\n</tr>\n<tr>\n<td><code>zip_code</code></td>\n<td>string</td>\n<td>ZIP or postal code.</td>\n</tr>\n<tr>\n<td><code>address_reference</code></td>\n<td>string</td>\n<td>Additional address reference information.</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string</td>\n<td>Free-text description of the CTO.</td>\n</tr>\n<tr>\n<td><code>external_id</code></td>\n<td>string</td>\n<td>External identifier of the CTO in your ERP system.</td>\n</tr>\n</tbody>\n</table>\n</div><p>OLT Identification</p>\n<blockquote>\n<p>The <code>olt_id</code> field refers to the internal ID of the OLT within OLT Cloud. These IDs can be obtained from the existing OLT listing endpoint under the <strong>FTTH &gt; OLTs</strong> module. </p>\n</blockquote>\n<blockquote>\n<p>Alternatively, you may use <code>olt_external_id</code> to reference the OLT by its external identifier from your ERP system. To use this field, the <strong>External ID</strong> field of the OLT registration in OLT Cloud must contain the corresponding internal OLT identifier from your ERP.</p>\n</blockquote>\n","urlObject":{"path":["api","v2","box","{box_id}"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"bd0d0334-0021-4c57-b8b9-0315fd332d78"},{"name":"GET Box availability","id":"39bfb6b4-5bf9-443c-99c7-d2a759cdb847","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/box/availability","description":"<p>This endpoint is designed to check the availability of ports based on the coordinates provided in the path parameters.</p>\n<blockquote>\n<p>By default, if no value is provided for the \"radius\" field, a distance of 1000 meters is set for searching for service boxes with available ports.</p>\n</blockquote>\n<p>The \"availability\" field returned refers to the number of available ports in the service box.</p>\n","urlObject":{"path":["api","v2","box","availability"],"host":["https://your-instance.olt.com"],"query":[{"disabled":true,"key":"lat","value":"-26.18375287156119"},{"disabled":true,"key":"lng","value":"-48.61538034832132"},{"disabled":true,"key":"radius","value":"1000"}],"variable":[]}},"response":[{"id":"b89203a8-a6ae-44e1-b453-758ce7f9bf99","name":"GET Box availability","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":{"raw":"https://your-instance.olt.com/api/v2/box/availability?lat=-26.18375287156119&lng=-48.61538034832132&radius=1000","protocol":"https","host":["your-instance","olt","com"],"path":["api","v2","box","availability"],"query":[{"key":"lat","value":"-26.18375287156119"},{"key":"lng","value":"-48.61538034832132"},{"key":"radius","value":"1000"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 07 Oct 2024 14:06:57 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"1100"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"total\": 10,\n    \"boxes\": [\n        {\n            \"id\": 295,\n            \"name\": \"92.02.05.008\",\n            \"distance\": 85.8,\n            \"lat\": -26.18304555,\n            \"lng\": -48.61572336,\n            \"availability\": 7\n        },\n        {\n            \"id\": 294,\n            \"name\": \"92.02.05.006\",\n            \"distance\": 96.67,\n            \"lat\": -26.183448,\n            \"lng\": -48.61447345,\n            \"availability\": 8\n        },\n        {\n            \"id\": 290,\n            \"name\": \"92.02.05.004\",\n            \"distance\": 148.74,\n            \"lat\": -26.18417911,\n            \"lng\": -48.61396793,\n            \"availability\": 7\n        },\n        {\n            \"id\": 297,\n            \"name\": \"92.02.05.009\",\n            \"distance\": 180.59,\n            \"lat\": -26.18329625,\n            \"lng\": -48.6171165,\n            \"availability\": 8\n        },\n        {\n            \"id\": 296,\n            \"name\": \"92.02.05.010\",\n            \"distance\": 198.07,\n            \"lat\": -26.18215356,\n            \"lng\": -48.61625284,\n            \"availability\": 7\n        },\n        {\n            \"id\": 292,\n            \"name\": \"92.02.05.005\",\n            \"distance\": 216.91,\n            \"lat\": -26.18215288,\n            \"lng\": -48.61413805,\n            \"availability\": 6\n        },\n        {\n            \"id\": 291,\n            \"name\": \"92.02.05.003\",\n            \"distance\": 218.62,\n            \"lat\": -26.18274391,\n            \"lng\": -48.61350076,\n            \"availability\": 8\n        },\n        {\n            \"id\": 293,\n            \"name\": \"92.02.05.007\",\n            \"distance\": 223.02,\n            \"lat\": -26.18186946,\n            \"lng\": -48.61461414,\n            \"availability\": 8\n        },\n        {\n            \"id\": 288,\n            \"name\": \"92.02.05.002\",\n            \"distance\": 326.41,\n            \"lat\": -26.18461854,\n            \"lng\": -48.61225573,\n            \"availability\": 8\n        },\n        {\n            \"id\": 287,\n            \"name\": \"92.02.05.001\",\n            \"distance\": 544.71,\n            \"lat\": -26.1846020749318,\n            \"lng\": -48.6100058163949,\n            \"availability\": 8\n        }\n    ]\n}"}],"_postman_id":"39bfb6b4-5bf9-443c-99c7-d2a759cdb847"},{"name":"UPDATE Box ocuppation","id":"f6033166-8269-40ad-ada9-fca44e2be739","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"port\": 1,\n    \"client_id\": 3\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/box/update/occupation/100","description":"<p>This endpoint is used to update the occupancy of a service box. To link a client to one of the box's ports, it is necessary to provide the port number in the \"port\" field and one of the other client identification fields:</p>\n<ul>\n<li>client_id - Internal client ID</li>\n<li><strong>external_client_id</strong> - External client ID (Client ID in your ERP)</li>\n<li><strong>external_contract_id</strong> - External contract ID (Contract ID in your ERP)</li>\n</ul>\n<p>To set a port as free, simply send a POST request to the endpoint, including only the port number to be released in the body of the request.</p>\n","urlObject":{"path":["api","v2","box","update","occupation","100"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"48e676b4-b8e4-4883-8a15-9e1230d67cac","name":"UPDATE Box ocuppation","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"port\": 1,\n    \"client_id\": 3\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/box/update/occupation/100"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 07 Oct 2024 14:58:23 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"83"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"message\": \"Client \\\"João Silva\\\" add in port:1 box: 12.00.00.001A\"\n}"}],"_postman_id":"f6033166-8269-40ad-ada9-fca44e2be739"},{"name":"UPDATE Box reserve port","id":"056a7896-32c7-4138-9bcc-e0d374f34346","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"port\": 3,\n    \"reserve_reason\": \"Porta reservada para venda\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/box/update/reserve/100","description":"<p>This endpoint is used to reserve a port. The only mandatory field is the \"port\" field. If you wish to link a client to the port reservation, it is necessary to provide one of the other client identification fields:</p>\n<ul>\n<li>client_id - Internal client ID</li>\n<li><strong>external_client_id</strong> - External client ID (Client ID in your ERP)</li>\n<li><strong>external_contract_id</strong> - External contract ID (Contract ID in your ERP)</li>\n</ul>\n","urlObject":{"path":["api","v2","box","update","reserve","100"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"462fd287-9e61-4ae7-b794-2dca670981c9","name":"UPDATE Box reserve port","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"port\": 2,\n    \"client_id\": 3,\n    \"reserve_reason\": \"Porta reservada para venda\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/box/update/reserve/100"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 07 Oct 2024 15:15:52 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"79"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"message\": \"port: 2 of box: 12.00.00.001A successfully reserved\"\n}"}],"_postman_id":"056a7896-32c7-4138-9bcc-e0d374f34346"},{"name":"GET Box PON statistics","id":"12e783f7-0295-4543-b8a9-0cf3f85f2818","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/box/pon_ocupation/100","description":"<p>This endpoint provides statistical data for the PON linked to the service box.</p>\n<ul>\n<li><strong>pon_occupancy_percentage</strong> - PON occupancy percentage based on the number of ONUs connected to it.</li>\n<li><strong>qtd_pon_devices</strong> - Number of devices connected to the PON.</li>\n<li><strong>box_ports_occupancy_percentage</strong> - Percentage of service box ports linked to the PON that are currently occupied.</li>\n<li><strong>qtd_box_ports_occupancy_pon</strong> - Number of occupied ports in service boxes linked to the PON.</li>\n<li><strong>qtd_pon_ports</strong> - Total capacity of the PON.</li>\n</ul>\n","urlObject":{"path":["api","v2","box","pon_ocupation","100"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"e83f4b2c-c1d4-4258-afc6-8497a1205a45","name":"GET Box PON statistics","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/box/pon_ocupation/100"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 07 Oct 2024 17:11:57 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"221"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"occupancy_statistics\": {\n        \"olt\": \"OLT_ITP01\",\n        \"slot\": 1,\n        \"pon\": 1,\n        \"pon_occupancy_percentage\": \"75%\",\n        \"qtd_pon_devices\": 96,\n        \"box_ports_occupancy_percentage\": \"76%\",\n        \"qtd_box_ports_occupancy_pon\": 97,\n        \"qtd_pon_ports\": 128\n    }\n}"}],"_postman_id":"12e783f7-0295-4543-b8a9-0cf3f85f2818"},{"name":"DELETE Box","id":"0d5f3cb3-3421-4e20-b0da-d6ba890bfc03","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/box/{box_id}","description":"<p>This endpoint only allows the removal of boxes that do not have any occupied ports. If at least one port is currently in use, the deletion request will be rejected to prevent inconsistencies, and an error message will be returned</p>\n","urlObject":{"path":["api","v2","box","{box_id}"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"dcab8153-b74f-4e0c-9816-a4ecc2a0be19","name":"DELETE Box","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/box/{box_id}"},"status":"No Content","code":204,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":""}],"_postman_id":"0d5f3cb3-3421-4e20-b0da-d6ba890bfc03"}],"id":"737a3871-ba49-41b2-8760-ef2b8e58f706","description":"<p>This topic is related to the service boxes.</p>\n","_postman_id":"737a3871-ba49-41b2-8760-ef2b8e58f706"},{"name":"FTTH","item":[{"name":"Alerts","item":[{"name":"LIST Alerts","id":"9d25fb89-bf8e-4cd0-930e-fbdce1c06618","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/alert/list","description":"<p>This endpoint retrieves a list of alerts generated within the OLT Cloud platform. It supports multiple filtering options to refine search results based on alert details, associated equipment, time periods, and configuration data.</p>\n","urlObject":{"path":["api","v2","ftth","alert","list"],"host":["https://your-instance.olt.com"],"query":[{"disabled":true,"key":"alert_type","value":""},{"disabled":true,"key":"olt_id","value":""},{"disabled":true,"key":"olt_name","value":""},{"disabled":true,"key":"initial_date","value":""},{"disabled":true,"key":"confirm_date","value":""},{"disabled":true,"key":"end_date","value":""},{"disabled":true,"key":"ignored","value":""},{"disabled":true,"key":"config_id","value":""},{"disabled":true,"key":"config_name","value":""},{"disabled":true,"key":"description","value":""},{"disabled":true,"key":"event_id","value":""},{"disabled":true,"key":"event_name","value":""},{"disabled":true,"key":"pon_id","value":""},{"disabled":true,"key":"pon","value":""},{"disabled":true,"key":"pon_description","value":""},{"disabled":true,"key":"slot_pon","value":""},{"disabled":true,"key":"cto_id","value":""},{"disabled":true,"key":"cto_name","value":""}],"variable":[]}},"response":[{"id":"912369d7-601a-4961-abed-88f0eb450d8a","name":"LIST Alerts","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://your-instance.olt.com/api/v2/ftth/alert/list","host":["https://your-instance.olt.com"],"path":["api","v2","ftth","alert","list"],"query":[{"key":"alert_type","value":"","type":"text","disabled":true},{"key":"olt_id","value":"","type":"text","disabled":true},{"key":"olt_name","value":"","type":"text","disabled":true},{"key":"initial_date","value":"","type":"text","disabled":true},{"key":"confirm_date","value":"","type":"text","disabled":true},{"key":"end_date","value":"","type":"text","disabled":true},{"key":"ignored","value":"","type":"text","disabled":true},{"key":"config_id","value":"","type":"text","disabled":true},{"key":"config_name","value":"","type":"text","disabled":true},{"key":"description","value":"","type":"text","disabled":true},{"key":"event_id","value":"","type":"text","disabled":true},{"key":"event_name","value":"","type":"text","disabled":true},{"key":"pon_id","value":"","type":"text","disabled":true},{"key":"pon","value":"","type":"text","disabled":true},{"key":"pon_description","value":"","type":"text","disabled":true},{"key":"slot_pon","value":"","type":"text","disabled":true},{"key":"cto_id","value":"","type":"text","disabled":true},{"key":"cto_name","value":"","type":"text","disabled":true}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"return\": true,\n    \"count\": 3,\n    \"next\": null,\n    \"previous\": null,\n    \"results\": [\n        {\n            \"id\": 1,\n            \"alert_type\": \"cto_loss\",\n            \"olt_id\": 3,\n            \"olt_name\": \"OLT_ZTE_FWN_02\",\n            \"initial_date\": \"2025-08-14 13:13:22\",\n            \"confirm_date\": \"2025-08-14 13:56:49\",\n            \"end_date\": null,\n            \"ignored\": true,\n            \"config_id\": 1000,\n            \"config_name\": \"ALERTA POR CTO TESTE\",\n            \"description\": \"ONUs em LOSS na CTO NAP-10-03B OLT OLT_ZTE_FWN_02\",\n            \"event_id\": 1,\n            \"event_name\": \"OLT_ZTE_FWN_02 14/08/2025 13:13\",\n            \"total_devices_count\": 3,\n            \"active_devices_count\": 3,\n            \"cto_id\": 6773,\n            \"cto_name\": \"NAP-10-03B\"\n        },\n        {\n            \"id\": 5,\n            \"alert_type\": \"cto_loss\",\n            \"olt_id\": 3,\n            \"olt_name\": \"OLT_ZTE_FWN_02\",\n            \"initial_date\": \"2025-08-14 13:24:07\",\n            \"confirm_date\": \"2025-08-14 13:52:02\",\n            \"end_date\": null,\n            \"ignored\": false,\n            \"config_id\": 1000,\n            \"config_name\": \"ALERTA POR CTO TESTE\",\n            \"description\": \"ONUs em LOSS na CTO NAP-28-06 OLT OLT_ZTE_FWN_02\",\n            \"event_id\": 1,\n            \"event_name\": \"OLT_ZTE_FWN_02 14/08/2025 13:13\",\n            \"total_devices_count\": 14,\n            \"active_devices_count\": 14,\n            \"cto_id\": 5606,\n            \"cto_name\": \"NAP-28-06\"\n        },\n        {\n            \"id\": 6,\n            \"alert_type\": \"cto_loss\",\n            \"olt_id\": 3,\n            \"olt_name\": \"OLT_ZTE_FWN_02\",\n            \"initial_date\": \"2025-08-14 13:24:07\",\n            \"confirm_date\": \"2025-08-14 13:56:50\",\n            \"end_date\": null,\n            \"ignored\": true,\n            \"config_id\": 1000,\n            \"config_name\": \"ALERTA POR CTO TESTE\",\n            \"description\": \"ONUs em LOSS na CTO NAP-28-07 OLT OLT_ZTE_FWN_02\",\n            \"event_id\": 1,\n            \"event_name\": \"OLT_ZTE_FWN_02 14/08/2025 13:13\",\n            \"total_devices_count\": 6,\n            \"active_devices_count\": 6,\n            \"cto_id\": 6856,\n            \"cto_name\": \"NAP-28-07\"\n        }\n    ]\n}"}],"_postman_id":"9d25fb89-bf8e-4cd0-930e-fbdce1c06618"},{"name":"GET Alert","id":"ea271646-9dca-4063-adb0-b643d784565f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/alert/<pk>","description":"<p>Retrieves detailed information for a specific FTTH alert by its unique identifier (<code>pk</code>).</p>\n<p><strong>Path Parameter</strong></p>\n<ul>\n<li><strong>pk</strong> <em>(integer, required)</em> — The unique ID of the <strong>OltAlert</strong> record. This value can be obtained using the <strong>LIST Alerts</strong> endpoint, which returns a collection of available alerts along with their respective IDs.</li>\n</ul>\n","urlObject":{"path":["api","v2","ftth","alert","<pk>"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"096cc2b9-e424-4fdf-bf46-1bff327ad9d9","name":"GET Alert","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/alert/1"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"return\": true,\n    \"alert\": {\n        \"id\": 1,\n        \"alert_type\": \"cto_loss\",\n        \"olt_id\": 3,\n        \"olt_name\": \"OLT_ZTE_FWN_02\",\n        \"initial_date\": \"2025-08-14 13:13:22\",\n        \"confirm_date\": \"2025-08-14 13:56:49\",\n        \"end_date\": null,\n        \"ignored\": true,\n        \"config_id\": 1000,\n        \"config_name\": \"ALERTA POR CTO TESTE\",\n        \"description\": \"ONUs em LOSS na CTO NAP-10-03B OLT OLT_ZTE_FWN_02\",\n        \"event_id\": 1,\n        \"event_name\": \"OLT_ZTE_FWN_02 14/08/2025 13:13\",\n        \"total_devices_count\": 3,\n        \"active_devices_count\": 2,\n        \"cto_id\": 6773,\n        \"cto_name\": \"NAP-10-03B\",\n        \"affected_devices\": [\n            {\n                \"id\": 2,\n                \"device_index\": \"3:DGST21411D52\",\n                \"onu_device\": {\n                    \"id\": 2727,\n                    \"sn_onu\": \"DGST21411D52\",\n                    \"alias\": \"15464 cc4382@tcheturbo.com.br NAP-10-03B\",\n                    \"model\": \"DIGISTAR_1P\",\n                    \"status\": \"LOSS\",\n                    \"last_status_change\": \"14/08/2025 13:13:04\",\n                    \"client_id\": 454,\n                    \"client_name\": \"SIRLEI ROSSONI\",\n                    \"client_login\": \"cc4382@tcheturbo.com.br\",\n                    \"cto_id\": 6773,\n                    \"cto_name\": \"NAP-10-03B\",\n                    \"cto_port\": 9,\n                    \"vip\": false\n                },\n                \"last_rx_onu\": -99.99,\n                \"last_rx_olt\": -99.99,\n                \"last_rx_updated\": \"13/08/2025 17:38:11\",\n                \"after_rx_onu\": null,\n                \"after_rx_olt\": null,\n                \"after_rx_updated\": null,\n                \"registered\": \"14/08/2025 13:13:22\",\n                \"deregistered\": null\n            },\n            {\n                \"id\": 3,\n                \"device_index\": \"3:DGST21418252\",\n                \"onu_device\": {\n                    \"id\": 2739,\n                    \"sn_onu\": \"DGST21418252\",\n                    \"alias\": \"36171 tt36171@tcheturbo.com.br NAP-10-03B\",\n                    \"model\": \"DIGISTAR_1P\",\n                    \"status\": \"LOSS\",\n                    \"last_status_change\": \"14/08/2025 13:13:04\",\n                    \"client_id\": 6918,\n                    \"client_name\": \"KOHL COMERCIO DE GAS LTDA\",\n                    \"client_login\": \"tt36171@tcheturbo.com.br\",\n                    \"cto_id\": 6773,\n                    \"cto_name\": \"NAP-10-03B\",\n                    \"cto_port\": 11,\n                    \"vip\": false\n                },\n                \"last_rx_onu\": -99.99,\n                \"last_rx_olt\": -99.99,\n                \"last_rx_updated\": \"13/08/2025 17:38:13\",\n                \"after_rx_onu\": null,\n                \"after_rx_olt\": null,\n                \"after_rx_updated\": null,\n                \"registered\": \"14/08/2025 13:13:22\",\n                \"deregistered\": null\n            },\n            {\n                \"id\": 1,\n                \"device_index\": \"3:HWTC3B6077C5\",\n                \"onu_device\": {\n                    \"id\": 2740,\n                    \"sn_onu\": \"HWTC3B6077C5\",\n                    \"alias\": \"70114 tt70114@tcheturbo.com.br NAP-10-03B\",\n                    \"model\": \"EKTECH_1P\",\n                    \"status\": \"Online\",\n                    \"last_status_change\": \"14/08/2025 16:33:25\",\n                    \"client_id\": 3154,\n                    \"client_name\": \"GEIZIQUELI DA SILVA DESGUB\",\n                    \"client_login\": \"tt70114@tcheturbo.com.br\",\n                    \"cto_id\": 6773,\n                    \"cto_name\": \"NAP-10-03B\",\n                    \"cto_port\": 4,\n                    \"vip\": false\n                },\n                \"last_rx_onu\": -99.99,\n                \"last_rx_olt\": -99.99,\n                \"last_rx_updated\": \"13/08/2025 17:38:10\",\n                \"after_rx_onu\": -21.55,\n                \"after_rx_olt\": -24.685,\n                \"after_rx_updated\": \"14/08/2025 16:48:39\",\n                \"registered\": \"14/08/2025 13:13:22\",\n                \"deregistered\": \"14/08/2025 16:33:29\"\n            }\n        ],\n        \"comments\": []\n    }\n}"}],"_postman_id":"ea271646-9dca-4063-adb0-b643d784565f"},{"name":"Confirm Alert","id":"1b497ac9-7d58-43ca-82df-6a173b6e727b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":""},"url":"https://your-instance.olt.com/api/v2/ftth/alert/<pk>/confirm","description":"<p>This endpoint allows a user to confirm an existing alarm by providing its unique identifier, represented by the field <code>pk</code>.  </p>\n<p>Confirming an alarm updates its status to indicate that the event has been acknowledged and is being reviewed or handled by the responsible user.</p>\n","urlObject":{"path":["api","v2","ftth","alert","<pk>","confirm"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"ee9d72dc-1ceb-4fcd-93c5-e6bf8d47e5be","name":"Confirm Alert","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.comapi/v2/ftth/alert/1/confirm"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"return\": true,\n    \"alert\": {\n        \"id\": 1,\n        \"alert_type\": \"no_power\",\n        \"olt_id\": 8,\n        \"olt_name\": \"OLT ZTE Castelo\",\n        \"initial_date\": \"2025-09-01 14:31:51\",\n        \"confirm_date\": \"2025-10-24 11:06:28\",\n        \"end_date\": null,\n        \"ignored\": false,\n        \"config_id\": 1000,\n        \"config_name\": \"3XFibra-Bruno-zabbix\",\n        \"description\": \"Queda de Energia na OLT OLT ZTE Castelo\",\n        \"total_devices_count\": 606,\n        \"active_devices_count\": 0\n    }\n}"}],"_postman_id":"1b497ac9-7d58-43ca-82df-6a173b6e727b"},{"name":"Ignore Alarm","id":"afa8e4c8-a1d9-4abc-862d-7cd7a1042518","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/alert/<pk>/ignore","description":"<p>This endpoint allows a user to ignore an existing alarm by providing its unique identifier, represented by the field <code>pk</code>.  </p>\n<p>Ignoring an alarm updates its status to indicate that the event has been intentionally disregarded, meaning no action will be taken upon it at this moment by the responsible user.</p>\n","urlObject":{"path":["api","v2","ftth","alert","<pk>","ignore"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"bd660f51-0e84-4d13-a3d7-891bb8d2a5e6","name":"Ignore Alarm","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.comapi/v2/ftth/alert/1/ignore"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"return\": true,\n    \"alert\": {\n        \"id\": 1,\n        \"alert_type\": \"no_power\",\n        \"olt_id\": 8,\n        \"olt_name\": \"OLT ZTE Castelo\",\n        \"initial_date\": \"2025-09-01 14:31:51\",\n        \"confirm_date\": \"2025-10-24 11:09:50\",\n        \"end_date\": null,\n        \"ignored\": true,\n        \"config_id\": 1000,\n        \"config_name\": \"3XFibra-Bruno-zabbix\",\n        \"description\": \"Queda de Energia na OLT OLT ZTE Castelo\",\n        \"total_devices_count\": 606,\n        \"active_devices_count\": 0\n    }\n}"}],"_postman_id":"afa8e4c8-a1d9-4abc-862d-7cd7a1042518"},{"name":"Reactivate Alert","id":"4a56298c-5f8f-46b7-becf-7683142011fb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/alert/<pk>/reactivate","description":"<p>This endpoint allows a user to reactivate a previously confirmed or ignored alarm by providing its unique identifier, represented by the field <code>pk</code>.  </p>\n<p>Reactivating an alarm updates its status to indicate that the event is once again active and requires evaluation or handling by the responsible user.</p>\n","urlObject":{"path":["api","v2","ftth","alert","<pk>","reactivate"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"ab5552bd-7318-461d-bd8c-25357029c32f","name":"Reactivate Alert","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.comapi/v2/ftth/alert/1/reactivate"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"return\": true,\n    \"alert\": {\n        \"id\": 1,\n        \"alert_type\": \"no_power\",\n        \"olt_id\": 8,\n        \"olt_name\": \"OLT ZTE Castelo\",\n        \"initial_date\": \"2025-09-01 14:31:51\",\n        \"confirm_date\": null,\n        \"end_date\": null,\n        \"ignored\": false,\n        \"config_id\": 1000,\n        \"config_name\": \"3XFibra-Bruno-zabbix\",\n        \"description\": \"Queda de Energia na OLT OLT ZTE Castelo\",\n        \"total_devices_count\": 606,\n        \"active_devices_count\": 0\n    }\n}"}],"_postman_id":"4a56298c-5f8f-46b7-becf-7683142011fb"},{"name":"Update alert internal ID","id":"a3a1b99d-44cd-412e-9979-033d57ae7f9c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"internal_id\": \"CSA-20260101.001A\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/alert/<pk>/internal-id","description":"<p>This endpoint allows updating the value of the <strong>internal ID</strong> field of an alert. The field must be sent as a string and must not exceed 100 characters.</p>\n","urlObject":{"path":["api","v2","ftth","alert","<pk>","internal-id"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"3a449652-5fe5-4134-9b9a-c63167fb643f","name":"Update alert internal ID","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"internal_id\": \"CSA-20260101.001A\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/alert/<pk>/internal-id"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"return\": true,\n    \"alert\": {\n        \"id\": 1,\n        \"alert_type\": \"pon_loss\",\n        \"olt_id\": 1,\n        \"olt_name\": \"OLT-PR-01\",\n        \"initial_date\": \"2026-01-15 15:52:11\",\n        \"confirm_date\": null,\n        \"end_date\": \"2026-01-15 17:54:45\",\n        \"ignored\": false,\n        \"config_id\": 999,\n        \"config_name\": \"PADRÃO\",\n        \"description\": \"ONUs em LOSS na PON 13 / 14 OLT OLT-PR-01\",\n        \"total_devices_count\": 26,\n        \"active_devices_count\": 0,\n        \"pon_id\": 47,\n        \"pon\": 14,\n        \"pon_description\": \"\",\n        \"slot_pon\": \"13/14\",\n        \"internal_id\": \"CSA-20260101.001A\"\n    }\n}"}],"_postman_id":"a3a1b99d-44cd-412e-9979-033d57ae7f9c"},{"name":"Batch update alert internal ID","id":"3db899e4-8480-4e8b-b370-c2f2dd33b488","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"ids\": [100, 101, 102, 103],\n    \"internal_id\": \"CODE-001-2026-01-01\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/api/v2/ftth/alert/batch/internal-id","description":"<p>This endpoint allows updating the value of the internal ID field for the provided list of alert IDs. The internal ID field must be sent as a string and must not exceed 100 characters.</p>\n<p>In case of success, the <code>status</code> field will be returned with the value <code>true</code>, and the <code>updated</code> field will contain the number of alerts updated.</p>\n","urlObject":{"path":["api","v2","api","v2","ftth","alert","batch","internal-id"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"e2abc055-be57-4d4c-ba78-23851117392b","name":"Batch update alert internal ID","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"ids\": [100, 101, 102, 103],\n    \"internal_id\": \"CODE-001-2026-01-01\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/api/v2/ftth/alert/batch/internal-id"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\"return\": true, \"updated\": 4}"}],"_postman_id":"3db899e4-8480-4e8b-b370-c2f2dd33b488"},{"name":"Batch Confirm alert","id":"4cf95f15-b33f-425e-b64d-7b1f808d155d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"ids\": [10, 11, 15]\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/alert/batch/confirm","description":"<p>This endpoint allows confirming the provided list of alert IDs.</p>\n<p>If the request is successful, the status field will be returned with the value true, and the updated field will contain the number of updated alerts.</p>\n","urlObject":{"path":["api","v2","ftth","alert","batch","confirm"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"79a3ae29-f25c-471f-b0c8-8ad1cbeba3c8","name":"Batch Confirm Alert","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"ids\": [10, 11, 15]\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/alert/batch/confirm"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"return\": true,\n    \"updated\": 2,\n    \"errors\": [\n        {\"id\": 15, \"error\": \"Alert already confirmed\"}\n    ]\n}"}],"_postman_id":"4cf95f15-b33f-425e-b64d-7b1f808d155d"},{"name":"Batch Ignore alert","id":"7855013f-add5-492d-83a7-30fbeb955245","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"ids\": [10, 11, 15]\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/alert/batch/ignore","description":"<p>This endpoint allows ignoring the provided list of alert IDs.</p>\n<p>If the request is successful, the status field will be returned with the value true, and the updated field will contain the number of updated alerts.</p>\n","urlObject":{"path":["api","v2","ftth","alert","batch","ignore"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"2941e418-dba4-4d86-a00c-baf525caa10b","name":"Batch ignore alert","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"ids\": [10, 11, 15]\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/alert/batch/ignore"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"return\": true,\n    \"updated\": 2,\n    \"errors\": [\n        {\"id\": 15, \"error\": \"Alert already ignored\"}\n    ]\n}"}],"_postman_id":"7855013f-add5-492d-83a7-30fbeb955245"},{"name":"Batch reactivate alert","id":"c59ff323-f616-40d5-bc4e-88355d6346aa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"ids\": [10, 11, 15]\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/alert/batch/reactivate","description":"<p>This endpoint allows reactivating the provided list of alert IDs.</p>\n<p>If the request is successful, the status field will be returned with the value true, and the updated field will contain the number of updated alerts.</p>\n","urlObject":{"path":["api","v2","ftth","alert","batch","reactivate"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"ce8cc015-2e71-4c99-b17a-98f78bb98b7f","name":"Batch reactivate alert","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"ids\": [10, 11, 15]\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/alert/batch/reactivate"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"return\": true,\n    \"updated\": 2,\n    \"errors\": [\n        {\"id\": 15, \"error\": \"Alert already reactivated\"}\n    ]\n}"}],"_postman_id":"c59ff323-f616-40d5-bc4e-88355d6346aa"}],"id":"0943ad8c-d8d3-4691-8d18-64dd0edf4a33","_postman_id":"0943ad8c-d8d3-4691-8d18-64dd0edf4a33","description":""},{"name":"ONU Vip","item":[{"name":"Webhook","item":[{"name":"ONU VIP Status Change","id":"658f26a0-c5a4-42ef-91aa-57f29d88a58f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"alert_type\": \"onu_vip\",\n\t\"id\": 1042,\n\t\"sn_onu\": \"HWTC1A2B3C4D\",\n\t\"onu_id\": 3,\n\t\"index_onu\": \"7:HWTC1A2B3C4D\",\n\t\"alias\": \"João Silva\",\n\t\"status\": \"LOSS\",\n\t\"last_status\": \"Online\",\n\t\"last_status_change\": \"2026-05-25T14:32:00\",\n\t\"olt_id\": 7,\n\t\"olt_name\": \"OLT-BAIRRO-NORTE\",\n\t\"slot\": 0,\n\t\"pon_id\": 45,\n\t\"pon_name\": \"PON-RUA-DAS-FLORES\",\n\t\"pon_number\": 4,\n\t\"client_name\": \"João Silva\",\n\t\"client_login\": \"joao.silva\",\n\t\"onu_vip_id\": 12,\n\t\"onu_vip_name\": \"VIP-JOAO\",\n\t\"onu_vip_configured_message\": \"Cliente prioritário - ONU Online!\",\n\t\"notification_group_id\": 3,\n\t\"notification_group_name\": \"NOC-PRINCIPAL\"\n}","options":{"raw":{"language":"json"}}},"url":"{{webhookUrl}}","urlObject":{"host":["{{webhookUrl}}"],"query":[],"variable":[]}},"response":[{"id":"6d00c6af-ed60-4cfb-9284-24e8f5dfb5ed","name":"LOSS - 200 OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"alert_type\": \"onu_vip\",\n\t\"id\": 1042,\n\t\"sn_onu\": \"HWTC1A2B3C4D\",\n\t\"onu_id\": 3,\n\t\"index_onu\": \"7:HWTC1A2B3C4D\",\n\t\"alias\": \"João Silva\",\n\t\"status\": \"LOSS\",\n\t\"last_status\": \"Online\",\n\t\"last_status_change\": \"2026-05-25T14:32:00\",\n\t\"olt_id\": 7,\n\t\"olt_name\": \"OLT-BAIRRO-NORTE\",\n\t\"slot\": 0,\n\t\"pon_id\": 45,\n\t\"pon_name\": \"PON-RUA-DAS-FLORES\",\n\t\"pon_number\": 4,\n\t\"client_name\": \"João Silva\",\n\t\"client_login\": \"joao.silva\",\n\t\"onu_vip_id\": 12,\n\t\"onu_vip_name\": \"VIP-JOAO\",\n\t\"onu_vip_configured_message\": \"Cliente prioritário - ONU Online!\",\n\t\"notification_group_id\": 3,\n\t\"notification_group_name\": \"NOC-PRINCIPAL\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-server.example.com/webhook/onu-vip"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\"received\": true}"},{"id":"0903300a-c602-4c22-8e6c-dd4439cd3fdb","name":"Online - 200 OK -","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"alert_type\": \"onu_vip\",\n\t\"id\": 1042,\n\t\"sn_onu\": \"HWTC1A2B3C4D\",\n\t\"onu_id\": 3,\n\t\"index_onu\": \"7:HWTC1A2B3C4D\",\n\t\"alias\": \"João Silva\",\n\t\"status\": \"Online\",\n\t\"last_status\": \"LOSS\",\n\t\"last_status_change\": \"2026-05-25T14:32:00\",\n\t\"olt_id\": 7,\n\t\"olt_name\": \"OLT-BAIRRO-NORTE\",\n\t\"slot\": 0,\n\t\"pon_id\": 45,\n\t\"pon_name\": \"PON-RUA-DAS-FLORES\",\n\t\"pon_number\": 4,\n\t\"client_name\": \"João Silva\",\n\t\"client_login\": \"joao.silva\",\n\t\"onu_vip_id\": 12,\n\t\"onu_vip_name\": \"VIP-JOAO\",\n\t\"onu_vip_configured_message\": \"Cliente prioritário - ONU Online!\",\n\t\"notification_group_id\": 3,\n\t\"notification_group_name\": \"NOC-PRINCIPAL\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-server.example.com/webhook/onu-vip"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\"received\": true}"},{"id":"ccb04aee-c823-4939-a52e-2f7dbf914a8a","name":"No Power - 200 OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"alert_type\": \"onu_vip\",\n\t\"id\": 1042,\n\t\"sn_onu\": \"HWTC1A2B3C4D\",\n\t\"onu_id\": 3,\n\t\"index_onu\": \"7:HWTC1A2B3C4D\",\n\t\"alias\": \"João Silva\",\n\t\"status\": \"Sem Energia\",\n\t\"last_status\": \"Online\",\n\t\"last_status_change\": \"2026-05-25T14:32:00\",\n\t\"olt_id\": 7,\n\t\"olt_name\": \"OLT-BAIRRO-NORTE\",\n\t\"slot\": 0,\n\t\"pon_id\": 45,\n\t\"pon_name\": \"PON-RUA-DAS-FLORES\",\n\t\"pon_number\": 4,\n\t\"client_name\": \"João Silva\",\n\t\"client_login\": \"joao.silva\",\n\t\"onu_vip_id\": 12,\n\t\"onu_vip_name\": \"VIP-JOAO\",\n\t\"onu_vip_configured_message\": \"Cliente prioritário - ONU sem energia\",\n\t\"notification_group_id\": 3,\n\t\"notification_group_name\": \"NOC-PRINCIPAL\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-server.example.com/webhook/onu-vip"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\"received\": true}"}],"_postman_id":"658f26a0-c5a4-42ef-91aa-57f29d88a58f"}],"id":"aa7d87df-b425-4674-a76f-e4172758efac","description":"<p>When a webhook is configured, the system sends a POST request to the URL configured in the notification group whenever the monitored VIP ONU transitions to a new status.</p>\n<h2 id=\"trigger\">Trigger</h2>\n<p>The webhook is fired when the <code>notification_type</code> of the notification group is set to <code>onu_vip</code> and the ONU VIP status changes.</p>\n<h2 id=\"possible-statuses\">Possible statuses</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><code>status</code> value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>Online</code></td>\n<td>ONU came back online</td>\n</tr>\n<tr>\n<td><code>LOSS</code></td>\n<td>ONU signal loss detected</td>\n</tr>\n<tr>\n<td><code>Sem Energia</code></td>\n<td>ONU powered off / no power</td>\n</tr>\n<tr>\n<td><em>(other)</em></td>\n<td>ONU became inactive</td>\n</tr>\n</tbody>\n</table>\n</div><p>The field <code>onu_vip_configured_message</code> contains the custom message configured for the specific status in the ONU VIP settings.</p>\n","_postman_id":"aa7d87df-b425-4674-a76f-e4172758efac"},{"name":"Create ONU VIP","id":"9b8927a3-b57d-4df8-ad86-1d0ab98bf3ef","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{id}/vip","description":"<p>Creates a VIP register for the given ONU ID</p>\n<h4 id=\"request-path-parameter\"><strong>Request Path Parameter</strong></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>integer</td>\n<td>Yes</td>\n<td>ONU Equipment id</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body-json\">Request Body (JSON)</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>identifier</td>\n<td>string</td>\n<td>Yes</td>\n<td>Unique identifier/name</td>\n</tr>\n<tr>\n<td>loss_message</td>\n<td>string</td>\n<td>Yes</td>\n<td>Message when ONU signal is LOSS</td>\n</tr>\n<tr>\n<td>no_power_message</td>\n<td>string</td>\n<td>Yes</td>\n<td>Message when ONU has no power</td>\n</tr>\n<tr>\n<td>inactive_message</td>\n<td>string</td>\n<td>Yes</td>\n<td>Message when ONU is inactive</td>\n</tr>\n<tr>\n<td>up_message</td>\n<td>string</td>\n<td>Yes</td>\n<td>Message when ONU is online/up</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","ftth","equipment","{id}","vip"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"1dc569d5-1912-4d2e-aec5-f4ae4bff96c4","name":"Create ONU VIP","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"identifier\": \"VIP_JOHN_HOME\",\r\n  \"loss_message\": \"Signal lost\",\r\n  \"no_power_message\": \"Power failure\",\r\n  \"inactive_message\": \"Device inactive\",\r\n  \"up_message\": \"Device is online\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{id}/vip"},"status":"No Content","code":204,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":""}],"_postman_id":"9b8927a3-b57d-4df8-ad86-1d0ab98bf3ef"},{"name":"Update ONU VIP","id":"c7a6b1f4-b102-478b-9102-8e5e710bb324","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{id}/vip","description":"<p>Updates existing VIP attributes and reapplies VIP and ACL rules.</p>\n<p><strong>Request Path Parameter</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>integer</td>\n<td>Yes</td>\n<td>ONU Equipment id</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body-json\">Request Body (JSON)</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>identifier</td>\n<td>string</td>\n<td>Yes</td>\n<td>Unique identifier/name</td>\n</tr>\n<tr>\n<td>loss_message</td>\n<td>string</td>\n<td>Yes</td>\n<td>Message when ONU signal is LOSS</td>\n</tr>\n<tr>\n<td>no_power_message</td>\n<td>string</td>\n<td>Yes</td>\n<td>Message when ONU has no power</td>\n</tr>\n<tr>\n<td>inactive_message</td>\n<td>string</td>\n<td>Yes</td>\n<td>Message when ONU is inactive</td>\n</tr>\n<tr>\n<td>up_message</td>\n<td>string</td>\n<td>Yes</td>\n<td>Message when ONU is online/up</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","ftth","equipment","{id}","vip"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"38cdef21-b000-4913-81f4-9982e523388e","name":"Update ONU VIP","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"identifier\": \"VIP_JOHN_HOME\",\r\n  \"loss_message\": \"Signal lost\",\r\n  \"no_power_message\": \"Power failure\",\r\n  \"inactive_message\": \"Device inactive\",\r\n  \"up_message\": \"Device is online\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{id}/vip"},"status":"No Content","code":204,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":""}],"_postman_id":"c7a6b1f4-b102-478b-9102-8e5e710bb324"},{"name":"Delete ONU VIP","id":"7537ad36-63db-4697-8119-81cafd338e4b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{id}/vip","description":"<p>Remove VIP registration from the equipment</p>\n","urlObject":{"path":["api","v2","ftth","equipment","{id}","vip"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"ba7799f2-91ba-4654-b402-eb81e721a57b","name":"Delete ONU VIP","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{id}/vip"},"status":"No Content","code":204,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":""}],"_postman_id":"7537ad36-63db-4697-8119-81cafd338e4b"}],"id":"e81741dc-bbc6-4764-94a5-e6ae022f94d7","description":"<p>Manage VIP status and VIP messages associated with an ONU equipment.</p>\n","_postman_id":"e81741dc-bbc6-4764-94a5-e6ae022f94d7"},{"name":"ONU Provisioning","item":[{"name":"List Unauthorized ONUs","id":"8e1e9323-0c6d-4606-a57c-717b11ac183b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/list/unauth","description":"<p>Returns the ONUs waiting for authorization on each OLT the authenticated user can access. Pass <code>olt_id</code> to scan a single OLT.</p>\n<p>Each OLT block reports:</p>\n<ul>\n<li><code>olt_id</code> / <code>olt_name</code> - the OLT.</li>\n<li><code>quarantined</code> - <code>true</code> when the OLT is under quarantine (its <code>unauth_list</code> is skipped).</li>\n<li><code>error</code> - <code>true</code> when the OLT scan failed (its lists come back empty).</li>\n<li><code>unauthorized</code> - number of ONUs waiting on that OLT.</li>\n<li><code>required_fields</code> - the vendor-specific fields that Authorize ONU will require for this OLT, with their allowed <code>options</code>. Datacom -&gt; <code>line_profile</code>, VSOL -&gt; <code>onu_profile</code>, Huawei -&gt; <code>xgspon</code> (<code>True</code>/<code>False</code>), ZTE -&gt; <code>type_onu</code>.</li>\n<li><code>possible_acl</code> - present only when the OLT has more than one linked company; each entry has the company <code>abbreviation</code> and the <code>hash</code> to send in the <code>acl</code> field of Authorize ONU.</li>\n<li><code>unauth_list</code> - the ONUs, each with:<ul>\n<li><code>serial_number</code> - ONU serial number.</li>\n<li><code>type</code> - ONU model reported by the OLT.</li>\n<li><code>slot</code> / <code>pon</code> - position on the OLT.</li>\n<li><code>onu_hash</code> - opaque token (base64 of slot/pon/sn/type) that must be forwarded verbatim to Authorize ONU. Do not build it by hand.</li>\n<li><code>client</code> - the client already registered with this serial number (<code>client_id</code>, <code>client_name</code>, <code>client_login</code>), or <code>null</code> when none matches.</li>\n</ul>\n</li>\n</ul>\n<p>Errors: a non-numeric <code>olt_id</code> returns 400; an <code>olt_id</code> the user cannot access returns 403; an OLT under quarantine returns 423 when queried directly by id.</p>\n","urlObject":{"path":["api","v2","ftth","equipment","list","unauth"],"host":["https://your-instance.olt.com"],"query":[{"disabled":true,"key":"olt_id","value":"Restrict the scan to a single OLT id. Omit to scan every OLT the user can access"}],"variable":[]}},"response":[{"id":"9bdb6bd9-5efe-4d33-a3ed-b1431f4aa57f","name":"List Unauthorized ONUs","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":{"raw":"https://your-instance.olt.com/api/v2/ftth/equipment/list/unauth?olt_id=12","host":["https://your-instance.olt.com"],"path":["api","v2","ftth","equipment","list","unauth"],"query":[{"key":"olt_id","value":"12"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"total_unauthorized\": 2,\n    \"results\": [\n        {\n            \"olt_id\": 12,\n            \"olt_name\": \"OLT-CENTRO-01\",\n            \"error\": false,\n            \"quarantined\": false,\n            \"unauthorized\": 2,\n            \"unauth_list\": [\n                {\n                    \"serial_number\": \"HWTC85C65FB3\",\n                    \"type\": \"HG8145V5\",\n                    \"slot\": 1,\n                    \"pon\": 1,\n                    \"onu_hash\": \"eyJzbG90IjogMSwgInBvbiI6IDEsICJzbiI6ICJIV1RDODVDNjVGQjMiLCAidHlwZSI6ICJIRzgxNDVWNSJ9\",\n                    \"client\": {\n                        \"client_id\": 4521,\n                        \"client_name\": \"Maria Souza\",\n                        \"client_login\": \"maria.souza@pppoe\"\n                    }\n                },\n                {\n                    \"serial_number\": \"XPON21178682\",\n                    \"type\": \"unknown\",\n                    \"slot\": 1,\n                    \"pon\": 2,\n                    \"onu_hash\": \"eyJzbG90IjogMSwgInBvbiI6IDIsICJzbiI6ICJYUE9OMjExNzg2ODIiLCAidHlwZSI6ICJ1bmtub3duIn0\",\n                    \"client\": null\n                }\n            ],\n            \"required_fields\": [\n                {\n                    \"field\": \"xgspon\",\n                    \"options\": [\n                        \"True\",\n                        \"False\"\n                    ]\n                }\n            ],\n            \"possible_acl\": [\n                {\n                    \"company\": \"MATRIZ\",\n                    \"hash\": \"a1b2c3\"\n                },\n                {\n                    \"company\": \"FILIAL-SUL\",\n                    \"hash\": \"d4e5f6\"\n                }\n            ]\n        }\n    ]\n}"},{"id":"db1f314c-6766-47e7-b012-1114fe70ca80","name":"Invalid parameters","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":{"raw":"https://your-instance.olt.com/api/v2/ftth/equipment/list/unauth?olt_id=abc","host":["https://your-instance.olt.com"],"path":["api","v2","ftth","equipment","list","unauth"],"query":[{"key":"olt_id","value":"abc"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Invalid Parameters\"\n}"},{"id":"f54033d5-6c6e-42b9-9578-d2172ac55f49","name":"OLT not found / not allowed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":{"raw":"https://your-instance.olt.com/api/v2/ftth/equipment/list/unauth?olt_id=999","host":["https://your-instance.olt.com"],"path":["api","v2","ftth","equipment","list","unauth"],"query":[{"key":"olt_id","value":"999"}]}},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Olt not found\"\n}"},{"id":"42d2eaf2-4813-42c5-869e-288122d2aeee","name":"Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/list/unauth"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": \"Authentication credentials were not provided.\"\n}"}],"_postman_id":"8e1e9323-0c6d-4606-a57c-717b11ac183b"},{"name":"Authorize ONU","id":"9ccd7ae5-331a-4653-a401-b826f5d25a71","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"onu_hash\": \"{{onu_hash}}\",\n    \"olt_id\": {{olt_id}},\n    \"alias\": \"{{alias}}\",\n    \"client_id\": {{client_id}},\n    \"acl\": \"{{acl}}\",\n    \"line_profile\": \"{{line_profile}}\",\n    \"onu_profile\": \"{{onu_profile}}\",\n    \"xgspon\": {{xgspon}}\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/auth","description":"<p>Authorizes one ONU on its OLT.</p>\n<p>Required body fields:</p>\n<ul>\n<li><code>onu_hash</code> (string) - the opaque token from List Unauthorized ONUs. It is decoded server-side into slot/pon/sn/type; forward it verbatim, do not build it by hand. A hash missing any of those fields returns 400.</li>\n<li><code>olt_id</code> (integer) - target OLT id. Must be an integer; the user must be allowed to authorize on it, otherwise 403. The OLT must not be under quarantine (423).</li>\n<li><code>alias</code> (string) - ONU alias/name.</li>\n</ul>\n<p>Conditional body fields:</p>\n<ul>\n<li><code>acl</code> (string) - mandatory only when the OLT has more than one linked company (see <code>possible_acl</code> in List Unauthorized ONUs). Comma-separated company hashes; every hash must belong to the OLT's allowed companies, otherwise 400. When the OLT has a single company it is assigned automatically and this field is ignored.</li>\n<li><code>line_profile</code> (string) - mandatory for Datacom OLTs; must be one of the OLT's line profiles.</li>\n<li><code>onu_profile</code> (string) - mandatory for VSOL OLTs; must be one of the OLT's ONU profiles.</li>\n<li><code>xgspon</code> (boolean) - mandatory for Huawei OLTs; <code>true</code> provisions as XGS-PON, <code>false</code> as GPON.</li>\n</ul>\n<p>Optional body fields:</p>\n<ul>\n<li><code>client_id</code> (integer) - link the ONU to this client. Must be an integer and exist/be accessible (403). Any ONUs currently linked to that client are unlinked first.</li>\n<li><code>type</code> (string) - overrides the ONU model taken from the hash.</li>\n</ul>\n<p>Capacity rules: the request is rejected with 400 when the PON port has reached <code>max_amount_onu</code>, or when the owning company has reached its maximum number of linked ONUs. If the OLT rejects the authorization, the equipment record is rolled back and 400 is returned with the OLT message.</p>\n<p>On success the ONU is provisioned, linked to the client (when provided), the ACL is applied and an authorization history entry (origin <code>API</code>) is created. The response returns the created <code>equipment</code> (same shape as the Equipment detail endpoint).</p>\n","urlObject":{"path":["api","v2","ftth","equipment","auth"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"4f9556a8-9502-4cb1-b1a9-1d108bc9c20a","name":"ONU authorized","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"onu_hash\": \"eyJzbG90IjogMSwgInBvbiI6IDEsICJzbiI6ICJIV1RDODVDNjVGQjMiLCAidHlwZSI6ICJIRzgxNDVWNSJ9\",\n    \"olt_id\": 12,\n    \"alias\": \"Maria Souza - AP01\",\n    \"client_id\": 4521,\n    \"xgspon\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/auth"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"id_onu\": 88213,\n    \"message\": \"ONU authorized successfully.\",\n    \"equipment\": {\n        \"id\": 88213,\n        \"serial_number\": \"HWTC85C65FB3\",\n        \"status\": \"Online\",\n        \"last_status_update\": \"2026-07-11 09:14:03\",\n        \"last_signal_update\": \"2026-07-11 09:14:03\",\n        \"last_disconnection\": null,\n        \"uptime_since\": \"2026-07-11 09:14:03\",\n        \"model\": \"HG8145V5\",\n        \"device_alias\": \"Maria Souza - AP01\",\n        \"distance\": 1234,\n        \"temperature\": 45.2,\n        \"device_rx\": -21.35,\n        \"device_tx\": 2.14,\n        \"olt_rx\": -20.9,\n        \"client_id\": 4521,\n        \"client_pppoe\": \"maria.souza@pppoe\",\n        \"external_client_id\": \"ERP-4521\",\n        \"external_client_contract_id\": \"ERP-558210\",\n        \"vlans\": [\n            100\n        ],\n        \"macs\": [],\n        \"olt\": \"OLT-CENTRO-01\",\n        \"olt_id\": 12,\n        \"olt_external_id\": \"OLT-EXT-12\",\n        \"slot\": 1,\n        \"slot_id\": 34,\n        \"pon\": 1,\n        \"pon_id\": 128,\n        \"onu_id\": 5,\n        \"pon_capacity\": 128,\n        \"tags\": [],\n        \"vip\": null,\n        \"slot/pon/onu_id\": \"1/1/5\"\n    }\n}"},{"id":"d161bc0b-9636-4d74-b692-ccba7f5eaa2f","name":"Required fields not filled","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"olt_id\": 12,\n    \"alias\": \"Maria Souza - AP01\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/auth"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Required fields not filled\"\n}"},{"id":"6d26e7a3-9b32-41da-939e-7252339848e1","name":"ACL mandatory (multi-company OLT)","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"onu_hash\": \"eyJzbG90IjogMSwgInBvbiI6IDEsICJzbiI6ICJIV1RDODVDNjVGQjMiLCAidHlwZSI6ICJIRzgxNDVWNSJ9\",\n    \"olt_id\": 12,\n    \"alias\": \"Maria Souza - AP01\",\n    \"xgspon\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/auth"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"\\\"acl\\\" field is mandatory for olts with more than one linked company\"\n}"},{"id":"d7a5a051-df5b-4ad7-99e9-4672849cd6ba","name":"Vendor field missing (Huawei xgspon)","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"onu_hash\": \"eyJzbG90IjogMSwgInBvbiI6IDEsICJzbiI6ICJIV1RDODVDNjVGQjMiLCAidHlwZSI6ICJIRzgxNDVWNSJ9\",\n    \"olt_id\": 12,\n    \"alias\": \"Maria Souza - AP01\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/auth"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"\\\"xgspon\\\" field is mandatory for huawei olts\"\n}"},{"id":"082cd68d-deff-4947-96dc-f2c2b3ef521f","name":"PON capacity reached","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"onu_hash\": \"eyJzbG90IjogMSwgInBvbiI6IDEsICJzbiI6ICJIV1RDODVDNjVGQjMiLCAidHlwZSI6ICJIRzgxNDVWNSJ9\",\n    \"olt_id\": 12,\n    \"alias\": \"Maria Souza - AP01\",\n    \"xgspon\": false\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/auth"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"PON port has reached maximum quantity of linked ONUs. Maximum quantity: 128, Linked quantity: 128\"\n}"},{"id":"1265fdd8-ef52-4c16-84c9-5095435471ab","name":"OLT not found / not allowed","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"onu_hash\": \"eyJzbG90IjogMSwgInBvbiI6IDEsICJzbiI6ICJIV1RDODVDNjVGQjMiLCAidHlwZSI6ICJIRzgxNDVWNSJ9\",\n    \"olt_id\": 999,\n    \"alias\": \"Maria Souza - AP01\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/auth"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Olt not found\"\n}"},{"id":"23955a69-cfef-47cb-9716-eb78b20b76bb","name":"OLT under quarantine","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"onu_hash\": \"eyJzbG90IjogMSwgInBvbiI6IDEsICJzbiI6ICJIV1RDODVDNjVGQjMiLCAidHlwZSI6ICJIRzgxNDVWNSJ9\",\n    \"olt_id\": 12,\n    \"alias\": \"Maria Souza - AP01\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/auth"},"status":"Locked","code":423,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Olt OLT-CENTRO-01 is under quarantine due to persistent connection failures and is temporarily unavailable for this operation\"\n}"},{"id":"c5cdb631-9305-460d-805c-405c7147953b","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"onu_hash\": \"eyJzbG90IjogMSwgInBvbiI6IDEsICJzbiI6ICJIV1RDODVDNjVGQjMiLCAidHlwZSI6ICJIRzgxNDVWNSJ9\",\n    \"olt_id\": 12,\n    \"alias\": \"Maria Souza - AP01\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/auth"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": \"Authentication credentials were not provided.\"\n}"}],"_postman_id":"9ccd7ae5-331a-4653-a401-b826f5d25a71"},{"name":"Unauthorize ONU","id":"48c4574a-02b6-4ca5-9639-a65c15fc4418","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/unauth/{{equipment_id}}","description":"<p>Unauthorizes the ONU identified by the <code>equipment_id</code> path parameter.</p>\n<p>What it does on success:</p>\n<ul>\n<li>Removes the ONU from the OLT (de-provisions it).</li>\n<li>Records an unauthorization history entry (which company owned it, PON, previous status, model, box, alias).</li>\n<li>Removes the ONU's management IP and deletes any TR-069 (ACS) device bound to its serial number.</li>\n<li>When the linked client is <code>Cancelado</code> or <code>Não Instalado</code>, unlinks the ONU serial from the client.</li>\n<li>Optionally clears the ONU ACL when the installation is configured to do so.</li>\n<li>Deletes the equipment record and re-checks for duplicated ONUs.</li>\n</ul>\n<p>The OLT must not be under quarantine (423). If the equipment id is not found/visible, or the OLT rejects the de-provisioning, 400 is returned.</p>\n","urlObject":{"path":["api","v2","ftth","equipment","unauth","{{equipment_id}}"],"host":["https://your-instance.olt.com"],"query":[],"variable":[{"id":"32a019c1-ee93-4967-b813-563ba5c1074c","description":{"content":"<p>Equipment (ONU) id to unauthorize. Must be visible to the authenticated user.</p>\n","type":"text/plain"},"type":"any","value":"88213","key":"equipment_id"}]}},"response":[{"id":"cd4be849-c54b-45d1-8723-9506360d47bc","name":"ONU unauthorized","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/unauth/88213"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"message\": \"ONU unauthorized successfully\"\n}"},{"id":"89a29757-0b25-4f74-8b46-721f4df842b7","name":"Equipment not found","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/unauth/999999"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Equipment not found\"\n}"},{"id":"cc93b1a9-aaed-40b2-bbb9-921840df5250","name":"OLT under quarantine","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/unauth/88213"},"status":"Locked","code":423,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Olt OLT-CENTRO-01 is under quarantine due to persistent connection failures and is temporarily unavailable for this operation\"\n}"},{"id":"98b93537-5b5d-4688-873a-f418b8b87953","name":"Unauthorized","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/unauth/88213"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": \"Authentication credentials were not provided.\"\n}"}],"_postman_id":"48c4574a-02b6-4ca5-9639-a65c15fc4418"},{"name":"List ONU Scripts","id":"3d74a3ad-0f25-4c09-98ac-46cf7b6b3892","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{{onu}}/list_scripts","description":"<p>Returns the scripts that can be applied to the ONU identified by the <code>onu</code> path parameter.</p>\n<p>The identifier is polymorphic:</p>\n<ul>\n<li>a numeric value is treated as an authorized ONU's equipment id;</li>\n<li>a non-numeric value is treated as an <code>onu_hash</code> (from List Unauthorized ONUs) and resolved against the pending unauthorized ONU.</li>\n</ul>\n<p>Only scripts compatible with that ONU's OLT and model are returned. Each result has <code>id</code>, <code>name</code> and <code>description</code>. Use the <code>id</code> with Apply ONU Script.</p>\n<p>Returns 400 when the equipment/hash cannot be resolved.</p>\n","urlObject":{"path":["api","v2","ftth","equipment","{{onu}}","list_scripts"],"host":["https://your-instance.olt.com"],"query":[],"variable":[{"id":"e7a7b817-2b23-4a86-a6a1-bbf962c396cc","description":{"content":"<p>ONU identifier: numeric equipment id (authorized ONU) OR the onu_hash from List Unauthorized ONUs (ONU not yet authorized).</p>\n","type":"text/plain"},"type":"any","value":"88213","key":"onu"}]}},"response":[{"id":"03f52f24-3570-41a0-9082-a7cf620da58b","name":"List ONU Scripts","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/88213/list_scripts"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"total\": 2,\n    \"results\": [\n        {\n            \"id\": 41,\n            \"name\": \"PPPoE Router - Internet\",\n            \"description\": \"Provisiona a ONU em modo roteador PPPoE na VLAN de internet\"\n        },\n        {\n            \"id\": 47,\n            \"name\": \"Bridge - Internet\",\n            \"description\": \"Provisiona a ONU em modo bridge na VLAN de internet\"\n        }\n    ]\n}"},{"id":"fa952587-5b17-44b4-99e5-c11d2e58a5ac","name":"Equipment not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/999999/list_scripts"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Equipment not found\"\n}"},{"id":"b44607c5-c44e-4587-a3e6-21d0a1114b89","name":"Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/88213/list_scripts"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": \"Authentication credentials were not provided.\"\n}"}],"_postman_id":"3d74a3ad-0f25-4c09-98ac-46cf7b6b3892"},{"name":"Get ONU Script Fields","id":"f162fc50-41c6-4be5-8d7a-d7b967ced8d9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{{onu}}/{{script_id}}/script","description":"<p>Returns the input fields required to apply script <code>script_id</code> to ONU <code>onu</code>. Use these to build the Apply ONU Script body.</p>\n<p>Each field has:</p>\n<ul>\n<li><code>field</code> - the human label.</li>\n<li><code>name</code> - the field key to send in the Apply body.</li>\n<li><code>type</code> - <code>text</code> or <code>select</code>.</li>\n<li><code>value</code> - for text fields, a pre-filled value when available (e.g. <code>ppp_login</code>/<code>ppp_senha</code> from the linked client, <code>alias</code> from the ONU).</li>\n<li><code>options</code> - for select fields, a list of <code>{name, value, default}</code> built from the OLT profiles/VLANs (VLANs, line/service/traffic profiles, LAN port, COS, etc.).</li>\n</ul>\n<p>Hidden fields are resolved server-side and not returned. The OLT must not be under quarantine (423). Returns 400 when the ONU/hash cannot be resolved or the script is not applicable to this equipment.</p>\n","urlObject":{"path":["api","v2","ftth","equipment","{{onu}}","{{script_id}}","script"],"host":["https://your-instance.olt.com"],"query":[{"disabled":true,"description":{"content":"<p>Optional. Pending authorization-history record id (OnuDeviceAuth) owned by the user and not yet done; ties the script application to an ongoing provisioning step</p>\n","type":"text/plain"},"key":"oda","value":"{{oda_id}}"}],"variable":[{"id":"8fcbb7ce-f191-48a6-b68f-1a3e299c1e7b","description":{"content":"<p>ONU identifier: numeric equipment id, or the onu_hash of a not-yet-authorized ONU.</p>\n","type":"text/plain"},"type":"any","value":"88213","key":"onu"},{"id":"583deeee-6121-4f15-b20a-8d2e2a478b17","description":{"content":"<p>Script id (from List ONU Scripts).</p>\n","type":"text/plain"},"type":"any","value":"41","key":"script_id"}]}},"response":[{"id":"a37dddb5-402b-4f37-bc88-5696810b4801","name":"Get ONU Script Fields","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/88213/41/script"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"results\": [\n        {\n            \"field\": \"Login PPPoE\",\n            \"name\": \"ppp_login\",\n            \"type\": \"text\",\n            \"value\": \"maria.souza@pppoe\"\n        },\n        {\n            \"field\": \"Senha PPPoE\",\n            \"name\": \"ppp_senha\",\n            \"type\": \"text\",\n            \"value\": \"s3cr3t\"\n        },\n        {\n            \"field\": \"Vlan\",\n            \"name\": \"vlan\",\n            \"type\": \"select\",\n            \"options\": [\n                {\n                    \"name\": \"(100) INTERNET\",\n                    \"value\": 100,\n                    \"default\": false\n                },\n                {\n                    \"name\": \"(200) VOIP\",\n                    \"value\": 200,\n                    \"default\": false\n                }\n            ]\n        }\n    ]\n}"},{"id":"22b6fe80-c394-4f14-95ac-04c27b5e8873","name":"Script not applicable","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/88213/999/script"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Script cannot be applied to this equipment\"\n}"}],"_postman_id":"f162fc50-41c6-4be5-8d7a-d7b967ced8d9"},{"name":"Apply ONU Script","id":"1507edba-2b15-4f6e-b95f-73df6c6f2cad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"ppp_login\": \"maria.souza@pppoe\",\n    \"ppp_senha\": \"s3cr3t\",\n    \"vlan\": 100\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{{onu}}/{{script_id}}/script","description":"<p>Applies script <code>script_id</code> to ONU <code>onu</code> on its OLT.</p>\n<p>The body is a flat object keyed by each field's <code>name</code> from Get ONU Script Fields, with the chosen value. Every non-hidden field is required: a missing or empty field returns 400 with <code>Field &lt;name&gt; is required</code>.</p>\n<p>Special handling:</p>\n<ul>\n<li>when a <code>vlan</code> field is present, the ONU's VLAN record is updated from the submitted value(s);</li>\n<li>when the optional <code>oda</code> query parameter points to a pending authorization step, that step is advanced on success.</li>\n</ul>\n<p>Returns <code>{return, message}</code> - 200 with the OLT result message on success, 400 with the failure reason otherwise (missing field, script not applicable, OLT quarantine, or OLT execution error).</p>\n","urlObject":{"path":["api","v2","ftth","equipment","{{onu}}","{{script_id}}","script"],"host":["https://your-instance.olt.com"],"query":[],"variable":[{"id":"38dea66d-95e3-4818-9f64-7da8733edbdd","description":{"content":"<p>ONU identifier: numeric equipment id, or the onu_hash of a not-yet-authorized ONU.</p>\n","type":"text/plain"},"type":"any","value":"88213","key":"onu"},{"id":"3ec399e1-5ea2-4572-afa2-9637386906f7","description":{"content":"<p>Script id (from List ONU Scripts).</p>\n","type":"text/plain"},"type":"any","value":"41","key":"script_id"}]}},"response":[{"id":"dfb31706-5cdb-4d8a-96b0-8c0b18b93773","name":"Script applied","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"ppp_login\": \"maria.souza@pppoe\",\n    \"ppp_senha\": \"s3cr3t\",\n    \"vlan\": 100\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/88213/41/script"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"message\": \"Script applied successfully\"\n}"},{"id":"a8a6b612-10b0-4818-bec6-ac218fc36d1d","name":"Required field missing","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"ppp_login\": \"maria.souza@pppoe\",\n    \"ppp_senha\": \"s3cr3t\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/88213/41/script"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Field vlan is required\"\n}"},{"id":"2eef3ed2-c3ac-4805-942f-c8585e645df8","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"ppp_login\": \"maria.souza@pppoe\",\n    \"ppp_senha\": \"s3cr3t\",\n    \"vlan\": 100\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/88213/41/script"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": \"Authentication credentials were not provided.\"\n}"}],"_postman_id":"1507edba-2b15-4f6e-b95f-73df6c6f2cad"},{"name":"List ONU provisioning history","id":"7f07e208-9595-4b84-b6b4-818554f4a296","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{onu_id}/script_history","description":"<p>Returns the provisioning history for a specific ONU, including the scripts and actions executed on the device</p>\n","urlObject":{"path":["api","v2","ftth","equipment","{onu_id}","script_history"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"b7c05ed5-a946-4959-9fa7-ff6880cae5fe","name":"List ONU provisioning history","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{onu_id}/script_history"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"return\": true,\n    \"results\": [\n        {\n            \"script_id\": 16,\n            \"script_name\": \"ONT ROUTER  (internet)\",\n            \"commands\": [\n                \"environment inhibit-alarms\\nexit all\",\n                \"configure equipment ont slot 1/1/1/8/67/1 admin-state down\",\n                \"configure equipment ont no slot 1/1/1/8/67/1\\nexit all\",\n                \"configure equipment ont slot 1/1/1/8/67/14 planned-card-type veip plndnumdataports 1 plndnumvoiceports 0 admin-state up\\nexit all\",\n                \"configure qos interface 1/1/1/8/67/14/1 upstream-queue 0 bandwidth-profile name:600M\\nexit all\",\n                \"configure qos interface 1/1/1/8/67/14/1 queue 0 shaper-profile name:600M\\nexit all\",\n                \"configure interface port uni:1/1/1/8/67/14/1 admin-up\\nexit all\",\n                \"configure bridge port 1/1/1/8/67/14/1\\nvlan-id 300\\nexit all\",\n                \"configure bridge port 1/1/1/8/67/14/1\\nvlan-id 400\\nexit all\",\n                \"configure bridge port 1/1/1/8/67/14/1\\npvid 400\\nexit all\",\n                \"configure bridge port 1/1/1/8/67/14/1 max-unicast-mac 2\"\n            ],\n            \"output\": \"\",\n            \"fail\": false,\n            \"executed_at\": \"2026-05-06 10:42:19\",\n            \"executed_by\": \"user.name\"\n        }\n    ]\n}"}],"_postman_id":"7f07e208-9595-4b84-b6b4-818554f4a296"}],"id":"f565643e-f3fa-4633-b4b2-d59aea3a4701","_postman_id":"f565643e-f3fa-4633-b4b2-d59aea3a4701","description":""},{"name":"OLT Provisioning","item":[{"name":"List OLT Profiles and VLANs","id":"665823fd-2f45-493b-a683-d273b48262c5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olt/{{olt_id}}/profiles_vlans","description":"<p>Returns the provisioning profiles and VLANs of the OLT identified by the <code>olt_id</code> path parameter.</p>\n<ul>\n<li><code>profiles</code> - a vendor-dependent object. The keys and their meaning change per vendor, e.g. Fiberhome exposes <code>bw_prfs</code> / <code>ngn</code> / <code>vlan</code> / <code>uplink</code> / <code>onu_type</code>; ZTE exposes download/upload/line/service profiles, uplinks and onu types; other vendors expose their own sets. Use it to fill the vendor field required by Authorize ONU (Datacom <code>line_profile</code>, VSOL <code>onu_profile</code>, etc.).</li>\n<li><code>vlans</code> - the list of VLANs configured on the OLT.</li>\n</ul>\n<p>The OLT must not be under quarantine (423). Returns 403 when the OLT is not found/visible, and 400 on an internal processing error.</p>\n","urlObject":{"path":["api","v2","ftth","olt","{{olt_id}}","profiles_vlans"],"host":["https://your-instance.olt.com"],"query":[],"variable":[{"id":"bb190168-14d9-40e1-ac3f-60013c6996c6","description":{"content":"<p>OLT id whose profiles/VLANs to list. Must be visible to the authenticated user.</p>\n","type":"text/plain"},"type":"any","value":"12","key":"olt_id"}]}},"response":[{"id":"da8802cb-1f3a-432f-bf8e-1fa046ddf61d","name":"List OLT Profiles and VLANs","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olt/12/profiles_vlans"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"profiles\": {\n        \"onu_type\": [\n            \"HG8145V5\",\n            \"EG8145V5\"\n        ],\n        \"line_profile\": [\n            \"LINE-1G\",\n            \"LINE-500M\"\n        ],\n        \"srv_profile\": [\n            \"SRV-INTERNET\",\n            \"SRV-IPTV\"\n        ]\n    },\n    \"vlans\": [\n        100,\n        200,\n        4000\n    ]\n}"},{"id":"e1195b30-1237-4951-adec-d889649d6a83","name":"OLT under quarantine","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olt/12/profiles_vlans"},"status":"Locked","code":423,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Olt OLT-CENTRO-01 is under quarantine due to persistent connection failures and is temporarily unavailable for this operation\"\n}"},{"id":"a5e50804-22ac-4e9b-8c00-ad137ab8ed84","name":"OLT not found / not allowed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olt/999/profiles_vlans"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Olt not found\"\n}"},{"id":"91936b20-9658-4123-8627-658f2150f5d1","name":"Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olt/12/profiles_vlans"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": \"Authentication credentials were not provided.\"\n}"}],"_postman_id":"665823fd-2f45-493b-a683-d273b48262c5"},{"name":"List OLT Scripts","id":"d6be5c87-7d4e-45f0-9986-2c24ccad34ef","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olt/{{olt_id}}/list_scripts","description":"<p>Returns the scripts that can be applied to the OLT identified by the <code>olt_id</code> path parameter. Each result has <code>id</code>, <code>name</code> and <code>description</code>; use the <code>id</code> with Apply OLT Script.</p>\n<p>Returns 403 when the OLT is not found/visible, and 400 on an internal processing error.</p>\n","urlObject":{"path":["api","v2","ftth","olt","{{olt_id}}","list_scripts"],"host":["https://your-instance.olt.com"],"query":[],"variable":[{"id":"7606d7f4-4d36-4208-a0f5-89bef70184b1","description":{"content":"<p>OLT id. Must be visible to the authenticated user.</p>\n","type":"text/plain"},"type":"any","value":"12","key":"olt_id"}]}},"response":[{"id":"194c2844-f5aa-4521-b305-1e37e7da6074","name":"List OLT Scripts","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olt/12/list_scripts"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"total\": 2,\n    \"results\": [\n        {\n            \"id\": 12,\n            \"name\": \"Criar VLAN de servico\",\n            \"description\": \"Cria uma VLAN de servico na OLT\"\n        },\n        {\n            \"id\": 19,\n            \"name\": \"Configurar uplink\",\n            \"description\": \"Configura a porta de uplink da OLT\"\n        }\n    ]\n}"},{"id":"0806864f-be49-4d56-85aa-08947d53c769","name":"OLT not found / not allowed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olt/999/list_scripts"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Olt not found\"\n}"},{"id":"e441befd-c608-4e29-853b-98a2dc49b2be","name":"Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olt/12/list_scripts"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": \"Authentication credentials were not provided.\"\n}"}],"_postman_id":"d6be5c87-7d4e-45f0-9986-2c24ccad34ef"},{"name":"Get OLT Script Fields","id":"2f6c9808-e64f-41ca-8b50-28ea0eb532e9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olt/{{olt_id}}/{{script_id}}/script","description":"<p>Returns the input fields required to apply script <code>script_id</code> to OLT <code>olt_id</code>. Use these to build the Apply OLT Script body.</p>\n<p>Each field has:</p>\n<ul>\n<li><code>field</code> - the human label.</li>\n<li><code>name</code> - the field key to send in the Apply body.</li>\n<li><code>type</code> - <code>text</code> or <code>select</code>.</li>\n<li><code>value</code> - for text fields, a pre-filled value when available.</li>\n<li><code>options</code> - for select fields, a list of <code>{name, value, default}</code> built from the OLT profiles/VLANs (VLANs, line/service/traffic profiles, slot/pon, COS, etc.).</li>\n</ul>\n<p>Hidden fields are resolved server-side and not returned. The OLT must not be under quarantine (423). Returns 403 when the OLT is not found/visible, and 400 when the script is not applicable to this OLT.</p>\n","urlObject":{"path":["api","v2","ftth","olt","{{olt_id}}","{{script_id}}","script"],"host":["https://your-instance.olt.com"],"query":[],"variable":[{"id":"d756d75e-35fc-4de2-8cc5-afe0cc552ceb","description":{"content":"<p>OLT id. Must be visible to the authenticated user.</p>\n","type":"text/plain"},"type":"any","value":"12","key":"olt_id"},{"id":"a26722e6-063c-4646-bb38-9c15b8567a42","description":{"content":"<p>Script id (from List OLT Scripts).</p>\n","type":"text/plain"},"type":"any","value":"12","key":"script_id"}]}},"response":[{"id":"1cb06736-f8ea-4e72-929b-db703f21ecba","name":"Get OLT Script Fields","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olt/12/12/script"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"results\": [\n        {\n            \"field\": \"Vlan\",\n            \"name\": \"vlan\",\n            \"type\": \"text\",\n            \"value\": null\n        },\n        {\n            \"field\": \"SRV Profile\",\n            \"name\": \"hw_srv_profile\",\n            \"type\": \"select\",\n            \"options\": [\n                {\n                    \"name\": \"SRV-INTERNET\",\n                    \"value\": \"SRV-INTERNET\",\n                    \"default\": false\n                },\n                {\n                    \"name\": \"SRV-IPTV\",\n                    \"value\": \"SRV-IPTV\",\n                    \"default\": false\n                }\n            ]\n        }\n    ]\n}"},{"id":"8a722e63-0eee-425b-8183-0b02858602e3","name":"Script not applicable","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olt/12/999/script"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Script cannot be applied to this olt\"\n}"}],"_postman_id":"2f6c9808-e64f-41ca-8b50-28ea0eb532e9"},{"name":"Apply OLT Script","id":"d5311918-96ec-4a94-95d4-4b1c93a185e1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"vlan\": 100,\n    \"hw_srv_profile\": \"SRV-INTERNET\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/olt/{{olt_id}}/{{script_id}}/script","description":"<p>Applies script <code>script_id</code> to OLT <code>olt_id</code>.</p>\n<p>The body is a flat object keyed by each field's <code>name</code> from Get OLT Script Fields, with the chosen value. Every non-hidden field is required: a missing or empty field returns 400 with <code>Field &lt;name&gt; is required</code>.</p>\n<p>Returns <code>{return, message}</code> - 200 with the OLT result message on success, 400 with the failure reason otherwise (missing field, script not applicable, OLT quarantine, or OLT execution error).</p>\n","urlObject":{"path":["api","v2","ftth","olt","{{olt_id}}","{{script_id}}","script"],"host":["https://your-instance.olt.com"],"query":[],"variable":[{"id":"10769372-f5ed-4637-a40c-fb05c1074370","description":{"content":"<p>OLT id. Must be visible to the authenticated user.</p>\n","type":"text/plain"},"type":"any","value":"12","key":"olt_id"},{"id":"83bb9d86-6a34-4b3f-b332-9f76a2f62937","description":{"content":"<p>Script id (from List OLT Scripts).</p>\n","type":"text/plain"},"type":"any","value":"12","key":"script_id"}]}},"response":[{"id":"7b45b8b2-11c4-482c-a699-a2957f9b9916","name":"Script applied","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"vlan\": 100,\n    \"hw_srv_profile\": \"SRV-INTERNET\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/olt/12/12/script"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"message\": \"Script applied successfully\"\n}"},{"id":"eda9015c-d24c-405f-8b39-8729a1ab10f7","name":"Required field missing","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"hw_srv_profile\": \"SRV-INTERNET\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/olt/12/12/script"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Field vlan is required\"\n}"},{"id":"d2004b55-79d3-4627-901f-e57058d73705","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"vlan\": 100,\n    \"hw_srv_profile\": \"SRV-INTERNET\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/olt/12/12/script"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": \"Authentication credentials were not provided.\"\n}"}],"_postman_id":"d5311918-96ec-4a94-95d4-4b1c93a185e1"}],"id":"ec121a6a-284b-42b3-bb17-82bb992f40df","_postman_id":"ec121a6a-284b-42b3-bb17-82bb992f40df","description":""},{"name":"GET Equipment","id":"9eb6c817-6724-4f26-a1ff-1315d3c8e580","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{id}","description":"<blockquote>\n<p>The ID can be obtained from the endpoint FTTH &gt; List Equipments listed in this section of the documentation.</p>\n</blockquote>\n","urlObject":{"path":["api","v2","ftth","equipment","{id}"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"615d5667-47ef-4920-85e1-1206c7dc5c6c","name":"GET Equipment","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{id}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 07 Oct 2024 15:21:18 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"326"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"equipment\": {\n        \"id\": 3,\n        \"serial_number\": \"ZTEGCEC5FC50\",\n        \"status\": \"Online\",\n        \"last_status_update\": \"2025-07-12T13:43:54.001648\",\n        \"last_disconnection\": \"2025-07-12T13:35:05\",\n        \"uptime_since\": \"2025-07-12T13:36:13\",\n        \"model\": \"F601\",\n        \"device_alias\": \"RAQUEL TIAGO FONTES\",\n        \"distance\": 1248.0,\n        \"device_rx\": -19.542,\n        \"olt_rx\": -22.986,\n        \"client_id\": 51816,\n        \"client_pppoe\": \"76256@provedor.com.br\",\n        \"external_client_id\": \"30765\",\n        \"external_client_contract_id\": \"78411\",\n        \"olt\": \"OLT-PNU-ZTE-PAICANDU-01\",\n        \"olt_id\": 14,\n        \"olt_external_id\": \"\",\n        \"slot\": 1,\n        \"slot_id\": 1,\n        \"pon\": 3,\n        \"pon_id\": 3,\n        \"onu_id\": 1,\n        \"slot/pon/onu_id\": \"1/3/1\",\n        \"bandwith_profile\": null,\n        \"version\": \"F601V7.0\",\n        \"firmware\": \"V7.0\",\n        \"optical_module_intermittency\": false,\n        \"optical_module_last_alarm\": \"Sem Energia\",\n        \"optical_module_uptime\": \"4 days, 19:26:25.319867\",\n        \"optical_module_temperature\": 49.234,\n        \"optical_module_volt\": 3.26,\n        \"optical_module_current\": 11.8,\n        \"optical_module_distance\": 1248,\n        \"tags\": []\n    }\n}"}],"_postman_id":"9eb6c817-6724-4f26-a1ff-1315d3c8e580"},{"name":"LIST Equipments","id":"0abad50b-67a8-4040-b87e-5438278a5b6f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/list","urlObject":{"path":["api","v2","ftth","equipment","list"],"host":["https://your-instance.olt.com"],"query":[{"disabled":true,"key":"id","value":""},{"disabled":true,"key":"serial_number","value":""},{"disabled":true,"key":"status","value":""},{"disabled":true,"key":"model","value":""},{"disabled":true,"key":"device_rx","value":""},{"disabled":true,"key":"device_tx","value":""},{"disabled":true,"key":"device_alias","value":""},{"disabled":true,"key":"last_status_update","value":"2024-10-10T10:00:00"},{"disabled":true,"key":"last_disconnection","value":""},{"disabled":true,"key":"uptime_since","value":""},{"disabled":true,"key":"client_id","value":""},{"disabled":true,"key":"client_pppoe","value":""},{"disabled":true,"key":"olt","value":""},{"disabled":true,"key":"olt_id","value":""},{"disabled":true,"key":"slot","value":""},{"disabled":true,"key":"pon","value":""},{"disabled":true,"key":"olt_external_id","value":""},{"disabled":true,"key":"slot_id","value":""},{"disabled":true,"key":"pon_id","value":""},{"disabled":true,"key":"external_client_id","value":null},{"disabled":true,"key":"external_client_contract_id","value":null}],"variable":[]}},"response":[{"id":"ca9bd3f1-4798-4f6e-82d8-3ec760041a88","name":"LIST Equipments","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":{"raw":"https://your-instance.olt.com/api/v2/ftth/equipment/list","protocol":"https","host":["your-instance","olt","com"],"path":["api","v2","ftth","equipment","list"],"query":[{"key":"id","value":"","disabled":true},{"key":"serial_number","value":null,"disabled":true},{"key":"status","value":null,"disabled":true},{"key":"model","value":null,"disabled":true},{"key":"device_rx","value":null,"disabled":true},{"key":"device_tx","value":null,"disabled":true},{"key":"device_alias","value":null,"disabled":true},{"key":"last_status_update","value":null,"disabled":true},{"key":"last_disconnection","value":null,"disabled":true},{"key":"uptime_since","value":null,"disabled":true},{"key":"client_id","value":null,"disabled":true},{"key":"client_pppoe","value":null,"disabled":true},{"key":"olt","value":null,"disabled":true},{"key":"olt_id","value":null,"disabled":true},{"key":"slot","value":null,"disabled":true},{"key":"pon","value":null,"disabled":true},{"key":"olt_external_id","value":null,"disabled":true},{"key":"slot_id","value":null,"disabled":true},{"key":"pon_id","value":null,"disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 07 Oct 2024 15:25:09 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"364"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"count\": 754,\n    \"next\": \"http://yout-instance.olt.com/api/v2/ftth/equipment/list?client_id=&client_pppoe=&device_alias=&device_rx=&device_tx=&id=&last_disconnection=&last_status_update=&model=&olt=&olt_external_id=&olt_id=&page=2&pon=&pon_id=&serial_number=&slot=&slot_id=&status=&uptime_since=\",\n    \"previous\": null,\n    \"results\": [\n        {\n            \"id\": 7518,\n            \"serial_number\": \"HWTC907dccac\",\n            \"status\": \"Online\",\n            \"model\": \"EG8145X6-10\",\n            \"device_rx\": -15.46,\n            \"device_alias\": \"joao.silva1\",\n            \"last_status_update\": \"2024-10-07T12:22:41.560191\",\n            \"last_disconnection\": \"2024-10-07T12:22:41.560191\",\n            \"uptime_since\": \"2024-10-07T12:22:41.560191\",\n            \"client_id\": 3,\n            \"client_pppoe\": \"joao.silva1\",\n            \"external_client_id\": null,\n            \"external_client_contract_id\": null,\n            \"olt\": \"OLT_ITP01\",\n            \"olt_id\": 1,\n            \"slot\": 1,\n            \"slot_id\": 2,\n            \"pon\": 13,\n            \"pon_id\": 30,\n            \"tags\": []\n        }\n    ]\n}"}],"_postman_id":"0abad50b-67a8-4040-b87e-5438278a5b6f"},{"name":"GET OLT","id":"fd1b47cf-06ef-4d7e-aa98-3c0ee10e9982","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olts/<id_olt>","description":"<p>This section documents the <strong>response body</strong> returned by the <code>GET OLT</code> endpoint. Use it to understand the structure, types, and semantics of each field.</p>\n<hr />\n<h2 id=\"top-level-shape\">Top-level shape</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"return\": true,\n  \"data\": { /* OLT object */ }\n}\n\n</code></pre><h3 id=\"fields\">Fields</h3>\n<ul>\n<li><p><code>return</code> (boolean): Indicates whether the request was successful.</p>\n</li>\n<li><p><code>data</code> (object): The OLT resource with inventory, status, access control, slots, and PONs.</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"data-olt-object\"><code>data</code> (OLT object)</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>integer</td>\n<td>Internal OLT ID.</td>\n</tr>\n<tr>\n<td><code>external_id</code></td>\n<td>string</td>\n<td>Optional external/system ID.</td>\n</tr>\n<tr>\n<td><code>number</code></td>\n<td>integer</td>\n<td>Logical OLT number (e.g., rack/row index).</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>Display name/alias of the OLT.</td>\n</tr>\n<tr>\n<td><code>vendor</code></td>\n<td>string</td>\n<td>Vendor/brand (e.g., <code>ZTE</code>).</td>\n</tr>\n<tr>\n<td><code>version</code></td>\n<td>string</td>\n<td>OLT firmware or chassis version.</td>\n</tr>\n<tr>\n<td><code>ip</code></td>\n<td>string</td>\n<td>Management IP address.</td>\n</tr>\n<tr>\n<td><code>enable</code></td>\n<td>boolean</td>\n<td>Whether this OLT is enabled in the platform.</td>\n</tr>\n<tr>\n<td><code>technology</code></td>\n<td>string</td>\n<td>Access tech (e.g., <code>GPON</code>).</td>\n</tr>\n<tr>\n<td><code>connection_mode</code></td>\n<td>string</td>\n<td>Primary mgmt channel (e.g., <code>telnet</code>, <code>ssh</code>).</td>\n</tr>\n<tr>\n<td><code>web_port</code></td>\n<td>integer</td>\n<td>HTTPS/HTTP port exposed by the OLT (mgmt UI).</td>\n</tr>\n<tr>\n<td><code>telnet_port</code></td>\n<td>integer</td>\n<td>Telnet port.</td>\n</tr>\n<tr>\n<td><code>snmp_port</code></td>\n<td>integer</td>\n<td>SNMP port.</td>\n</tr>\n<tr>\n<td><code>ssh_port</code></td>\n<td>integer</td>\n<td>SSH port.</td>\n</tr>\n<tr>\n<td><code>telnet_status</code></td>\n<td>boolean</td>\n<td>Latest reachability check for Telnet.</td>\n</tr>\n<tr>\n<td><code>snmp_status</code></td>\n<td>boolean</td>\n<td>Latest reachability check for SNMP.</td>\n</tr>\n<tr>\n<td><code>unm_status</code></td>\n<td>boolean</td>\n<td>Environment-specific status flag (if used).</td>\n</tr>\n<tr>\n<td><code>ssh_status</code></td>\n<td>boolean</td>\n<td>Latest reachability check for SSH.</td>\n</tr>\n<tr>\n<td><code>web_status</code></td>\n<td>boolean</td>\n<td>Latest reachability check for Web UI.</td>\n</tr>\n<tr>\n<td><code>olt_rx_pon_onu_warning</code></td>\n<td>number</td>\n<td>Default (OLT-level) warning threshold for <strong>ONU RX on PON</strong> (dBm).</td>\n</tr>\n<tr>\n<td><code>olt_rx_pon_onu_critical</code></td>\n<td>number</td>\n<td>Default critical threshold for <strong>ONU RX on PON</strong> (dBm).</td>\n</tr>\n<tr>\n<td><code>olt_rx_pon_warning</code></td>\n<td>number</td>\n<td>Default warning threshold for <strong>OLT RX from PON</strong> (dBm).</td>\n</tr>\n<tr>\n<td><code>olt_rx_pon_critical</code></td>\n<td>number</td>\n<td>Default critical threshold for <strong>OLT RX from PON</strong> (dBm).</td>\n</tr>\n<tr>\n<td><code>acl</code></td>\n<td>array</td>\n<td>Allowed tenants/scopes for visibility.</td>\n</tr>\n<tr>\n<td><code>acl_auth</code></td>\n<td>array</td>\n<td>Tenants/scopes allowed to authenticate.</td>\n</tr>\n<tr>\n<td><code>slots</code></td>\n<td>array</td>\n<td>Hardware slots present in the chassis.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"aclitem\"><code>AclItem</code></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>integer</td>\n<td>ACL entry ID.</td>\n</tr>\n<tr>\n<td><code>abbreviation</code></td>\n<td>string</td>\n<td>Short code for the tenant/scope.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>string</td>\n<td>Display name.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"slot\"><code>Slot</code></h2>\n<p>Represents a line card/slot and its PON ports.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>integer</td>\n<td>Internal slot ID.</td>\n</tr>\n<tr>\n<td><code>slot</code></td>\n<td>integer</td>\n<td>Physical slot number.</td>\n</tr>\n<tr>\n<td><code>model</code></td>\n<td>string</td>\n<td>Line card model.</td>\n</tr>\n<tr>\n<td><code>version</code></td>\n<td>string</td>\n<td>Line card firmware/version.</td>\n</tr>\n<tr>\n<td><code>pon_count</code></td>\n<td>integer</td>\n<td>Number of PON ports on the card.</td>\n</tr>\n<tr>\n<td><code>onu_count</code></td>\n<td>integer</td>\n<td>Total ONUs registered on all PONs in this slot.</td>\n</tr>\n<tr>\n<td><code>exists</code></td>\n<td>boolean</td>\n<td>Whether the slot/card is present/recognized.</td>\n</tr>\n<tr>\n<td><code>olt</code></td>\n<td>string</td>\n<td>OLT name (denormalized convenience field).</td>\n</tr>\n<tr>\n<td><code>olt_id</code></td>\n<td>integer</td>\n<td>OLT ID (denormalized).</td>\n</tr>\n<tr>\n<td><code>pons</code></td>\n<td>array</td>\n<td>List of PON ports on this slot.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"pon\"><code>Pon</code></h2>\n<p>Per-port monitoring, thresholds, capacity, and SFP inventory.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>integer</td>\n<td>Internal PON ID.</td>\n</tr>\n<tr>\n<td><code>pon</code></td>\n<td>integer</td>\n<td>PON port number on this slot.</td>\n</tr>\n<tr>\n<td><code>slot_pon</code></td>\n<td>string</td>\n<td>null</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>string</td>\n<td>Optional PON description/label.</td>\n</tr>\n<tr>\n<td><code>enable</code></td>\n<td>integer</td>\n<td>Enable flag (<code>1</code> enabled / <code>0</code> disabled).</td>\n</tr>\n<tr>\n<td><code>onu_count</code></td>\n<td>integer</td>\n<td>ONUs currently registered on this PON.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"opticalenvironment-readings-typically-livelast-poll\">Optical/environment readings (typically live/last poll)</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Units</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>temperature</code></td>\n<td>number</td>\n<td>°C</td>\n<td>SFP/module temperature.</td>\n</tr>\n<tr>\n<td><code>voltage</code></td>\n<td>number</td>\n<td>V</td>\n<td>SFP supply voltage.</td>\n</tr>\n<tr>\n<td><code>tx</code></td>\n<td>number</td>\n<td>dBm</td>\n<td>OLT downstream transmit optical power.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"aggregated-optical-statistics-per-pon-dbm\">Aggregated optical statistics (per PON, dBm)</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Metric</th>\n<th>Direction</th>\n<th>Description</th>\n<th>Formula</th>\n<th>Units</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>miro</strong></td>\n<td><strong>Downstream (OLT → ONU)</strong></td>\n<td>Minimum ONU RX level on the PON.</td>\n<td>—</td>\n<td>dBm</td>\n</tr>\n<tr>\n<td><strong>maro</strong></td>\n<td><strong>Downstream (OLT → ONU)</strong></td>\n<td>Maximum ONU RX level on the PON.</td>\n<td>—</td>\n<td>dBm</td>\n</tr>\n<tr>\n<td><strong>mero</strong></td>\n<td><strong>Downstream (OLT → ONU)</strong></td>\n<td>Average ONU RX level across all ONUs on the PON.</td>\n<td>—</td>\n<td>dBm</td>\n</tr>\n<tr>\n<td><strong>dfro</strong></td>\n<td><strong>Downstream (OLT → ONU)</strong></td>\n<td>Downstream spread (range) of ONU RX levels.</td>\n<td><code>dfro = maro − miro</code></td>\n<td>dBm</td>\n</tr>\n<tr>\n<td><strong>mirp</strong></td>\n<td><strong>Upstream (ONU → OLT)</strong></td>\n<td>Minimum RX level observed at the OLT from ONUs on the PON.</td>\n<td>—</td>\n<td>dBm</td>\n</tr>\n<tr>\n<td><strong>marp</strong></td>\n<td><strong>Upstream (ONU → OLT)</strong></td>\n<td>Maximum RX level observed at the OLT from ONUs on the PON.</td>\n<td>—</td>\n<td>dBm</td>\n</tr>\n<tr>\n<td><strong>merp</strong></td>\n<td><strong>Upstream (ONU → OLT)</strong></td>\n<td>Average RX level observed at the OLT from ONUs on the PON.</td>\n<td>—</td>\n<td>dBm</td>\n</tr>\n<tr>\n<td><strong>dfrp</strong></td>\n<td><strong>Upstream (ONU → OLT)</strong></td>\n<td>Upstream spread (range) of RX levels.</td>\n<td><code>dfrp = marp − mirp</code></td>\n<td>dBm</td>\n</tr>\n</tbody>\n</table>\n</div><blockquote>\n</blockquote>\n<p><strong>Notes</strong></p>\n<ul>\n<li><p>RX values are typically negative (dBm).</p>\n</li>\n<li><p>Aggregates are computed per PON based on the latest monitoring sample.</p>\n</li>\n</ul>\n<h3 id=\"threshold-overrides-per-pon\">Threshold overrides (per PON)</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Units</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>rx_pon_onu_warning</code></td>\n<td>number</td>\n<td>dBm</td>\n<td>Warning level for <strong>ONU RX on PON</strong> (overrides OLT defaults if non-zero).</td>\n</tr>\n<tr>\n<td><code>rx_pon_onu_critical</code></td>\n<td>number</td>\n<td>dBm</td>\n<td>Critical level for <strong>ONU RX on PON</strong>.</td>\n</tr>\n<tr>\n<td><code>rx_pon_olt_warning</code></td>\n<td>number</td>\n<td>dBm</td>\n<td>Warning level for <strong>OLT RX from PON</strong>.</td>\n</tr>\n<tr>\n<td><code>rx_pon_olt_critical</code></td>\n<td>number</td>\n<td>dBm</td>\n<td>Critical level for <strong>OLT RX from PON</strong>.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"monitoring-capacity-and-activation\">Monitoring, capacity, and activation</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>last_monitoring_update</code></td>\n<td>string (datetime)</td>\n<td>Timestamp of the last monitoring update in <code>YYYY-MM-DD HH:MM:SS</code>.</td>\n</tr>\n<tr>\n<td><code>min_rx_activate</code></td>\n<td>number</td>\n<td>Minimum RX level required to allow ONU activation (if enforced).</td>\n</tr>\n<tr>\n<td><code>max_amount_onu</code></td>\n<td>integer</td>\n<td>Provisioned ONU capacity for this PON (e.g., 128).</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"sfp--optics-inventory\">SFP / optics inventory</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>sfp_serial</code></td>\n<td>string</td>\n<td>SFP/optical module serial.</td>\n</tr>\n<tr>\n<td><code>sfp_class</code></td>\n<td>string</td>\n<td>Optical class (e.g., <code>GPON/C+</code>, <code>GPON/EC+</code>).</td>\n</tr>\n<tr>\n<td><code>sfp_vendor</code></td>\n<td>string</td>\n<td>Module vendor.</td>\n</tr>\n<tr>\n<td><code>sfp_product_number</code></td>\n<td>string</td>\n<td>Vendor part number / PN.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"denormalized-references\">Denormalized references</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>olt_name</code></td>\n<td>string</td>\n<td>OLT name for convenience.</td>\n</tr>\n<tr>\n<td><code>olt_id</code></td>\n<td>integer</td>\n<td>OLT ID.</td>\n</tr>\n<tr>\n<td><code>slot</code></td>\n<td>integer</td>\n<td>Slot number this PON belongs to.</td>\n</tr>\n<tr>\n<td><code>slot_id</code></td>\n<td>integer</td>\n<td>Slot ID.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","ftth","olts","<id_olt>"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"6e4015f4-ca6a-4814-91fc-e839a42c764a","name":"GET OLT","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olts/<id_olt>"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"data\": {\n        \"id\": 12,\n        \"external_id\": \"\",\n        \"number\": 12,\n        \"name\": \"OlT_ZTE_EST_CIPO\",\n        \"vendor\": \"ZTE\",\n        \"version\": \"C3xx\",\n        \"ip\": \"172.33.236.12\",\n        \"enable\": true,\n        \"technology\": \"GPON\",\n        \"connection_mode\": \"telnet\",\n        \"web_port\": 443,\n        \"telnet_port\": 23,\n        \"snmp_port\": 161,\n        \"ssh_port\": 22,\n        \"telnet_status\": false,\n        \"snmp_status\": true,\n        \"unm_status\": false,\n        \"ssh_status\": true,\n        \"web_status\": false,\n        \"olt_rx_pon_onu_warning\": 0.0,\n        \"olt_rx_pon_onu_critical\": 0.0,\n        \"olt_rx_pon_warning\": 0.0,\n        \"olt_rx_pon_critical\": 0.0,\n        \"acl\": [\n            {\n                \"id\": 2,\n                \"abbreviation\": \"PROVERNET\",\n                \"name\": \"Prover Net\"\n            }\n        ],\n        \"acl_auth\": [\n            {\n                \"id\": 2,\n                \"abbreviation\": \"PROVERNET\",\n                \"name\": \"Prover Net\"\n            }\n        ],\n        \"slots\": [\n            {\n                \"id\": 40,\n                \"slot\": 1,\n                \"model\": \"GTGHK\",\n                \"version\": \"V1.0.0 | pm.fw(V4.0.13)\",\n                \"pon_count\": 16,\n                \"onu_count\": 364,\n                \"exists\": true,\n                \"olt\": \"OlT_ZTE_EST_CIPO\",\n                \"olt_id\": 12,\n                \"pons\": [\n                    {\n                        \"id\": 605,\n                        \"pon\": 1,\n                        \"slot_pon\": \"1/1\",\n                        \"description\": \"RV-CONDOMINIO-RIO-VERMELHO-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 33.448,\n                        \"voltage\": 3.228,\n                        \"tx\": 5.615,\n                        \"miro\": -26.022,\n                        \"maro\": -19.586,\n                        \"mero\": -23.13,\n                        \"dfro\": 6.44,\n                        \"mirp\": -31.114,\n                        \"marp\": -24.597,\n                        \"merp\": -27.18,\n                        \"dfrp\": 6.52,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:58:53\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"30961161801535  \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"SUPERXON LTD.   \",\n                        \"sfp_product_number\": \"SOGQ4321-PSGB-DM\",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 1,\n                        \"slot_id\": 40\n                    },\n                    {\n                        \"id\": 606,\n                        \"pon\": 2,\n                        \"slot_pon\": \"1/2\",\n                        \"description\": \"E8-VARGEM-GRANDE-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 42.316,\n                        \"voltage\": 3.307,\n                        \"tx\": 6.684,\n                        \"miro\": -17.522,\n                        \"maro\": -15.754,\n                        \"mero\": -16.67,\n                        \"dfro\": 1.77,\n                        \"mirp\": -24.449,\n                        \"marp\": -19.552,\n                        \"merp\": -21.68,\n                        \"dfrp\": 4.9,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:58:54\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"T3271017213     \",\n                        \"sfp_class\": \"GPON/EC+\",\n                        \"sfp_vendor\": \"Hisense         \",\n                        \"sfp_product_number\": \"LTE3680P-BC+2DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 1,\n                        \"slot_id\": 40\n                    },\n                    {\n                        \"id\": 607,\n                        \"pon\": 3,\n                        \"slot_pon\": \"1/3\",\n                        \"description\": \"E9-UNIAO-DA-SERRA-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 40.054,\n                        \"voltage\": 3.257,\n                        \"tx\": 5.109,\n                        \"miro\": -27.214,\n                        \"maro\": -15.702,\n                        \"mero\": -19.81,\n                        \"dfro\": 11.51,\n                        \"mirp\": -28.183,\n                        \"marp\": -18.489,\n                        \"merp\": -22.22,\n                        \"dfrp\": 9.69,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:58:56\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"SFBS320065      \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"EOPTOLINK INC   \",\n                        \"sfp_product_number\": \"EOLSGT35DZTE1DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 1,\n                        \"slot_id\": 40\n                    },\n                    {\n                        \"id\": 608,\n                        \"pon\": 4,\n                        \"slot_pon\": \"1/4\",\n                        \"description\": \"E13-JOAO-CONGO-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 39.5,\n                        \"voltage\": 3.241,\n                        \"tx\": 7.024,\n                        \"miro\": -29.208,\n                        \"maro\": -16.518,\n                        \"mero\": -20.75,\n                        \"dfro\": 12.69,\n                        \"mirp\": -31.95,\n                        \"marp\": -21.662,\n                        \"merp\": -26.0,\n                        \"dfrp\": 10.29,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:01\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"T4632002070197  \",\n                        \"sfp_class\": \"\",\n                        \"sfp_vendor\": \"TSUHAN LTD.     \",\n                        \"sfp_product_number\": \"THMPRS4343GQA-DM\",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 1,\n                        \"slot_id\": 40\n                    },\n                    {\n                        \"id\": 609,\n                        \"pon\": 5,\n                        \"slot_pon\": \"1/5\",\n                        \"description\": \"E14-JOAO-CONGO-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 41.742,\n                        \"voltage\": 3.261,\n                        \"tx\": 6.889,\n                        \"miro\": -27.692,\n                        \"maro\": -19.05,\n                        \"mero\": -22.73,\n                        \"dfro\": 8.64,\n                        \"mirp\": -30.686,\n                        \"marp\": -22.456,\n                        \"merp\": -27.26,\n                        \"dfrp\": 8.23,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:05\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"SGB9079345      \",\n                        \"sfp_class\": \"\",\n                        \"sfp_vendor\": \"EOPTOLINK INC   \",\n                        \"sfp_product_number\": \"EOLS-GT-37-D-DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 1,\n                        \"slot_id\": 40\n                    },\n                    {\n                        \"id\": 610,\n                        \"pon\": 6,\n                        \"slot_pon\": \"1/6\",\n                        \"description\": \"E6-VARGEM-GRANDE-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 41.265,\n                        \"voltage\": 3.244,\n                        \"tx\": 5.241,\n                        \"miro\": -25.23,\n                        \"maro\": -16.82,\n                        \"mero\": -20.93,\n                        \"dfro\": 8.41,\n                        \"mirp\": -29.586,\n                        \"marp\": -20.644,\n                        \"merp\": -24.01,\n                        \"dfrp\": 8.94,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:08\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"SFB3181405      \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"EOPTOLINK INC   \",\n                        \"sfp_product_number\": \"EOLSGT35DZTE1DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 1,\n                        \"slot_id\": 40\n                    },\n                    {\n                        \"id\": 611,\n                        \"pon\": 7,\n                        \"slot_pon\": \"1/7\",\n                        \"description\": \"\\\"E7-VARGEM-GRANDE-JABOTICATUBAS\\\"\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 36.433,\n                        \"voltage\": 3.233,\n                        \"tx\": 3.642,\n                        \"miro\": -24.204,\n                        \"maro\": -16.02,\n                        \"mero\": -19.75,\n                        \"dfro\": 8.18,\n                        \"mirp\": -33.627,\n                        \"marp\": -18.274,\n                        \"merp\": -21.43,\n                        \"dfrp\": 15.35,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:10\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"08761142500127  \",\n                        \"sfp_class\": \"GPON/B+\",\n                        \"sfp_vendor\": \"SUPERXON LTD.   \",\n                        \"sfp_product_number\": \"SOGP4321-PSGB   \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 1,\n                        \"slot_id\": 40\n                    },\n                    {\n                        \"id\": 612,\n                        \"pon\": 8,\n                        \"slot_pon\": \"1/8\",\n                        \"description\": \"E23-CAPAOZINHO---RECANTO-DA-SERRA-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 35.155,\n                        \"voltage\": 3.218,\n                        \"tx\": 5.519,\n                        \"miro\": -24.204,\n                        \"maro\": -13.336,\n                        \"mero\": -19.47,\n                        \"dfro\": 10.87,\n                        \"mirp\": -27.554,\n                        \"marp\": -17.386,\n                        \"merp\": -22.62,\n                        \"dfrp\": 10.17,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:13\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"30961162804992  \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"SUPERXON LTD.   \",\n                        \"sfp_product_number\": \"SOGQ4321-PSGB-DM\",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 1,\n                        \"slot_id\": 40\n                    },\n                    {\n                        \"id\": 613,\n                        \"pon\": 9,\n                        \"slot_pon\": \"1/9\",\n                        \"description\": \"E21-CONDOMINIO-SERRA-DA-LIBERDADE-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 33.448,\n                        \"voltage\": 3.223,\n                        \"tx\": 5.399,\n                        \"miro\": -29.208,\n                        \"maro\": -17.588,\n                        \"mero\": -22.87,\n                        \"dfro\": 11.62,\n                        \"mirp\": -31.445,\n                        \"marp\": -21.143,\n                        \"merp\": -26.92,\n                        \"dfrp\": 10.3,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:19\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"30961162802420  \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"SUPERXON LTD.   \",\n                        \"sfp_product_number\": \"SOGQ4321-PSGB-DM\",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 1,\n                        \"slot_id\": 40\n                    },\n                    {\n                        \"id\": 614,\n                        \"pon\": 10,\n                        \"slot_pon\": \"1/10\",\n                        \"description\": \"E22-CONDOMINIO-SERRA-DA-LIBERDADE-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 35.497,\n                        \"voltage\": 3.219,\n                        \"tx\": 5.696,\n                        \"miro\": -23.98,\n                        \"maro\": -16.862,\n                        \"mero\": -20.8,\n                        \"dfro\": 7.12,\n                        \"mirp\": -29.603,\n                        \"marp\": -21.693,\n                        \"merp\": -25.96,\n                        \"dfrp\": 7.91,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:22\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"30961153300521  \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"SUPERXON LTD.   \",\n                        \"sfp_product_number\": \"SOGQ4321-PSGB-DM\",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 1,\n                        \"slot_id\": 40\n                    },\n                    {\n                        \"id\": 615,\n                        \"pon\": 11,\n                        \"slot_pon\": \"1/11\",\n                        \"description\": \"E25-CONDOMINIO-RECANTO-JARDIM-PANIEL-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 41.601,\n                        \"voltage\": 3.244,\n                        \"tx\": 5.121,\n                        \"miro\": -27.448,\n                        \"maro\": -17.352,\n                        \"mero\": -20.11,\n                        \"dfro\": 10.1,\n                        \"mirp\": -31.488,\n                        \"marp\": -20.076,\n                        \"merp\": -22.84,\n                        \"dfrp\": 11.41,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:24\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"UQB9A040555     \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"Hisense         \",\n                        \"sfp_product_number\": \"LTE3680P-BC+1DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 1,\n                        \"slot_id\": 40\n                    },\n                    {\n                        \"id\": 616,\n                        \"pon\": 12,\n                        \"slot_pon\": \"1/12\",\n                        \"description\": \"E26-CARDOSO-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 32.08,\n                        \"voltage\": 3.21,\n                        \"tx\": 5.757,\n                        \"miro\": -24.816,\n                        \"maro\": -18.098,\n                        \"mero\": -21.13,\n                        \"dfro\": 6.72,\n                        \"mirp\": -29.699,\n                        \"marp\": -23.435,\n                        \"merp\": -26.21,\n                        \"dfrp\": 6.26,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:26\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"30961155112433  \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"SUPERXON LTD.   \",\n                        \"sfp_product_number\": \"SOGQ4321-PSGB-DM\",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 1,\n                        \"slot_id\": 40\n                    },\n                    {\n                        \"id\": 617,\n                        \"pon\": 13,\n                        \"slot_pon\": \"1/13\",\n                        \"description\": \"\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 41.132,\n                        \"voltage\": 3.253,\n                        \"tx\": 4.888,\n                        \"miro\": -25.23,\n                        \"maro\": -14.462,\n                        \"mero\": -19.38,\n                        \"dfro\": 10.77,\n                        \"mirp\": -26.188,\n                        \"marp\": -17.884,\n                        \"merp\": -22.14,\n                        \"dfrp\": 8.3,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:32\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"UQB9A039438     \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"Hisense         \",\n                        \"sfp_product_number\": \"LTE3680P-BC+1DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 1,\n                        \"slot_id\": 40\n                    },\n                    {\n                        \"id\": 618,\n                        \"pon\": 14,\n                        \"slot_pon\": \"1/14\",\n                        \"description\": \"\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 38.863,\n                        \"voltage\": 3.264,\n                        \"tx\": 5.032,\n                        \"miro\": 0.0,\n                        \"maro\": 0.0,\n                        \"mero\": 0.0,\n                        \"dfro\": 0.0,\n                        \"mirp\": 0.0,\n                        \"marp\": 0.0,\n                        \"merp\": 0.0,\n                        \"dfrp\": 0.0,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:32\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"ZTEUQBC701482   \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"Hisense         \",\n                        \"sfp_product_number\": \"LTE3680P-BC+1DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 1,\n                        \"slot_id\": 40\n                    },\n                    {\n                        \"id\": 619,\n                        \"pon\": 15,\n                        \"slot_pon\": \"1/15\",\n                        \"description\": \"\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 38.832,\n                        \"voltage\": 3.27,\n                        \"tx\": 5.105,\n                        \"miro\": 0.0,\n                        \"maro\": 0.0,\n                        \"mero\": 0.0,\n                        \"dfro\": 0.0,\n                        \"mirp\": 0.0,\n                        \"marp\": 0.0,\n                        \"merp\": 0.0,\n                        \"dfrp\": 0.0,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:34\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"ZTEUQBC703666   \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"Hisense         \",\n                        \"sfp_product_number\": \"LTE3680P-BC+1DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 1,\n                        \"slot_id\": 40\n                    },\n                    {\n                        \"id\": 620,\n                        \"pon\": 16,\n                        \"slot_pon\": null,\n                        \"description\": \"\",\n                        \"enable\": 0,\n                        \"onu_count\": 0,\n                        \"temperature\": 0.0,\n                        \"voltage\": 0.0,\n                        \"tx\": 0.0,\n                        \"miro\": 0.0,\n                        \"maro\": 0.0,\n                        \"mero\": 0.0,\n                        \"dfro\": 0.0,\n                        \"mirp\": 0.0,\n                        \"marp\": 0.0,\n                        \"merp\": 0.0,\n                        \"dfrp\": 0.0,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:34\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"ZTEUQBC701417   \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"Hisense         \",\n                        \"sfp_product_number\": \"LTE3680P-BC+1DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 1,\n                        \"slot_id\": 40\n                    }\n                ]\n            },\n            {\n                \"id\": 41,\n                \"slot\": 2,\n                \"model\": \"GTGHK\",\n                \"version\": \"V1.0.0 | pm.fw(V4.0.13)\",\n                \"pon_count\": 16,\n                \"onu_count\": 480,\n                \"exists\": true,\n                \"olt\": \"OlT_ZTE_EST_CIPO\",\n                \"olt_id\": 12,\n                \"pons\": [\n                    {\n                        \"id\": 621,\n                        \"pon\": 1,\n                        \"slot_pon\": \"2/1\",\n                        \"description\": \"E1-CONDOMINIO-ESTANCIA-CIPO-JABOTICATUBA\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 41.335,\n                        \"voltage\": 3.251,\n                        \"tx\": 4.951,\n                        \"miro\": -21.428,\n                        \"maro\": -15.046,\n                        \"mero\": -17.48,\n                        \"dfro\": 6.38,\n                        \"mirp\": -27.077,\n                        \"marp\": -17.903,\n                        \"merp\": -21.04,\n                        \"dfrp\": 9.17,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:37\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"UQB9A039956     \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"Hisense         \",\n                        \"sfp_product_number\": \"LTE3680P-BC+1DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 2,\n                        \"slot_id\": 41\n                    },\n                    {\n                        \"id\": 622,\n                        \"pon\": 2,\n                        \"slot_pon\": \"2/2\",\n                        \"description\": \"E2-CONDOMINIO-ESTANCIA-CIPO-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 42.578,\n                        \"voltage\": 3.275,\n                        \"tx\": 5.066,\n                        \"miro\": -24.56,\n                        \"maro\": -15.258,\n                        \"mero\": -18.48,\n                        \"dfro\": 9.3,\n                        \"mirp\": -25.265,\n                        \"marp\": -16.659,\n                        \"merp\": -20.2,\n                        \"dfrp\": 8.61,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:40\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"UQB9A036257     \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"Hisense         \",\n                        \"sfp_product_number\": \"LTE3680P-BC+1DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 2,\n                        \"slot_id\": 41\n                    },\n                    {\n                        \"id\": 623,\n                        \"pon\": 3,\n                        \"slot_pon\": \"2/3\",\n                        \"description\": \"E3-CONDOMINIO-ESTANCIA-CIPO-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 40.644,\n                        \"voltage\": 3.297,\n                        \"tx\": 4.98,\n                        \"miro\": -24.816,\n                        \"maro\": -14.742,\n                        \"mero\": -18.02,\n                        \"dfro\": 10.07,\n                        \"mirp\": -28.712,\n                        \"marp\": -17.948,\n                        \"merp\": -21.06,\n                        \"dfrp\": 10.76,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:44\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"UQB9A040299     \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"Hisense         \",\n                        \"sfp_product_number\": \"LTE3680P-BC+1DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 2,\n                        \"slot_id\": 41\n                    },\n                    {\n                        \"id\": 624,\n                        \"pon\": 4,\n                        \"slot_pon\": \"2/4\",\n                        \"description\": \"E9-TABOQUINHA-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 43.007,\n                        \"voltage\": 3.282,\n                        \"tx\": 4.878,\n                        \"miro\": -26.384,\n                        \"maro\": -17.056,\n                        \"mero\": -21.65,\n                        \"dfro\": 9.33,\n                        \"mirp\": -30.109,\n                        \"marp\": -19.538,\n                        \"merp\": -24.27,\n                        \"dfrp\": 10.57,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:50\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"UQB9A040145     \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"Hisense         \",\n                        \"sfp_product_number\": \"LTE3680P-BC+1DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 2,\n                        \"slot_id\": 41\n                    },\n                    {\n                        \"id\": 625,\n                        \"pon\": 5,\n                        \"slot_pon\": \"2/5\",\n                        \"description\": \"E5-TABOQUINHA-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 39.105,\n                        \"voltage\": 3.263,\n                        \"tx\": 5.415,\n                        \"miro\": -25.688,\n                        \"maro\": -15.704,\n                        \"mero\": -20.09,\n                        \"dfro\": 9.98,\n                        \"mirp\": -29.283,\n                        \"marp\": -18.035,\n                        \"merp\": -22.97,\n                        \"dfrp\": 11.25,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:53\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"SG23050146      \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"EOPTOLINK INC   \",\n                        \"sfp_product_number\": \"EOLSGT35DZTE1DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 2,\n                        \"slot_id\": 41\n                    },\n                    {\n                        \"id\": 626,\n                        \"pon\": 6,\n                        \"slot_pon\": \"2/6\",\n                        \"description\": \"E8-VARGEM-GRANDE-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 42.875,\n                        \"voltage\": 3.267,\n                        \"tx\": 4.976,\n                        \"miro\": -24.686,\n                        \"maro\": -16.308,\n                        \"mero\": -20.21,\n                        \"dfro\": 8.38,\n                        \"mirp\": -29.547,\n                        \"marp\": -20.352,\n                        \"merp\": -24.56,\n                        \"dfrp\": 9.2,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:56\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"UQB9A040005     \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"Hisense         \",\n                        \"sfp_product_number\": \"LTE3680P-BC+1DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 2,\n                        \"slot_id\": 41\n                    },\n                    {\n                        \"id\": 627,\n                        \"pon\": 7,\n                        \"slot_pon\": \"2/7\",\n                        \"description\": \"E6-VARGEM-GRANDE-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 42.578,\n                        \"voltage\": 3.284,\n                        \"tx\": 5.114,\n                        \"miro\": -27.696,\n                        \"maro\": -19.508,\n                        \"mero\": -24.63,\n                        \"dfro\": 8.19,\n                        \"mirp\": -30.222,\n                        \"marp\": -22.178,\n                        \"merp\": -27.14,\n                        \"dfrp\": 8.04,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:59:58\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"UQB9A039544     \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"Hisense         \",\n                        \"sfp_product_number\": \"LTE3680P-BC+1DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 2,\n                        \"slot_id\": 41\n                    },\n                    {\n                        \"id\": 628,\n                        \"pon\": 8,\n                        \"slot_pon\": \"2/8\",\n                        \"description\": \"E7-VARGEM-GRANDE-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 39.691,\n                        \"voltage\": 3.246,\n                        \"tx\": 6.61,\n                        \"miro\": -22.442,\n                        \"maro\": -13.216,\n                        \"mero\": -19.22,\n                        \"dfro\": 9.23,\n                        \"mirp\": -27.864,\n                        \"marp\": -19.102,\n                        \"merp\": -24.49,\n                        \"dfrp\": 8.76,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-11 00:00:04\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"U2M9A042448     \",\n                        \"sfp_class\": \"GPON/EC+\",\n                        \"sfp_vendor\": \"Hisense         \",\n                        \"sfp_product_number\": \"LTE3680P-BC+2DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 2,\n                        \"slot_id\": 41\n                    },\n                    {\n                        \"id\": 629,\n                        \"pon\": 9,\n                        \"slot_pon\": \"2/9\",\n                        \"description\": \"E4-TABOQUINHA-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 38.933,\n                        \"voltage\": 3.279,\n                        \"tx\": 4.912,\n                        \"miro\": -26.022,\n                        \"maro\": -16.074,\n                        \"mero\": -21.09,\n                        \"dfro\": 9.95,\n                        \"mirp\": -29.119,\n                        \"marp\": -18.324,\n                        \"merp\": -23.93,\n                        \"dfrp\": 10.79,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-11 00:00:12\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"UQB9A039363     \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"Hisense         \",\n                        \"sfp_product_number\": \"LTE3680P-BC+1DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 2,\n                        \"slot_id\": 41\n                    },\n                    {\n                        \"id\": 630,\n                        \"pon\": 10,\n                        \"slot_pon\": \"2/10\",\n                        \"description\": \"\\\"COQUEIROS\\\"\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 38.718,\n                        \"voltage\": 3.286,\n                        \"tx\": 4.999,\n                        \"miro\": -26.99,\n                        \"maro\": -22.52,\n                        \"mero\": -24.07,\n                        \"dfro\": 4.47,\n                        \"mirp\": -30.386,\n                        \"marp\": -27.022,\n                        \"merp\": -28.43,\n                        \"dfrp\": 3.36,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-11 00:00:15\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"UQB9A040875     \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"Hisense         \",\n                        \"sfp_product_number\": \"LTE3680P-BC+1DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 2,\n                        \"slot_id\": 41\n                    },\n                    {\n                        \"id\": 631,\n                        \"pon\": 11,\n                        \"slot_pon\": \"2/11\",\n                        \"description\": \"E21-CONDOMINIO-SERRA-DA-LIBERDADE-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 35.863,\n                        \"voltage\": 3.234,\n                        \"tx\": 6.577,\n                        \"miro\": -27.448,\n                        \"maro\": -17.306,\n                        \"mero\": -22.12,\n                        \"dfro\": 10.14,\n                        \"mirp\": -33.719,\n                        \"marp\": -21.762,\n                        \"merp\": -27.17,\n                        \"dfrp\": 11.96,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-11 00:00:24\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"U7QB1000786     \",\n                        \"sfp_class\": \"GPON/EC+\",\n                        \"sfp_vendor\": \"Hisense         \",\n                        \"sfp_product_number\": \"LTE3680P-BC+2DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 2,\n                        \"slot_id\": 41\n                    },\n                    {\n                        \"id\": 632,\n                        \"pon\": 12,\n                        \"slot_pon\": \"2/12\",\n                        \"description\": \"E14-JOAO-CONGO-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 35.878,\n                        \"voltage\": 3.242,\n                        \"tx\": 6.175,\n                        \"miro\": -26.99,\n                        \"maro\": -17.146,\n                        \"mero\": -21.81,\n                        \"dfro\": 9.84,\n                        \"mirp\": -33.01,\n                        \"marp\": -21.662,\n                        \"merp\": -27.19,\n                        \"dfrp\": 11.35,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:58:36\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"SH6G718762      \",\n                        \"sfp_class\": \"\",\n                        \"sfp_vendor\": \"EOPTOLINK INC   \",\n                        \"sfp_product_number\": \"EOLS-GT-37-D-DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 2,\n                        \"slot_id\": 41\n                    },\n                    {\n                        \"id\": 633,\n                        \"pon\": 13,\n                        \"slot_pon\": \"2/13\",\n                        \"description\": \"E12-CONDOMINIO-SERRA-DE-MINAS-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 38.832,\n                        \"voltage\": 3.279,\n                        \"tx\": 4.937,\n                        \"miro\": -26.576,\n                        \"maro\": -21.192,\n                        \"mero\": -23.18,\n                        \"dfro\": 5.38,\n                        \"mirp\": -29.363,\n                        \"marp\": -24.179,\n                        \"merp\": -26.07,\n                        \"dfrp\": 5.18,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:58:39\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"UQB9A040286     \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"Hisense         \",\n                        \"sfp_product_number\": \"LTE3680P-BC+1DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 2,\n                        \"slot_id\": 41\n                    },\n                    {\n                        \"id\": 634,\n                        \"pon\": 14,\n                        \"slot_pon\": \"2/14\",\n                        \"description\": \"E22-CONDOMINIO-SERRA-DA-LIBERDADE-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 38.0,\n                        \"voltage\": 3.292,\n                        \"tx\": 7.174,\n                        \"miro\": -24.09,\n                        \"maro\": -14.98,\n                        \"mero\": -20.29,\n                        \"dfro\": 9.11,\n                        \"mirp\": -29.51,\n                        \"marp\": -17.366,\n                        \"merp\": -25.78,\n                        \"dfrp\": 12.14,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:58:43\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"T4603173501759  \",\n                        \"sfp_class\": \"\",\n                        \"sfp_vendor\": \"TSUHAN LTD.     \",\n                        \"sfp_product_number\": \"THMPRS4343GQA-DM\",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 2,\n                        \"slot_id\": 41\n                    },\n                    {\n                        \"id\": 635,\n                        \"pon\": 15,\n                        \"slot_pon\": \"2/15\",\n                        \"description\": \"E23-CAPAOZINHO---RECANTO-DA-SERRA-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 29.69,\n                        \"voltage\": 3.217,\n                        \"tx\": 5.478,\n                        \"miro\": -28.24,\n                        \"maro\": -13.706,\n                        \"mero\": -19.84,\n                        \"dfro\": 14.53,\n                        \"mirp\": -28.246,\n                        \"marp\": -17.305,\n                        \"merp\": -22.41,\n                        \"dfrp\": 10.94,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:58:46\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"30961162803463  \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"SUPERXON LTD.   \",\n                        \"sfp_product_number\": \"SOGQ4321-PSGB-DM\",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 2,\n                        \"slot_id\": 41\n                    },\n                    {\n                        \"id\": 636,\n                        \"pon\": 16,\n                        \"slot_pon\": \"2/16\",\n                        \"description\": \"E13-JOAO-CONGO-JABOTICATUBAS\",\n                        \"enable\": 1,\n                        \"onu_count\": 0,\n                        \"temperature\": 35.191,\n                        \"voltage\": 3.26,\n                        \"tx\": 5.09,\n                        \"miro\": -27.96,\n                        \"maro\": -18.388,\n                        \"mero\": -23.4,\n                        \"dfro\": 9.57,\n                        \"mirp\": -32.598,\n                        \"marp\": -19.995,\n                        \"merp\": -26.18,\n                        \"dfrp\": 12.6,\n                        \"rx_pon_onu_warning\": 0.0,\n                        \"rx_pon_onu_critical\": 0.0,\n                        \"rx_pon_olt_warning\": 0.0,\n                        \"rx_pon_olt_critical\": 0.0,\n                        \"last_monitoring_update\": \"2025-09-10 23:58:50\",\n                        \"min_rx_activate\": 0.0,\n                        \"max_amount_onu\": 128,\n                        \"sfp_serial\": \"UQB9A040552     \",\n                        \"sfp_class\": \"GPON/C+\",\n                        \"sfp_vendor\": \"Hisense         \",\n                        \"sfp_product_number\": \"LTE3680P-BC+1DM \",\n                        \"olt_name\": \"OlT_ZTE_EST_CIPO\",\n                        \"olt_id\": 12,\n                        \"slot\": 2,\n                        \"slot_id\": 41\n                    }\n                ]\n            }\n        ]\n    }\n}"}],"_postman_id":"fd1b47cf-06ef-4d7e-aa98-3c0ee10e9982"},{"name":"LIST OLTs","id":"4a2b298d-3a62-4170-9f1d-7d729bf6b2bd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olts","urlObject":{"path":["api","v2","ftth","olts"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"ae3ce048-47a9-4194-8dc2-0e332b8cc1c7","name":"GET OLTs","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olts"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 07 Oct 2024 15:31:08 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"173"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"olts\": [\n        {\n            \"id\": 1,\n            \"external_id\": \"1\",\n            \"number\": 1,\n            \"name\": \"OLT_ITP01\",\n            \"vendor\": \"Huawei\",\n            \"version\": \"MA5800\",\n            \"ip\": \"10.0.0.32\",\n            \"enable\": true,\n            \"technology\": \"GPON\"\n        }\n    ]\n}"}],"_postman_id":"4a2b298d-3a62-4170-9f1d-7d729bf6b2bd"},{"name":"GET PON","id":"d30f7e16-0232-47f7-9a5f-e7e6df984df2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/pons/<id_pon>","description":"<p>This endpoint returns detailed information about a <strong>PON port</strong> of a specific OLT, including:</p>\n<ul>\n<li><p><strong>PON Identification and Configuration</strong>:</p>\n<ul>\n<li><p>ID, slot/pon number, enable status, maximum supported ONUs, number of connected ONUs.</p>\n</li>\n<li><p>Optical module hardware details (serial, class, vendor, and product number).</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Monitoring Metrics</strong>:</p>\n<ul>\n<li><p>Temperature, voltage, bias current, transmit (TX) and receive (RX) power, as well as optical error margins (MIR, MAR, MER, DFR).</p>\n</li>\n<li><p>Configured warning/critical thresholds for RX.</p>\n</li>\n<li><p>Date/time of the last monitoring update.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Connected Equipment (ONUs)</strong>:</p>\n<p>  List of ONUs associated with the PON, including:</p>\n<ul>\n<li><p>Identification (internal ID, serial, model, alias).</p>\n</li>\n<li><p>Operational status (Online, Inactive), uptime, last connection/disconnection.</p>\n</li>\n<li><p>Optical data (ONU RX/TX and OLT RX).</p>\n</li>\n<li><p>Linked customer information (ID, PPPoE, contract, VLANs).</p>\n</li>\n<li><p>Topology location (slot/pon/onu_id).</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Traffic Statistics</strong>:</p>\n<ul>\n<li>Received frames, discarded frames, error frames, and CRC.</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"path":["api","v2","ftth","pons","<id_pon>"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"66256dc0-e338-4b38-8a1c-3c835590f0b0","name":"GET PON","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/pons/480"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"data\": {\n        \"id\": 480,\n        \"pon\": 15,\n        \"slot_pon\": \"14/15\",\n        \"description\": \"\",\n        \"enable\": 1,\n        \"onu_count\": 3,\n        \"temperature\": 34,\n        \"voltage\": 3.31,\n        \"bias_current\": 27,\n        \"tx\": 5.87,\n        \"miro\": -19.66,\n        \"maro\": -18.86,\n        \"mero\": -19.26,\n        \"dfro\": 0.8,\n        \"mirp\": -25.23,\n        \"marp\": -24.09,\n        \"merp\": -24.66,\n        \"dfrp\": 1.14,\n        \"rx_pon_onu_warning\": 0,\n        \"rx_pon_onu_critical\": 0,\n        \"rx_pon_olt_warning\": 0,\n        \"rx_pon_olt_critical\": 0,\n        \"last_monitoring_update\": \"2025-09-08 23:42:57\",\n        \"min_rx_activate\": 0,\n        \"max_amount_onu\": 64,\n        \"sfp_serial\": \"033JSNMBMA807568\",\n        \"sfp_class\": \"C+\",\n        \"sfp_vendor\": \"HISILICON       \",\n        \"sfp_product_number\": \"SSX1T1LTD       \",\n        \"olt_name\": \"olt4-adg-se\",\n        \"olt_id\": 5,\n        \"slot\": 14,\n        \"slot_id\": 38,\n        \"equipments\": [\n            {\n                \"id\": 8252,\n                \"serial_number\": \"HWTC1505ADAB\",\n                \"status\": \"Online\",\n                \"last_status_update\": \"2025-04-14 16:07:52\",\n                \"last_disconnection\": \"2025-04-14 06:10:35\",\n                \"uptime_since\": \"2025-04-14 16:07:52\",\n                \"model\": \"EG8145V5-V2\",\n                \"device_alias\": \"2089376\",\n                \"distance\": 0,\n                \"temperature\": 63,\n                \"device_rx\": -19.66,\n                \"device_tx\": 2.21,\n                \"olt_rx\": -24.09,\n                \"client_id\": 28143,\n                \"client_pppoe\": \"2089376\",\n                \"external_client_id\": \"2089376\",\n                \"external_client_contract_id\": \"2089376\",\n                \"vlans\": [\n                    \"4072\",\n                    \"679\"\n                ],\n                \"olt\": \"olt4-adg-se\",\n                \"olt_id\": 5,\n                \"olt_external_id\": \"olt4-adg-se\",\n                \"slot\": 14,\n                \"slot_id\": 38,\n                \"pon\": 15,\n                \"pon_id\": 480,\n                \"onu_id\": 0,\n                \"tags\": [],\n                \"slot/pon/onu_id\": \"14/15/0\"\n            },\n            {\n                \"id\": 8253,\n                \"serial_number\": \"HWTC2AACFCAB\",\n                \"status\": \"Online\",\n                \"last_status_update\": \"2025-04-14 16:07:52\",\n                \"last_disconnection\": \"2025-04-14 06:10:36\",\n                \"uptime_since\": \"2025-04-14 16:07:52\",\n                \"model\": \"EG8145V5-V2\",\n                \"device_alias\": \"2143818\",\n                \"distance\": 0,\n                \"temperature\": 55,\n                \"device_rx\": -18.86,\n                \"device_tx\": 2.32,\n                \"olt_rx\": -25.23,\n                \"client_id\": 19127,\n                \"client_pppoe\": \"2143818\",\n                \"external_client_id\": \"2143818\",\n                \"external_client_contract_id\": \"2143818\",\n                \"vlans\": [\n                    \"3056\",\n                    \"4072\"\n                ],\n                \"olt\": \"olt4-adg-se\",\n                \"olt_id\": 5,\n                \"olt_external_id\": \"olt4-adg-se\",\n                \"slot\": 14,\n                \"slot_id\": 38,\n                \"pon\": 15,\n                \"pon_id\": 480,\n                \"onu_id\": 1,\n                \"tags\": [],\n                \"slot/pon/onu_id\": \"14/15/1\"\n            },\n            {\n                \"id\": 678176,\n                \"serial_number\": \"HWTC2AABE7AB\",\n                \"status\": \"Inativo\",\n                \"last_status_update\": \"2025-08-20 15:59:05\",\n                \"last_disconnection\": \"2025-08-20 15:59:05\",\n                \"uptime_since\": null,\n                \"model\": null,\n                \"device_alias\": \"6276384\",\n                \"distance\": 0,\n                \"temperature\": 0,\n                \"device_rx\": 0,\n                \"device_tx\": 0,\n                \"olt_rx\": 0,\n                \"client_id\": 207344,\n                \"client_pppoe\": \"5359465\",\n                \"external_client_id\": \"5359465\",\n                \"external_client_contract_id\": \"5359465\",\n                \"vlans\": [\n                    \"3056\",\n                    \"4072\"\n                ],\n                \"olt\": \"olt4-adg-se\",\n                \"olt_id\": 5,\n                \"olt_external_id\": \"olt4-adg-se\",\n                \"slot\": 14,\n                \"slot_id\": 38,\n                \"pon\": 15,\n                \"pon_id\": 480,\n                \"onu_id\": 3,\n                \"tags\": [],\n                \"slot/pon/onu_id\": \"14/15/3\"\n            }\n        ],\n        \"frames\": {\n            \"frame_recived\": 2783843803,\n            \"frame_crc\": 0,\n            \"frame_error\": 0,\n            \"frame_discarted\": 0\n        }\n    }\n}"}],"_postman_id":"d30f7e16-0232-47f7-9a5f-e7e6df984df2"},{"name":"LIST PONs","id":"3d067d4e-3e87-4bd2-b7bc-2dc16e8ca49e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/pons","description":"<p>This endpoint returns a list of all PONs registered in the system, allowing filters and specific searches. The response includes essential information for each PON, such as identifiers, OLT name, enable status, maximum supported ONUs, current ONU count, last monitoring update, and optical module details (serial, class, vendor, and product number). This resource is mainly used to simplify the management and consultation of PON ports across the system, providing flexibility for locating and analyzing network resources.</p>\n","urlObject":{"path":["api","v2","ftth","pons"],"host":["https://your-instance.olt.com"],"query":[{"disabled":true,"key":"slot_pon","value":null},{"disabled":true,"key":"olt_id","value":null},{"disabled":true,"key":"slot_id","value":null},{"disabled":true,"key":"id","value":null},{"disabled":true,"key":"olt_name","value":null},{"disabled":true,"key":"max_amount_onu","value":null},{"disabled":true,"key":"onu_count","value":null},{"disabled":true,"key":"pon","value":null},{"disabled":true,"key":"slot","value":null}],"variable":[]}},"response":[{"id":"5daac27b-564a-40a9-8969-cf2a46bf64b8","name":"LIST PONs","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://your-instance.olt.com/api/v2/ftth/pons?olt_id=123&slot=1","host":["https://your-instance.olt.com"],"path":["api","v2","ftth","pons"],"query":[{"key":"olt_id","value":"123"},{"key":"slot","value":"1"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"return\": true,\n    \"count\": 16,\n    \"next\": null,\n    \"previous\": null,\n    \"results\": [\n        {\n            \"id\": 18433,\n            \"pon\": 0,\n            \"slot_pon\": \"1/0\",\n            \"description\": \"\",\n            \"enable\": 1,\n            \"onu_count\": 14,\n            \"temperature\": 37,\n            \"voltage\": 3.29,\n            \"bias_current\": 5,\n            \"tx\": 5.55,\n            \"miro\": -33.97,\n            \"maro\": -17.16,\n            \"mero\": -21.04,\n            \"dfro\": 16.81,\n            \"mirp\": -25.58,\n            \"marp\": -19.33,\n            \"merp\": -22.08,\n            \"dfrp\": 6.25,\n            \"rx_pon_onu_warning\": 0,\n            \"rx_pon_onu_critical\": 0,\n            \"rx_pon_olt_warning\": 0,\n            \"rx_pon_olt_critical\": 0,\n            \"last_monitoring_update\": \"2025-09-08 23:59:40\",\n            \"min_rx_activate\": 0,\n            \"max_amount_onu\": 64,\n            \"sfp_serial\": \"V5VC4002782     \",\n            \"sfp_class\": \"C+\",\n            \"sfp_vendor\": \"Hisense         \",\n            \"sfp_product_number\": \"LTE3680P-BC+    \",\n            \"olt_name\": \"olt3-mva-se\",\n            \"olt_id\": 123,\n            \"slot\": 1,\n            \"slot_id\": 1213\n        },\n        {\n            \"id\": 18434,\n            \"pon\": 1,\n            \"slot_pon\": \"1/1\",\n            \"description\": \"\",\n            \"enable\": 1,\n            \"onu_count\": 12,\n            \"temperature\": 40,\n            \"voltage\": 3.29,\n            \"bias_current\": 6,\n            \"tx\": 5.47,\n            \"miro\": -24.95,\n            \"maro\": -17.21,\n            \"mero\": -19.7,\n            \"dfro\": 7.74,\n            \"mirp\": -23.61,\n            \"marp\": -19.79,\n            \"merp\": -21.63,\n            \"dfrp\": 3.82,\n            \"rx_pon_onu_warning\": 0,\n            \"rx_pon_onu_critical\": 0,\n            \"rx_pon_olt_warning\": 0,\n            \"rx_pon_olt_critical\": 0,\n            \"last_monitoring_update\": \"2025-09-08 23:59:41\",\n            \"min_rx_activate\": 0,\n            \"max_amount_onu\": 64,\n            \"sfp_serial\": \"V5VC4001231     \",\n            \"sfp_class\": \"C+\",\n            \"sfp_vendor\": \"Hisense         \",\n            \"sfp_product_number\": \"LTE3680P-BC+    \",\n            \"olt_name\": \"olt3-mva-se\",\n            \"olt_id\": 123,\n            \"slot\": 1,\n            \"slot_id\": 1213\n        },\n        {\n            \"id\": 18435,\n            \"pon\": 2,\n            \"slot_pon\": \"1/2\",\n            \"description\": \"\",\n            \"enable\": 1,\n            \"onu_count\": 8,\n            \"temperature\": 38,\n            \"voltage\": 3.3,\n            \"bias_current\": 5,\n            \"tx\": 5.5,\n            \"miro\": -26.19,\n            \"maro\": -18.24,\n            \"mero\": -21.22,\n            \"dfro\": 7.95,\n            \"mirp\": -27.82,\n            \"marp\": -20.9,\n            \"merp\": -22.92,\n            \"dfrp\": 6.92,\n            \"rx_pon_onu_warning\": 0,\n            \"rx_pon_onu_critical\": 0,\n            \"rx_pon_olt_warning\": 0,\n            \"rx_pon_olt_critical\": 0,\n            \"last_monitoring_update\": \"2025-09-08 23:59:41\",\n            \"min_rx_activate\": 0,\n            \"max_amount_onu\": 64,\n            \"sfp_serial\": \"V5VC4003328     \",\n            \"sfp_class\": \"C+\",\n            \"sfp_vendor\": \"Hisense         \",\n            \"sfp_product_number\": \"LTE3680P-BC+    \",\n            \"olt_name\": \"olt3-mva-se\",\n            \"olt_id\": 123,\n            \"slot\": 1,\n            \"slot_id\": 1213\n        },\n        {\n            \"id\": 18436,\n            \"pon\": 3,\n            \"slot_pon\": \"1/3\",\n            \"description\": \"\",\n            \"enable\": 1,\n            \"onu_count\": 0,\n            \"temperature\": 37,\n            \"voltage\": 3.28,\n            \"bias_current\": 6,\n            \"tx\": 5.56,\n            \"miro\": 0,\n            \"maro\": 0,\n            \"mero\": 0,\n            \"dfro\": 0,\n            \"mirp\": 0,\n            \"marp\": 0,\n            \"merp\": 0,\n            \"dfrp\": 0,\n            \"rx_pon_onu_warning\": 0,\n            \"rx_pon_onu_critical\": 0,\n            \"rx_pon_olt_warning\": 0,\n            \"rx_pon_olt_critical\": 0,\n            \"last_monitoring_update\": \"2025-09-08 23:59:42\",\n            \"min_rx_activate\": 0,\n            \"max_amount_onu\": 128,\n            \"sfp_serial\": \"V5VC4003202     \",\n            \"sfp_class\": \"C+\",\n            \"sfp_vendor\": \"Hisense         \",\n            \"sfp_product_number\": \"LTE3680P-BC+    \",\n            \"olt_name\": \"olt3-mva-se\",\n            \"olt_id\": 123,\n            \"slot\": 1,\n            \"slot_id\": 1213\n        },\n        {\n            \"id\": 18437,\n            \"pon\": 4,\n            \"slot_pon\": \"1/4\",\n            \"description\": \"\",\n            \"enable\": 1,\n            \"onu_count\": 0,\n            \"temperature\": 39,\n            \"voltage\": 3.29,\n            \"bias_current\": 5,\n            \"tx\": 5.54,\n            \"miro\": 0,\n            \"maro\": 0,\n            \"mero\": 0,\n            \"dfro\": 0,\n            \"mirp\": 0,\n            \"marp\": 0,\n            \"merp\": 0,\n            \"dfrp\": 0,\n            \"rx_pon_onu_warning\": 0,\n            \"rx_pon_onu_critical\": 0,\n            \"rx_pon_olt_warning\": 0,\n            \"rx_pon_olt_critical\": 0,\n            \"last_monitoring_update\": \"2025-09-08 23:59:42\",\n            \"min_rx_activate\": 0,\n            \"max_amount_onu\": 128,\n            \"sfp_serial\": \"V5VC4002801     \",\n            \"sfp_class\": \"C+\",\n            \"sfp_vendor\": \"Hisense         \",\n            \"sfp_product_number\": \"LTE3680P-BC+    \",\n            \"olt_name\": \"olt3-mva-se\",\n            \"olt_id\": 123,\n            \"slot\": 1,\n            \"slot_id\": 1213\n        },\n        {\n            \"id\": 18438,\n            \"pon\": 5,\n            \"slot_pon\": \"1/5\",\n            \"description\": \"\",\n            \"enable\": 1,\n            \"onu_count\": 0,\n            \"temperature\": 40,\n            \"voltage\": 3.28,\n            \"bias_current\": 5,\n            \"tx\": 5.47,\n            \"miro\": 0,\n            \"maro\": 0,\n            \"mero\": 0,\n            \"dfro\": 0,\n            \"mirp\": 0,\n            \"marp\": 0,\n            \"merp\": 0,\n            \"dfrp\": 0,\n            \"rx_pon_onu_warning\": 0,\n            \"rx_pon_onu_critical\": 0,\n            \"rx_pon_olt_warning\": 0,\n            \"rx_pon_olt_critical\": 0,\n            \"last_monitoring_update\": \"2025-09-08 23:59:43\",\n            \"min_rx_activate\": 0,\n            \"max_amount_onu\": 128,\n            \"sfp_serial\": \"V5VC4000532     \",\n            \"sfp_class\": \"C+\",\n            \"sfp_vendor\": \"Hisense         \",\n            \"sfp_product_number\": \"LTE3680P-BC+    \",\n            \"olt_name\": \"olt3-mva-se\",\n            \"olt_id\": 123,\n            \"slot\": 1,\n            \"slot_id\": 1213\n        },\n        {\n            \"id\": 18439,\n            \"pon\": 6,\n            \"slot_pon\": \"1/6\",\n            \"description\": \"\",\n            \"enable\": 1,\n            \"onu_count\": 0,\n            \"temperature\": 39,\n            \"voltage\": 3.28,\n            \"bias_current\": 5,\n            \"tx\": 5.5,\n            \"miro\": 0,\n            \"maro\": 0,\n            \"mero\": 0,\n            \"dfro\": 0,\n            \"mirp\": 0,\n            \"marp\": 0,\n            \"merp\": 0,\n            \"dfrp\": 0,\n            \"rx_pon_onu_warning\": 0,\n            \"rx_pon_onu_critical\": 0,\n            \"rx_pon_olt_warning\": 0,\n            \"rx_pon_olt_critical\": 0,\n            \"last_monitoring_update\": \"2025-09-08 23:59:43\",\n            \"min_rx_activate\": 0,\n            \"max_amount_onu\": 128,\n            \"sfp_serial\": \"V5VC4009368     \",\n            \"sfp_class\": \"C+\",\n            \"sfp_vendor\": \"Hisense         \",\n            \"sfp_product_number\": \"LTE3680P-BC+    \",\n            \"olt_name\": \"olt3-mva-se\",\n            \"olt_id\": 123,\n            \"slot\": 1,\n            \"slot_id\": 1213\n        },\n        {\n            \"id\": 18440,\n            \"pon\": 7,\n            \"slot_pon\": \"1/7\",\n            \"description\": \"\",\n            \"enable\": 1,\n            \"onu_count\": 0,\n            \"temperature\": 40,\n            \"voltage\": 3.28,\n            \"bias_current\": 6,\n            \"tx\": 5.5,\n            \"miro\": 0,\n            \"maro\": 0,\n            \"mero\": 0,\n            \"dfro\": 0,\n            \"mirp\": 0,\n            \"marp\": 0,\n            \"merp\": 0,\n            \"dfrp\": 0,\n            \"rx_pon_onu_warning\": 0,\n            \"rx_pon_onu_critical\": 0,\n            \"rx_pon_olt_warning\": 0,\n            \"rx_pon_olt_critical\": 0,\n            \"last_monitoring_update\": \"2025-09-08 23:59:44\",\n            \"min_rx_activate\": 0,\n            \"max_amount_onu\": 128,\n            \"sfp_serial\": \"V5VC4011963     \",\n            \"sfp_class\": \"C+\",\n            \"sfp_vendor\": \"Hisense         \",\n            \"sfp_product_number\": \"LTE3680P-BC+    \",\n            \"olt_name\": \"olt3-mva-se\",\n            \"olt_id\": 123,\n            \"slot\": 1,\n            \"slot_id\": 1213\n        },\n        {\n            \"id\": 18441,\n            \"pon\": 8,\n            \"slot_pon\": \"1/8\",\n            \"description\": \"\",\n            \"enable\": 1,\n            \"onu_count\": 0,\n            \"temperature\": 40,\n            \"voltage\": 3.28,\n            \"bias_current\": 5,\n            \"tx\": 5.53,\n            \"miro\": 0,\n            \"maro\": 0,\n            \"mero\": 0,\n            \"dfro\": 0,\n            \"mirp\": 0,\n            \"marp\": 0,\n            \"merp\": 0,\n            \"dfrp\": 0,\n            \"rx_pon_onu_warning\": 0,\n            \"rx_pon_onu_critical\": 0,\n            \"rx_pon_olt_warning\": 0,\n            \"rx_pon_olt_critical\": 0,\n            \"last_monitoring_update\": \"2025-09-08 23:59:44\",\n            \"min_rx_activate\": 0,\n            \"max_amount_onu\": 128,\n            \"sfp_serial\": \"V5VC4012086     \",\n            \"sfp_class\": \"C+\",\n            \"sfp_vendor\": \"Hisense         \",\n            \"sfp_product_number\": \"LTE3680P-BC+    \",\n            \"olt_name\": \"olt3-mva-se\",\n            \"olt_id\": 123,\n            \"slot\": 1,\n            \"slot_id\": 1213\n        },\n        {\n            \"id\": 18442,\n            \"pon\": 9,\n            \"slot_pon\": \"1/9\",\n            \"description\": \"\",\n            \"enable\": 1,\n            \"onu_count\": 0,\n            \"temperature\": 40,\n            \"voltage\": 3.27,\n            \"bias_current\": 5,\n            \"tx\": 5.48,\n            \"miro\": 0,\n            \"maro\": 0,\n            \"mero\": 0,\n            \"dfro\": 0,\n            \"mirp\": 0,\n            \"marp\": 0,\n            \"merp\": 0,\n            \"dfrp\": 0,\n            \"rx_pon_onu_warning\": 0,\n            \"rx_pon_onu_critical\": 0,\n            \"rx_pon_olt_warning\": 0,\n            \"rx_pon_olt_critical\": 0,\n            \"last_monitoring_update\": \"2025-09-08 23:59:45\",\n            \"min_rx_activate\": 0,\n            \"max_amount_onu\": 128,\n            \"sfp_serial\": \"V5VC4009841     \",\n            \"sfp_class\": \"C+\",\n            \"sfp_vendor\": \"Hisense         \",\n            \"sfp_product_number\": \"LTE3680P-BC+    \",\n            \"olt_name\": \"olt3-mva-se\",\n            \"olt_id\": 123,\n            \"slot\": 1,\n            \"slot_id\": 1213\n        },\n        {\n            \"id\": 18443,\n            \"pon\": 10,\n            \"slot_pon\": \"1/10\",\n            \"description\": \"\",\n            \"enable\": 1,\n            \"onu_count\": 0,\n            \"temperature\": 38,\n            \"voltage\": 3.28,\n            \"bias_current\": 4,\n            \"tx\": 5.52,\n            \"miro\": 0,\n            \"maro\": 0,\n            \"mero\": 0,\n            \"dfro\": 0,\n            \"mirp\": 0,\n            \"marp\": 0,\n            \"merp\": 0,\n            \"dfrp\": 0,\n            \"rx_pon_onu_warning\": 0,\n            \"rx_pon_onu_critical\": 0,\n            \"rx_pon_olt_warning\": 0,\n            \"rx_pon_olt_critical\": 0,\n            \"last_monitoring_update\": \"2025-09-08 23:59:45\",\n            \"min_rx_activate\": 0,\n            \"max_amount_onu\": 128,\n            \"sfp_serial\": \"V5VC4008180     \",\n            \"sfp_class\": \"C+\",\n            \"sfp_vendor\": \"Hisense         \",\n            \"sfp_product_number\": \"LTE3680P-BC+    \",\n            \"olt_name\": \"olt3-mva-se\",\n            \"olt_id\": 123,\n            \"slot\": 1,\n            \"slot_id\": 1213\n        },\n        {\n            \"id\": 18444,\n            \"pon\": 11,\n            \"slot_pon\": \"1/11\",\n            \"description\": \"\",\n            \"enable\": 1,\n            \"onu_count\": 0,\n            \"temperature\": 39,\n            \"voltage\": 3.28,\n            \"bias_current\": 5,\n            \"tx\": 5.48,\n            \"miro\": 0,\n            \"maro\": 0,\n            \"mero\": 0,\n            \"dfro\": 0,\n            \"mirp\": 0,\n            \"marp\": 0,\n            \"merp\": 0,\n            \"dfrp\": 0,\n            \"rx_pon_onu_warning\": 0,\n            \"rx_pon_onu_critical\": 0,\n            \"rx_pon_olt_warning\": 0,\n            \"rx_pon_olt_critical\": 0,\n            \"last_monitoring_update\": \"2025-09-08 23:59:45\",\n            \"min_rx_activate\": 0,\n            \"max_amount_onu\": 128,\n            \"sfp_serial\": \"V5VC4008820     \",\n            \"sfp_class\": \"C+\",\n            \"sfp_vendor\": \"Hisense         \",\n            \"sfp_product_number\": \"LTE3680P-BC+    \",\n            \"olt_name\": \"olt3-mva-se\",\n            \"olt_id\": 123,\n            \"slot\": 1,\n            \"slot_id\": 1213\n        },\n        {\n            \"id\": 18445,\n            \"pon\": 12,\n            \"slot_pon\": \"1/12\",\n            \"description\": \"\",\n            \"enable\": 1,\n            \"onu_count\": 0,\n            \"temperature\": 38,\n            \"voltage\": 3.28,\n            \"bias_current\": 5,\n            \"tx\": 5.48,\n            \"miro\": 0,\n            \"maro\": 0,\n            \"mero\": 0,\n            \"dfro\": 0,\n            \"mirp\": 0,\n            \"marp\": 0,\n            \"merp\": 0,\n            \"dfrp\": 0,\n            \"rx_pon_onu_warning\": 0,\n            \"rx_pon_onu_critical\": 0,\n            \"rx_pon_olt_warning\": 0,\n            \"rx_pon_olt_critical\": 0,\n            \"last_monitoring_update\": \"2025-09-08 23:59:48\",\n            \"min_rx_activate\": 0,\n            \"max_amount_onu\": 128,\n            \"sfp_serial\": \"V5VC4011940     \",\n            \"sfp_class\": \"C+\",\n            \"sfp_vendor\": \"Hisense         \",\n            \"sfp_product_number\": \"LTE3680P-BC+    \",\n            \"olt_name\": \"olt3-mva-se\",\n            \"olt_id\": 123,\n            \"slot\": 1,\n            \"slot_id\": 1213\n        },\n        {\n            \"id\": 18446,\n            \"pon\": 13,\n            \"slot_pon\": \"1/13\",\n            \"description\": \"\",\n            \"enable\": 1,\n            \"onu_count\": 0,\n            \"temperature\": 37,\n            \"voltage\": 3.26,\n            \"bias_current\": 5,\n            \"tx\": 5.48,\n            \"miro\": 0,\n            \"maro\": 0,\n            \"mero\": 0,\n            \"dfro\": 0,\n            \"mirp\": 0,\n            \"marp\": 0,\n            \"merp\": 0,\n            \"dfrp\": 0,\n            \"rx_pon_onu_warning\": 0,\n            \"rx_pon_onu_critical\": 0,\n            \"rx_pon_olt_warning\": 0,\n            \"rx_pon_olt_critical\": 0,\n            \"last_monitoring_update\": \"2025-09-08 23:59:50\",\n            \"min_rx_activate\": 0,\n            \"max_amount_onu\": 128,\n            \"sfp_serial\": \"V5VC4012087     \",\n            \"sfp_class\": \"C+\",\n            \"sfp_vendor\": \"Hisense         \",\n            \"sfp_product_number\": \"LTE3680P-BC+    \",\n            \"olt_name\": \"olt3-mva-se\",\n            \"olt_id\": 123,\n            \"slot\": 1,\n            \"slot_id\": 1213\n        },\n        {\n            \"id\": 18447,\n            \"pon\": 14,\n            \"slot_pon\": \"1/14\",\n            \"description\": \"\",\n            \"enable\": 1,\n            \"onu_count\": 0,\n            \"temperature\": 36,\n            \"voltage\": 3.28,\n            \"bias_current\": 5,\n            \"tx\": 5.49,\n            \"miro\": 0,\n            \"maro\": 0,\n            \"mero\": 0,\n            \"dfro\": 0,\n            \"mirp\": 0,\n            \"marp\": 0,\n            \"merp\": 0,\n            \"dfrp\": 0,\n            \"rx_pon_onu_warning\": 0,\n            \"rx_pon_onu_critical\": 0,\n            \"rx_pon_olt_warning\": 0,\n            \"rx_pon_olt_critical\": 0,\n            \"last_monitoring_update\": \"2025-09-08 23:59:52\",\n            \"min_rx_activate\": 0,\n            \"max_amount_onu\": 128,\n            \"sfp_serial\": \"V5VC4009922     \",\n            \"sfp_class\": \"C+\",\n            \"sfp_vendor\": \"Hisense         \",\n            \"sfp_product_number\": \"LTE3680P-BC+    \",\n            \"olt_name\": \"olt3-mva-se\",\n            \"olt_id\": 123,\n            \"slot\": 1,\n            \"slot_id\": 1213\n        },\n        {\n            \"id\": 18448,\n            \"pon\": 15,\n            \"slot_pon\": \"1/15\",\n            \"description\": \"\",\n            \"enable\": 1,\n            \"onu_count\": 0,\n            \"temperature\": 36,\n            \"voltage\": 3.28,\n            \"bias_current\": 6,\n            \"tx\": 5.47,\n            \"miro\": 0,\n            \"maro\": 0,\n            \"mero\": 0,\n            \"dfro\": 0,\n            \"mirp\": 0,\n            \"marp\": 0,\n            \"merp\": 0,\n            \"dfrp\": 0,\n            \"rx_pon_onu_warning\": 0,\n            \"rx_pon_onu_critical\": 0,\n            \"rx_pon_olt_warning\": 0,\n            \"rx_pon_olt_critical\": 0,\n            \"last_monitoring_update\": \"2025-09-08 23:59:54\",\n            \"min_rx_activate\": 0,\n            \"max_amount_onu\": 128,\n            \"sfp_serial\": \"V5VC4010999     \",\n            \"sfp_class\": \"C+\",\n            \"sfp_vendor\": \"Hisense         \",\n            \"sfp_product_number\": \"LTE3680P-BC+    \",\n            \"olt_name\": \"olt3-mva-se\",\n            \"olt_id\": 123,\n            \"slot\": 1,\n            \"slot_id\": 1213\n        }\n    ]\n}"}],"_postman_id":"3d067d4e-3e87-4bd2-b7bc-2dc16e8ca49e"},{"name":"GET Impact Activity","id":"a7f08aad-04c9-471d-9bfc-53ffa51cd391","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/impact_activity/list","description":"<p>This endpoint lists all scheduled or ongoing impact activities. It can be used in conjunction with the endpoint below, <strong>\"GET Impact Activity Clients\"</strong> to list all clients affected by an impact activity.</p>\n","urlObject":{"path":["api","v2","impact_activity","list"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"ea6257fa-4e3b-476e-b758-23afae66fd5e","name":"GET Impact Activity","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/impact_activity/list"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 07 Oct 2024 15:31:08 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"173"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"total\": 1,\n    \"results\": [\n        {\n            \"id\": 1,\n            \"name\": \"reparo splitter\",\n            \"type_of_activity\": \"manutenção splitter\",\n            \"type_of_impact\": \"Impacto Parcial\",\n            \"scheduled\": false,\n            \"status\": \"Atividade Programada\",\n            \"finished\": false,\n            \"start_date\": \"2024-11-06T17:34:00\",\n            \"end_date\": \"2024-11-13T17:34:00\",\n            \"observations\": \"teste\",\n            \"responsible\": \"Admin\",\n            \"filters\": [\n                {\n                    \"filter\": \"PON\",\n                    \"content\": \"PON: 7 - SLOT: 3 - OLT: 2510\"\n                }\n            ]\n        }\n    ]\n}"}],"_postman_id":"a7f08aad-04c9-471d-9bfc-53ffa51cd391"},{"name":"GET Impact Activity Clients","id":"e718c3bf-6f4b-46a8-a514-bce4f71d92d5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/impact_activity/{id}/clients","description":"<p>This endpoint lists all clients affected by an impact activity.</p>\n","urlObject":{"path":["api","v2","impact_activity","{id}","clients"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"6ac79df2-bca6-4a96-a4b5-0c5234d0c571","name":"GET Impact Activity Clients","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/impact_activity/{id}/clients"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.18.0 (Ubuntu)"},{"key":"Date","value":"Mon, 07 Oct 2024 15:31:08 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"173"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept, origin"},{"key":"Allow","value":"GET, HEAD, OPTIONS"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"total\": 3,\n    \"results\": {\n        \"clients\": [\n            {\n                \"id\": 1074,\n                \"client_name\": \"Diego\",\n                \"client_pppoe\": \"diego\",\n                \"sn_onu\": \"ITBSF33FB478\",\n                \"contact\": \"(41) 99999-9999\",\n                \"address\": \"R. Brasil, 212 - Curitiba - Paraná\",\n                \"onu_vip\": false\n            }\n        ],\n        \"onus\": [\n            {\n                \"id\": 1073,\n                \"alias\": \"joao.silva\",\n                \"sn_onu\": \"ITBSF13FB396\",\n                \"client_id\": 14785,\n                \"client_name\": \"JOAO SILVA\",\n                \"client_pppoe\": \"joao.silva\",\n                \"onu_vip\": true\n            },\n            {\n                \"id\": 1076,\n                \"alias\": \"joao.silva\",\n                \"sn_onu\": \"ITBS3272338F\",\n                \"client_id\": 24089,\n                \"client_name\": \"ANA SILVA\",\n                \"client_pppoe\": \"ana.silva\",\n                \"onu_vip\": false\n            }\n        ]\n    }\n}"}],"_postman_id":"e718c3bf-6f4b-46a8-a514-bce4f71d92d5"},{"name":"Check ONU state (Enable/Disable)","id":"d3fccc88-8327-4767-b1e8-b5972c266eea","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/check_disable/{id}","description":"<p>This endpoint is designed to check whether the ONU is enabled or disabled directly on the OLT</p>\n<p><strong>(functionality available only for Huawei and ZTE OLTs)</strong></p>\n<blockquote>\n<p>The ID can be obtained from the endpoint FTTH &gt; List Equipments listed in this section of the documentation.</p>\n</blockquote>\n","urlObject":{"path":["api","v2","ftth","equipment","check_disable","{id}"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"b66310d0-1b8f-4afb-a000-542738e554f0","name":"Check ONU Status","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/check_disable/{id}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"disable\": true\n}"}],"_postman_id":"d3fccc88-8327-4767-b1e8-b5972c266eea"},{"name":"Enable/Disable ONU","id":"bb0bf184-340f-48c8-97cf-75b2e496479e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/toogle_disable/{id}/{onu_status}","description":"<p>This endpoint is used to change the ONU status on the OLT by enabling or disabling the ONU. To disable the ONU, send the value \"disable\" in the \"onu_status\" parameter, and to enable the ONU, send the value \"enable\".<br /><strong>(Functionality available only for Huawei and ZTE OLTs)</strong></p>\n<blockquote>\n<p>The ID can be obtained from the endpoint FTTH &gt; List Equipments listed in this section of the documentation.</p>\n</blockquote>\n","urlObject":{"path":["api","v2","ftth","equipment","toogle_disable","{id}","{onu_status}"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"262fed0e-99c5-43d8-ae0f-40a474e7ab94","name":"Enable/Disable ONU","originalRequest":{"method":"POST","header":[],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/toogle_disable/{id}/{onu_status}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"message\": \"ONU Successfully Disabled!\"\n}"}],"_postman_id":"bb0bf184-340f-48c8-97cf-75b2e496479e"},{"name":"Enable/Disable ONU CATV","id":"2bb73f08-44e4-4a98-86e9-e0e0bd7fc9bf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"enable\": \"true\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{id}/catv/toogle","description":"<p>This endpoint is used to change the ONU port CATV status on the OLT by enabling or disabling the ONU CATV port.<br /><strong>(Functionality available only for Huawei OLTs)</strong></p>\n<blockquote>\n<p>The ID can be obtained from the endpoint FTTH &gt; List Equipments listed in this section of the documentation.</p>\n</blockquote>\n","urlObject":{"path":["api","v2","ftth","equipment","{id}","catv","toogle"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"57ed2867-3284-4dcc-9bdf-c3856c8224ee","name":"Enable/Disable ONU CATV","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"port\": \"1\",\n    \"enable\": \"true\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{id}/catv/toogle"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"message\": \"Operation carried out successfully\"\n}"}],"_postman_id":"2bb73f08-44e4-4a98-86e9-e0e0bd7fc9bf"},{"name":"Reboot ONU","id":"3af922e9-1cc6-49fe-a368-aa2c6427c735","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/restart/{id_onu}","description":"<p>This endpoint is used to reboot the ONU .</p>\n<blockquote>\n<p>The ID can be obtained from the endpoint FTTH &gt; List Equipments listed in this section of the documentation.</p>\n</blockquote>\n","urlObject":{"path":["api","v2","ftth","equipment","restart","{id_onu}"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"5b03dea5-292c-42ce-b531-252e7e9cad1f","name":"200","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/restart/{id_onu}"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"message\": \"Command successfully sent!\"\n}"}],"_postman_id":"3af922e9-1cc6-49fe-a368-aa2c6427c735"},{"name":"LIST OLT Profiles and VLANs","id":"99936e6e-36f9-4822-aef2-78ef89279626","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olt/<olt_id>/profiles_vlans","description":"<p>List the existing VLANs and profiles on the OLT.</p>\n<p>The content of the <strong>\"profiles\"</strong> field may change its structure depending on the OLT manufacturer.</p>\n<blockquote>\n<p>Endpoint available from version 1.9.3.82 onwards. </p>\n</blockquote>\n<blockquote>\n<p>The value to be sent in the \"olt_id\" field can be obtained through the \"LIST OLTs\" endpoint.</p>\n</blockquote>\n","urlObject":{"path":["api","v2","ftth","olt","<olt_id>","profiles_vlans"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"dfb7da66-f01b-4c5c-87f7-e4abbcbbbb1a","name":"OLT ZTE","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olt/1/profiles_vlans"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"profiles\": {\n        \"down_prf\": [\n            {\n                \"name\": \"OLTCLOUD-1G-DOWN\"\n            }\n        ],\n        \"up_prf\": [\n            {\n                \"name\": \"OLTCLOUD-1G-UP\"\n            }\n        ],\n        \"vlan\": [],\n        \"onu_types\": [\n            {\n                \"name\": \"AC-1200\",\n                \"desc\": \"\",\n                \"max_tcont\": \"8\",\n                \"max_gemport\": \"32\",\n                \"max_switch\": \"8\",\n                \"max_flow\": \"8\",\n                \"max_ip\": \"5\",\n                \"max_ipv6\": \"0\"\n            }\n        ]\n    },\n    \"vlans\": [\n        {\n            \"name\": \"VLAN0001\",\n            \"vlan\": 1\n        }\n    ]\n}"},{"id":"5c97343f-504a-48df-9872-71b3d266cb5b","name":"OLT HUAWEI","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olt/<olt_id>/profiles_vlans"},"code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"profiles\": {\n        \"line\": [\n            {\n                \"name\": \"AB-1010\",\n                \"gem\": \"1010\",\n                \"encoded\": \"eyJuYW1lIjogIkFCLTEwMTAiLCAiZ2VtIjogIjEwMTAifQ==\"\n            }\n        ],\n        \"srv\": [\n            \"2P-Ext\",\n            \"4P-Int-Ext\"\n        ],\n        \"trf\": [\n            {\n                \"index\": 125,\n                \"value\": \"125.000\",\n                \"encoded\": \"eyJpbmRleCI6IDEyNSwgInZhbHVlIjogIjEyNS4wMDAifQ==\"\n            }\n        ],\n        \"nvlan\": [\n            \"10\",\n            \"53\"\n        ],\n        \"dba\": [\n            {\n                \"name\": \"100M\",\n                \"id\": \"100\",\n                \"encoded\": \"eyJuYW1lIjogIjEwME0iLCAiaWQiOiAiMTAwIn0=\"\n            }\n        ]\n    },\n    \"vlans\": [\n        {\n            \"vlan\": \"1\",\n            \"name\": \"\"\n        }\n    ]\n}"},{"id":"e8010f57-3965-4a0e-95af-cf2ff77407bd","name":"OLT VSOL","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olt/<olt_id>/profiles_vlans"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"profiles\": {\n        \"line\": [\n            {\n                \"id\": \"0\",\n                \"name\": \"default\",\n                \"encoded\": \"eyJpZCI6ICIwIiwgIm5hbWUiOiAiZGVmYXVsdCJ9\"\n            },\n            {\n                \"id\": \"1\",\n                \"name\": \"line_1\",\n                \"encoded\": \"eyJpZCI6ICIxIiwgIm5hbWUiOiAibGluZV8xIn0=\"\n            }\n        ],\n        \"srv\": [\n            {\n                \"id\": \"0\",\n                \"name\": \"default\",\n                \"encoded\": \"eyJpZCI6ICIwIiwgIm5hbWUiOiAiZGVmYXVsdCJ9\"\n            }\n        ],\n        \"alarm\": [\n            {\n                \"id\": \"0\",\n                \"name\": \"default\",\n                \"encoded\": \"eyJpZCI6ICIwIiwgIm5hbWUiOiAiZGVmYXVsdCJ9\"\n            }\n        ],\n        \"traffic\": [\n            {\n                \"id\": \"0\",\n                \"name\": \"default\",\n                \"encoded\": \"eyJpZCI6ICIwIiwgIm5hbWUiOiAiZGVmYXVsdCJ9\"\n            }\n        ]\n    },\n    \"vlans\": [\n        {\n            \"name\": \"default\",\n            \"vlan\": \"1\"\n        },\n        {\n            \"name\": \"vlan700-GERENCIA\",\n            \"vlan\": \"700\"\n        }\n    ]\n}"},{"id":"b70c777f-5971-4efd-852f-641eb2eb499d","name":"OLT FIBERHOME","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olt/<olt_id>/profiles_vlans"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"profiles\": {\n        \"bw_prfs\": [\n            {\n                \"prf_id\": \"25\",\n                \"name\": \"100MB-HOGAR\",\n                \"up_min\": \"100000\",\n                \"up_max\": \"100000\",\n                \"dn_min\": \"100000\",\n                \"dn_max\": \"100000\",\n                \"fix\": \"0\",\n                \"encoded\": \"eyJwcmZfaWQiOiAiMjUiLCAibmFtZSI6ICIxMDBNQi1IT0dBUiIsICJ1cF9taW4iOiAiMTAwMDAwIiwgInVwX21heCI6ICIxMDAwMDAiLCAiZG5fbWluIjogIjEwMDAwMCIsICJkbl9tYXgiOiAiMTAwMDAwIiwgImZpeCI6ICIwIn0=\"\n            }\n        ],\n        \"ngn\": []\n    },\n    \"vlans\": [\n        {\n            \"name\": \"vlan-101\",\n            \"vlan\": 101\n        }\n    ]\n}"},{"id":"2cc5f32e-941e-4dad-b448-6abaaa4306e7","name":"OLT DATACOM","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olt/<olt_id>/profiles_vlans"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"profiles\": {\n        \"line\": [\n            \"DM984-100B\",\n            \"DM985-100\"\n        ]\n    },\n    \"vlans\": [\n        {\n            \"name\": \"OLT_GERENCIA\",\n            \"vlan\": \"140\"\n        }\n    ]\n}"},{"id":"ab7bf149-8deb-4954-920b-b4e97acc4f1e","name":"OLT NOKIA","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/olt/<olt_id>/profiles_vlans"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"profiles\": {\n        \"qos_up\": [\n            {\n                \"name\": \"1Gbps_UP\"\n            }\n        ],\n        \"qos_down\": [\n            {\n                \"name\": \"1Gbps_DW\"\n            }\n        ]\n    },\n    \"vlans\": [\n        {\n            \"name\": \"Internet\",\n            \"vlan\": \"300\"\n        }\n    ]\n}"}],"_postman_id":"99936e6e-36f9-4822-aef2-78ef89279626"},{"name":"GET PON ONUs Realtime","id":"7cd15e19-c41a-4c73-a467-12faf9d75d15","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/realtime?olt_id=<oltID>&slot=<slot>&pon=<pon>","description":"<p>This endpoint returns the real-time status of ONUs connected to a specific PON port on an OLT.</p>\n","urlObject":{"path":["api","v2","ftth","equipment","realtime"],"host":["https://your-instance.olt.com"],"query":[{"key":"olt_id","value":"<oltID>"},{"key":"slot","value":"<slot>"},{"key":"pon","value":"<pon>"}],"variable":[]}},"response":[{"id":"67842cea-a608-4705-8dbc-28444ea16c71","name":"GET PON ONUs Realtime","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://your-instance.olt.com/api/v2/ftth/equipment/realtime?olt_id=21&slot=1&pon=1","host":["https://your-instance.olt.com"],"path":["api","v2","ftth","equipment","realtime"],"query":[{"key":"olt_id","value":"21"},{"key":"slot","value":"1"},{"key":"pon","value":"1"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"return\": true,\n    \"results\": [\n        {\n            \"id\": 21793,\n            \"onu_id\": 14,\n            \"sn_onu\": \"ZTEGd87313f7\",\n            \"status\": \"Online\",\n            \"rx_onu\": -99.99,\n            \"rx_olt\": -99.99,\n            \"last_down\": \"2025-07-30 19:20:38\",\n            \"client\": {\n                \"id\": 22130,\n                \"name\": \"ALEXANDRE BISOGNIN\",\n                \"login_pppoe\": \"tt74980@provedor\",\n                \"external_id\": \"67724\",\n                \"external_contract_id\": \"74980\"\n            },\n            \"cto\": {\n                \"id\": 3933,\n                \"name\": \"NAP BVSA-01-03\",\n                \"port\": 2,\n                \"external_id\": \"11662\",\n                \"external_project_id\": null\n            }\n        },\n        {\n            \"id\": 23860,\n            \"onu_id\": 17,\n            \"sn_onu\": \"ZTEGd6e08d1f\",\n            \"status\": \"Sem Energia\",\n            \"rx_onu\": -99.99,\n            \"rx_olt\": -99.99,\n            \"last_down\": \"2025-07-28 21:12:14\",\n            \"client\": {\n                \"id\": 24945,\n                \"name\": \"ALEXANDRE GONCALVES BARBOZA\",\n                \"login_pppoe\": \"tt76050@provedor\",\n                \"external_id\": \"68362\",\n                \"external_contract_id\": \"76050\"\n            },\n            \"cto\": {\n                \"id\": 3934,\n                \"name\": \"NAP BVSA-01-07\",\n                \"port\": 3,\n                \"external_id\": \"11681\",\n                \"external_project_id\": null\n            }\n        },\n        {\n            \"id\": 27872,\n            \"onu_id\": 18,\n            \"sn_onu\": \"ZTEGd8734398\",\n            \"status\": \"Online\",\n            \"rx_onu\": -99.99,\n            \"rx_olt\": -99.99,\n            \"last_down\": \"2025-07-27 06:37:56\",\n            \"client\": {\n                \"id\": 22230,\n                \"name\": \"YANELA GARTEIZ SOTO\",\n                \"login_pppoe\": \"tt75089@provedor\",\n                \"external_id\": \"67798\",\n                \"external_contract_id\": \"75089\"\n            },\n            \"cto\": {\n                \"id\": 3932,\n                \"name\": \"NAP BVSA-01-02\",\n                \"port\": 2,\n                \"external_id\": \"11664\",\n                \"external_project_id\": null\n            }\n        },\n        {\n            \"id\": 23230,\n            \"onu_id\": 16,\n            \"sn_onu\": \"ZTEGd873492e\",\n            \"status\": \"Online\",\n            \"rx_onu\": -99.99,\n            \"rx_olt\": -99.99,\n            \"last_down\": \"2025-07-27 06:37:56\",\n            \"client\": {\n                \"id\": 24854,\n                \"name\": \"REGIS RIGON\",\n                \"login_pppoe\": \"tt75967@provedor\",\n                \"external_id\": \"66415\",\n                \"external_contract_id\": \"75967\"\n            },\n            \"cto\": {\n                \"id\": 3883,\n                \"name\": \"NAP BVSA-01-01\",\n                \"port\": 2,\n                \"external_id\": \"11663\",\n                \"external_project_id\": null\n            }\n        },\n        {\n            \"id\": 23216,\n            \"onu_id\": 15,\n            \"sn_onu\": \"ZTEGd872e598\",\n            \"status\": \"Online\",\n            \"rx_onu\": -99.99,\n            \"rx_olt\": -99.99,\n            \"last_down\": \"2025-07-27 06:37:56\",\n            \"client\": {\n                \"id\": 24825,\n                \"name\": \"ANDREIA DA SILVA MORAES\",\n                \"login_pppoe\": \"tt75810@provedor\",\n                \"external_id\": \"62772\",\n                \"external_contract_id\": \"75810\"\n            },\n            \"cto\": {\n                \"id\": 3890,\n                \"name\": \"NAP BVSA-01-08\",\n                \"port\": 15,\n                \"external_id\": \"11680\",\n                \"external_project_id\": null\n            }\n        },\n        {\n            \"id\": 21792,\n            \"onu_id\": 13,\n            \"sn_onu\": \"ZTEGd87313f1\",\n            \"status\": \"Online\",\n            \"rx_onu\": -99.99,\n            \"rx_olt\": -99.99,\n            \"last_down\": \"2025-07-27 06:37:56\",\n            \"client\": {\n                \"id\": 22129,\n                \"name\": \"MARCIO ANDRE OCHOA AMARAL\",\n                \"login_pppoe\": \"tt74966@provedor\",\n                \"external_id\": \"33368\",\n                \"external_contract_id\": \"74966\"\n            },\n            \"cto\": {\n                \"id\": 3881,\n                \"name\": \"NAP BVSA-01-06\",\n                \"port\": 4,\n                \"external_id\": \"11676\",\n                \"external_project_id\": null\n            }\n        },\n        {\n            \"id\": 27773,\n            \"onu_id\": 11,\n            \"sn_onu\": \"DGST21510aa7\",\n            \"status\": \"Online\",\n            \"rx_onu\": -99.99,\n            \"rx_olt\": -99.99,\n            \"last_down\": \"2025-07-27 06:37:56\",\n            \"client\": {\n                \"id\": 25324,\n                \"name\": \"GLEDISON GOULART MOLINARI\",\n                \"login_pppoe\": \"tt77085@provedor\",\n                \"external_id\": \"65534\",\n                \"external_contract_id\": \"77085\"\n            },\n            \"cto\": {\n                \"id\": 3932,\n                \"name\": \"NAP BVSA-01-02\",\n                \"port\": 1,\n                \"external_id\": \"11664\",\n                \"external_project_id\": null\n            }\n        },\n        {\n            \"id\": 21789,\n            \"onu_id\": 10,\n            \"sn_onu\": \"DGST2151ef94\",\n            \"status\": \"Online\",\n            \"rx_onu\": -99.99,\n            \"rx_olt\": -99.99,\n            \"last_down\": \"2025-07-27 06:37:56\",\n            \"client\": {\n                \"id\": 18675,\n                \"name\": \"LUIS FERNANDO ARRUDA QUINTINO\",\n                \"login_pppoe\": \"tt73418@provedor\",\n                \"external_id\": \"66833\",\n                \"external_contract_id\": \"73418\"\n            },\n            \"cto\": {\n                \"id\": 4078,\n                \"name\": \"NAP BVSA-01-09\",\n                \"port\": 1,\n                \"external_id\": \"11678\",\n                \"external_project_id\": null\n            }\n        },\n        {\n            \"id\": 21788,\n            \"onu_id\": 9,\n            \"sn_onu\": \"DGST215118e7\",\n            \"status\": \"Online\",\n            \"rx_onu\": -99.99,\n            \"rx_olt\": -99.99,\n            \"last_down\": \"2025-07-27 06:37:56\",\n            \"client\": {\n                \"id\": 11034,\n                \"name\": \"FABIANO BUENO DE LIMA\",\n                \"login_pppoe\": \"tt72546@provedor\",\n                \"external_id\": \"66399\",\n                \"external_contract_id\": \"72546\"\n            },\n            \"cto\": {\n                \"id\": 3890,\n                \"name\": \"NAP BVSA-01-08\",\n                \"port\": 1,\n                \"external_id\": \"11680\",\n                \"external_project_id\": null\n            }\n        },\n        {\n            \"id\": 21786,\n            \"onu_id\": 7,\n            \"sn_onu\": \"DGST21506b09\",\n            \"status\": \"Online\",\n            \"rx_onu\": -99.99,\n            \"rx_olt\": -99.99,\n            \"last_down\": \"2025-07-27 06:37:56\",\n            \"client\": {\n                \"id\": 11766,\n                \"name\": \"TATIANE BANDERA\",\n                \"login_pppoe\": \"cc15708@provedor\",\n                \"external_id\": \"3978\",\n                \"external_contract_id\": \"4657\"\n            },\n            \"cto\": {\n                \"id\": 3933,\n                \"name\": \"NAP BVSA-01-03\",\n                \"port\": 1,\n                \"external_id\": \"11662\",\n                \"external_project_id\": null\n            }\n        },\n        {\n            \"id\": 21784,\n            \"onu_id\": 5,\n            \"sn_onu\": \"DGST215130b9\",\n            \"status\": \"Online\",\n            \"rx_onu\": -99.99,\n            \"rx_olt\": -99.99,\n            \"last_down\": \"2025-07-27 06:37:56\",\n            \"client\": {\n                \"id\": 12679,\n                \"name\": \"ELIZANDRA CADONA VICARI\",\n                \"login_pppoe\": \"cc18680@provedor\",\n                \"external_id\": \"6395\",\n                \"external_contract_id\": \"7364\"\n            },\n            \"cto\": {\n                \"id\": 3883,\n                \"name\": \"NAP BVSA-01-01\",\n                \"port\": 1,\n                \"external_id\": \"11663\",\n                \"external_project_id\": null\n            }\n        },\n        {\n            \"id\": 21783,\n            \"onu_id\": 4,\n            \"sn_onu\": \"DGST215202a9\",\n            \"status\": \"Online\",\n            \"rx_onu\": -99.99,\n            \"rx_olt\": -99.99,\n            \"last_down\": \"2025-07-27 06:37:56\",\n            \"client\": {\n                \"id\": 14360,\n                \"name\": \"SANDRA BANDERA\",\n                \"login_pppoe\": \"cc24024@provedor\",\n                \"external_id\": \"11318\",\n                \"external_contract_id\": \"12598\"\n            },\n            \"cto\": {\n                \"id\": 3881,\n                \"name\": \"NAP BVSA-01-06\",\n                \"port\": 2,\n                \"external_id\": \"11676\",\n                \"external_project_id\": null\n            }\n        },\n        {\n            \"id\": 21785,\n            \"onu_id\": 6,\n            \"sn_onu\": \"FHTT10b11a50\",\n            \"status\": \"Online\",\n            \"rx_onu\": -20.22,\n            \"rx_olt\": -18.26,\n            \"last_down\": \"2025-07-27 06:37:53\",\n            \"client\": {\n                \"id\": 17138,\n                \"name\": \"EDIVANA BARBIERI CASARIN\",\n                \"login_pppoe\": \"cc15616@provedor\",\n                \"external_id\": \"3916\",\n                \"external_contract_id\": \"4587\"\n            },\n            \"cto\": {\n                \"id\": 3891,\n                \"name\": \"NAP BVSA-01-10\",\n                \"port\": 3,\n                \"external_id\": \"11679\",\n                \"external_project_id\": null\n            }\n        },\n        {\n            \"id\": 21780,\n            \"onu_id\": 1,\n            \"sn_onu\": \"DGST2151ef8d\",\n            \"status\": \"Online\",\n            \"rx_onu\": -99.99,\n            \"rx_olt\": -99.99,\n            \"last_down\": \"2025-07-27 06:37:52\",\n            \"client\": {\n                \"id\": 5928,\n                \"name\": \"LANIA ROSSETTO DE BEM\",\n                \"login_pppoe\": \"cc16472@provedor\",\n                \"external_id\": \"4567\",\n                \"external_contract_id\": \"5322\"\n            },\n            \"cto\": {\n                \"id\": 3881,\n                \"name\": \"NAP BVSA-01-06\",\n                \"port\": 1,\n                \"external_id\": \"11676\",\n                \"external_project_id\": null\n            }\n        },\n        {\n            \"id\": 21782,\n            \"onu_id\": 3,\n            \"sn_onu\": \"DGST2151f26b\",\n            \"status\": \"Online\",\n            \"rx_onu\": -99.99,\n            \"rx_olt\": -99.99,\n            \"last_down\": \"2025-07-27 06:37:52\",\n            \"client\": {\n                \"id\": 23720,\n                \"name\": \"LEONARDO LUIS DE OLIVEIRA\",\n                \"login_pppoe\": \"cc16735@provedor\",\n                \"external_id\": \"4770\",\n                \"external_contract_id\": \"5547\"\n            },\n            \"cto\": {\n                \"id\": 3891,\n                \"name\": \"NAP BVSA-01-10\",\n                \"port\": 2,\n                \"external_id\": \"11679\",\n                \"external_project_id\": null\n            }\n        },\n        {\n            \"id\": 21791,\n            \"onu_id\": 12,\n            \"sn_onu\": \"ZTEGd6e09dc2\",\n            \"status\": \"Online\",\n            \"rx_onu\": -99.99,\n            \"rx_olt\": -99.99,\n            \"last_down\": \"2025-07-27 06:37:52\",\n            \"client\": {\n                \"id\": 2207,\n                \"name\": \"FERNANDA PIOVESAN BONFANTE\",\n                \"login_pppoe\": \"tt74537@provedor\",\n                \"external_id\": \"67473\",\n                \"external_contract_id\": \"74537\"\n            },\n            \"cto\": {\n                \"id\": 3890,\n                \"name\": \"NAP BVSA-01-08\",\n                \"port\": 2,\n                \"external_id\": \"11680\",\n                \"external_project_id\": null\n            }\n        },\n        {\n            \"id\": 21781,\n            \"onu_id\": 2,\n            \"sn_onu\": \"FHTT1031a088\",\n            \"status\": \"Sem Energia\",\n            \"rx_onu\": -99.99,\n            \"rx_olt\": -99.99,\n            \"last_down\": \"2025-06-25 15:44:40\",\n            \"client\": {\n                \"id\": 14576,\n                \"name\": \"LEANDRO BONALDO\",\n                \"login_pppoe\": \"tt70725@provedor\",\n                \"external_id\": \"65437\",\n                \"external_contract_id\": \"70725\"\n            },\n            \"cto\": {\n                \"id\": 3891,\n                \"name\": \"NAP BVSA-01-10\",\n                \"port\": 1,\n                \"external_id\": \"11679\",\n                \"external_project_id\": null\n            }\n        },\n        {\n            \"id\": 21787,\n            \"onu_id\": 8,\n            \"sn_onu\": \"FHTT06ca1da8\",\n            \"status\": \"Online\",\n            \"rx_onu\": -20.86,\n            \"rx_olt\": -18.65,\n            \"last_down\": \"2025-06-12 10:51:13\",\n            \"client\": {\n                \"id\": 18732,\n                \"name\": \"CASEMIRO MILANI JUNIOR\",\n                \"login_pppoe\": \"tt43598@provedor\",\n                \"external_id\": \"789\",\n                \"external_contract_id\": \"43598\"\n            },\n            \"cto\": {\n                \"id\": 3881,\n                \"name\": \"NAP BVSA-01-06\",\n                \"port\": 3,\n                \"external_id\": \"11676\",\n                \"external_project_id\": null\n            }\n        }\n    ]\n}"}],"_postman_id":"7cd15e19-c41a-4c73-a467-12faf9d75d15"},{"name":"UPDATE PON SFP Info","id":"476c3446-8e65-4951-88c3-89dccfe5229b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/pons/<id_pon>/update_sfp","description":"<p>Triggers an <strong>on-demand, real-time poll</strong> of the <strong>SFP diagnostics</strong> for the specified <strong>PON port</strong> on the OLT and <strong>returns refreshed values</strong>. Useful for troubleshooting optical power, temperature, and transceiver health.</p>\n","urlObject":{"path":["api","v2","ftth","pons","<id_pon>","update_sfp"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"4f05a41e-3c76-4781-a1ee-27eb2380ec28","name":"UPDATE PON SFP Info","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/pdf","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/pons/<id_pon>/update_sfp"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"message\": \"Sfp updated successfully\"\n}"}],"_postman_id":"476c3446-8e65-4951-88c3-89dccfe5229b"},{"name":"UPDATE PON RX ONU Levels","id":"9d36e949-4ecb-4877-9dea-9e9b7b7380fc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/pons/<pon_id>/update_signal?callback_url=http://127.0.0.1:8000/calback_rx_onus_pon","description":"<h3 id=\"path-params\">Path params</h3>\n<ul>\n<li><code>pon_id</code> (integer) — Target PON ID.</li>\n</ul>\n<p>Starts an <strong>asynchronous</strong> collection of RX signal levels for all ONUs on a specific PON. The request returns immediately confirming the job was triggered. When it finishes, the system sends a <strong>POST</strong> to the provided callback URL with the collection result.</p>\n<h2 id=\"callback-payload-post-→-callback_url\">Callback payload (POST → <code>callback_url</code>)</h2>\n<p><strong>Headers:</strong> <code>Content-Type: application/json</code></p>\n<p><strong>Body (example):</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"status\": true,\n  \"message\": \"PON signal levels updated successfully\",\n  \"olt\": \"OlT_ZTE_EST_CIPO\",\n  \"olt_id\": 12,\n  \"slot\": 1,\n  \"slot_id\": 40,\n  \"pon\": 2,\n  \"pon_id\": 606\n}\n\n</code></pre><h3 id=\"callback-fields\">Callback fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>boolean</td>\n<td><code>true</code> if the update completed successfully.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>string</td>\n<td>Human-readable status message.</td>\n</tr>\n<tr>\n<td>olt</td>\n<td>string</td>\n<td>OLT name/identifier.</td>\n</tr>\n<tr>\n<td>olt_id</td>\n<td>integer</td>\n<td>Internal OLT ID.</td>\n</tr>\n<tr>\n<td>slot</td>\n<td>integer</td>\n<td>Slot number.</td>\n</tr>\n<tr>\n<td>slot_id</td>\n<td>integer</td>\n<td>Internal slot ID.</td>\n</tr>\n<tr>\n<td>pon</td>\n<td>integer</td>\n<td>PON number.</td>\n</tr>\n<tr>\n<td>pon_id</td>\n<td>integer</td>\n<td>Internal PON ID.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","ftth","pons","<pon_id>","update_signal"],"host":["https://your-instance.olt.com"],"query":[{"key":"callback_url","value":"http://127.0.0.1:8000/calback_rx_onus_pon"}],"variable":[]}},"response":[{"id":"97f4fa5c-5e2d-4d93-9d90-c9f9320fe00d","name":"UPDATE PON RX ONU Levels","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://your-instance.olt.com/api/v2/ftth/pons/606/update_signal?callback_url=http://127.0.0.1:8000/calback_rx_onus_pon","host":["https://your-instance.olt.com"],"path":["api","v2","ftth","pons","606","update_signal"],"query":[{"key":"callback_url","value":"http://127.0.0.1:8000/calback_rx_onus_pon"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"message\": \"The process to update the PON signal levels has started. Once completed, the result will be sent to the specified callback URL.\"\n}"}],"_postman_id":"9d36e949-4ecb-4877-9dea-9e9b7b7380fc"},{"name":"List Isolated Attenuations","id":"9238bf54-147b-455f-96ce-f1752b2d4eb4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/isolated_attenuations","description":"<p>Returns a paginated list of isolated-attenuation records, one per affected ONU. An ONU appears here when its RX power deviates from the average of the other ONUs in its CTO and in its PON by more than the configured degradation threshold, while its RX values stay within a valid measurement range. This isolates drops with a localized optical problem from shared-infrastructure degradation.</p>\n<p>Results are restricted to the OLTs the authenticated user is allowed to see (per-OLT ACL). Ordering is by internal record id.</p>\n<p>All fields below can be used as query filters. Text fields use a partial (case-insensitive) match by default. Id fields (<code>olt_id</code>, <code>cto_id</code>) use an exact match. Numeric RX fields (<code>rx_onu</code>, <code>rx_olt</code>, <code>cto_avg_rx_onu</code>, <code>cto_avg_rx_olt</code>, <code>pon_avg_rx_onu</code>, <code>pon_avg_rx_olt</code>) can be combined with the <code>oper</code> parameter (<code>=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>&lt;</code>, <code>&lt;=</code>) for range queries. The <code>oper</code> value applies to every filter in the same request. Sending a field that is not in the list returns 400 with the list of unavailable fields.</p>\n<p>Each result object contains:</p>\n<ul>\n<li><code>olt_id</code> - OLT numeric id.</li>\n<li><code>olt_name</code> - OLT name.</li>\n<li><code>client_name</code> - full name of the client linked to the ONU.</li>\n<li><code>description</code> - client login/PPPoE.</li>\n<li><code>cto_id</code> - CTO numeric id.</li>\n<li><code>cto_name</code> - CTO name.</li>\n<li><code>sn_onu</code> - ONU serial number.</li>\n<li><code>rx_onu</code> - RX optical power at the ONU (dBm).</li>\n<li><code>rx_olt</code> - RX optical power at the OLT for this ONU (dBm).</li>\n<li><code>cto_avg_rx_onu</code> - average ONU-side RX across the ONUs in the same CTO (dBm).</li>\n<li><code>cto_avg_rx_olt</code> - average OLT-side RX across the ONUs in the same CTO (dBm).</li>\n<li><code>pon_avg_rx_onu</code> - average ONU-side RX across the ONUs in the same PON (dBm).</li>\n<li><code>pon_avg_rx_olt</code> - average OLT-side RX across the ONUs in the same PON (dBm).</li>\n<li><code>signal_reference</code> - reference the isolated attenuation is measured against: <code>CTO</code> when the deviation from the CTO average crosses the threshold, otherwise <code>PON</code>.</li>\n<li><code>external_contract_id</code> - external ERP contract id of the linked client, or <code>null</code>.</li>\n<li><code>slot/pon/onu_id</code> - ONU position as slot/pon/onu_id (filter by it using the <code>s_p_o</code> query parameter).</li>\n</ul>\n","urlObject":{"path":["api","v2","ftth","equipment","isolated_attenuations"],"host":["https://your-instance.olt.com"],"query":[{"disabled":true,"key":"olt_id","value":"OLT numeric id; exact match"},{"disabled":true,"key":"olt_name","value":"OLT name; partial match"},{"disabled":true,"key":"client_name","value":"Client full name; partial match"},{"disabled":true,"key":"description","value":"Client login/PPPoE; partial match"},{"disabled":true,"key":"cto_id","value":"CTO numeric id; exact match"},{"disabled":true,"key":"cto_name","value":"CTO name; partial match"},{"disabled":true,"key":"sn_onu","value":"ONU serial number; partial match"},{"disabled":true,"key":"s_p_o","value":"ONU position slot/pon/onu_id (returned as slot/pon/onu_id); partial match"},{"disabled":true,"key":"rx_onu","value":"RX optical power measured at the ONU (dBm); use with oper for comparisons"},{"disabled":true,"key":"rx_olt","value":"RX optical power measured at the OLT for this ONU (dBm); use with oper for comparisons"},{"disabled":true,"key":"cto_avg_rx_onu","value":"Average ONU-side RX across the ONUs in the same CTO (dBm); use with oper for comparisons"},{"disabled":true,"key":"cto_avg_rx_olt","value":"Average OLT-side RX across the ONUs in the same CTO (dBm); use with oper for comparisons"},{"disabled":true,"key":"pon_avg_rx_onu","value":"Average ONU-side RX across the ONUs in the same PON (dBm); use with oper for comparisons"},{"disabled":true,"key":"pon_avg_rx_olt","value":"Average OLT-side RX across the ONUs in the same PON (dBm); use with oper for comparisons"},{"disabled":true,"key":"signal_reference","value":"Which average the isolated attenuation is referenced against: \"CTO\" or \"PON\"; partial match"},{"disabled":true,"key":"external_contract_id","value":"External ERP contract id of the linked client; partial match"},{"disabled":true,"key":"oper","value":"Comparison operator applied to the filters above: =, >, >=, < or <=. Defaults to partial match when omitted"},{"disabled":true,"key":"page","value":"Page number for pagination"},{"disabled":true,"key":"page_size","value":"Items per page (default 100, max 1000)"}],"variable":[]}},"response":[{"id":"7c10cc67-2815-459b-bfdc-e74493a3652b","name":"List Isolated Attenuations","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/isolated_attenuations"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"count\": 2,\n    \"next\": \"https://your-instance.olt.com/api/v2/ftth/equipment/isolated_attenuations?page=2\",\n    \"previous\": null,\n    \"results\": [\n        {\n            \"olt_id\": 12,\n            \"olt_name\": \"OLT-CENTRO-01\",\n            \"client_name\": \"Maria Souza\",\n            \"description\": \"maria.souza@pppoe\",\n            \"cto_id\": 340,\n            \"cto_name\": \"CTO-CENTRO-04\",\n            \"sn_onu\": \"HWTC85C65FB3\",\n            \"rx_onu\": -27.84,\n            \"rx_olt\": -24.1,\n            \"cto_avg_rx_onu\": -21.05,\n            \"cto_avg_rx_olt\": -20.9,\n            \"pon_avg_rx_onu\": -20.72,\n            \"pon_avg_rx_olt\": -20.55,\n            \"signal_reference\": \"CTO\",\n            \"external_contract_id\": \"ERP-558210\",\n            \"slot/pon/onu_id\": \"1/1/5\"\n        },\n        {\n            \"olt_id\": 12,\n            \"olt_name\": \"OLT-CENTRO-01\",\n            \"client_name\": \"Joao Pereira\",\n            \"description\": \"joao.pereira@pppoe\",\n            \"cto_id\": 355,\n            \"cto_name\": \"CTO-CENTRO-09\",\n            \"sn_onu\": \"XPON21178682\",\n            \"rx_onu\": -26.11,\n            \"rx_olt\": -25.4,\n            \"cto_avg_rx_onu\": -19.9,\n            \"cto_avg_rx_olt\": -19.7,\n            \"pon_avg_rx_onu\": -20.02,\n            \"pon_avg_rx_olt\": -20.15,\n            \"signal_reference\": \"PON\",\n            \"external_contract_id\": null,\n            \"slot/pon/onu_id\": \"1/2/14\"\n        }\n    ]\n}"},{"id":"dea2211c-64a0-41b4-b1db-ce014c53734d","name":"Invalid search field","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":{"raw":"https://your-instance.olt.com/api/v2/ftth/equipment/isolated_attenuations?foo=bar","host":["https://your-instance.olt.com"],"path":["api","v2","ftth","equipment","isolated_attenuations"],"query":[{"key":"foo","value":"bar"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"The following fields are not available for searching: ['foo']\"\n}"},{"id":"92c51199-c8f7-4de2-93c7-2d7e896be869","name":"Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/isolated_attenuations"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": \"Authentication credentials were not provided.\"\n}"}],"_postman_id":"9238bf54-147b-455f-96ce-f1752b2d4eb4"},{"name":"List PON Attenuations","id":"094a2ca7-bdf3-44d6-a1dc-2da8d88544b2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/pons/attenuations","description":"<p>Returns a paginated list of per-PON attenuation summaries. Each record aggregates the RX signal of the ONUs on one GPON PON: the average RX on the ONU side and on the OLT side, and the number and percentage of ONUs that crossed the warning or critical thresholds on each side.</p>\n<p>Results are restricted to the OLTs the authenticated user is allowed to see (per-OLT ACL). Ordering is by internal record id.</p>\n<p>All fields below can be used as query filters. Text fields use a partial (case-insensitive) match by default. <code>olt_id</code> uses an exact match. Numeric fields (<code>onu_count</code>, <code>avg_rx_onu</code>, <code>avg_rx_pon</code>, the warning/critical counts and percents) can be combined with the <code>oper</code> parameter (<code>=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>&lt;</code>, <code>&lt;=</code>) for range queries. The <code>oper</code> value applies to every filter in the same request. Sending a field that is not in the list returns 400 with the list of unavailable fields.</p>\n<p>Each result object contains:</p>\n<ul>\n<li><code>id</code> - PON record id.</li>\n<li><code>description</code> - PON description/label.</li>\n<li><code>observations</code> - free-text observations saved on the PON.</li>\n<li><code>olt_id</code> - OLT numeric id.</li>\n<li><code>olt_name</code> - OLT name.</li>\n<li><code>onu_count</code> - number of ONUs in the PON.</li>\n<li><code>avg_rx_onu</code> - average ONU-side RX (dBm).</li>\n<li><code>avg_rx_pon</code> - average OLT-side RX for the PON (dBm).</li>\n<li><code>rx_onu_warning_count</code> - ONUs in warning on the ONU-side RX.</li>\n<li><code>rx_onu_warning_percent</code> - share (%) of ONUs in warning on the ONU-side RX.</li>\n<li><code>rx_onu_critical_count</code> - ONUs in critical on the ONU-side RX.</li>\n<li><code>rx_onu_critical_percent</code> - share (%) of ONUs in critical on the ONU-side RX.</li>\n<li><code>rx_olt_warning_count</code> - ONUs in warning on the OLT-side RX.</li>\n<li><code>rx_olt_warning_percent</code> - share (%) of ONUs in warning on the OLT-side RX.</li>\n<li><code>rx_olt_critical_count</code> - ONUs in critical on the OLT-side RX.</li>\n<li><code>rx_olt_critical_percent</code> - share (%) of ONUs in critical on the OLT-side RX.</li>\n<li><code>slot/pon</code> - PON position as slot/pon (filter by it using the <code>slot_pon</code> query parameter).</li>\n</ul>\n","urlObject":{"path":["api","v2","ftth","pons","attenuations"],"host":["https://your-instance.olt.com"],"query":[{"disabled":true,"key":"id","value":"PON record id"},{"disabled":true,"key":"description","value":"PON description/label; partial match"},{"disabled":true,"key":"observations","value":"Free-text observations saved on the PON; partial match"},{"disabled":true,"key":"olt_id","value":"OLT numeric id; exact match"},{"disabled":true,"key":"olt_name","value":"OLT name; partial match"},{"disabled":true,"key":"slot_pon","value":"PON position slot/pon (returned as slot/pon); partial match"},{"disabled":true,"key":"onu_count","value":"Number of ONUs in the PON; use with oper for comparisons"},{"disabled":true,"key":"avg_rx_onu","value":"Average ONU-side RX across the PON's ONUs (dBm); use with oper for comparisons"},{"disabled":true,"key":"avg_rx_pon","value":"Average OLT-side RX for the PON (dBm); use with oper for comparisons"},{"disabled":true,"key":"rx_onu_warning_count","value":"Number of ONUs in warning on the ONU-side RX; use with oper for comparisons"},{"disabled":true,"key":"rx_onu_warning_percent","value":"Share (%) of ONUs in warning on the ONU-side RX; use with oper for comparisons"},{"disabled":true,"key":"rx_onu_critical_count","value":"Number of ONUs in critical on the ONU-side RX; use with oper for comparisons"},{"disabled":true,"key":"rx_onu_critical_percent","value":"Share (%) of ONUs in critical on the ONU-side RX; use with oper for comparisons"},{"disabled":true,"key":"rx_olt_warning_count","value":"Number of ONUs in warning on the OLT-side RX; use with oper for comparisons"},{"disabled":true,"key":"rx_olt_warning_percent","value":"Share (%) of ONUs in warning on the OLT-side RX; use with oper for comparisons"},{"disabled":true,"key":"rx_olt_critical_count","value":"Number of ONUs in critical on the OLT-side RX; use with oper for comparisons"},{"disabled":true,"key":"rx_olt_critical_percent","value":"Share (%) of ONUs in critical on the OLT-side RX; use with oper for comparisons"},{"disabled":true,"key":"oper","value":"Comparison operator applied to the filters above: =, >, >=, < or <=. Defaults to partial match when omitted"},{"disabled":true,"key":"page","value":"Page number for pagination"},{"disabled":true,"key":"page_size","value":"Items per page (default 100, max 1000)"}],"variable":[]}},"response":[{"id":"8927fe6d-5b3a-40b7-b8cb-f81e1ae15896","name":"List PON Attenuations","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/pons/attenuations"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"count\": 2,\n    \"next\": \"https://your-instance.olt.com/api/v2/ftth/pons/attenuations?page=2\",\n    \"previous\": null,\n    \"results\": [\n        {\n            \"id\": 128,\n            \"description\": \"PON-CENTRO-01-1/1\",\n            \"observations\": \"\",\n            \"olt_id\": 12,\n            \"olt_name\": \"OLT-CENTRO-01\",\n            \"onu_count\": 64,\n            \"avg_rx_onu\": -21.35,\n            \"avg_rx_pon\": -20.9,\n            \"rx_onu_warning_count\": 6,\n            \"rx_onu_warning_percent\": 9.0,\n            \"rx_onu_critical_count\": 2,\n            \"rx_onu_critical_percent\": 3.0,\n            \"rx_olt_warning_count\": 4,\n            \"rx_olt_warning_percent\": 6.0,\n            \"rx_olt_critical_count\": 1,\n            \"rx_olt_critical_percent\": 2.0,\n            \"slot/pon\": \"1/1\"\n        },\n        {\n            \"id\": 129,\n            \"description\": \"PON-CENTRO-01-1/2\",\n            \"observations\": \"Splitter inspecionado em 2026-05\",\n            \"olt_id\": 12,\n            \"olt_name\": \"OLT-CENTRO-01\",\n            \"onu_count\": 48,\n            \"avg_rx_onu\": -19.8,\n            \"avg_rx_pon\": -19.5,\n            \"rx_onu_warning_count\": 1,\n            \"rx_onu_warning_percent\": 2.0,\n            \"rx_onu_critical_count\": 0,\n            \"rx_onu_critical_percent\": 0.0,\n            \"rx_olt_warning_count\": 0,\n            \"rx_olt_warning_percent\": 0.0,\n            \"rx_olt_critical_count\": 0,\n            \"rx_olt_critical_percent\": 0.0,\n            \"slot/pon\": \"1/2\"\n        }\n    ]\n}"},{"id":"5320a97e-b911-4f39-b323-7598e5f39e37","name":"Invalid search field","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":{"raw":"https://your-instance.olt.com/api/v2/ftth/pons/attenuations?foo=bar","host":["https://your-instance.olt.com"],"path":["api","v2","ftth","pons","attenuations"],"query":[{"key":"foo","value":"bar"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"The following fields are not available for searching: ['foo']\"\n}"},{"id":"7b766190-219a-42e8-b00d-cb1f2341669d","name":"Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/pons/attenuations"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": \"Authentication credentials were not provided.\"\n}"}],"_postman_id":"094a2ca7-bdf3-44d6-a1dc-2da8d88544b2"},{"name":"List CTO Attenuations","id":"445abee4-aa95-47c9-b63c-5f7084555443","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/box/attenuations","description":"<p>Returns a paginated list of per-CTO (box) attenuation summaries. Each record aggregates the RX signal of the ONUs served by one CTO: the average RX on the ONU side and on the OLT side, and the number and percentage of ONUs that crossed the warning or critical thresholds on each side.</p>\n<p>Results are restricted to the OLTs the authenticated user is allowed to see (per-OLT ACL). Ordering is by internal record id.</p>\n<p>All fields below can be used as query filters. Text fields use a partial (case-insensitive) match by default. Id fields (<code>olt_id</code>, <code>pon_id</code>) use an exact match. Numeric fields (<code>onu_count</code>, <code>avg_rx_onu</code>, <code>avg_rx_cto</code>, the warning/critical counts and percents) can be combined with the <code>oper</code> parameter (<code>=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>&lt;</code>, <code>&lt;=</code>) for range queries. The <code>oper</code> value applies to every filter in the same request. Sending a field that is not in the list returns 400 with the list of unavailable fields.</p>\n<p>Each result object contains:</p>\n<ul>\n<li><code>id</code> - CTO record id.</li>\n<li><code>name</code> - CTO name.</li>\n<li><code>observations</code> - free-text observations saved on the CTO.</li>\n<li><code>olt_id</code> - OLT numeric id.</li>\n<li><code>olt_name</code> - OLT name.</li>\n<li><code>onu_count</code> - number of ONUs in the CTO.</li>\n<li><code>avg_rx_onu</code> - average ONU-side RX (dBm).</li>\n<li><code>avg_rx_cto</code> - average OLT-side RX for the CTO (dBm).</li>\n<li><code>rx_onu_warning_count</code> - ONUs in warning on the ONU-side RX.</li>\n<li><code>rx_onu_warning_percent</code> - share (%) of ONUs in warning on the ONU-side RX.</li>\n<li><code>rx_onu_critical_count</code> - ONUs in critical on the ONU-side RX.</li>\n<li><code>rx_onu_critical_percent</code> - share (%) of ONUs in critical on the ONU-side RX.</li>\n<li><code>rx_olt_warning_count</code> - ONUs in warning on the OLT-side RX.</li>\n<li><code>rx_olt_warning_percent</code> - share (%) of ONUs in warning on the OLT-side RX.</li>\n<li><code>rx_olt_critical_count</code> - ONUs in critical on the OLT-side RX.</li>\n<li><code>rx_olt_critical_percent</code> - share (%) of ONUs in critical on the OLT-side RX.</li>\n<li><code>pon_id</code> - parent PON numeric id.</li>\n<li><code>slot/pon</code> - parent PON position as slot/pon (filter by it using the <code>slot_pon</code> query parameter).</li>\n</ul>\n","urlObject":{"path":["api","v2","box","attenuations"],"host":["https://your-instance.olt.com"],"query":[{"disabled":true,"key":"id","value":"CTO record id"},{"disabled":true,"key":"name","value":"CTO name; partial match"},{"disabled":true,"key":"observations","value":"Free-text observations saved on the CTO; partial match"},{"disabled":true,"key":"olt_id","value":"OLT numeric id; exact match"},{"disabled":true,"key":"olt_name","value":"OLT name; partial match"},{"disabled":true,"key":"slot_pon","value":"Parent PON position slot/pon (returned as slot/pon); partial match"},{"disabled":true,"key":"onu_count","value":"Number of ONUs in the CTO; use with oper for comparisons"},{"disabled":true,"key":"avg_rx_onu","value":"Average ONU-side RX across the CTO's ONUs (dBm); use with oper for comparisons"},{"disabled":true,"key":"avg_rx_cto","value":"Average OLT-side RX for the CTO (dBm); use with oper for comparisons"},{"disabled":true,"key":"rx_onu_warning_count","value":"Number of ONUs in warning on the ONU-side RX; use with oper for comparisons"},{"disabled":true,"key":"rx_onu_warning_percent","value":"Share (%) of ONUs in warning on the ONU-side RX; use with oper for comparisons"},{"disabled":true,"key":"rx_onu_critical_count","value":"Number of ONUs in critical on the ONU-side RX; use with oper for comparisons"},{"disabled":true,"key":"rx_onu_critical_percent","value":"Share (%) of ONUs in critical on the ONU-side RX; use with oper for comparisons"},{"disabled":true,"key":"rx_olt_warning_count","value":"Number of ONUs in warning on the OLT-side RX; use with oper for comparisons"},{"disabled":true,"key":"rx_olt_warning_percent","value":"Share (%) of ONUs in warning on the OLT-side RX; use with oper for comparisons"},{"disabled":true,"key":"rx_olt_critical_count","value":"Number of ONUs in critical on the OLT-side RX; use with oper for comparisons"},{"disabled":true,"key":"rx_olt_critical_percent","value":"Share (%) of ONUs in critical on the OLT-side RX; use with oper for comparisons"},{"disabled":true,"key":"pon_id","value":"Parent PON numeric id; exact match"},{"disabled":true,"key":"oper","value":"Comparison operator applied to the filters above: =, >, >=, < or <=. Defaults to partial match when omitted"},{"disabled":true,"key":"page","value":"Page number for pagination"},{"disabled":true,"key":"page_size","value":"Items per page (default 100, max 1000)"}],"variable":[]}},"response":[{"id":"1adb3a9c-e93d-425a-ad3f-ca1e5176992d","name":"List CTO Attenuations","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/box/attenuations"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"count\": 2,\n    \"next\": \"https://your-instance.olt.com/api/v2/box/attenuations?page=2\",\n    \"previous\": null,\n    \"results\": [\n        {\n            \"id\": 340,\n            \"name\": \"CTO-CENTRO-04\",\n            \"observations\": \"\",\n            \"olt_id\": 12,\n            \"olt_name\": \"OLT-CENTRO-01\",\n            \"onu_count\": 8,\n            \"avg_rx_onu\": -22.1,\n            \"avg_rx_cto\": -21.4,\n            \"rx_onu_warning_count\": 2,\n            \"rx_onu_warning_percent\": 25.0,\n            \"rx_onu_critical_count\": 1,\n            \"rx_onu_critical_percent\": 13.0,\n            \"rx_olt_warning_count\": 1,\n            \"rx_olt_warning_percent\": 13.0,\n            \"rx_olt_critical_count\": 0,\n            \"rx_olt_critical_percent\": 0.0,\n            \"pon_id\": 128,\n            \"slot/pon\": \"1/1\"\n        },\n        {\n            \"id\": 355,\n            \"name\": \"CTO-CENTRO-09\",\n            \"observations\": \"Conector trocado\",\n            \"olt_id\": 12,\n            \"olt_name\": \"OLT-CENTRO-01\",\n            \"onu_count\": 6,\n            \"avg_rx_onu\": -19.6,\n            \"avg_rx_cto\": -19.2,\n            \"rx_onu_warning_count\": 0,\n            \"rx_onu_warning_percent\": 0.0,\n            \"rx_onu_critical_count\": 0,\n            \"rx_onu_critical_percent\": 0.0,\n            \"rx_olt_warning_count\": 0,\n            \"rx_olt_warning_percent\": 0.0,\n            \"rx_olt_critical_count\": 0,\n            \"rx_olt_critical_percent\": 0.0,\n            \"pon_id\": 129,\n            \"slot/pon\": \"1/2\"\n        }\n    ]\n}"},{"id":"3a198ad1-3b73-4d93-947b-6ac1239f58d1","name":"Invalid search field","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":{"raw":"https://your-instance.olt.com/api/v2/box/attenuations?foo=bar","host":["https://your-instance.olt.com"],"path":["api","v2","box","attenuations"],"query":[{"key":"foo","value":"bar"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"The following fields are not available for searching: ['foo']\"\n}"},{"id":"b50502c2-3ec6-4a49-8fbb-a10efbf0616a","name":"Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/box/attenuations"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": \"Authentication credentials were not provided.\"\n}"}],"_postman_id":"445abee4-aa95-47c9-b63c-5f7084555443"},{"name":"Add tag to equipment","id":"49ff3d14-5626-4c29-b0ca-4c51029e953c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n  \"tag\": \"priority\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{id}/tags","description":"<p>Adds a tag to the equipment.  </p>\n<h4 id=\"request-body\">Request Body</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>tag</td>\n<td>string</td>\n<td>Yes</td>\n<td>Tag to add</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","ftth","equipment","{id}","tags"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"4b949d97-45b8-4fee-a9fb-3ed551c31553","name":"Add tag to equipment","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"tag\": \"priority\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{id}/tags"},"status":"No Content","code":204,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":""}],"_postman_id":"49ff3d14-5626-4c29-b0ca-4c51029e953c"},{"name":"Remove tag from equipment","id":"5f24aae3-0040-425e-bd04-7c53a6f66249","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"tag\": \"priority\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{id}/tags","description":"<p>Removes an existing tag from ONU  </p>\n<h4 id=\"request-body\">Request Body</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>tag</td>\n<td>string</td>\n<td>Yes</td>\n<td>Tag to add</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","ftth","equipment","{id}","tags"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"7177bcd7-f541-4c93-a9d7-32b54a7d201f","name":"Remove tag from equipment","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"tag\": \"priority\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{id}/tags"},"status":"No Content","code":204,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":""}],"_postman_id":"5f24aae3-0040-425e-bd04-7c53a6f66249"},{"name":"ONU Status History Retrieval","id":"bbcef1ee-4047-4aac-b1dd-d359e7ea6a04","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/{ID}/status_logs","description":"<p>Returns the status change history of a specific ONU, ordered from most recent to oldest. Enables analysis of outages, instability, and downtime periods.</p>\n<p><strong>Parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Name</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>ID</td>\n<td>string</td>\n<td>Yes</td>\n<td>Unique ONU identifier</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","ftth","equipment","{ID}","status_logs"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"23e00ec5-f21d-4557-af45-7f4a85498329","name":"ONU Status History Retrieval","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/ftth/equipment/11801/status_logs"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"results\": [\n        {\n            \"date\": \"2026-04-14 08:07:41\",\n            \"status\": \"Online\"\n        },\n        {\n            \"date\": \"2026-04-13 21:11:56\",\n            \"status\": \"Sem Energia\"\n        },\n        {\n            \"date\": \"2026-04-12 18:46:53\",\n            \"status\": \"Online\"\n        },\n        {\n            \"date\": \"2026-04-12 18:33:56\",\n            \"status\": \"Sem Energia\"\n        },\n        {\n            \"date\": \"2026-04-12 16:41:45\",\n            \"status\": \"Online\"\n        },\n        {\n            \"date\": \"2026-04-11 18:56:20\",\n            \"status\": \"Sem Energia\"\n        },\n        {\n            \"date\": \"2026-04-11 18:53:11\",\n            \"status\": \"Online\"\n        },\n        {\n            \"date\": \"2026-04-10 20:13:51\",\n            \"status\": \"Sem Energia\"\n        },\n        {\n            \"date\": \"2026-04-09 06:17:33\",\n            \"status\": \"Online\"\n        },\n        {\n            \"date\": \"2026-04-08 19:33:14\",\n            \"status\": \"Sem Energia\"\n        },\n        {\n            \"date\": \"2026-04-07 05:54:29\",\n            \"status\": \"Online\"\n        },\n        {\n            \"date\": \"2026-04-06 18:56:56\",\n            \"status\": \"Sem Energia\"\n        },\n        {\n            \"date\": \"2026-04-05 18:45:51\",\n            \"status\": \"Online\"\n        },\n        {\n            \"date\": \"2026-04-05 08:43:05\",\n            \"status\": \"Sem Energia\"\n        },\n        {\n            \"date\": \"2026-04-04 20:31:31\",\n            \"status\": \"Online\"\n        },\n        {\n            \"date\": \"2026-04-04 19:10:45\",\n            \"status\": \"Sem Energia\"\n        },\n        {\n            \"date\": \"2026-04-03 21:15:00\",\n            \"status\": \"Online\"\n        },\n        {\n            \"date\": \"2026-04-03 20:49:07\",\n            \"status\": \"Sem Energia\"\n        },\n        {\n            \"date\": \"2026-04-03 20:47:34\",\n            \"status\": \"Online\"\n        },\n        {\n            \"date\": \"2026-04-03 20:45:59\",\n            \"status\": \"Sem Energia\"\n        },\n        {\n            \"date\": \"2026-04-03 20:44:26\",\n            \"status\": \"Online\"\n        },\n        {\n            \"date\": \"2026-04-03 08:50:13\",\n            \"status\": \"Sem Energia\"\n        },\n        {\n            \"date\": \"2026-04-03 06:50:59\",\n            \"status\": \"Online\"\n        },\n        {\n            \"date\": \"2026-04-02 20:20:02\",\n            \"status\": \"Sem Energia\"\n        },\n        {\n            \"date\": \"2026-04-02 20:06:01\",\n            \"status\": \"Online\"\n        },\n        {\n            \"date\": \"2026-04-02 08:33:15\",\n            \"status\": \"Sem Energia\"\n        },\n        {\n            \"date\": \"2026-04-01 22:00:48\",\n            \"status\": \"Online\"\n        },\n        {\n            \"date\": \"2026-04-01 20:47:06\",\n            \"status\": \"Sem Energia\"\n        },\n        {\n            \"date\": \"2026-04-01 14:30:45\",\n            \"status\": \"Online\"\n        },\n        {\n            \"date\": \"2026-03-31 19:22:56\",\n            \"status\": \"Sem Energia\"\n        },\n        {\n            \"date\": \"2026-03-31 17:55:43\",\n            \"status\": \"Online\"\n        }\n    ]\n}"}],"_postman_id":"bbcef1ee-4047-4aac-b1dd-d359e7ea6a04"}],"id":"1b234d0d-58b7-43a4-acdf-f2f2fb308b21","_postman_id":"1b234d0d-58b7-43a4-acdf-f2f2fb308b21","description":""},{"name":"ACS","item":[{"name":"Ping","item":[{"name":"Run Ping","id":"fbe38ae1-957b-4fd7-ae95-4fe1031a339c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"host\": \"8.8.8.8\",\n    \"data_block_size\": 32,\n    \"timeout\": 5000,\n    \"number_of_repetitions\": 4,\n    \"interface\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/ping","description":"<p>This endpoint starts a TR-069 IP Ping diagnostic on the CPE identified by the serial number in the URL. The operation is asynchronous: the response returns immediately with a ping <code>id</code> and <code>status: \"Waiting\"</code>, and the actual ping is executed in background by the platform scheduler.</p>\n<p>Any previous ping for the same device still in <code>Waiting</code> or <code>Requested</code> state is automatically cancelled when a new request is accepted. A new request for the same device is rejected with HTTP 429 if sent within 30 seconds after the previous one.</p>\n<p>All body fields are optional. When omitted, the following defaults are used:</p>\n<ul>\n<li><code>host</code>: <code>\"8.8.8.8\"</code> — destination address of the ping (IPv4, IPv6 or hostname).</li>\n<li><code>data_block_size</code>: <code>32</code> — size in bytes of each ICMP packet. Allowed values: <code>32</code>, <code>64</code>, <code>128</code>, <code>256</code>, <code>512</code>, <code>1024</code>, <code>2048</code>, <code>4096</code>, <code>8192</code>.</li>\n<li><code>timeout</code>: <code>5000</code> — timeout in milliseconds for each individual ping.</li>\n<li><code>number_of_repetitions</code>: <code>4</code> — number of ICMP echo requests to send.</li>\n<li><code>interface</code>: WAN interface to be used as the source of the ping. When omitted the device default is used.</li>\n</ul>\n","urlObject":{"path":["api","v2","acs","{device_serial_number}","ping"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"661af8ae-da7c-43b8-88b2-6dd1c1e29bd1","name":"Run Ping","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"host\": \"8.8.8.8\",\n    \"data_block_size\": 32,\n    \"timeout\": 5000,\n    \"number_of_repetitions\": 4\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/ping"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"ping\": {\n        \"id\": 14,\n        \"serial_number\": \"48575443DBA67CB4\",\n        \"host\": \"8.8.8.8\",\n        \"interface\": null,\n        \"status\": \"Waiting\",\n        \"data_block_size\": 32,\n        \"timeout\": 5000,\n        \"number_of_repetitions\": 4,\n        \"success_count\": 0,\n        \"failure_count\": 0,\n        \"average_response_time\": 0.0,\n        \"minimum_response_time\": 0.0,\n        \"maximum_response_time\": 0.0,\n        \"start_time\": null,\n        \"end_time\": null\n    }\n}"},{"id":"cedf6c86-3a72-4d3b-a1ba-d03237e9c017","name":"Validation error","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"data_block_size\": 99\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/ping"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"data_block_size must be one of [32, 64, 128, 256, 512, 1024, 2048, 4096, 8192]\"\n}"},{"id":"4ead6880-0833-497b-9646-7d1b248eb9cc","name":"Device not found","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/ping"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Device not found\"\n}"},{"id":"d474e1b9-0056-429b-b23e-0430996eb7db","name":"Rate limited","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/ping"},"status":"Too Many Requests","code":429,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Wait 30s between ping requests for the same device\"\n}"}],"_postman_id":"fbe38ae1-957b-4fd7-ae95-4fe1031a339c"},{"name":"Get Ping Result","id":"ff9a6ebd-ec31-48d9-9356-274f30f8c349","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/ping/{ping_id}","description":"<p>This endpoint returns the current state of a single ping diagnostic identified by its numeric <code>id</code> (returned by the <code>Run Ping</code> endpoint). It is intended to be polled by the client after starting a ping, until the <code>status</code> field leaves <code>Waiting</code>/<code>Requested</code>.</p>\n<p>Possible values for <code>status</code>:</p>\n<ul>\n<li><code>Waiting</code>: enqueued, waiting for the worker to pick it up.</li>\n<li><code>Requested</code>: command sent to the device, waiting for the response.</li>\n<li><code>Complete</code>: ping finished successfully. The result fields are populated.</li>\n<li><code>Error_CannotResolveHostName</code>: the device could not resolve the destination host.</li>\n<li><code>Error_CannotConnectToHost</code>: the device could not reach the destination host.</li>\n<li><code>Error_Internal</code>: internal error on the device.</li>\n<li><code>Error_Other</code>: generic error or cancellation by a newer ping request.</li>\n<li><code>Error</code>: failed to send the ping command to the device.</li>\n</ul>\n","urlObject":{"path":["api","v2","acs","ping","{ping_id}"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"e9a22018-c7e1-4ca2-a6d6-7a8376fb548d","name":"Complete","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/ping/{ping_id}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"ping\": {\n        \"id\": 14,\n        \"serial_number\": \"48575443DBA67CB4\",\n        \"host\": \"8.8.8.8\",\n        \"interface\": null,\n        \"status\": \"Complete\",\n        \"data_block_size\": 32,\n        \"timeout\": 5000,\n        \"number_of_repetitions\": 4,\n        \"success_count\": 4,\n        \"failure_count\": 0,\n        \"average_response_time\": 21.0,\n        \"minimum_response_time\": 19.0,\n        \"maximum_response_time\": 23.0,\n        \"start_time\": \"2026-05-22 20:38:25\",\n        \"end_time\": \"2026-05-22 20:38:32\"\n    }\n}"},{"id":"0645dc9f-ed5f-4566-bf8c-eded3d15497e","name":"In progress","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/ping/{ping_id}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"ping\": {\n        \"id\": 14,\n        \"serial_number\": \"48575443DBA67CB4\",\n        \"host\": \"8.8.8.8\",\n        \"interface\": null,\n        \"status\": \"Requested\",\n        \"data_block_size\": 32,\n        \"timeout\": 5000,\n        \"number_of_repetitions\": 4,\n        \"success_count\": 0,\n        \"failure_count\": 0,\n        \"average_response_time\": 0.0,\n        \"minimum_response_time\": 0.0,\n        \"maximum_response_time\": 0.0,\n        \"start_time\": \"2026-05-22 20:38:25\",\n        \"end_time\": null\n    }\n}"},{"id":"5e1e66a5-3957-49b6-b251-f5e3115cf098","name":"Ping not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/ping/{ping_id}"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Ping not found\"\n}"}],"_postman_id":"ff9a6ebd-ec31-48d9-9356-274f30f8c349"},{"name":"Get Ping History","id":"fccba01c-9720-471d-b6c4-e289360d075a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/ping/history","description":"<p>This endpoint returns the paginated history of all pings executed on the device identified by the serial number in the URL, ordered from the most recent to the oldest. The pagination follows the same structure used by the other list endpoints (<code>return</code>, <code>count</code>, <code>next</code>, <code>previous</code>, <code>results</code>).</p>\n","urlObject":{"path":["api","v2","acs","{device_serial_number}","ping","history"],"host":["https://your-instance.olt.com"],"query":[{"disabled":true,"key":"page","value":"Page number to retrieve (default 1)"},{"disabled":true,"key":"page_size","value":"Number of records per page (default 100, max 100)"}],"variable":[]}},"response":[{"id":"aaa34300-695c-4b89-8187-5eb2e2b14ffe","name":"Get Ping History","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/ping/history"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"count\": 2,\n    \"next\": null,\n    \"previous\": null,\n    \"results\": [\n        {\n            \"id\": 14,\n            \"serial_number\": \"48575443DBA67CB4\",\n            \"host\": \"8.8.8.8\",\n            \"interface\": null,\n            \"status\": \"Complete\",\n            \"data_block_size\": 32,\n            \"timeout\": 5000,\n            \"number_of_repetitions\": 4,\n            \"success_count\": 4,\n            \"failure_count\": 0,\n            \"average_response_time\": 21.0,\n            \"minimum_response_time\": 19.0,\n            \"maximum_response_time\": 23.0,\n            \"start_time\": \"2026-05-22 20:38:25\",\n            \"end_time\": \"2026-05-22 20:38:32\"\n        },\n        {\n            \"id\": 13,\n            \"serial_number\": \"48575443DBA67CB4\",\n            \"host\": \"1.1.1.1\",\n            \"interface\": null,\n            \"status\": \"Error_Other\",\n            \"data_block_size\": 32,\n            \"timeout\": 5000,\n            \"number_of_repetitions\": 4,\n            \"success_count\": 0,\n            \"failure_count\": 0,\n            \"average_response_time\": 0.0,\n            \"minimum_response_time\": 0.0,\n            \"maximum_response_time\": 0.0,\n            \"start_time\": null,\n            \"end_time\": \"2026-05-22 20:38:21\"\n        }\n    ]\n}"},{"id":"2f86fad0-2b84-4cb2-9c5d-7bc5eaa081df","name":"Device not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/ping/history"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Device not found\"\n}"}],"_postman_id":"fccba01c-9720-471d-b6c4-e289360d075a"}],"id":"000aac13-2a3d-4da0-8670-9c63ba4408c5","_postman_id":"000aac13-2a3d-4da0-8670-9c63ba4408c5","description":""},{"name":"Traceroute","item":[{"name":"Run Traceroute","id":"2657f1f3-d17c-4c16-9536-aec0a5fe767c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"host\": \"8.8.8.8\",\n    \"maxhops\": 30\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/traceroute","description":"<p>This endpoint starts a TR-069 Traceroute diagnostic on the CPE identified by the serial number in the URL. The operation is asynchronous: the response returns immediately with a traceroute <code>id</code> and <code>status: \"Waiting\"</code>, and the actual traceroute is executed in background by the platform scheduler.</p>\n<p>Any previous traceroute for the same device still in <code>Waiting</code> or <code>Requested</code> state is automatically cancelled when a new request is accepted. A new request for the same device is rejected with HTTP 429 if sent within 30 seconds after the previous one.</p>\n<p>All body fields are optional. When omitted, the following defaults are used:</p>\n<ul>\n<li><code>host</code>: <code>\"8.8.8.8\"</code> — destination address of the traceroute (IPv4, IPv6 or hostname).</li>\n<li><code>maxhops</code>: <code>30</code> — maximum number of hops to probe. Allowed range: <code>1</code> to <code>64</code>.</li>\n</ul>\n","urlObject":{"path":["api","v2","acs","{device_serial_number}","traceroute"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"3cf6a7e3-73bc-4b00-a575-165826e24291","name":"Run Traceroute","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"host\": \"8.8.8.8\",\n    \"maxhops\": 30\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/traceroute"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"traceroute\": {\n        \"id\": 11,\n        \"serial_number\": \"48575443DBA67CB4\",\n        \"host\": \"8.8.8.8\",\n        \"status\": \"Waiting\",\n        \"maxhops\": 30,\n        \"hops_count\": 0,\n        \"route\": [],\n        \"start_time\": null,\n        \"end_time\": null\n    }\n}"},{"id":"6bbfc62e-e60f-4d56-8f57-0702f98fea81","name":"Validation error","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"maxhops\": 200\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/traceroute"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"maxhops must be between 1 and 64\"\n}"},{"id":"0d044ae9-fe3e-493b-bdd9-5a317f23bdb6","name":"Device not found","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/traceroute"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Device not found\"\n}"},{"id":"a439c8b8-a299-4395-bcba-f502fbfbdc39","name":"Rate limited","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/traceroute"},"status":"Too Many Requests","code":429,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Wait 30s between traceroute requests for the same device\"\n}"}],"_postman_id":"2657f1f3-d17c-4c16-9536-aec0a5fe767c"},{"name":"Get Traceroute Result","id":"4feb3b4b-a77e-4d7e-b4cc-baad0f858a60","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/traceroute/{traceroute_id}","description":"<p>This endpoint returns the current state of a single traceroute diagnostic identified by its numeric <code>id</code> (returned by the <code>Run Traceroute</code> endpoint). It is intended to be polled by the client after starting a traceroute, until the <code>status</code> field leaves <code>Waiting</code>/<code>Requested</code>.</p>\n<p>The <code>route</code> field is keyed by hop number (<code>1</code>, <code>2</code>, ...). Each hop contains the fields exposed by the device, typically <code>HopHost</code>, <code>HopHostAddress</code>, <code>HopRTTimes</code> (round trip times) and <code>HopErrorCode</code>.</p>\n<p>Possible values for <code>status</code>:</p>\n<ul>\n<li><code>Waiting</code>: enqueued, waiting for the worker to pick it up.</li>\n<li><code>Requested</code>: command sent to the device, waiting for the response.</li>\n<li><code>Complete</code>: traceroute finished successfully.</li>\n<li><code>Error_MaxHopCountExceeded</code>: destination not reached within <code>maxhops</code>.</li>\n<li><code>Error_CannotResolveHostName</code>: the device could not resolve the destination host.</li>\n<li><code>Error_Internal</code>: internal error on the device.</li>\n<li><code>Error_Other</code>: generic error or cancellation by a newer traceroute request.</li>\n<li><code>Error</code>: failed to send the traceroute command to the device.</li>\n</ul>\n","urlObject":{"path":["api","v2","acs","traceroute","{traceroute_id}"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"21c2633c-fb4b-40fd-a414-9cb780dea437","name":"Complete","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/traceroute/{traceroute_id}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"traceroute\": {\n        \"id\": 11,\n        \"serial_number\": \"48575443DBA67CB4\",\n        \"host\": \"1.1.1.1\",\n        \"status\": \"Complete\",\n        \"maxhops\": 5,\n        \"hops_count\": 5,\n        \"route\": {\n            \"1\": {\n                \"HopHost\": \"10.20.0.1\",\n                \"HopHostAddress\": \"10.20.0.1\",\n                \"HopRTTimes\": \"7.883 ms, 14.862 ms, 13.617 ms\",\n                \"HopErrorCode\": \"0\"\n            },\n            \"2\": {\n                \"HopHost\": \"181.79.91.153\",\n                \"HopHostAddress\": \"181.79.91.153\",\n                \"HopRTTimes\": \"17.456 ms, 13.256 ms, 15.008 ms\",\n                \"HopErrorCode\": \"0\"\n            }\n        },\n        \"start_time\": \"2026-05-22 21:05:01\",\n        \"end_time\": \"2026-05-22 21:05:14\"\n    }\n}"},{"id":"ea876621-614f-4d09-9f06-a5febcde7e12","name":"In progress","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/traceroute/{traceroute_id}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"traceroute\": {\n        \"id\": 11,\n        \"serial_number\": \"48575443DBA67CB4\",\n        \"host\": \"1.1.1.1\",\n        \"status\": \"Requested\",\n        \"maxhops\": 5,\n        \"hops_count\": 0,\n        \"route\": [],\n        \"start_time\": \"2026-05-22 21:05:01\",\n        \"end_time\": null\n    }\n}"},{"id":"c62b1009-c313-4e2c-a1cf-ae703c3aadc6","name":"Traceroute not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/traceroute/{traceroute_id}"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Traceroute not found\"\n}"}],"_postman_id":"4feb3b4b-a77e-4d7e-b4cc-baad0f858a60"},{"name":"Get Traceroute History","id":"f7d53a04-2cf7-41ed-b355-9c81c470eb93","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/traceroute/history","description":"<p>This endpoint returns the paginated history of all traceroutes executed on the device identified by the serial number in the URL, ordered from the most recent to the oldest. The pagination follows the same structure used by the other list endpoints (<code>return</code>, <code>count</code>, <code>next</code>, <code>previous</code>, <code>results</code>).</p>\n","urlObject":{"path":["api","v2","acs","{device_serial_number}","traceroute","history"],"host":["https://your-instance.olt.com"],"query":[{"disabled":true,"key":"page","value":"Page number to retrieve (default 1)"},{"disabled":true,"key":"page_size","value":"Number of records per page (default 100, max 100)"}],"variable":[]}},"response":[{"id":"eb747f87-08ce-4f6b-bfd0-792fa86d4548","name":"Get Traceroute History","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/traceroute/history"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"count\": 1,\n    \"next\": null,\n    \"previous\": null,\n    \"results\": [\n        {\n            \"id\": 11,\n            \"serial_number\": \"48575443DBA67CB4\",\n            \"host\": \"1.1.1.1\",\n            \"status\": \"Complete\",\n            \"maxhops\": 5,\n            \"hops_count\": 5,\n            \"route\": {\n                \"1\": {\n                    \"HopHost\": \"10.20.0.1\",\n                    \"HopHostAddress\": \"10.20.0.1\",\n                    \"HopRTTimes\": \"7.883 ms, 14.862 ms, 13.617 ms\",\n                    \"HopErrorCode\": \"0\"\n                }\n            },\n            \"start_time\": \"2026-05-22 21:05:01\",\n            \"end_time\": \"2026-05-22 21:05:14\"\n        }\n    ]\n}"}],"_postman_id":"f7d53a04-2cf7-41ed-b355-9c81c470eb93"}],"id":"15eff70b-85c9-41ac-a064-07ab03b652d0","_postman_id":"15eff70b-85c9-41ac-a064-07ab03b652d0","description":""},{"name":"Neighboring Wi-Fi","item":[{"name":"Run Neighboring WiFi","id":"8f660b30-738b-44d5-a31e-927573ed3fa3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/neighboring_wifi","description":"<p>This endpoint starts a TR-069 Neighboring WiFi diagnostic on the CPE identified by the serial number in the URL. The diagnostic scans the surrounding 2.4 GHz and 5 GHz wireless networks visible to the device. The operation is asynchronous: the response returns immediately with a <code>neighboring_wifi.id</code> and <code>status: \"Waiting\"</code>, and the actual scan is executed in background by the platform scheduler.</p>\n<p>Support for this diagnostic depends on the device vendor and data model. The endpoint validates support before enqueuing the task: devices that do not support the scan are rejected with HTTP 400 and no record is created. Currently supported vendors include all TR-181 devices and the following TR-098 vendors: Huawei, ZTE, ALCL, Datacom and Intelbras.</p>\n<p>Any previous scan for the same device still in <code>Waiting</code> or <code>Requested</code> state is automatically cancelled when a new request is accepted. A new request for the same device is rejected with HTTP 429 if sent within 30 seconds after the previous one.</p>\n<p>This endpoint does not require any body parameters.</p>\n","urlObject":{"path":["api","v2","acs","{device_serial_number}","neighboring_wifi"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"dc780af3-d42a-42e2-a069-4095f93bfc5e","name":"Run Neighboring WiFi","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/neighboring_wifi"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"neighboring_wifi\": {\n        \"id\": 13,\n        \"serial_number\": \"48575443DBA67CB4\",\n        \"status\": \"Waiting\",\n        \"current_channel_2_4\": null,\n        \"current_band_2_4\": null,\n        \"current_channel_5\": null,\n        \"current_band_5\": null,\n        \"channel_recomendation_2_4\": null,\n        \"channel_recomendation_5\": null,\n        \"networks_2_4\": 0,\n        \"networks_5\": 0,\n        \"chart_data\": [],\n        \"start_time\": null,\n        \"end_time\": null\n    }\n}"},{"id":"c0d7326d-7a2c-40f3-a11a-5faa6c6390b5","name":"Not supported","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/neighboring_wifi"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Neighboring WiFi diagnostic is not supported by this device\"\n}"},{"id":"21368cd5-c1d0-4a01-a2fb-7ce5f9d4e254","name":"Device not found","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/neighboring_wifi"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Device not found\"\n}"},{"id":"94fcc558-97ad-4c66-9a31-5d19e01e5dcf","name":"Rate limited","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/neighboring_wifi"},"status":"Too Many Requests","code":429,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Wait 30s between neighboring wifi requests for the same device\"\n}"}],"_postman_id":"8f660b30-738b-44d5-a31e-927573ed3fa3"},{"name":"Get Neighboring WiFi Result","id":"11ce1526-a6a9-4575-8258-45f194add5b6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/neighboring_wifi/{neighboring_wifi_id}","description":"<p>This endpoint returns the current state of a single Neighboring WiFi scan identified by its numeric <code>id</code> (returned by the <code>Run Neighboring WiFi</code> endpoint). It is intended to be polled by the client after starting a scan, until the <code>status</code> field leaves <code>Waiting</code>/<code>Requested</code>.</p>\n<p>When the scan finishes, the following fields are populated:</p>\n<ul>\n<li><code>current_channel_2_4</code> / <code>current_channel_5</code>: channel currently used by the device on each band.</li>\n<li><code>current_band_2_4</code> / <code>current_band_5</code>: channel bandwidth currently in use on each band.</li>\n<li><code>channel_recomendation_2_4</code> / <code>channel_recomendation_5</code>: recommended channel for each band based on the scan (may be <code>null</code> when the device or vendor implementation does not provide a recommendation).</li>\n<li><code>networks_2_4</code> / <code>networks_5</code>: number of neighbor networks detected on each band.</li>\n<li><code>chart_data</code>: per-band detail with the list of detected networks (<code>ssid</code>, <code>bssid</code>, <code>channel</code>, <code>signal_dbm</code>, <code>frequency_band</code>, <code>channel_bandwidth</code>).</li>\n</ul>\n<p>Possible values for <code>status</code>:</p>\n<ul>\n<li><code>Waiting</code>: enqueued, waiting for the worker to pick it up.</li>\n<li><code>Requested</code>: command sent to the device, waiting for the response.</li>\n<li><code>Complete</code>: scan finished successfully.</li>\n<li><code>Error_NotSupported</code>: device returned the diagnostic but the result could not be processed.</li>\n<li><code>Error_Internal</code>: internal error on the device.</li>\n<li><code>Error_Other</code>: generic error or cancellation by a newer scan request.</li>\n<li><code>Error</code>: failed to send the scan command to the device.</li>\n</ul>\n","urlObject":{"path":["api","v2","acs","neighboring_wifi","{neighboring_wifi_id}"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"be4bf985-8fd7-4025-91d8-0adc039b1806","name":"Complete","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/neighboring_wifi/{neighboring_wifi_id}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"neighboring_wifi\": {\n        \"id\": 13,\n        \"serial_number\": \"48575443DBA67CB4\",\n        \"status\": \"Complete\",\n        \"current_channel_2_4\": 6,\n        \"current_band_2_4\": \"Auto\",\n        \"current_channel_5\": 36,\n        \"current_band_5\": \"Auto\",\n        \"channel_recomendation_2_4\": null,\n        \"channel_recomendation_5\": null,\n        \"networks_2_4\": 2,\n        \"networks_5\": 4,\n        \"chart_data\": {\n            \"2.4GHz\": {\n                \"band\": \"Auto\",\n                \"channel\": \"6\",\n                \"networks\": [\n                    {\n                        \"ssid\": \"Neighbor-A\",\n                        \"bssid\": \"AA:BB:CC:DD:EE:01\",\n                        \"channel\": \"1\",\n                        \"signal_dbm\": \"-72\",\n                        \"frequency_band\": \"2.4GHz\",\n                        \"channel_bandwidth\": \"20MHz\"\n                    }\n                ]\n            },\n            \"5GHz\": {\n                \"band\": \"Auto\",\n                \"channel\": \"36\",\n                \"networks\": [\n                    {\n                        \"ssid\": \"HUAWEI-5G-BnX3\",\n                        \"bssid\": \"FE:11:93:99:D4:28\",\n                        \"channel\": \"36\",\n                        \"signal_dbm\": \"-91\",\n                        \"frequency_band\": \"5GHz\",\n                        \"channel_bandwidth\": \"160MHz\"\n                    }\n                ]\n            }\n        },\n        \"start_time\": \"2026-05-22 21:10:11\",\n        \"end_time\": \"2026-05-22 21:11:02\"\n    }\n}"},{"id":"cf2fa5b3-88e0-4763-abb7-a84052482401","name":"In progress","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/neighboring_wifi/{neighboring_wifi_id}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"neighboring_wifi\": {\n        \"id\": 13,\n        \"serial_number\": \"48575443DBA67CB4\",\n        \"status\": \"Requested\",\n        \"current_channel_2_4\": null,\n        \"current_band_2_4\": null,\n        \"current_channel_5\": null,\n        \"current_band_5\": null,\n        \"channel_recomendation_2_4\": null,\n        \"channel_recomendation_5\": null,\n        \"networks_2_4\": 0,\n        \"networks_5\": 0,\n        \"chart_data\": [],\n        \"start_time\": \"2026-05-22 21:10:11\",\n        \"end_time\": null\n    }\n}"},{"id":"a514f8a8-dbfa-4b6b-b4b6-ef1b4cff91cb","name":"Neighboring WiFi not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/neighboring_wifi/{neighboring_wifi_id}"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Neighboring WiFi not found\"\n}"}],"_postman_id":"11ce1526-a6a9-4575-8258-45f194add5b6"},{"name":"Get Neighboring WiFi History","id":"87a6c1b9-335c-4881-bf0c-53270c54bccf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/neighboring_wifi/history","description":"<p>This endpoint returns the paginated history of all Neighboring WiFi scans executed on the device identified by the serial number in the URL, ordered from the most recent to the oldest. The pagination follows the same structure used by the other list endpoints (<code>return</code>, <code>count</code>, <code>next</code>, <code>previous</code>, <code>results</code>).</p>\n","urlObject":{"path":["api","v2","acs","{device_serial_number}","neighboring_wifi","history"],"host":["https://your-instance.olt.com"],"query":[{"disabled":true,"key":"page","value":"Page number to retrieve (default 1)"},{"disabled":true,"key":"page_size","value":"Number of records per page (default 100, max 100)"}],"variable":[]}},"response":[{"id":"b7ad8ccb-25dc-49a5-8643-8f215791dfdb","name":"Get Neighboring WiFi History","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/neighboring_wifi/history"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"count\": 1,\n    \"next\": null,\n    \"previous\": null,\n    \"results\": [\n        {\n            \"id\": 13,\n            \"serial_number\": \"48575443DBA67CB4\",\n            \"status\": \"Complete\",\n            \"current_channel_2_4\": 6,\n            \"current_band_2_4\": \"Auto\",\n            \"current_channel_5\": 36,\n            \"current_band_5\": \"Auto\",\n            \"channel_recomendation_2_4\": null,\n            \"channel_recomendation_5\": null,\n            \"networks_2_4\": 2,\n            \"networks_5\": 4,\n            \"chart_data\": {},\n            \"start_time\": \"2026-05-22 21:10:11\",\n            \"end_time\": \"2026-05-22 21:11:02\"\n        }\n    ]\n}"}],"_postman_id":"87a6c1b9-335c-4881-bf0c-53270c54bccf"}],"id":"80cbb767-8682-4c46-92fa-bd5e3f96f07b","_postman_id":"80cbb767-8682-4c46-92fa-bd5e3f96f07b","description":""},{"name":"Bandwidth Test","item":[{"name":"Start Bandwidth Test","id":"2c36a9f4-fb58-466b-90d0-5d0a13a370d6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"download_url\": \"http://speedtest.example.com/download\",\n    \"upload_url\": \"http://speedtest.example.com/upload\",\n    \"interface\": null,\n    \"dscp\": 0,\n    \"ethernet_priority\": 0,\n    \"number_of_connections\": 1,\n    \"upload_test_file_length\": 10485760\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/acs/{{sn}}/bandwidth_test","description":"<p>Enqueues a bandwidth (speed) test on the ONU identified by <code>sn</code>.</p>\n<p>All body fields are optional:</p>\n<ul>\n<li><code>download_url</code> / <code>upload_url</code>: measurement URLs. When omitted, fall back to the device configuration and then to the global TR-069 settings (<code>speedtest_url</code> / <code>speedtest_upload_url</code>).</li>\n<li><code>interface</code>: WAN interface path used for the test (defaults to the device's active WAN).</li>\n<li><code>dscp</code>: DSCP marking, <code>0</code>–<code>63</code> (default <code>0</code>).</li>\n<li><code>ethernet_priority</code>: 802.1p priority, <code>0</code>–<code>7</code> (default <code>0</code>).</li>\n<li><code>number_of_connections</code>: parallel connections, <code>1</code>–<code>16</code> (default <code>1</code>).</li>\n<li><code>upload_test_file_length</code>: upload payload in bytes, <code>1024</code>–<code>1073741824</code> (default <code>10485760</code>).</li>\n</ul>\n<p>Returns <code>202 Accepted</code> with the created record in <code>Waiting</code>. Poll <strong>Get Bandwidth Test Result</strong> with the returned <code>id</code> to follow progress and read <code>download_mbps</code> / <code>upload_mbps</code>.</p>\n","urlObject":{"path":["api","v2","acs","{{sn}}","bandwidth_test"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"a920dc05-6b82-438e-a584-7343d590c22d","name":"202 Accepted - Test enqueued","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ..."},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"download_url\": \"http://speedtest.example.com/download\",\n    \"upload_url\": \"http://speedtest.example.com/upload\",\n    \"dscp\": 0,\n    \"ethernet_priority\": 0,\n    \"number_of_connections\": 1,\n    \"upload_test_file_length\": 10485760\n}"},"url":"https://your-instance.olt.com/api/v2/acs/{{sn}}/bandwidth_test"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"bandwidth_test\": {\n        \"id\": 512,\n        \"serial_number\": \"ALCLB0A1C2D3\",\n        \"interface\": null,\n        \"dscp\": 0,\n        \"ethernet_priority\": 0,\n        \"number_of_connections\": 1,\n        \"status\": \"Waiting\",\n        \"download_url\": \"http://speedtest.example.com/download\",\n        \"download_status\": null,\n        \"download_bytes\": 0,\n        \"download_duration_ms\": 0,\n        \"download_mbps\": 0.0,\n        \"download_rom_time\": null,\n        \"download_bom_time\": null,\n        \"download_eom_time\": null,\n        \"upload_url\": \"http://speedtest.example.com/upload\",\n        \"upload_test_file_length\": 10485760,\n        \"upload_status\": null,\n        \"upload_bytes\": 0,\n        \"upload_duration_ms\": 0,\n        \"upload_mbps\": 0.0,\n        \"upload_rom_time\": null,\n        \"upload_bom_time\": null,\n        \"upload_eom_time\": null,\n        \"start_time\": null,\n        \"end_time\": null\n    }\n}"},{"id":"c824c117-3e53-4eec-82ae-6096de1b7d0c","name":"400 Bad Request - Speedtest URLs not configured","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ..."},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{}"},"url":"https://your-instance.olt.com/api/v2/acs/{{sn}}/bandwidth_test"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Speedtest URLs (download and upload) are not configured in TR-069 settings\"\n}"},{"id":"5d56d99f-562a-45d3-9792-ccf1e449650d","name":"400 Bad Request - Invalid parameter range","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ..."},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"dscp\": 99\n}"},"url":"https://your-instance.olt.com/api/v2/acs/{{sn}}/bandwidth_test"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"dscp must be between 0 and 63\"\n}"},{"id":"e8611fd3-e9dd-4ed7-bbe4-dccbec232765","name":"404 Not Found - Device not found","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ..."},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{}"},"url":"https://your-instance.olt.com/api/v2/acs/{{sn}}/bandwidth_test"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Device not found\"\n}"},{"id":"052b23db-1a3c-4692-a950-0afc9d7db86b","name":"429 Too Many Requests - Throttled","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ..."},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{}"},"url":"https://your-instance.olt.com/api/v2/acs/{{sn}}/bandwidth_test"},"status":"Too Many Requests","code":429,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Wait 30s between bandwidth test requests for the same device\"\n}"}],"_postman_id":"2c36a9f4-fb58-466b-90d0-5d0a13a370d6"},{"name":"Get Bandwidth Test Result","id":"7ec8a11d-5173-40fd-a969-d3caab35d23b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/bandwidth_test/{{bandwidthTestId}}","description":"<p>Returns a single bandwidth test by its <code>id</code>. Use it to poll a running test until <code>status</code> is terminal and to read the measured <code>download_mbps</code> / <code>upload_mbps</code>, transferred bytes and durations.</p>\n","urlObject":{"path":["api","v2","acs","bandwidth_test","{{bandwidthTestId}}"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"4361d1ec-8c26-421b-85e6-19dd2698bb60","name":"200 OK - Completed test","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ..."}],"url":"https://your-instance.olt.com/api/v2/acs/bandwidth_test/{{bandwidthTestId}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"bandwidth_test\": {\n        \"id\": 512,\n        \"serial_number\": \"ALCLB0A1C2D3\",\n        \"interface\": \"InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1\",\n        \"dscp\": 0,\n        \"ethernet_priority\": 0,\n        \"number_of_connections\": 1,\n        \"status\": \"Complete\",\n        \"download_url\": \"http://speedtest.example.com/download\",\n        \"download_status\": \"Completed\",\n        \"download_bytes\": 118325248,\n        \"download_duration_ms\": 5000,\n        \"download_mbps\": 189.32,\n        \"download_rom_time\": \"2026-07-14T18:20:01.000000Z\",\n        \"download_bom_time\": \"2026-07-14T18:20:01.200000Z\",\n        \"download_eom_time\": \"2026-07-14T18:20:06.200000Z\",\n        \"upload_url\": \"http://speedtest.example.com/upload\",\n        \"upload_test_file_length\": 10485760,\n        \"upload_status\": \"Completed\",\n        \"upload_bytes\": 10485760,\n        \"upload_duration_ms\": 4200,\n        \"upload_mbps\": 19.97,\n        \"upload_rom_time\": \"2026-07-14T18:20:07.000000Z\",\n        \"upload_bom_time\": \"2026-07-14T18:20:07.100000Z\",\n        \"upload_eom_time\": \"2026-07-14T18:20:11.300000Z\",\n        \"start_time\": \"2026-07-14 18:20:00\",\n        \"end_time\": \"2026-07-14 18:20:11\"\n    }\n}"},{"id":"9683faa6-2723-49bf-8cd4-8ae18b1353d7","name":"404 Not Found - Test not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ..."}],"url":"https://your-instance.olt.com/api/v2/acs/bandwidth_test/{{bandwidthTestId}}"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Bandwidth test not found\"\n}"}],"_postman_id":"7ec8a11d-5173-40fd-a969-d3caab35d23b"},{"name":"List Bandwidth Test History","id":"e5cf6f8a-5bdf-45c4-a585-0a8df07de5e6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/{{sn}}/bandwidth_test/history?page=1&page_size=100","description":"<p>Lists the bandwidth tests of the ONU identified by <code>sn</code>, most recent first (ordered by <code>start_time</code> descending). Paginated with the standard <code>count</code>/<code>next</code>/<code>previous</code>/<code>results</code> envelope.</p>\n","urlObject":{"path":["api","v2","acs","{{sn}}","bandwidth_test","history"],"host":["https://your-instance.olt.com"],"query":[{"description":{"content":"<p>Page number (default 1).</p>\n","type":"text/plain"},"key":"page","value":"1"},{"description":{"content":"<p>Items per page (default 100, max 1000).</p>\n","type":"text/plain"},"key":"page_size","value":"100"}],"variable":[]}},"response":[{"id":"601480fc-84be-4a41-8108-c29087fe5626","name":"200 OK - History page","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ..."}],"url":{"raw":"https://your-instance.olt.com/api/v2/acs/{{sn}}/bandwidth_test/history?page=1&page_size=100","host":["https://your-instance.olt.com"],"path":["api","v2","acs","{{sn}}","bandwidth_test","history"],"query":[{"key":"page","value":"1"},{"key":"page_size","value":"100"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"count\": 2,\n    \"next\": null,\n    \"previous\": null,\n    \"results\": [\n        {\n            \"id\": 512,\n            \"serial_number\": \"ALCLB0A1C2D3\",\n            \"interface\": \"InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1\",\n            \"dscp\": 0,\n            \"ethernet_priority\": 0,\n            \"number_of_connections\": 1,\n            \"status\": \"Complete\",\n            \"download_url\": \"http://speedtest.example.com/download\",\n            \"download_status\": \"Completed\",\n            \"download_bytes\": 118325248,\n            \"download_duration_ms\": 5000,\n            \"download_mbps\": 189.32,\n            \"download_rom_time\": \"2026-07-14T18:20:01.000000Z\",\n            \"download_bom_time\": \"2026-07-14T18:20:01.200000Z\",\n            \"download_eom_time\": \"2026-07-14T18:20:06.200000Z\",\n            \"upload_url\": \"http://speedtest.example.com/upload\",\n            \"upload_test_file_length\": 10485760,\n            \"upload_status\": \"Completed\",\n            \"upload_bytes\": 10485760,\n            \"upload_duration_ms\": 4200,\n            \"upload_mbps\": 19.97,\n            \"upload_rom_time\": \"2026-07-14T18:20:07.000000Z\",\n            \"upload_bom_time\": \"2026-07-14T18:20:07.100000Z\",\n            \"upload_eom_time\": \"2026-07-14T18:20:11.300000Z\",\n            \"start_time\": \"2026-07-14 18:20:00\",\n            \"end_time\": \"2026-07-14 18:20:11\"\n        },\n        {\n            \"id\": 498,\n            \"serial_number\": \"ALCLB0A1C2D3\",\n            \"interface\": null,\n            \"dscp\": 0,\n            \"ethernet_priority\": 0,\n            \"number_of_connections\": 1,\n            \"status\": \"Error_CannotConnectToHost\",\n            \"download_url\": \"http://speedtest.example.com/download\",\n            \"download_status\": \"Error\",\n            \"download_bytes\": 0,\n            \"download_duration_ms\": 0,\n            \"download_mbps\": 0.0,\n            \"download_rom_time\": null,\n            \"download_bom_time\": null,\n            \"download_eom_time\": null,\n            \"upload_url\": \"http://speedtest.example.com/upload\",\n            \"upload_test_file_length\": 10485760,\n            \"upload_status\": null,\n            \"upload_bytes\": 0,\n            \"upload_duration_ms\": 0,\n            \"upload_mbps\": 0.0,\n            \"upload_rom_time\": null,\n            \"upload_bom_time\": null,\n            \"upload_eom_time\": null,\n            \"start_time\": \"2026-07-14 17:02:11\",\n            \"end_time\": \"2026-07-14 17:02:19\"\n        }\n    ]\n}"},{"id":"8c356aae-92db-4dfe-ad0c-e3e81ffdff51","name":"400 Bad Request - Device not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ..."}],"url":"https://your-instance.olt.com/api/v2/acs/{{sn}}/bandwidth_test/history"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Device not found\"\n}"}],"_postman_id":"e5cf6f8a-5bdf-45c4-a585-0a8df07de5e6"}],"id":"e007876c-ec6e-458f-8eff-ded9af198daf","description":"<p>Speed test (download/upload) run directly on a TR-069 ONU.</p>\n<p>The test is asynchronous: <code>POST</code> enqueues it and returns <code>202 Accepted</code> with a record in <code>Waiting</code>; poll the detail endpoint by <code>id</code> until <code>status</code> reaches a terminal value (<code>Complete</code> or an <code>Error_*</code> state). Speedtest URLs fall back device → TR-069 settings when not provided in the body; if neither is configured the request fails with <code>400</code>. A per-device Redis lock (30s TTL) throttles requests with <code>429</code>.</p>\n","_postman_id":"e007876c-ec6e-458f-8eff-ded9af198daf"},{"name":"List Devices","id":"736dde7b-0504-4168-9636-cd430ffbdcf9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/list","description":"<p>This endpoint is used to retrieve all devices registered in TR-069.<br />Below are the fields that can be used to filter the device search.</p>\n","urlObject":{"path":["api","v2","acs","list"],"host":["https://your-instance.olt.com"],"query":[{"disabled":true,"key":"id","value":"Device ID"},{"disabled":true,"key":"client_name","value":"Name of the client linked to the device"},{"disabled":true,"key":"login","value":"Login/PPPoE of the client linked to the device"},{"disabled":true,"key":"vendor","value":"Device vendor"},{"disabled":true,"key":"model","value":"Device model"},{"disabled":true,"key":"serial_number","value":"Device Serial Number"},{"disabled":true,"key":"gpon_serial_number","value":"GPON Serial number format for device"},{"disabled":true,"key":"mac","value":"Device MAC address"},{"disabled":true,"key":"online","value":"Device status (\"0\" for offline and \"1\" for Online)"},{"disabled":true,"key":"hardware_version","value":"Device hardware version"},{"disabled":true,"key":"software_version","value":"Device software version"},{"disabled":true,"key":"last_updated","value":"Device last inform message date"},{"disabled":true,"key":"ips","value":"Device IP address"}],"variable":[]}},"response":[{"id":"a738c247-a015-478c-9209-708903457672","name":"List Devices","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":{"raw":"https://your-instance.olt.com/api/v2/acs/list","host":["https://your-instance.olt.com"],"path":["api","v2","acs","list"],"query":[{"key":"id","value":"Device ID","type":"text","disabled":true},{"key":"client_name","value":"Name of the client linked to the device","type":"text","disabled":true},{"key":"login","value":"Login/PPPoE of the client linked to the device","type":"text","disabled":true},{"key":"vendor","value":"Device vendor","type":"text","disabled":true},{"key":"model","value":"Device model","type":"text","disabled":true},{"key":"serial_number","value":"Device Serial Number","type":"text","disabled":true},{"key":"gpon_serial_number","value":"GPON Serial number format for device","type":"text","disabled":true},{"key":"mac","value":"Device MAC address","type":"text","disabled":true},{"key":"online","value":"Device status (\"0\" for offline and \"1\" for Online)","type":"text","disabled":true},{"key":"hardware_version","value":"Device hardware version","type":"text","disabled":true},{"key":"software_version","value":"Device software version","type":"text","disabled":true},{"key":"last_updated","value":"Device last inform message date","type":"text","disabled":true},{"key":"ips","value":"Device IP address","type":"text","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n\t\"return\": true,\n    \"count\": 100,\n    \"next\": \"https://your-instance.olt.com/api/v2/acs/list?page=2\",\n    \"previous\": null,\n    \"results\": [\n        {\n            \"id\": 14865,\n            \"client_name\": \"User\",\n            \"login\": \"user@acs\",\n            \"vendor\": \"D-LINK\",\n            \"model\": \"R1\",\n            \"serial_number\": \"TK19104009022\",\n            \"gpon_serial_number\": null,\n            \"mac\": \"30:DE:4B:73:F2:52\",\n            \"online\": true,\n            \"hardware_version\": \"R1\",\n            \"software_version\": \"1.0.0\",\n            \"last_updated\": \"2025-01-17T20:48:10.087113\",\n            \"ips\": [\n                \"100.66.73.1\"\n            ]\n        }\n    ]\n}"}],"_postman_id":"736dde7b-0504-4168-9636-cd430ffbdcf9"},{"name":"Update WIFI info","id":"b388e234-01c5-49e6-becb-72629a042536","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"ssid\": \"\",\n    \"wifi_pass\": \"\",\n    \"ssid_5\": \"\",\n    \"wifi_pass_5\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/config_wifi","description":"<p>This endpoint is used to modify the SSID and Wi-Fi password data of devices.</p>\n<p>None of the fields exemplified below are mandatory. If you do not wish to change a field or if your device does not have a 5.8GHz Wi-Fi network, you do not need to send the parameters.</p>\n","urlObject":{"path":["api","v2","acs","{device_serial_number}","config_wifi"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"86ab629e-e828-44b5-b424-d73030279cf9","name":"Update Wifi info","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"ssid\": \"\",\n    \"wifi_pass\": \"\",\n    \"ssid_5\": \"\",\n    \"wifi_pass_5\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/config_wifi"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"msg\": \"Commands successfully sent to the device\"\n}"},{"id":"d7ccd165-71ba-48fe-bc70-1d15ad5b6fb9","name":"Update Wifi info error","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"ssid\": \"\",\n    \"wifi_pass\": \"\",\n    \"ssid_5\": \"\",\n    \"wifi_pass_5\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/config_wifi"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"msg\": \"Error sending commands to the device\"\n}"}],"_postman_id":"b388e234-01c5-49e6-becb-72629a042536"},{"name":"Get Device Parameters","id":"005c2f46-964e-4c26-8709-392a0362e824","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/parameters","description":"<p>This endpoint serves to list all the device's parameters with their respective values and information on which fields allow value writing. Editable parameters have the field \"wr\" = true.</p>\n<p>If the \"xsi:type\" field has the value \"xsd:boolean\", caution is required when modifying this field. Some device models interpret false values as \"0\" and true values as \"1\", while others literally use the string values \"false\" or \"true\".</p>\n","urlObject":{"path":["api","v2","acs","{device_serial_number}","parameters"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"e308361b-bc28-410a-ba9a-c664ad2f41dc","name":"Get device parameters","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/parameters"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"parameters\": [\n    \t{\n            \"Name\": \"Device.WiFi.SSID.1.SSID\",\n            \"Value\": {\n                \"wr\": true,\n                \"value\": \"CPE_SSID_NAME\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:string\"\n                }\n            }\n        }\n        {\n            \"Name\": \"Device.DeviceInfo.Manufacturer\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"TP-Link\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:string\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.DeviceInfo.ManufacturerOUI\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"482254\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:string\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.DeviceInfo.ModelName\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"EC220-G5\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:string\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.DeviceInfo.Description\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"AC1300 MU-MIMO Wi-Fi Router\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:string\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.DeviceInfo.ProductClass\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"EC220-G5\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:string\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.DeviceInfo.SerialNumber\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"2232366001429\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:string\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.DeviceInfo.HardwareVersion\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"EC220-G5 3.0\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:string\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.DeviceInfo.SoftwareVersion\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"1.12.0 Build 220820 Rel.52419n(4252)\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:string\"\n                }\n            }\n        }\n    ]\n}"}],"_postman_id":"005c2f46-964e-4c26-8709-392a0362e824"},{"name":"Set Device Parameters","id":"11d263ff-6dfd-45d3-917b-784ad79ec3e6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"x-auth-token","value":"token","type":"text"}],"body":{"mode":"raw","raw":"[\n    {\n        \"name\": \"Device.WiFi.SSID.1.SSID\",\n        \"value\": \"NEW_SSID_NAME\"\n    },\n    {\n        \"name\": \"Device.WiFi.SSID.3.SSID\",\n        \"value\": \"NEW_SSID_NAME_5G\"\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://your-acs-instance.com:7995/api/set/{device_serial_number}","description":"<p>This endpoint is used to set new values for the device's parameters. To check which parameters can be edited and the type of values they accept, refer to the \"Get device parameters\" endpoint available in this section of the API.<br />When sending the parameters to be changed, the API will return a code that should be used to check the progress of the requested change. Send the response key returned as per the instructions in the \"Check Response\" endpoint listed in this section of the documentation.</p>\n<blockquote>\n<p><strong>Remember that to use this endpoint, you must use the ACS service URL as the base URL and the authentication method as instructed in the introduction of this topic in the documentation.</strong></p>\n</blockquote>\n","urlObject":{"protocol":"https","port":"7995","path":["api","set","{device_serial_number}"],"host":["your-acs-instance","com"],"query":[],"variable":[]}},"response":[{"id":"05a3eb29-e785-46b9-98ff-d10c300ffa66","name":"Set device parameters","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"[\n    {\n        \"name\": \"Device.WiFi.SSID.1.SSID\",\n        \"value\": \"NEW_SSID_NAME\"\n    },\n    {\n        \"name\": \"Device.WiFi.SSID.3.SSID\",\n        \"value\": \"NEW_SSID_NAME_5G\"\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://your-acs-instance.com:7995/api/set/{device_serial_number}"},"code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"response\": \"2232366001429:set:00802d179a\"\n}"}],"_postman_id":"11d263ff-6dfd-45d3-917b-784ad79ec3e6"},{"name":"Check Response","id":"b6de5156-b770-4eda-a135-df262bfcffe1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"x-auth-token","value":"token","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"response\": \"223266000142:set:8c9244f64\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-acs-instance.com:7995/api/response","description":"<p>This endpoint is used to check a data change request submitted through the \"Set device parameters\" endpoint. The expected response from this endpoint, once the change has been applied, is the return of all the device's parameters and values. If the key has already expired at the time of the query or if there was an error in the format of the submitted request, a 404 status code will be returned.<br />After processing a change, the key containing the device's values will be available for query for 5 minutes. After this period, the key will no longer be valid for consultation.</p>\n<p>After the key is successfully queried and returned, it is deleted. Therefore, once you obtain the response, if you use the returned values for any validation, this response must be stored, as it will no longer be available for query through the response check key.</p>\n<blockquote>\n<p><strong>Remember that to use this endpoint, you must use the ACS service URL as the base URL and the authentication method as instructed in the introduction of this topic in the documentation.</strong></p>\n</blockquote>\n","urlObject":{"protocol":"https","port":"7995","path":["api","response"],"host":["your-acs-instance","com"],"query":[],"variable":[]}},"response":[{"id":"394e067d-b19e-4aae-a2a9-b37d5bb29676","name":"Check response","originalRequest":{"method":"POST","header":[{"key":"x-auth-token","value":"token","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"response\": \"223266000142:set:8c9244f64\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-acs-instance.com:7995/api/response"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"Device.WiFi.SSID.1.SSID\": {\n        \"wr\": true,\n        \"value\": \"CPE_SSID_NAME\",\n        \"klass\": {\n            \"xsi:type\": \"xsd:string\"\n        }\n    },\n    \"Device.DeviceInfo.Manufacturer\": {\n        \"wr\": false,\n        \"value\": \"TP-Link\",\n        \"klass\": {\n            \"xsi:type\": \"xsd:string\"\n        }\n    },\n    \"Device.DeviceInfo.ModelName\": {\n        \"wr\": false,\n        \"value\": \"EC220-G5\",\n        \"klass\": {\n            \"xsi:type\": \"xsd:string\"\n        }\n    }\n}"},{"id":"aa8e498c-af2a-44d3-94d2-2403246fe206","name":"Check response error","originalRequest":{"method":"POST","header":[{"key":"x-auth-token","value":"token","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"response\": \"223266000142:set:8c9244f64\"\n}","options":{"raw":{"language":"json"}}},"url":"https://your-acs-instance.com:7995/api/response"},"status":"Bad Request","code":400,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{}"}],"_postman_id":"b6de5156-b770-4eda-a135-df262bfcffe1"},{"name":"Get Device Parameters by MAC","id":"0c9024cf-3155-4f60-99e6-62929fcea82b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/mac/{{mac}}/parameters","description":"<p>This endpoint serves to list all the device's parameters with their respective values and information on which fields allow value writing. Editable parameters have the field \"wr\" = true.</p>\n<p>If the \"xsi:type\" field has the value \"xsd:boolean\", caution is required when modifying this field. Some device models interpret false values as \"0\" and true values as \"1\", while others literally use the string values \"false\" or \"true\".</p>\n","urlObject":{"path":["api","v2","acs","mac","{{mac}}","parameters"],"host":["https://your-instance.olt.com"],"query":[{"disabled":true,"description":{"content":"<p>When this parameter is provided, the data is collected immediately from the device. If the parameter is not provided, the information from the last collection will be returned (the time of the last collection is indicated in the 'last_update' field).</p>\n","type":"text/plain"},"key":"force","value":"1"}],"variable":[]}},"response":[{"id":"bcf8bcaa-5856-4f39-b6bb-a999233f1a42","name":"Get Device Parameters by MAC","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/mac/14:36:0E:8D:F8:C3/parameters"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"return\": true,\n    \"device\": {\n        \"id\": 4244,\n        \"client_name\": null,\n        \"login\": \"martins.queiroz@889.com.br\",\n        \"vendor\": \"ZYXEL\",\n        \"serial_number\": \"S240Y37150419\",\n        \"gpon_serial_number\": null,\n        \"online\": true,\n        \"hardware_version\": \"PX3321-T1\",\n        \"software_version\": \"V5.44(ACHK.0.2)C0\",\n        \"last_updated\": \"2025-06-11 14:11:51\",\n        \"ips\": [\n            \"100.69.24.87\"\n        ]\n    },\n    \"parameters\": [\n        {\n            \"Name\": \"Device.\",\n            \"Value\": {\n                \"wr\": false\n            }\n        },\n        {\n            \"Name\": \"Device.RootDataModelVersion\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"2.0\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:string\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.DeviceSummary\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"Device:2.0[](DownloadTCP:1,UploadTCP:1,UDPEcho:1,UDPEchoPlus:1,MemoryStatus:1,ProcessStatus:1,NAT:1,UDPConnReq:1,IPPing:1,TraceRoute:1),VoiceService:1[](Endpoint:1,SIPEndpoint:1,TAEndpoint:1,)\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:string\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.InterfaceStackNumberOfEntries\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"0\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:unsignedInt\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.\",\n            \"Value\": {\n                \"wr\": false\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceServiceNumberOfEntries\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"1\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:unsignedInt\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.\",\n            \"Value\": {\n                \"wr\": false\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.\",\n            \"Value\": {\n                \"wr\": false\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.VoiceProfileNumberOfEntries\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"1\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:unsignedInt\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.X_ZYXEL_LoggingLevel\",\n            \"Value\": {\n                \"wr\": true,\n                \"value\": \"0\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:unsignedInt\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.\",\n            \"Value\": {\n                \"wr\": false\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.MaxProfileCount\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"2\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:unsignedInt\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.MaxLineCount\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"8\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:unsignedInt\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.MaxSessionsPerLine\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"2\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:unsignedInt\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.MaxSessionCount\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"10\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:unsignedInt\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.SignalingProtocols\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"SIP\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:string\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.Regions\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"AE,AR,AU,AT,BE,BG,BA,BR,CH,CL,CN,CO,CZ,DE,DK,ES,XE,FI,FR,GB,GR,HR,HU,IN,IE,IT,JP,NL,NO,NZ,PK,PL,RO,RU,SA,RS,SK,SI,SE,XT,TH,TR,TW,UA,US,VN\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:string\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.RTCP\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"1\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:boolean\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.SRTP\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"1\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:boolean\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.SRTPKeyingMethods\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"SDP\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:string\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.SRTPEncryptionKeySizes\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"240\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:string\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.RTPRedundancy\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"0\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:boolean\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.DSCPCoupled\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"0\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:boolean\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.EthernetTaggingCoupled\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"0\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:boolean\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.PSTNSoftSwitchOver\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"0\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:boolean\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.FaxT38\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"1\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:boolean\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.FaxPassThrough\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"1\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:boolean\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.ModemPassThrough\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"0\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:boolean\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.ToneGeneration\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"0\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:boolean\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.ToneDescriptionsEditable\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"0\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:boolean\"\n                }\n            }\n        },\n        {\n            \"Name\": \"Device.Services.VoiceService.1.Capabilities.PatternBasedToneGeneration\",\n            \"Value\": {\n                \"wr\": false,\n                \"value\": \"0\",\n                \"klass\": {\n                    \"xsi:type\": \"xsd:boolean\"\n                }\n            }\n        }\n    ]\n}"}],"_postman_id":"0c9024cf-3155-4f60-99e6-62929fcea82b"},{"name":"Reboot Device","id":"cba6c9a1-fb8e-473b-9115-fa4dc43b2d80","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/reboot","description":"<p>This endpoint triggers a remote reboot of a CPE (Customer Premises Equipment) device via the TR-069 protocol. When called, the system sends a <code>Reboot</code> command to the device, instructing it to restart. This action is typically used for maintenance purposes, remote troubleshooting, or applying configuration changes that require a reboot.</p>\n","urlObject":{"path":["api","v2","acs","{device_serial_number}","reboot"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"573529ee-418e-4247-8617-2d6bdc8098be","name":"Reboot Device","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/reboot"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"return\": true,\n    \"message\": \"Device rebooted successfully\"\n}"}],"_postman_id":"cba6c9a1-fb8e-473b-9115-fa4dc43b2d80"},{"name":"Get RSSI Analysis","id":"ba6d5602-7aac-4de0-bb4f-d663bbc7d6af","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"description":"<p>Contains data on the Wi-Fi signal quality of devices connected to the router.</p>\n<h4 id=\"devices-object\"><code>devices</code> (object)</h4>\n<p>A list of connected Wi-Fi devices, indexed by MAC address. Each item includes:</p>\n<ul>\n<li><p><code>mean</code>: average RSSI value of the device</p>\n</li>\n<li><p><code>values</code>: list of individual signal measurements, each with <code>time</code>, <code>value</code> (RSSI), <code>ssid</code>, and <code>band</code></p>\n</li>\n<li><p><code>ssid</code>: Wi-Fi network name</p>\n</li>\n<li><p><code>band</code>: frequency band used (e.g., \"2.4GHz\", \"5GHz\")</p>\n</li>\n<li><p><code>hostname</code>: device hostname</p>\n</li>\n<li><p><code>online</code>: whether the device is currently connected</p>\n</li>\n</ul>\n<h4 id=\"history-array\"><code>history</code> (array)</h4>\n<p>Consolidated measurement history per timestamp. Each item includes:</p>\n<ul>\n<li><p><code>rssi_mean</code>: average RSSI at the given time</p>\n</li>\n<li><p><code>cok</code>: number of devices with regular signal</p>\n</li>\n<li><p><code>cbad</code>: number of devices with poor signal</p>\n</li>\n<li><p><code>dcount</code>: total connected devices</p>\n</li>\n<li><p><code>cok_mean</code>, <code>cbad_mean</code>, <code>dcount_mean</code>: historical averages of each metric</p>\n</li>\n<li><p><code>time</code>: timestamp of the measurement</p>\n</li>\n</ul>\n","urlObject":{"query":[],"variable":[]},"url":""},"response":[{"id":"d971870b-32d2-42a1-84be-1ad32752fba6","name":"200","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/{sn_or_mac}/rssi_analysis"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"device\": {\n        \"id\": 14,\n        \"client_name\": null,\n        \"login\": \"teste.jo\",\n        \"vendor\": \"TP-Link\",\n        \"model\": \"XX230v\",\n        \"serial_number\": \"TPLGCEF18818\",\n        \"gpon_serial_number\": null,\n        \"mac\": \"74:FE:CE:F1:88:1A\",\n        \"online\": true,\n        \"hardware_version\": \"XX230v v1.0 00000000\",\n        \"software_version\": \"0.12.0 3.0.0 v6066.0 Build 240319 Rel.37770n\",\n        \"last_updated\": \"2025-07-09 18:44:37\",\n        \"ips\": [\n            \"10.225.0.255\"\n        ],\n        \"wifi_devices\": 1,\n        \"wifi_devices_mean\": 1,\n        \"regular_signal_wifi_devices\": 0,\n        \"regular_signal_wifi_devices_mean\": 0,\n        \"bad_signal_wifi_devices\": 0,\n        \"bad_signal_wifi_devices_mean\": 0\n    },\n    \"rssi_analysis\": {\n        \"devices\": {\n            \"70:BB:E9:DA:44:B1\": {\n                \"mean\": -41,\n                \"values\": [\n                    {\n                        \"time\": \"2025-07-09 18:23:28\",\n                        \"value\": -41,\n                        \"ssid\": \"TESTE_RSSI\",\n                        \"band\": \"5GHz\"\n                    },\n                    {\n                        \"time\": \"2025-07-09 18:26:58\",\n                        \"value\": -41,\n                        \"ssid\": \"TESTE_RSSI\",\n                        \"band\": \"5GHz\"\n                    }\n                ],\n                \"ssid\": \"TESTE_RSSI\",\n                \"band\": \"5GHz\",\n                \"hostname\": \"MI8Lite-MI8Lite\",\n                \"online\": true\n            }\n        },\n        \"history\": [\n            {\n                \"rssi_mean\": -41,\n                \"cok\": 0,\n                \"cok_mean\": 0,\n                \"cbad\": 0,\n                \"cbad_mean\": 0,\n                \"dcount\": 1,\n                \"dcount_mean\": 1,\n                \"time\": \"2025-07-09 18:23:28\"\n            },\n            {\n                \"rssi_mean\": -41,\n                \"cok\": 0,\n                \"cok_mean\": 0,\n                \"cbad\": 0,\n                \"cbad_mean\": 0,\n                \"dcount\": 1,\n                \"dcount_mean\": 1,\n                \"time\": \"2025-07-09 18:23:28\"\n            },\n            {\n                \"rssi_mean\": -41,\n                \"cok\": 0,\n                \"cok_mean\": 0,\n                \"cbad\": 0,\n                \"cbad_mean\": 0,\n                \"dcount\": 1,\n                \"dcount_mean\": 1,\n                \"time\": \"2025-07-09 18:26:58\"\n            },\n            {\n                \"rssi_mean\": -41,\n                \"cok\": 0,\n                \"cok_mean\": 0,\n                \"cbad\": 0,\n                \"cbad_mean\": 0,\n                \"dcount\": 1,\n                \"dcount_mean\": 1,\n                \"time\": \"2025-07-09 18:26:58\"\n            }\n        ]\n    }\n}"}],"_postman_id":"ba6d5602-7aac-4de0-bb4f-d663bbc7d6af"},{"name":"List RSSI Research","id":"1d4c7bbf-0a25-4965-b6d5-287ee0e8ccb9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/rssi/list","description":"<p>Returns a paginated list of RSSI research records, one per TR-069 device. Each record summarizes the Wi-Fi signal quality of the client devices connected to that equipment.</p>\n<p>The ACS module must be enabled on the installation; otherwise the endpoint returns 400 with <code>ACS module is required for ACS endpoints</code>.</p>\n<p>All fields below can be used as query filters. Text fields use a partial (case-insensitive) match by default. Numeric fields (<code>mean_rssi</code>, <code>historical_mean_rssi</code>, <code>connected_devices</code>, <code>regular_signal_devices</code>, <code>bad_signal_devices</code>) can be combined with the <code>oper</code> parameter (<code>=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>&lt;</code>, <code>&lt;=</code>) for range queries. Sending a field that is not in the list returns 400 with the list of unavailable fields.</p>\n<p>Each result object contains:</p>\n<ul>\n<li><code>equipment_model</code> - device model.</li>\n<li><code>mac</code> - device MAC address.</li>\n<li><code>serial_number</code> - device serial number.</li>\n<li><code>login</code> - login/PPPoE of the linked client.</li>\n<li><code>online</code> - whether the device is currently online.</li>\n<li><code>mean_rssi</code> - current mean RSSI (dBm) across connected devices.</li>\n<li><code>historical_mean_rssi</code> - historical mean RSSI (dBm).</li>\n<li><code>connected_devices</code> - number of connected client devices.</li>\n<li><code>regular_signal_devices</code> - number of connected devices with acceptable signal.</li>\n<li><code>bad_signal_devices</code> - number of connected devices with poor signal.</li>\n<li><code>rssi_verified</code> - whether the RSSI was verified.</li>\n<li><code>last_updated</code> - last full update timestamp (<code>YYYY-MM-DD HH:MM:SS</code>), or <code>null</code>.</li>\n</ul>\n","urlObject":{"path":["api","v2","acs","rssi","list"],"host":["https://your-instance.olt.com"],"query":[{"disabled":true,"key":"equipment_model","value":"Equipment model; partial match"},{"disabled":true,"key":"mac","value":"Device MAC address; partial match on the combined MAC/serial field"},{"disabled":true,"key":"serial_number","value":"Device serial number; partial match on the combined MAC/serial field"},{"disabled":true,"key":"login","value":"Login/PPPoE of the client linked to the device; partial match"},{"disabled":true,"key":"online","value":"Connection status (\"1\" for online, \"0\" for offline)"},{"disabled":true,"key":"mean_rssi","value":"Current mean RSSI in dBm across connected devices; use with oper for comparisons"},{"disabled":true,"key":"historical_mean_rssi","value":"Historical mean RSSI in dBm; use with oper for comparisons"},{"disabled":true,"key":"connected_devices","value":"Number of connected client devices; use with oper for comparisons"},{"disabled":true,"key":"regular_signal_devices","value":"Number of connected devices with acceptable signal; use with oper for comparisons"},{"disabled":true,"key":"bad_signal_devices","value":"Number of connected devices with poor signal; use with oper for comparisons"},{"disabled":true,"key":"rssi_verified","value":"Whether the RSSI was verified (\"1\" for true, \"0\" for false)"},{"disabled":true,"key":"oper","value":"Comparison operator applied to the filters above: =, >, >=, < or <=. Defaults to partial match when omitted"},{"disabled":true,"key":"page","value":"Page number for pagination"},{"disabled":true,"key":"page_size","value":"Items per page (default 100, max 1000)"}],"variable":[]}},"response":[{"id":"d383a96c-6ae1-4db0-80cc-5deb3d284833","name":"List RSSI Research","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/rssi/list"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"count\": 2,\n    \"next\": \"https://your-instance.olt.com/api/v2/acs/rssi/list?page=2\",\n    \"previous\": null,\n    \"results\": [\n        {\n            \"equipment_model\": \"EG8145V5\",\n            \"mac\": \"30:DE:4B:73:F2:52\",\n            \"serial_number\": \"TK19104009022\",\n            \"login\": \"user@acs\",\n            \"online\": true,\n            \"mean_rssi\": -58,\n            \"historical_mean_rssi\": -61,\n            \"connected_devices\": 7,\n            \"regular_signal_devices\": 5,\n            \"bad_signal_devices\": 2,\n            \"rssi_verified\": true,\n            \"last_updated\": \"2026-06-18 14:22:10\"\n        },\n        {\n            \"equipment_model\": \"R1\",\n            \"mac\": \"A4:2B:B0:11:9C:3D\",\n            \"serial_number\": \"TK19104007781\",\n            \"login\": \"client02@acs\",\n            \"online\": false,\n            \"mean_rssi\": -72,\n            \"historical_mean_rssi\": -70,\n            \"connected_devices\": 3,\n            \"regular_signal_devices\": 1,\n            \"bad_signal_devices\": 2,\n            \"rssi_verified\": false,\n            \"last_updated\": null\n        }\n    ]\n}"},{"id":"c4ad3d22-7c74-40f6-ac8e-8ad79cd69fdf","name":"ACS module not enabled","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/rssi/list"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"ACS module is required for ACS endpoints\"\n}"},{"id":"c1c61be4-d7ab-4536-858a-93eaa98aff1b","name":"Invalid search field","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":{"raw":"https://your-instance.olt.com/api/v2/acs/rssi/list?foo=bar","host":["https://your-instance.olt.com"],"path":["api","v2","acs","rssi","list"],"query":[{"key":"foo","value":"bar"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"The following fields are not available for searching: ['foo']\"\n}"},{"id":"2aa29f6d-cdc0-4716-9497-aeeaa5c6d643","name":"Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/rssi/list"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": \"Authentication credentials were not provided.\"\n}"}],"_postman_id":"1d4c7bbf-0a25-4965-b6d5-287ee0e8ccb9"},{"name":"GET Device Info","id":"b8305e08-220b-48c3-856a-d7df7dd3e21d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/info","description":"<p>Returns the attributes of a TR-069 device grouped exactly as they appear on the internal device details page. The data is served from the cached parameters by default; pass force to query the device live before returning.</p>\n<p><strong>Query parameters</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>force</td>\n<td>Optional, flag (no value). When present, the device is queried live instead of using cached parameters.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","v2","acs","{device_serial_number}","info"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"6875f9b0-8285-4dbb-9ab1-fad89ed7df90","name":"GET Device Info","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/{device_serial_number}/info"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"return\": true,\n    \"device\": {\n        \"id\": 69881,\n        \"client_name\": \"Thiago Santos\",\n        \"login\": \"thiago.santos\",\n        \"vendor\": \"TP-Link\",\n        \"model\": \"XX530vV2\",\n        \"serial_number\": \"TPLGD11FD918\",\n        \"gpon_serial_number\": null,\n        \"mac\": \"50:3D:D1:1F:D9:1B\",\n        \"online\": true,\n        \"hardware_version\": \"XX530vV2 v2.0 00000000\",\n        \"software_version\": \"0.5.0 3.1.10 v60dc.0 Build 250930 Rel.44551n\",\n        \"last_updated\": \"2026-07-21 20:25:06\",\n        \"ips\": [\n            \"100.80.43.141\"\n        ],\n        \"wifi_devices\": 5,\n        \"wifi_devices_mean\": 3,\n        \"regular_signal_wifi_devices\": 0,\n        \"regular_signal_wifi_devices_mean\": 0,\n        \"bad_signal_wifi_devices\": 0,\n        \"bad_signal_wifi_devices_mean\": 0,\n        \"device_type\": \"ONU/ONT\"\n    },\n    \"groups\": [\n        {\n            \"group\": \"Roteador\",\n            \"fields\": [\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.DeviceInfo.ModelName\",\n                    \"title\": \"None\",\n                    \"value\": \"XX530vV2\",\n                    \"display_value\": \"XX530vV2\",\n                    \"writable\": false,\n                    \"options\": null\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.DeviceInfo.HardwareVersion\",\n                    \"title\": \"None\",\n                    \"value\": \"XX530vV2 v2.0 00000000\",\n                    \"display_value\": \"XX530vV2 v2.0 00000000\",\n                    \"writable\": false,\n                    \"options\": null\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.DeviceInfo.SoftwareVersion\",\n                    \"title\": \"None\",\n                    \"value\": \"0.5.0 3.1.10 v60dc.0 Build 250930 Rel.44551n\",\n                    \"display_value\": \"0.5.0 3.1.10 v60dc.0 Build 250930 Rel.44551n\",\n                    \"writable\": false,\n                    \"options\": null\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.DeviceInfo.UpTime\",\n                    \"title\": \"None\",\n                    \"value\": \"202\",\n                    \"display_value\": \"202\",\n                    \"writable\": false,\n                    \"options\": null\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.DeviceInfo.ProcessStatus.CPUUsage\",\n                    \"title\": \"None\",\n                    \"value\": \"18\",\n                    \"display_value\": \"18\",\n                    \"writable\": false,\n                    \"options\": null\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.DeviceInfo.MemoryStatus.Total\",\n                    \"title\": \"None\",\n                    \"value\": \"215704\",\n                    \"display_value\": \"215704\",\n                    \"writable\": false,\n                    \"options\": null\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.DeviceInfo.MemoryStatus.Free\",\n                    \"title\": \"None\",\n                    \"value\": \"81048\",\n                    \"display_value\": \"81048\",\n                    \"writable\": false,\n                    \"options\": null\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.WiFi.X_TP_BandSteering.Enable\",\n                    \"title\": \"None\",\n                    \"value\": \"1\",\n                    \"display_value\": \"<i class=\\\"icon circle green\\\"></i> Habilitado\",\n                    \"writable\": true,\n                    \"options\": [\n                        [\n                            \"0\",\n                            \"<i class=\\\"icon circle red\\\"></i> Desabilitado\"\n                        ],\n                        [\n                            \"1\",\n                            \"<i class=\\\"icon circle green\\\"></i> Habilitado\"\n                        ]\n                    ]\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.DHCPv4.Server.Enable\",\n                    \"title\": \"None\",\n                    \"value\": \"1\",\n                    \"display_value\": \"<i class=\\\"icon circle green\\\"></i> Habilitado\",\n                    \"writable\": true,\n                    \"options\": [\n                        [\n                            \"0\",\n                            \"<i class=\\\"icon circle red\\\"></i> Desabilitado\"\n                        ],\n                        [\n                            \"1\",\n                            \"<i class=\\\"icon circle green\\\"></i> Habilitado\"\n                        ]\n                    ]\n                }\n            ]\n        },\n        {\n            \"group\": \"WiFi 2.4\",\n            \"fields\": [\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.WiFi.SSID.1.Enable\",\n                    \"title\": \"None\",\n                    \"value\": \"1\",\n                    \"display_value\": \"<i class=\\\"icon circle green\\\"></i> Sim\",\n                    \"writable\": true,\n                    \"options\": [\n                        [\n                            \"1\",\n                            \"<i class=\\\"icon circle green\\\"></i> Sim\"\n                        ],\n                        [\n                            \"0\",\n                            \"<i class=\\\"icon circle red\\\"></i> Não\"\n                        ]\n                    ]\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.WiFi.SSID.1.Status\",\n                    \"title\": \"None\",\n                    \"value\": \"Up\",\n                    \"display_value\": \"<i class=\\\"icon circle green\\\"></i> Up\",\n                    \"writable\": false,\n                    \"options\": [\n                        [\n                            \"Down\",\n                            \"<i class=\\\"icon circle red\\\"></i> Down\"\n                        ],\n                        [\n                            \"Up\",\n                            \"<i class=\\\"icon circle green\\\"></i> Up\"\n                        ]\n                    ]\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.WiFi.Radio.1.Channel\",\n                    \"title\": \"None\",\n                    \"value\": \"2\",\n                    \"display_value\": \"2\",\n                    \"writable\": true,\n                    \"options\": [\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                    ]\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.WiFi.Radio.1.AutoChannelEnable\",\n                    \"title\": \"None\",\n                    \"value\": \"1\",\n                    \"display_value\": \"<i class=\\\"icon circle green\\\"></i> Sim\",\n                    \"writable\": true,\n                    \"options\": [\n                        [\n                            \"1\",\n                            \"<i class=\\\"icon circle green\\\"></i> Sim\"\n                        ],\n                        [\n                            \"0\",\n                            \"<i class=\\\"icon circle red\\\"></i> Não\"\n                        ]\n                    ]\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.WiFi.SSID.1.SSID\",\n                    \"title\": \"None\",\n                    \"value\": \"Thiago\",\n                    \"display_value\": \"Thiago\",\n                    \"writable\": true,\n                    \"options\": null\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.WiFi.AccessPoint.1.Security.KeyPassphrase\",\n                    \"title\": \"None\",\n                    \"value\": null,\n                    \"display_value\": null,\n                    \"writable\": true,\n                    \"options\": null\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.WiFi.Radio.1.OperatingStandards\",\n                    \"title\": \"None\",\n                    \"value\": \"b,g,n,ax\",\n                    \"display_value\": \"b,g,n,ax\",\n                    \"writable\": false,\n                    \"options\": [\n                        [\n                            \"n\",\n                            \"802.11n only\"\n                        ],\n                        [\n                            \"g,n\",\n                            \"802.11gn mixed\"\n                        ],\n                        [\n                            \"b,g,n\",\n                            \"802.11bgn mixed\"\n                        ]\n                    ]\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.WiFi.Radio.1.TransmitPower\",\n                    \"title\": \"None\",\n                    \"value\": \"100\",\n                    \"display_value\": \"Alta\",\n                    \"writable\": true,\n                    \"options\": [\n                        [\n                            \"25\",\n                            \"Baixa\"\n                        ],\n                        [\n                            \"50\",\n                            \"Média\"\n                        ],\n                        [\n                            \"100\",\n                            \"Alta\"\n                        ]\n                    ]\n                }\n            ]\n        },\n        {\n            \"group\": \"WiFi 5.8\",\n            \"fields\": [\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.WiFi.SSID.3.Enable\",\n                    \"title\": \"None\",\n                    \"value\": \"1\",\n                    \"display_value\": \"<i class=\\\"icon circle green\\\"></i> Sim\",\n                    \"writable\": true,\n                    \"options\": [\n                        [\n                            \"1\",\n                            \"<i class=\\\"icon circle green\\\"></i> Sim\"\n                        ],\n                        [\n                            \"0\",\n                            \"<i class=\\\"icon circle red\\\"></i> Não\"\n                        ]\n                    ]\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.WiFi.SSID.3.Status\",\n                    \"title\": \"None\",\n                    \"value\": \"Up\",\n                    \"display_value\": \"<i class=\\\"icon circle green\\\"></i> Up\",\n                    \"writable\": false,\n                    \"options\": [\n                        [\n                            \"Down\",\n                            \"<i class=\\\"icon circle red\\\"></i> Down\"\n                        ],\n                        [\n                            \"Up\",\n                            \"<i class=\\\"icon circle green\\\"></i> Up\"\n                        ]\n                    ]\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.WiFi.Radio.2.Channel\",\n                    \"title\": \"None\",\n                    \"value\": \"40\",\n                    \"display_value\": \"40\",\n                    \"writable\": true,\n                    \"options\": [\n                        \"36\",\n                        \"40\",\n                        \"44\",\n                        \"48\",\n                        \"52\",\n                        \"56\",\n                        \"60\",\n                        \"64\",\n                        \"149\",\n                        \"153\",\n                        \"157\",\n                        \"161\",\n                        \"100\",\n                        \"104\",\n                        \"108\",\n                        \"112\",\n                        \"116\",\n                        \"120\",\n                        \"124\",\n                        \"128\",\n                        \"132\",\n                        \"136\",\n                        \"140\",\n                        \"144\",\n                        \"165\"\n                    ]\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.WiFi.Radio.2.AutoChannelEnable\",\n                    \"title\": \"None\",\n                    \"value\": \"1\",\n                    \"display_value\": \"<i class=\\\"icon circle green\\\"></i> Sim\",\n                    \"writable\": true,\n                    \"options\": [\n                        [\n                            \"1\",\n                            \"<i class=\\\"icon circle green\\\"></i> Sim\"\n                        ],\n                        [\n                            \"0\",\n                            \"<i class=\\\"icon circle red\\\"></i> Não\"\n                        ]\n                    ]\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.WiFi.SSID.3.SSID\",\n                    \"title\": \"None\",\n                    \"value\": \"Thiago\",\n                    \"display_value\": \"Thiago\",\n                    \"writable\": true,\n                    \"options\": null\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.WiFi.AccessPoint.3.Security.KeyPassphrase\",\n                    \"title\": \"None\",\n                    \"value\": null,\n                    \"display_value\": null,\n                    \"writable\": true,\n                    \"options\": null\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.WiFi.Radio.2.OperatingStandards\",\n                    \"title\": \"None\",\n                    \"value\": \"a,n,ac,ax\",\n                    \"display_value\": \"a,n,ac,ax\",\n                    \"writable\": false,\n                    \"options\": [\n                        [\n                            \"ac\",\n                            \"802.11ac only\"\n                        ],\n                        [\n                            \"n,ac\",\n                            \"802.11ac/n mixed\"\n                        ],\n                        [\n                            \"a,n,ac\",\n                            \"802.11a/n/ac mixed\"\n                        ]\n                    ]\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.WiFi.Radio.2.TransmitPower\",\n                    \"title\": \"None\",\n                    \"value\": \"100\",\n                    \"display_value\": \"Alta\",\n                    \"writable\": true,\n                    \"options\": [\n                        [\n                            \"25\",\n                            \"Baixa\"\n                        ],\n                        [\n                            \"50\",\n                            \"Média\"\n                        ],\n                        [\n                            \"100\",\n                            \"Alta\"\n                        ]\n                    ]\n                }\n            ]\n        },\n        {\n            \"group\": \"WAN PPPoE\",\n            \"fields\": [\n                {\n                    \"type\": \"table\",\n                    \"title\": \"None\",\n                    \"columns\": [\n                        \"Nome\",\n                        \"Exclude\",\n                        \"Ativo\",\n                        \"Login\",\n                        \"Senha\",\n                        \"VLAN\",\n                        \"Serviço\",\n                        \"Uptime\",\n                        \"IP\",\n                        \"Status\",\n                        \"Ações\"\n                    ],\n                    \"rows\": [\n                        {\n                            \"Nome\": \"ppp1\",\n                            \"Exclude\": \"Device.Ethernet.VLANTermination.2.\",\n                            \"Ativo\": \"1\",\n                            \"Login\": \"thiago.r.santos@fenix\",\n                            \"Senha\": \"\",\n                            \"VLAN\": \"400\",\n                            \"Serviço\": \"Internet\",\n                            \"Uptime\": \"143\",\n                            \"IP\": \"100.80.36.247\",\n                            \"Status\": \"Connected\",\n                            \"Ações\": \"\"\n                        }\n                    ]\n                }\n            ]\n        },\n        {\n            \"group\": \"WAN IP\",\n            \"fields\": [\n                {\n                    \"type\": \"table\",\n                    \"title\": \"None\",\n                    \"columns\": [\n                        \"Nome\",\n                        \"Exclude\",\n                        \"Aquisição\",\n                        \"Habilitar\",\n                        \"IP\",\n                        \"Mascara\",\n                        \"Uptime\",\n                        \"Status\",\n                        \"Ações\"\n                    ],\n                    \"rows\": []\n                }\n            ]\n        },\n        {\n            \"group\": \"Portas LAN\",\n            \"fields\": [\n                {\n                    \"type\": \"table\",\n                    \"title\": \"None\",\n                    \"columns\": [\n                        \"Porta\",\n                        \"Ativa\",\n                        \"Status\",\n                        \"Velocidade\",\n                        \"Duplex\"\n                    ],\n                    \"rows\": [\n                        {\n                            \"Porta\": \"LAN1\",\n                            \"Ativa\": \"1\",\n                            \"Status\": \"Up\",\n                            \"Velocidade\": \"-1\",\n                            \"Duplex\": \"Auto\"\n                        },\n                        {\n                            \"Porta\": \"LAN2\",\n                            \"Ativa\": \"1\",\n                            \"Status\": \"Up\",\n                            \"Velocidade\": \"-1\",\n                            \"Duplex\": \"Auto\"\n                        },\n                        {\n                            \"Porta\": \"LAN3\",\n                            \"Ativa\": \"1\",\n                            \"Status\": \"Up\",\n                            \"Velocidade\": \"-1\",\n                            \"Duplex\": \"Auto\"\n                        },\n                        {\n                            \"Porta\": \"LAN4\",\n                            \"Ativa\": \"1\",\n                            \"Status\": \"Up\",\n                            \"Velocidade\": \"1000\",\n                            \"Duplex\": \"Full\"\n                        }\n                    ]\n                }\n            ]\n        },\n        {\n            \"group\": \"Dispositivos Conectados\",\n            \"fields\": [\n                {\n                    \"type\": \"table\",\n                    \"title\": \"None\",\n                    \"columns\": [\n                        \"Conexão\",\n                        \"MAC\",\n                        \"CT\",\n                        \"Dispositivo\",\n                        \"IP\",\n                        \"IP Aquisição\"\n                    ],\n                    \"rows\": [\n                        {\n                            \"Conexão\": \"Ethernet\",\n                            \"MAC\": \"28:87:BA:21:57:E2\",\n                            \"CT\": \"0\",\n                            \"Dispositivo\": \"HC220-G5_57E2\",\n                            \"IP\": {\n                                \"param\": \"Device.Hosts.Host.*.IPv4Address.1.IPAddress\",\n                                \"title\": \"IP\",\n                                \"b_param\": \"Device.Hosts.Host.*.IPv4Address.1.IPAddress\",\n                                \"hidden\": true\n                            },\n                            \"IP Aquisição\": \"DHCP\"\n                        },\n                        {\n                            \"Conexão\": \"Wi-Fi\",\n                            \"MAC\": \"06:ED:B3:15:0B:98\",\n                            \"CT\": \"1\",\n                            \"Dispositivo\": \"Unknown\",\n                            \"IP\": {\n                                \"param\": \"Device.Hosts.Host.*.IPv4Address.1.IPAddress\",\n                                \"title\": \"IP\",\n                                \"b_param\": \"Device.Hosts.Host.*.IPv4Address.1.IPAddress\",\n                                \"hidden\": true\n                            },\n                            \"IP Aquisição\": \"Static\"\n                        }\n                    ]\n                }\n            ]\n        },\n        {\n            \"group\": \"SIP\",\n            \"fields\": [\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.Services.VoiceService.1.VoiceProfile.1.Line.1.Enable\",\n                    \"title\": \"None\",\n                    \"value\": \"Enabled\",\n                    \"display_value\": \"<i class=\\\"icon circle green\\\"></i> Sim\",\n                    \"writable\": true,\n                    \"options\": [\n                        [\n                            \"Enabled\",\n                            \"<i class=\\\"icon circle green\\\"></i> Sim\"\n                        ],\n                        [\n                            \"Disabled\",\n                            \"<i class=\\\"icon circle red\\\"></i> Não\"\n                        ]\n                    ]\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.Services.VoiceService.1.VoiceProfile.1.Line.1.SIP.URI\",\n                    \"title\": \"None\",\n                    \"value\": null,\n                    \"display_value\": null,\n                    \"writable\": true,\n                    \"options\": null\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.Services.VoiceService.1.VoiceProfile.1.Line.1.SIP.AuthUserName\",\n                    \"title\": \"None\",\n                    \"value\": null,\n                    \"display_value\": null,\n                    \"writable\": true,\n                    \"options\": null\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.Services.VoiceService.1.VoiceProfile.1.Line.1.SIP.AuthPassword\",\n                    \"title\": \"None\",\n                    \"value\": null,\n                    \"display_value\": null,\n                    \"writable\": true,\n                    \"options\": null\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.Services.VoiceService.1.VoiceProfile.1.SIP.RegistrarServer\",\n                    \"title\": \"None\",\n                    \"value\": \"0.0.0.0\",\n                    \"display_value\": \"0.0.0.0\",\n                    \"writable\": true,\n                    \"options\": null\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.Services.VoiceService.1.VoiceProfile.1.SIP.RegistrarServerPort\",\n                    \"title\": \"None\",\n                    \"value\": \"5060\",\n                    \"display_value\": \"5060\",\n                    \"writable\": true,\n                    \"options\": null\n                }\n            ]\n        },\n        {\n            \"group\": \"Acesso Remoto (Superuser)\",\n            \"fields\": [\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.X_TP_AppCfg.SuperHttpCfg.SHttpRemoteEnabled\",\n                    \"title\": \"None\",\n                    \"value\": \"1\",\n                    \"display_value\": \"<i class=\\\"icon circle green\\\"></i> Sim\",\n                    \"writable\": true,\n                    \"options\": [\n                        [\n                            \"1\",\n                            \"<i class=\\\"icon circle green\\\"></i> Sim\"\n                        ],\n                        [\n                            \"0\",\n                            \"<i class=\\\"icon circle red\\\"></i> Não\"\n                        ]\n                    ]\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.X_TP_AppCfg.SuperHttpCfg.SHttpRemotePort\",\n                    \"title\": \"None\",\n                    \"value\": \"55090\",\n                    \"display_value\": \"55090\",\n                    \"writable\": true,\n                    \"options\": null\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.X_TP_AppCfg.SuperHttpCfg.SHttpsRemoteEnabled\",\n                    \"title\": \"None\",\n                    \"value\": \"0\",\n                    \"display_value\": \"<i class=\\\"icon circle red\\\"></i> Não\",\n                    \"writable\": true,\n                    \"options\": [\n                        [\n                            \"1\",\n                            \"<i class=\\\"icon circle green\\\"></i> Sim\"\n                        ],\n                        [\n                            \"0\",\n                            \"<i class=\\\"icon circle red\\\"></i> Não\"\n                        ]\n                    ]\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.X_TP_AppCfg.SuperHttpCfg.SHttpsRemotePort\",\n                    \"title\": \"None\",\n                    \"value\": \"443\",\n                    \"display_value\": \"443\",\n                    \"writable\": true,\n                    \"options\": null\n                }\n            ]\n        },\n        {\n            \"group\": \"Acesso Remoto\",\n            \"fields\": [\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.X_TP_AppCfg.HttpCfg.HttpRemoteEnabled\",\n                    \"title\": \"None\",\n                    \"value\": \"1\",\n                    \"display_value\": \"<i class=\\\"icon circle green\\\"></i> Sim\",\n                    \"writable\": true,\n                    \"options\": [\n                        [\n                            \"1\",\n                            \"<i class=\\\"icon circle green\\\"></i> Sim\"\n                        ],\n                        [\n                            \"0\",\n                            \"<i class=\\\"icon circle red\\\"></i> Não\"\n                        ]\n                    ]\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.X_TP_AppCfg.HttpCfg.HttpRemotePort\",\n                    \"title\": \"None\",\n                    \"value\": \"55090\",\n                    \"display_value\": \"55090\",\n                    \"writable\": true,\n                    \"options\": null\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.X_TP_AppCfg.HttpCfg.HttpsRemoteEnabled\",\n                    \"title\": \"None\",\n                    \"value\": \"0\",\n                    \"display_value\": \"<i class=\\\"icon circle red\\\"></i> Não\",\n                    \"writable\": true,\n                    \"options\": [\n                        [\n                            \"1\",\n                            \"<i class=\\\"icon circle green\\\"></i> Sim\"\n                        ],\n                        [\n                            \"0\",\n                            \"<i class=\\\"icon circle red\\\"></i> Não\"\n                        ]\n                    ]\n                },\n                {\n                    \"type\": \"field\",\n                    \"param\": \"Device.X_TP_AppCfg.HttpCfg.HttpsRemotePort\",\n                    \"title\": \"None\",\n                    \"value\": \"443\",\n                    \"display_value\": \"443\",\n                    \"writable\": true,\n                    \"options\": null\n                }\n            ]\n        },\n        {\n            \"group\": \"SIP Codecs\",\n            \"fields\": [\n                {\n                    \"type\": \"table\",\n                    \"title\": \"None\",\n                    \"columns\": [\n                        \"Codec\",\n                        \"Ativo\",\n                        \"Supressão de Silêncio\",\n                        \"Packet Time\",\n                        \"Prioridade\",\n                        \"Editar\"\n                    ],\n                    \"rows\": [\n                        {\n                            \"Codec\": \"G.711MuLaw\",\n                            \"Ativo\": \"1\",\n                            \"Supressão de Silêncio\": \"1\",\n                            \"Packet Time\": \"20\",\n                            \"Prioridade\": \"1\",\n                            \"Editar\": \"1\"\n                        },\n                        {\n                            \"Codec\": \"G.711ALaw\",\n                            \"Ativo\": \"1\",\n                            \"Supressão de Silêncio\": \"1\",\n                            \"Packet Time\": \"20\",\n                            \"Prioridade\": \"2\",\n                            \"Editar\": \"1\"\n                        },\n                        {\n                            \"Codec\": \"G.729a/b\",\n                            \"Ativo\": \"1\",\n                            \"Supressão de Silêncio\": \"1\",\n                            \"Packet Time\": \"20\",\n                            \"Prioridade\": \"3\",\n                            \"Editar\": \"1\"\n                        },\n                        {\n                            \"Codec\": \"G.726_32\",\n                            \"Ativo\": \"1\",\n                            \"Supressão de Silêncio\": \"1\",\n                            \"Packet Time\": \"20\",\n                            \"Prioridade\": \"4\",\n                            \"Editar\": \"1\"\n                        },\n                        {\n                            \"Codec\": \"G.722\",\n                            \"Ativo\": \"1\",\n                            \"Supressão de Silêncio\": \"1\",\n                            \"Packet Time\": \"20\",\n                            \"Prioridade\": \"5\",\n                            \"Editar\": \"1\"\n                        },\n                        {\n                            \"Codec\": \"X_TP_T38\",\n                            \"Ativo\": \"1\",\n                            \"Supressão de Silêncio\": \"1\",\n                            \"Packet Time\": \"20\",\n                            \"Prioridade\": \"6\",\n                            \"Editar\": \"1\"\n                        }\n                    ]\n                }\n            ]\n        },\n        {\n            \"group\": \"DHCP Server\",\n            \"fields\": [\n                {\n                    \"type\": \"table\",\n                    \"title\": \"None\",\n                    \"columns\": [\n                        \"Ativo\",\n                        \"IP Inicial\",\n                        \"IP Final\",\n                        \"Mascara\",\n                        \"DNS\",\n                        \"Lease Time\",\n                        \"Editar\"\n                    ],\n                    \"rows\": [\n                        {\n                            \"Ativo\": \"1\",\n                            \"IP Inicial\": \"192.168.1.2\",\n                            \"IP Final\": \"192.168.1.249\",\n                            \"Mascara\": \"255.255.255.0\",\n                            \"DNS\": \"8.8.8.8,1.1.1.1\",\n                            \"Lease Time\": \"7200\",\n                            \"Editar\": \"1\"\n                        }\n                    ]\n                }\n            ]\n        }\n    ]\n}"}],"_postman_id":"b8305e08-220b-48c3-856a-d7df7dd3e21d"},{"name":"Check Bidirectional Communication","id":"78429563-115a-42bb-8fa1-5f328b72f35c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/acs/{{sn}}/check_bidirectional","description":"<p>Checks whether TR-069 communication with the ONU identified by <code>sn</code> is <strong>bidirectional</strong>.</p>\n<p>Bidirectional means both directions are proven to work:</p>\n<ul>\n<li><strong>device → ACS</strong>: the ONU is sending Informs, so it counts as <code>online</code>;</li>\n<li><strong>ACS → device</strong>: the ACS is able to open a session through a Connection Request.</li>\n</ul>\n<p>The check fires a <strong>real Connection Request</strong> and queues no RPC on the device, so nothing is applied or changed on the ONU. The result is written back to the device record, which means <code>GET /api/v2/acs/{sn}/info</code> reflects it immediately after this call.</p>\n<p>Synchronous: there is no polling, the response already carries the verdict.</p>\n<h3 id=\"cooldown-and-force\">Cooldown and <code>force</code></h3>\n<p>A successful Connection Request makes the ONU open a CWMP session and find an empty queue — that round trip <em>is</em> the test. Because of that the check is throttled per device by a <strong>60s cooldown</strong>: calling it again within the window returns the stored value with <code>cached: true</code>, without touching the device.</p>\n<p>To skip the cooldown and force a live probe, send <strong><code>force=1</code></strong> as a query parameter:</p>\n<p><code>POST https://your-instance.olt.com/api/v2/acs/{{sn}}/check_bidirectional?force=1</code></p>\n<p>The forced call always answers with <code>cached: false</code>. Use it sparingly — each one makes the ONU open a CWMP session.</p>\n<h3 id=\"response-fields\">Response fields</h3>\n<ul>\n<li><code>bidirectional</code>: <code>true</code> only when both directions work.</li>\n<li><code>online</code>: whether Informs are arriving from the device.</li>\n<li><code>connection_request</code>: whether the ACS managed to reach the device. <code>null</code> when the value came from cache.</li>\n<li><code>reason</code>: why the check is not bidirectional — <code>connection_request_failed</code>, <code>device_offline</code> or <code>no_connection_url</code>. <code>null</code> when <code>bidirectional</code> is <code>true</code>.</li>\n<li><code>cached</code>: <code>true</code> when the cooldown was active and no Connection Request was sent.</li>\n</ul>\n<p>A failed check never marks the device offline: <code>online</code> is fed by Informs, and a diagnostic must not corrupt that state.</p>\n","urlObject":{"path":["api","v2","acs","{{sn}}","check_bidirectional"],"host":["https://your-instance.olt.com"],"query":[{"disabled":true,"description":{"content":"<p>Optional. Bypasses the 60s per-device cooldown and always fires a live Connection Request. Omit it to reuse the stored result while the cooldown is active.</p>\n","type":"text/plain"},"key":"force","value":"1"}],"variable":[]}},"response":[{"id":"997de917-79f9-4404-a3b5-f410559f4427","name":"200 OK - Bidirectional","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ..."}],"url":{"raw":"https://your-instance.olt.com/api/v2/acs/{{sn}}/check_bidirectional","host":["https://your-instance.olt.com"],"path":["api","v2","acs","{{sn}}","check_bidirectional"],"query":[{"key":"force","value":"1","description":"Optional. Bypasses the 60s per-device cooldown and always fires a live Connection Request. Omit it to reuse the stored result while the cooldown is active.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"sn\": \"ALCLB0A1C2D3\",\n    \"bidirectional\": true,\n    \"online\": true,\n    \"connection_request\": true,\n    \"reason\": null,\n    \"cached\": false\n}"},{"id":"1984c55b-3217-4ed4-88b3-bc1fa8b88c0b","name":"200 OK - Connection Request failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ..."}],"url":{"raw":"https://your-instance.olt.com/api/v2/acs/{{sn}}/check_bidirectional","host":["https://your-instance.olt.com"],"path":["api","v2","acs","{{sn}}","check_bidirectional"],"query":[{"key":"force","value":"1","description":"Optional. Bypasses the 60s per-device cooldown and always fires a live Connection Request. Omit it to reuse the stored result while the cooldown is active.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"sn\": \"ALCLB0A1C2D3\",\n    \"bidirectional\": false,\n    \"online\": true,\n    \"connection_request\": false,\n    \"reason\": \"connection_request_failed\",\n    \"cached\": false\n}"},{"id":"502ade60-aaba-4b6f-822b-ac01a3a53ebe","name":"200 OK - Device not sending Informs","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ..."}],"url":{"raw":"https://your-instance.olt.com/api/v2/acs/{{sn}}/check_bidirectional","host":["https://your-instance.olt.com"],"path":["api","v2","acs","{{sn}}","check_bidirectional"],"query":[{"key":"force","value":"1","description":"Optional. Bypasses the 60s per-device cooldown and always fires a live Connection Request. Omit it to reuse the stored result while the cooldown is active.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"sn\": \"ALCLB0A1C2D3\",\n    \"bidirectional\": false,\n    \"online\": false,\n    \"connection_request\": true,\n    \"reason\": \"device_offline\",\n    \"cached\": false\n}"},{"id":"09f22c9a-e622-48bc-888d-0129abf803c5","name":"200 OK - No Connection Request URL","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ..."}],"url":{"raw":"https://your-instance.olt.com/api/v2/acs/{{sn}}/check_bidirectional","host":["https://your-instance.olt.com"],"path":["api","v2","acs","{{sn}}","check_bidirectional"],"query":[{"key":"force","value":"1","description":"Optional. Bypasses the 60s per-device cooldown and always fires a live Connection Request. Omit it to reuse the stored result while the cooldown is active.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"sn\": \"ALCLB0A1C2D3\",\n    \"bidirectional\": false,\n    \"online\": true,\n    \"connection_request\": false,\n    \"reason\": \"no_connection_url\",\n    \"cached\": false\n}"},{"id":"3bc84850-1f17-4d11-b073-888368845a91","name":"200 OK - Cached (cooldown active, send force=1 to probe again)","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ..."}],"url":{"raw":"https://your-instance.olt.com/api/v2/acs/{{sn}}/check_bidirectional","host":["https://your-instance.olt.com"],"path":["api","v2","acs","{{sn}}","check_bidirectional"],"query":[{"key":"force","value":"1","description":"Optional. Bypasses the 60s per-device cooldown and always fires a live Connection Request. Omit it to reuse the stored result while the cooldown is active.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"sn\": \"ALCLB0A1C2D3\",\n    \"bidirectional\": true,\n    \"online\": true,\n    \"connection_request\": null,\n    \"reason\": null,\n    \"cached\": true\n}"},{"id":"a457df04-f23a-4034-ab14-a202cd4a9d4f","name":"400 Bad Request - Device not found","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ..."}],"url":{"raw":"https://your-instance.olt.com/api/v2/acs/{{sn}}/check_bidirectional","host":["https://your-instance.olt.com"],"path":["api","v2","acs","{{sn}}","check_bidirectional"],"query":[{"key":"force","value":"1","description":"Optional. Bypasses the 60s per-device cooldown and always fires a live Connection Request. Omit it to reuse the stored result while the cooldown is active.","disabled":true}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Device not found\"\n}"},{"id":"6c4144aa-ce3d-4c8b-93a9-26e8f9647006","name":"400 Bad Request - ACS module disabled","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ..."}],"url":{"raw":"https://your-instance.olt.com/api/v2/acs/{{sn}}/check_bidirectional","host":["https://your-instance.olt.com"],"path":["api","v2","acs","{{sn}}","check_bidirectional"],"query":[{"key":"force","value":"1","description":"Optional. Bypasses the 60s per-device cooldown and always fires a live Connection Request. Omit it to reuse the stored result while the cooldown is active.","disabled":true}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"ACS module is required for ACS endpoints\"\n}"},{"id":"e62b6294-1e7d-4c73-b894-71ed47ed6561","name":"502 Bad Gateway - ACS unreachable","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ..."}],"url":{"raw":"https://your-instance.olt.com/api/v2/acs/{{sn}}/check_bidirectional","host":["https://your-instance.olt.com"],"path":["api","v2","acs","{{sn}}","check_bidirectional"],"query":[{"key":"force","value":"1","description":"Optional. Bypasses the 60s per-device cooldown and always fires a live Connection Request. Omit it to reuse the stored result while the cooldown is active.","disabled":true}]}},"status":"Bad Gateway","code":502,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"HTTPConnectionPool(host='acs.example.com', port=80): Read timed out. (read timeout=35)\"\n}"}],"_postman_id":"78429563-115a-42bb-8fa1-5f328b72f35c"}],"id":"71014809-c42f-43b4-b2ba-0affd8fa59a8","description":"<p>Here you will find the main information and instructions to use our TR-069 solution via API.</p>\n<p>The base URL for the ACS services API can be obtained internally in the system under the menu <code>Network &gt; TR-069 &gt; Management</code>.</p>\n<p>The authentication required for the ACS server endpoints, referred to in the documentation as <code>\"https://your-acs-instance.com\"</code> is done using a token that must be included in the header of requests sent to the 'Set device parameters' and 'Check Response' endpoints. This token is generated internally in the system under the menu <code>Network &gt; TR-069 &gt; Management</code> and must be sent as the <code>\"x-auth-token\"</code> parameter in the request header.</p>\n","_postman_id":"71014809-c42f-43b4-b2ba-0affd8fa59a8"},{"name":"Users","item":[{"name":"Activate User","id":"6461d9ba-d0da-4fa3-9856-6d6fd323c053","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/users/{user_id}/activate","description":"<p>Activates the user identified by <code>{user_id}</code> in the URL, setting <code>is_active</code> to <code>true</code> so the account can authenticate again. No request body is required.</p>\n<p>The requester must be allowed to manage the target user. On OLT Cloud installations a non-superuser can only act on users from its own access group; when the user is not found or not within the requester's scope the response is <code>404</code> with <code>User not found</code>.</p>\n<p>Returns the updated user object on success. If the user is already active the request fails with <code>400</code>.</p>\n","urlObject":{"path":["api","v2","users","{user_id}","activate"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"60d6db60-2d12-4908-ac2d-4058caf32b9a","name":"Activate User","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/users/{user_id}/activate"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"user\": {\n        \"id\": 5,\n        \"username\": \"noc.operator\",\n        \"email\": \"noc.operator@example.com\",\n        \"name\": \"NOC Operator\",\n        \"is_active\": true,\n        \"is_staff\": false,\n        \"is_superuser\": false,\n        \"date_joined\": \"2025-01-15 09:30:00\",\n        \"last_login\": \"2026-06-18 14:22:10\"\n    }\n}"},{"id":"c255a9f4-4d21-43be-8c79-960319df617b","name":"User already active","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/users/{user_id}/activate"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"User already active\"\n}"},{"id":"22468c49-8495-431c-9ef8-108cf4df4209","name":"User not found","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/users/{user_id}/activate"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"User not found\"\n}"},{"id":"6f162fb3-208b-4ece-9d83-2b4d49f9e49c","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/users/{user_id}/activate"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": \"Authentication credentials were not provided.\"\n}"}],"_postman_id":"6461d9ba-d0da-4fa3-9856-6d6fd323c053"},{"name":"Deactivate User","id":"f943beae-5028-4748-8b73-958620f178d2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/users/{user_id}/deactivate","description":"<p>Deactivates the user identified by <code>{user_id}</code> in the URL, setting <code>is_active</code> to <code>false</code> so the account can no longer authenticate. No request body is required.</p>\n<p>The requester must be allowed to manage the target user; users outside the requester's access group return <code>404</code> with <code>User not found</code>.</p>\n<p>Deactivation is rejected with <code>400</code> when:</p>\n<ul>\n<li>the user is already inactive (<code>User already inactive</code>);</li>\n<li>the target is the requester's own account (<code>Cannot deactivate the current user</code>);</li>\n<li>the target is a staff or superuser account (<code>Cannot deactivate</code>).</li>\n</ul>\n<p>Returns the updated user object on success.</p>\n","urlObject":{"path":["api","v2","users","{user_id}","deactivate"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"9e0863ab-8c4f-45ad-adc6-54aac5bd45e3","name":"Deactivate User","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/users/{user_id}/deactivate"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"user\": {\n        \"id\": 5,\n        \"username\": \"noc.operator\",\n        \"email\": \"noc.operator@example.com\",\n        \"name\": \"NOC Operator\",\n        \"is_active\": false,\n        \"is_staff\": false,\n        \"is_superuser\": false,\n        \"date_joined\": \"2025-01-15 09:30:00\",\n        \"last_login\": \"2026-06-18 14:22:10\"\n    }\n}"},{"id":"7094f54f-7116-4978-8884-7e82de4539ba","name":"User already inactive","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/users/{user_id}/deactivate"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"User already inactive\"\n}"},{"id":"033304fe-121c-4ca2-9673-924c4fe6346c","name":"Cannot deactivate current user","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/users/{user_id}/deactivate"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Cannot deactivate the current user\"\n}"},{"id":"5d2ea3d2-ec57-46fc-8a4b-a239bab03a5e","name":"Cannot deactivate staff or superuser","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/users/{user_id}/deactivate"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"Cannot deactivate\"\n}"},{"id":"a58a53fc-45d4-471f-8c2e-93e143352362","name":"User not found","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/users/{user_id}/deactivate"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": false,\n    \"error\": \"User not found\"\n}"},{"id":"3d334a9b-79bc-4ea6-bc40-2076f65f97bc","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/users/{user_id}/deactivate"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": \"Authentication credentials were not provided.\"\n}"}],"_postman_id":"f943beae-5028-4748-8b73-958620f178d2"},{"name":"List Users","id":"243fe4b9-769d-4963-95be-2f6f46592e21","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/users","description":"<p>Returns the list of platform users visible to the authenticated user.</p>\n<p>OLT Cloud internal superusers are never included. On OLT Cloud installations, a non-superuser only sees users that belong to the same access group (<code>grupo de acesso</code>), unless the requester's group is allowed to manage all companies. A superuser sees every user.</p>\n<p>This endpoint is not paginated: all visible users are returned in a single <code>users</code> array ordered by <code>id</code>.</p>\n<p>Each user object contains:</p>\n<ul>\n<li><code>id</code> - numeric user identifier.</li>\n<li><code>username</code> - login name.</li>\n<li><code>email</code> - user email.</li>\n<li><code>name</code> - display name (first name).</li>\n<li><code>is_active</code> - whether the user can authenticate.</li>\n<li><code>is_staff</code> - whether the user has staff privileges.</li>\n<li><code>is_superuser</code> - whether the user has superuser privileges.</li>\n<li><code>date_joined</code> - account creation timestamp (<code>YYYY-MM-DD HH:MM:SS</code>).</li>\n<li><code>last_login</code> - last successful login timestamp (<code>YYYY-MM-DD HH:MM:SS</code>), or <code>null</code> if the user never logged in.</li>\n</ul>\n","urlObject":{"path":["api","v2","users"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"112d0091-3d36-471c-95bc-e53303325300","name":"List Users","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/users"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"return\": true,\n    \"users\": [\n        {\n            \"id\": 5,\n            \"username\": \"noc.operator\",\n            \"email\": \"noc.operator@example.com\",\n            \"name\": \"NOC Operator\",\n            \"is_active\": true,\n            \"is_staff\": false,\n            \"is_superuser\": false,\n            \"date_joined\": \"2025-01-15 09:30:00\",\n            \"last_login\": \"2026-06-18 14:22:10\"\n        },\n        {\n            \"id\": 8,\n            \"username\": \"field.tech\",\n            \"email\": \"field.tech@example.com\",\n            \"name\": \"Field Technician\",\n            \"is_active\": true,\n            \"is_staff\": false,\n            \"is_superuser\": false,\n            \"date_joined\": \"2025-03-02 11:05:42\",\n            \"last_login\": null\n        }\n    ]\n}"},{"id":"1e93b57a-38aa-4d8e-a185-f9f16bb02992","name":"Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...","type":"text"}],"url":"https://your-instance.olt.com/api/v2/users"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"detail\": \"Authentication credentials were not provided.\"\n}"}],"_postman_id":"243fe4b9-769d-4963-95be-2f6f46592e21"}],"id":"e59646d8-0aa6-42d4-a22d-44ae7c3c304b","_postman_id":"e59646d8-0aa6-42d4-a22d-44ae7c3c304b","description":""},{"name":"System","item":[{"name":"Health check","id":"29b2b862-7f0d-470b-8ffa-9b45baea2589","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://your-instance.olt.com/api/health","description":"<p>Public endpoint to verify that the application is up and able to reach its core dependencies (database and Redis). Intended for load balancers, uptime monitors, or manual checks.</p>\n<p>Returns 200 OK when the application and all dependencies are healthy, or 503 Service Unavailable when any dependency is down. The body always reports the status of each component individually.</p>\n<p>Field reference</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>status</strong></th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Overall health: ok if every check passed, error if any failed.</td>\n</tr>\n<tr>\n<td>checks.databasechecks.database</td>\n<td>Connectivity to the default database (ok / error).</td>\n</tr>\n<tr>\n<td>checks.redischecks.redis</td>\n<td>Connectivity to the Redis instance (ok / error).</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Rate limiting</strong></p>\n<p>To protect the database, this endpoint is rate limited per client IP (default: 60 requests per minute). Requests over the limit receive 429 Too Many Requests before any dependency is queried.</p>\n","urlObject":{"path":["api","health"],"host":["https://your-instance.olt.com"],"query":[],"variable":[]}},"response":[{"id":"beeb896e-89ab-45cc-bbb0-c503c326685d","name":"Health check - 200","originalRequest":{"method":"GET","header":[],"url":"https://your-instance.olt.com/api/health"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"status\": \"ok\",\n    \"checks\": {\n      \"database\": \"ok\",\n      \"redis\": \"ok\"\n    }\n}"},{"id":"1cd21c77-24a6-43be-88d7-a263d0e88068","name":"Health check - 503 Service Unavailable","originalRequest":{"method":"GET","header":[],"url":"https://your-instance.olt.com/api/health"},"status":"Service Unavailable","code":503,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"status\": \"error\",\n    \"checks\": {\n      \"database\": \"ok\",\n      \"redis\": \"error\"\n    }\n}\n"},{"id":"d821a90d-0337-41c5-8668-2404c3daa496","name":"Health check - 429 Too Many Requests","originalRequest":{"method":"GET","header":[],"url":"https://your-instance.olt.com/api/health"},"status":"Too Many Requests","code":429,"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"detail\": \"Request was throttled. Expected available in 60 seconds.\"\n}"}],"_postman_id":"29b2b862-7f0d-470b-8ffa-9b45baea2589"}],"id":"34729ffa-e0e9-4d58-98dc-6036d107bbfd","_postman_id":"34729ffa-e0e9-4d58-98dc-6036d107bbfd","description":""}],"event":[{"listen":"prerequest","script":{"id":"2c6a5434-e739-4b2a-89ee-2d7845760009","type":"text/javascript","requests":{},"exec":[""]}},{"listen":"test","script":{"id":"66eb74c5-9fb9-4d3c-914f-e9a43f5eacfa","type":"text/javascript","requests":{},"exec":[""]}}],"variable":[{"key":"baseUrl","value":"https://your-instance.olt.com"},{"key":"username","value":"user"},{"key":"password","value":"password"},{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ..."},{"key":"refreshToken","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ..."},{"key":"clientID","value":"1"},{"key":"boxID","value":"100"},{"key":"onuID","value":"1000"}]}