{"info":{"_postman_id":"58495582-5172-4e19-8e5f-29222799580a","name":"Sleepacta API Layer","description":"<html><head></head><body><p>The Sleepacta API Layer is the HTTP interface exposed by the Sleepacta platform frontend. It covers the full lifecycle of a sleep study, from account and device management through to exam execution, result retrieval, and patient communication.</p>\n<p>All authenticated endpoints require an <code>Authorization</code> header in the format <code>APIauth: &lt;token&gt;</code>, obtained via the Authentication endpoints.</p>\n<h2 id=\"folders\">Folders</h2>\n<h3 id=\"authentication\">Authentication</h3>\n<p>Handles all authentication flows: standard username/password login, cookie-based login, login by external identifier, OTP validation, token refresh, partner assignment, and logout.</p>\n<h3 id=\"exams-workflow\">Exams Workflow</h3>\n<p>Covers the full lifecycle of a sleep exam: selecting an available device, creating a delivery, uploading raw data, generating the exam, retrieving results, and marking an exam as unreliable.</p>\n<h3 id=\"accounts\">Accounts</h3>\n<p>Manages partner accounts: creating a new account, retrieving the list of existing accounts, and updating account details including device assignment, exam caps, and account status.</p>\n<h3 id=\"password-management\">Password Management</h3>\n<p>Handles all password-related operations: initiating a forgot-password flow, resetting a password via a temporary code, and changing a known password.</p>\n<h3 id=\"patients\">Patients</h3>\n<p>Endpoints for updating patient metadata associated with exams: updating the patient nickname and the patient external identifier.</p>\n<h3 id=\"questionnaires\">Questionnaires</h3>\n<p>Manages questionnaires and their responses. Supports two questionnaire types: one-shot questionnaires (linked to a shipment, delivery, exam, or device) and recurring questionnaires (linked to a session with multiple rounds). Includes endpoints for listing and retrieving questionnaire structures, managing recurring sessions, submitting answers step by step, and reading previously submitted answers.</p>\n<h3 id=\"gui-logs\">GUI Logs</h3>\n<p>Endpoints for recording and retrieving Sleepacta Signal GUI-level execution logs.</p>\n<h3 id=\"notifications\">Notifications</h3>\n<p>Endpoint for retrieving pending private notifications for the authenticated user.</p>\n<h3 id=\"tc\">T&amp;C</h3>\n<p>Endpoints for retrieving and accepting the Terms &amp; Conditions within the DORMI platform.</p>\n<h3 id=\"shipments\">Shipments</h3>\n<p>Endpoint for creating shipment requests on behalf of a partner, including end-user personal and physical details.</p>\n<h3 id=\"miscellaneous\">Miscellaneous</h3>\n<p>Utility endpoints: API version (public), authenticated user profile and context, and partner logo retrieval.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"21077355","collectionId":"58495582-5172-4e19-8e5f-29222799580a","publishedId":"2sB2cYd1Lv","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-09-13T08:16:53.000Z"},"item":[{"name":"Authentication","item":[{"name":"login","id":"d6d239c7-0c9a-41c5-99f4-592ba1b40d65","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"{{USERNAME}}\",\r\n    \"password\": \"{{PASSWORD}}\",\r\n    \"partner_id\": \"{{PARTNER_ID}}\",\r\n    \"server_2_server\": \"{{SERVER_TO_SERVER}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/login","description":"<p>Authenticates a user with email and password and returns an access token</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>username</code></td>\n<td>the user's login username or email address</td>\n</tr>\n<tr>\n<td><code>password</code></td>\n<td>the user's login password</td>\n</tr>\n<tr>\n<td><code>partner_id</code></td>\n<td>the identifier of the partner context for this login</td>\n</tr>\n<tr>\n<td><code>server_2_server</code></td>\n<td>set to 0 to disable server-to-server authentication mode (optional, default 1)</td>\n</tr>\n<tr>\n<td><code>lang</code></td>\n<td>optional: current language (e.g. \"it\", \"en\", \"es\", etc.)</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","login"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"23307cc0-cafe-46b2-a59c-ad94aad6fbf7","name":"login_response","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"{{USERNAME}}\",\r\n    \"password\": \"{{PASSWORD}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://partners.sleepacta.com/api/login"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 14 May 2025 16:46:04 GMT"},{"key":"Content-Type","value":"application/json;charset=utf-8"},{"key":"Content-Length","value":"869"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"X-Powered-By","value":"PHP/8.1.31"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"Server-Timing","value":"rt;dur=0.631;desc=Process-Time"},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Xp%2BZdLXQoGzZ2vR%2F2nXGJfAktZK%2BXP2KOFnhJ%2FwGzjbx27jCgSAZYVEAGBoV7Cd8cnUIALLMEAE9oGDt%2F0TH4%2Bx%2B%2FdbAcNZlrQ0yz%2BII8AX2UQUd1sTgTsM6Xrypal3ikZud9XiwkbrutEA1WItFdog%3D\"}]}"},{"key":"CF-RAY","value":"93fbde980a56c587-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"auth_data\": {\n        \"token\": \"the-auth-token\",\n        \"expiration\": \"2026-06-14 16:56:04\",\n        \"curr_partner_id\": \"1\",\n        \"curr_account_name\": \"Demo User\",\n        \"curr_account_id\": \"14\",\n        \"curr_account_skip_otp\": \"0\",\n        \"curr_account_otp_expiration\": \"2026-09-04 00:12:41\",\n        \"curr_account_password_expiration\": \"2027-04-08 14:36:12\",\n        \"curr_account_external_identifier\": \"my-external-id\",\n        \"curr_account_role\": \"1\",\n        \"curr_account_is_end_user\": \"0\",\n        \"curr_account_age\": null,\n        \"curr_account_weight\": null,\n        \"curr_account_height\": null,\n        \"curr_account_gender\": null,\n        \"curr_account_can_create_exams\": \"1\",\n        \"curr_account_can_use_only_own_devices\": \"0\",\n        \"curr_account_has_advanced_gui_options\": \"0\",\n        \"curr_account_has_beta_firmware_access\": \"1\",\n        \"curr_partner_name\": \"Demo Partner\",\n        \"min_monitoring_hours\": \"24\",\n        \"max_monitoring_hours\": \"384\",\n        \"curr_partner_minimum_firmware_version\": \"1.24.22\",\n        \"curr_partner_timezone\": \"Europe/Rome\",\n        \"curr_partner_dormi_apnea_mode\": \"standard\",\n        \"curr_partner_additional_analysis\": \"activity-level-classification,altertness, ...\",\n        \"minimum_firmware_version\": null,\n        \"curr_partner_device_configurations\": [\n            {\n                \"device_configuration_id\": \"1\",\n                \"name\": \"Sleep - 10g\",\n                \"configuration_url\": \"https://config.openmovement.dev/#nodetails&rate=12.5&range=8&gyro=0&stop=240&minbattery=80&title=Sleepacta%20-%20AX%20Configure&config=0\",\n                \"annotations\": \"12.5Hz, 10g\",\n                \"producer_id\": \"2\",\n                \"producer_name\": \"Axivity\",\n                \"supported_exam_type\": \"sleep+apnea\",\n                \"supported_additional_analysis\": null,\n                \"supported_dormi_apnea_mode\": \"lite\"\n            },\n            {\n                \"device_configuration_id\": \"7\",\n                \"name\": \"Signal Configuration\",\n                \"configuration_url\": \"https://signal.sleepacta.com/\",\n                \"annotations\": \"\",\n                \"producer_id\": \"4\",\n                \"producer_name\": \"Sleepacta\",\n                \"supported_exam_type\": \"sleep+apnea\",\n                \"supported_additional_analysis\": \"activity-level-classification,altertness, ... \",\n                \"supported_dormi_apnea_mode\": \"standard\"\n            }\n        ],\n        \"linked_partners\": [\n            {\n                \"partner_id\": \"1\",\n                \"partner_name\": \"Demo Partner 1\"\n            },\n            {\n                \"partner_id\": \"2\",\n                \"partner_name\": \"Demo Partner 2\"\n            }\n        ],\n        \"server_2_server\": true,\n        \"terms_and_conditions\": {\n            \"approval_date\": \"2026-06-10 07:42:49\",\n            \"version\": \"v01.00\",\n            \"current_version\": \"v01.00\"\n        }\n    }\n}"},{"id":"d89840ee-feb6-44d3-bffc-ea8b4e98ce19","name":"login_response_otp_required","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"{{USERNAME}}\",\r\n    \"password\": \"{{PASSWORD}}\",\r\n    \"partner_id\": \"{{PARTNER_ID}}\",\r\n    \"server_2_server\": \"{{SERVER_TO_SERVER}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/login"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 08 Jun 2026 13:00:39 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"146"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"auth_data\": {\n        \"otp_required\": true,\n        \"message\": \"You must validate your OTP. Please check your email.\"\n    }\n}"},{"id":"2c6f9a38-b81c-45b2-a0cd-4f6c56f526ea","name":"login_response_password_expired","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"{{USERNAME}}\",\r\n    \"password\": \"{{PASSWORD}}\",\r\n    \"partner_id\": \"{{PARTNER_ID}}\",\r\n    \"server_2_server\": \"{{SERVER_TO_SERVER}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/login"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 08 Jun 2026 13:00:39 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"146"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"auth_data\": {\n        \"password_expired\": true,\n        \"message\": \"Your password is expired. Please reset it.\"\n    }\n}"}],"_postman_id":"d6d239c7-0c9a-41c5-99f4-592ba1b40d65"},{"name":"login_by_external_identifier","id":"d277b055-2c3e-413f-926b-9e9e3b62caa2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"external_identifier\": \"{{EXTERNAL_IDENTIFIER}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/login_by_external_identifier","description":"<p>Authenticates a user using an external identifier and returns an access token</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>external_identifier</code></td>\n<td>the external identifier associated with the user account</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","login_by_external_identifier"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"394159dc-4a5e-4b69-842e-c13e36917107","name":"login_by_external_identifier_response","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"{{USERNAME}}\",\r\n    \"password\": \"{{PASSWORD}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://partners.sleepacta.com/api/login"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 14 May 2025 16:46:04 GMT"},{"key":"Content-Type","value":"application/json;charset=utf-8"},{"key":"Content-Length","value":"869"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"X-Powered-By","value":"PHP/8.1.31"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"Server-Timing","value":"rt;dur=0.631;desc=Process-Time"},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Xp%2BZdLXQoGzZ2vR%2F2nXGJfAktZK%2BXP2KOFnhJ%2FwGzjbx27jCgSAZYVEAGBoV7Cd8cnUIALLMEAE9oGDt%2F0TH4%2Bx%2B%2FdbAcNZlrQ0yz%2BII8AX2UQUd1sTgTsM6Xrypal3ikZud9XiwkbrutEA1WItFdog%3D\"}]}"},{"key":"CF-RAY","value":"93fbde980a56c587-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"auth_data\": {\n        \"token\": \"f9f703f378f22b51ee8df484ba4304e9109dce72c90b6a4eb161a6d3f9f94a4f\",\n        \"expiration\": \"2025-05-14 16:56:04\",\n        \"curr_partner_id\": \"1\",\n        \"curr_account_name\": \"Demo User\",\n        \"curr_account_id\": \"14\",\n        \"curr_account_external_identifier\": \"my-external-id\",\n        \"curr_account_role\": \"1\",\n        \"curr_account_is_end_user\": \"0\",\n        \"curr_account_age\": null,\n        \"curr_account_weight\": null,\n        \"curr_account_height\": null,\n        \"curr_account_gender\": null,\n        \"curr_account_can_use_only_own_devices\": \"0\",\n        \"curr_account_has_advanced_gui_options\": \"0\",\n        \"curr_account_has_beta_firmware_access\": \"1\",\n        \"curr_partner_name\": \"Demo Partner\",\n        \"curr_partner_timezone\": \"Europe/Rome\",\n        \"curr_partner_dormi_apnea_mode\": \"standard\",\n        \"curr_partner_additional_analysis\": \"activity-level-classification,altertness, ...\",\n        \"curr_partner_device_configurations\": [\n            {\n                \"device_configuration_id\": \"1\",\n                \"name\": \"Sleep - 10g\",\n                \"configuration_url\": \"https://config.openmovement.dev/#nodetails&rate=12.5&range=8&gyro=0&stop=240&minbattery=80&title=Sleepacta%20-%20AX%20Configure&config=0\",\n                \"annotations\": \"12.5Hz, 10g\",\n                \"producer_id\": \"2\",\n                \"producer_name\": \"Axivity\",\n                \"supported_exam_type\": \"sleep+apnea\",\n                \"supported_additional_analysis\": null,\n                \"supported_dormi_apnea_mode\": \"lite\"\n            },\n            {\n                \"device_configuration_id\": \"7\",\n                \"name\": \"Signal Configuration\",\n                \"configuration_url\": \"https://signal.sleepacta.com/\",\n                \"annotations\": \"\",\n                \"producer_id\": \"4\",\n                \"producer_name\": \"Sleepacta\",\n                \"supported_exam_type\": \"sleep+apnea\",\n                \"supported_additional_analysis\": \"activity-level-classification,altertness, ... \",\n                \"supported_dormi_apnea_mode\": \"standard\"\n            }\n        ],\n        \"linked_partners\": [\n            {\n                \"partner_id\": \"1\",\n                \"partner_name\": \"Demo Partner\"\n            },\n            {\n                \"partner_id\": \"2\",\n                \"partner_name\": \"Demo Partner 2\"\n            }\n        ],\n        \"server_2_server\": true,\n        \"terms_and_conditions\": {\n            \"approval_date\": \"2026-06-10 07:42:49\",\n            \"version\": \"v01.00\",\n            \"current_version\": \"v01.00\"\n        }\n    }\n}"}],"_postman_id":"d277b055-2c3e-413f-926b-9e9e3b62caa2"},{"name":"login_by_cookie","id":"9e77104c-fb0b-4a75-b7dd-a37a9039eae8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/login_by_cookie","description":"<p>Authenticates a user via a session cookie and returns an access token</p>\n","urlObject":{"path":["api","login_by_cookie"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"4acaaef3-6c23-45ba-8e5a-169f6ae39b38","name":"login_by_cookie_response","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"{{USERNAME}}\",\r\n    \"password\": \"{{PASSWORD}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://partners.sleepacta.com/api/login"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 14 May 2025 16:46:04 GMT"},{"key":"Content-Type","value":"application/json;charset=utf-8"},{"key":"Content-Length","value":"869"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"X-Powered-By","value":"PHP/8.1.31"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"Server-Timing","value":"rt;dur=0.631;desc=Process-Time"},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Xp%2BZdLXQoGzZ2vR%2F2nXGJfAktZK%2BXP2KOFnhJ%2FwGzjbx27jCgSAZYVEAGBoV7Cd8cnUIALLMEAE9oGDt%2F0TH4%2Bx%2B%2FdbAcNZlrQ0yz%2BII8AX2UQUd1sTgTsM6Xrypal3ikZud9XiwkbrutEA1WItFdog%3D\"}]}"},{"key":"CF-RAY","value":"93fbde980a56c587-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"auth_data\": {\n        \"token\": \"the-auth-token\",\n        \"expiration\": \"2026-06-14 16:56:04\",\n        \"curr_partner_id\": \"1\",\n        \"curr_account_name\": \"Demo User\",\n        \"curr_account_id\": \"14\",\n        \"curr_account_skip_otp\": \"0\",\n        \"curr_account_otp_expiration\": \"2026-09-04 00:12:41\",\n        \"curr_account_password_expiration\": \"2027-04-08 14:36:12\",\n        \"curr_account_external_identifier\": \"my-external-id\",\n        \"curr_account_role\": \"1\",\n        \"curr_account_is_end_user\": \"0\",\n        \"curr_account_age\": null,\n        \"curr_account_weight\": null,\n        \"curr_account_height\": null,\n        \"curr_account_gender\": null,\n        \"curr_account_can_create_exams\": \"1\",\n        \"curr_account_can_use_only_own_devices\": \"0\",\n        \"curr_account_has_advanced_gui_options\": \"0\",\n        \"curr_account_has_beta_firmware_access\": \"1\",\n        \"curr_partner_name\": \"Demo Partner\",\n        \"curr_partner_timezone\": \"Europe/Rome\",\n        \"curr_partner_dormi_apnea_mode\": \"standard\",\n        \"curr_partner_additional_analysis\": \"activity-level-classification,altertness, ...\",\n        \"curr_partner_device_configurations\": [\n            {\n                \"device_configuration_id\": \"1\",\n                \"name\": \"Sleep - 10g\",\n                \"configuration_url\": \"https://config.openmovement.dev/#nodetails&rate=12.5&range=8&gyro=0&stop=240&minbattery=80&title=Sleepacta%20-%20AX%20Configure&config=0\",\n                \"annotations\": \"12.5Hz, 10g\",\n                \"producer_id\": \"2\",\n                \"producer_name\": \"Axivity\",\n                \"supported_exam_type\": \"sleep+apnea\",\n                \"supported_additional_analysis\": null,\n                \"supported_dormi_apnea_mode\": \"lite\"\n            },\n            {\n                \"device_configuration_id\": \"7\",\n                \"name\": \"Signal Configuration\",\n                \"configuration_url\": \"https://signal.sleepacta.com/\",\n                \"annotations\": \"\",\n                \"producer_id\": \"4\",\n                \"producer_name\": \"Sleepacta\",\n                \"supported_exam_type\": \"sleep+apnea\",\n                \"supported_additional_analysis\": \"activity-level-classification,altertness, ... \",\n                \"supported_dormi_apnea_mode\": \"standard\"\n            }\n        ],\n        \"linked_partners\": [\n            {\n                \"partner_id\": \"1\",\n                \"partner_name\": \"Demo Partner\"\n            },\n            {\n                \"partner_id\": \"2\",\n                \"partner_name\": \"Demo Partner 2\"\n            }\n        ],\n        \"server_2_server\": true,\n        \"terms_and_conditions\": {\n            \"approval_date\": \"2026-06-10 07:42:49\",\n            \"version\": \"v01.00\",\n            \"current_version\": \"v01.00\"\n        }\n    }\n}"}],"_postman_id":"9e77104c-fb0b-4a75-b7dd-a37a9039eae8"},{"name":"refresh_token","id":"6c94a8f0-f51f-4b7a-84ba-f9825431c0e3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"{\r\n    \"token\": \"{{AUTH_TOKEN}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/refresh_token","description":"<p>Refreshes the current access token and returns a new valid token</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>token</code></td>\n<td>the current access token to be refreshed</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","refresh_token"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"42c35f34-9b68-431a-865e-6055986738fc","name":"refresh_token_response","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"APIauth: your-auth-token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"token\": \"{{AUTH_TOKEN}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://partners.sleepacta.com/api/refresh_token"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 13 Apr 2025 08:29:29 GMT"},{"key":"Content-Type","value":"application/json;charset=utf-8"},{"key":"Content-Length","value":"194"},{"key":"Connection","value":"keep-alive"},{"key":"x-powered-by","value":"PHP/8.1.31"},{"key":"expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"server-timing","value":"rt;dur=0.091;desc=Process-Time"},{"key":"server-timing","value":"cfL4;desc=\"?proto=TCP&rtt=5976&min_rtt=1942&rtt_var=8181&sent=11&recv=12&lost=0&retrans=0&sent_bytes=4105&recv_bytes=2933&delivery_rate=1450901&cwnd=4&unsent_bytes=0&cid=19254204a3cf32ad&ts=58601&x=0\""},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=dAPoLlntiTOfTqpWvP4Fw%2Ft%2F6UVM3%2FHOWDUZ1AI1gnkIgDqetdDGgh9qILDtGOPz9AEQ5Y5Pbmgli1sfkIi5gbAcLEdAUuY5cFjiWCW4mOnb5UUbrH0y95c0fSFWvHCCcbfKrT9GCPOaW%2B8fMK0xsT0%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}"},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"92f998931c9357ea-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"auth_data\": {\n        \"token\": \"your-new-auth-token\",\n        \"expiration\": \"2025-04-13 08:22:14\",\n        \"allowed_partners\": [\n            \"3\"\n        ],\n        \"curr_account_id\": null\n    }\n}"}],"_postman_id":"6c94a8f0-f51f-4b7a-84ba-f9825431c0e3"},{"name":"validate_otp","id":"fc127652-4efd-4dc4-8367-29ff599b982d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"{{USERNAME}}\",\r\n    \"otp\": \"{{OTP}}\",\r\n    \"delay_otp\": \"{{DELAY_OTP}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/validate_otp","description":"<p>Validates a one-time password for two-factor authentication</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>username</code></td>\n<td>the username of the account performing OTP validation</td>\n</tr>\n<tr>\n<td><code>otp</code></td>\n<td>the one-time password received by the user</td>\n</tr>\n<tr>\n<td><code>delay_otp</code></td>\n<td>set to 1 to allow a delayed OTP validation window</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","validate_otp"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"6dc08a09-0789-4cf5-9585-8759b79f1f14","name":"login_response","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"{{USERNAME}}\",\r\n    \"password\": \"{{PASSWORD}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://partners.sleepacta.com/api/login"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 14 May 2025 16:46:04 GMT"},{"key":"Content-Type","value":"application/json;charset=utf-8"},{"key":"Content-Length","value":"869"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"X-Powered-By","value":"PHP/8.1.31"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"Server-Timing","value":"rt;dur=0.631;desc=Process-Time"},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Xp%2BZdLXQoGzZ2vR%2F2nXGJfAktZK%2BXP2KOFnhJ%2FwGzjbx27jCgSAZYVEAGBoV7Cd8cnUIALLMEAE9oGDt%2F0TH4%2Bx%2B%2FdbAcNZlrQ0yz%2BII8AX2UQUd1sTgTsM6Xrypal3ikZud9XiwkbrutEA1WItFdog%3D\"}]}"},{"key":"CF-RAY","value":"93fbde980a56c587-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"auth_data\": {\n        \"token\": \"the-auth-token\",\n        \"expiration\": \"2025-05-14 16:56:04\",\n        \"curr_partner_id\": \"1\",\n        \"curr_account_name\": \"Demo User\",\n        \"curr_account_id\": \"14\",\n        \"curr_account_skip_otp\": \"0\",\n        \"curr_account_otp_expiration\": \"2026-09-04 00:12:41\",\n        \"curr_account_password_expiration\": \"2027-04-08 14:36:12\",\n        \"curr_account_external_identifier\": \"my-external-id\",\n        \"curr_account_role\": \"1\",\n        \"curr_account_is_end_user\": \"0\",\n        \"curr_account_age\": null,\n        \"curr_account_weight\": null,\n        \"curr_account_height\": null,\n        \"curr_account_gender\": null,\n        \"curr_account_can_create_exams\": \"1\",\n        \"curr_account_can_use_only_own_devices\": \"0\",\n        \"curr_account_has_advanced_gui_options\": \"0\",\n        \"curr_account_has_beta_firmware_access\": \"1\",\n        \"curr_partner_name\": \"Demo Partner\",\n        \"curr_partner_timezone\": \"Europe/Rome\",\n        \"curr_partner_dormi_apnea_mode\": \"standard\",\n        \"curr_partner_additional_analysis\": \"activity-level-classification,altertness, ...\",\n        \"curr_partner_device_configurations\": [],\n        \"linked_partners\": [],\n        \"server_2_server\": true\n    }\n}"}],"_postman_id":"fc127652-4efd-4dc4-8367-29ff599b982d"},{"name":"set_partner_id","id":"11185b04-fbe8-4ed0-8f12-5351c6171457","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"{\r\n    \"partner_id\": \"{{PARTNER_ID}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/set_partner_id","description":"<p>Associates the authenticated user session with a specific partner ID</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>partner_id</code></td>\n<td>the identifier of the partner to associate with the current session</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","set_partner_id"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"fdfffd1b-ce26-491a-811f-9d71d3c5e533","name":"set_partner_id_response","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"partner_id\": \"{{PARTNER_ID}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/set_partner_id"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2026 15:06:21 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"1381"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"auth_data\": {\n        \"token\": \"the-auth-token\",\n        \"expiration\": \"2025-05-14 16:56:04\",\n        \"curr_partner_id\": \"1\",\n        \"curr_account_name\": \"Demo User\",\n        \"curr_account_id\": \"14\",\n        \"curr_account_skip_otp\": \"0\",\n        \"curr_account_otp_expiration\": \"2026-09-04 00:12:41\",\n        \"curr_account_password_expiration\": \"2027-04-08 14:36:12\",\n        \"curr_account_external_identifier\": \"my-external-id\",\n        \"curr_account_role\": \"1\",\n        \"curr_account_is_end_user\": \"0\",\n        \"curr_account_age\": null,\n        \"curr_account_weight\": null,\n        \"curr_account_height\": null,\n        \"curr_account_gender\": null,\n        \"curr_account_can_create_exams\": \"1\",\n        \"curr_account_can_use_only_own_devices\": \"0\",\n        \"curr_account_has_advanced_gui_options\": \"0\",\n        \"curr_account_has_beta_firmware_access\": \"1\",\n        \"curr_partner_name\": \"Demo Partner\",\n        \"curr_partner_timezone\": \"Europe/Rome\",\n        \"curr_partner_dormi_apnea_mode\": \"standard\",\n        \"curr_partner_additional_analysis\": \"activity-level-classification,altertness, ...\",\n        \"curr_partner_device_configurations\": [],\n        \"linked_partners\": [],\n        \"server_2_server\": true\n    }\n}"}],"_postman_id":"11185b04-fbe8-4ed0-8f12-5351c6171457"},{"name":"logout","id":"62e7efb7-b3af-43f7-a8a3-842fa29d3cd7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/logout","description":"<p>Terminates the current user session and invalidates the access token</p>\n","urlObject":{"path":["api","logout"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"00e2f0b0-a5a4-400b-a2ce-da1e2f4bd2d0","name":"logout_response","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"APIauth: your-auth-token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"token\": \"{{AUTH_TOKEN}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://partners.sleepacta.com/api/refresh_token"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 13 Apr 2025 08:29:29 GMT"},{"key":"Content-Type","value":"application/json;charset=utf-8"},{"key":"Content-Length","value":"194"},{"key":"Connection","value":"keep-alive"},{"key":"x-powered-by","value":"PHP/8.1.31"},{"key":"expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"server-timing","value":"rt;dur=0.091;desc=Process-Time"},{"key":"server-timing","value":"cfL4;desc=\"?proto=TCP&rtt=5976&min_rtt=1942&rtt_var=8181&sent=11&recv=12&lost=0&retrans=0&sent_bytes=4105&recv_bytes=2933&delivery_rate=1450901&cwnd=4&unsent_bytes=0&cid=19254204a3cf32ad&ts=58601&x=0\""},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=dAPoLlntiTOfTqpWvP4Fw%2Ft%2F6UVM3%2FHOWDUZ1AI1gnkIgDqetdDGgh9qILDtGOPz9AEQ5Y5Pbmgli1sfkIi5gbAcLEdAUuY5cFjiWCW4mOnb5UUbrH0y95c0fSFWvHCCcbfKrT9GCPOaW%2B8fMK0xsT0%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}"},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"92f998931c9357ea-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"auth_data\": {\n        \"token\": \"your-new-auth-token\",\n        \"expiration\": \"2025-04-13 08:22:14\",\n        \"allowed_partners\": [\n            \"3\"\n        ],\n        \"curr_account_id\": null\n    }\n}"}],"_postman_id":"62e7efb7-b3af-43f7-a8a3-842fa29d3cd7"}],"id":"b0d25a96-b8ad-4582-8855-c4f055291d02","description":"<p>The API platform supports multiple authentication mechanisms designed to accommodate server-to-server integrations, web applications, and third-party systems.</p>\n<p>The standard authentication flow begins with the <code>login</code> endpoint, which returns an authentication token. This token must be included in the <code>Authorization</code> header of all subsequent API requests that require authentication. Detailed information about the authentication header format and response payload is available in the documentation of the individual endpoints.</p>\n<p>Authentication tokens have a limited lifetime and can be renewed through the <code>refresh_token</code> endpoint without requiring the user to authenticate again. When the session is no longer needed, the <code>logout</code> endpoint can be used to invalidate the current authentication context.</p>\n<p>In environments where a user may have access to multiple partners (tenants), the <code>set_partner_id</code> endpoint allows the client to select the active partner context for subsequent operations.</p>\n<p>In addition to standard username/password authentication, the platform provides alternative login methods. The <code>login_by_external_identifier</code> endpoint allows authentication using an external identifier associated with the user account, making it suitable for integrations with third-party identity systems. The <code>login_by_cookie</code> endpoint supports Single Sign-On (SSO) scenarios, enabling authentication based on a cookie previously issued by an external application and recognized by the platform backend.</p>\n<p>For non-server-to-server authentication flows, additional security can be enforced through One-Time Password (OTP) verification. In such cases, an OTP code is sent to the user's email address and must be validated through the <code>validate_otp</code> endpoint before authentication is considered complete.</p>\n<p>Refer to the documentation of the individual endpoints for detailed request and response specifications, parameter descriptions, and authentication requirements.</p>\n","_postman_id":"b0d25a96-b8ad-4582-8855-c4f055291d02"},{"name":"Exams Workflow","item":[{"name":"get_available_devices","id":"0d6eaed9-ea77-4d98-bc35-e6a7b551201d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/get_available_devices","description":"<p>Retrieves the list of devices available for assignment to a new delivery</p>\n","urlObject":{"path":["api","get_available_devices"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"543ff753-8b41-4898-bf1b-27ad85162a91","name":"get_available_devices_response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: your-auth-token","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://partners-testing.sleepacta.com/api/get_available_devices"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 12 Apr 2025 11:26:47 GMT"},{"key":"Content-Type","value":"application/json;charset=utf-8"},{"key":"Content-Length","value":"473"},{"key":"Connection","value":"keep-alive"},{"key":"x-powered-by","value":"PHP/8.1.31"},{"key":"expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"server-timing","value":"rt;dur=0.097;desc=Process-Time"},{"key":"server-timing","value":"cfL4;desc=\"?proto=TCP&rtt=2347&min_rtt=2141&rtt_var=950&sent=3&recv=5&lost=0&retrans=0&sent_bytes=219&recv_bytes=1153&delivery_rate=676319&cwnd=212&unsent_bytes=0&cid=5f38d431a0e8429a&ts=424&x=0\""},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=2jlvZ5sKqI%2FZY9O9hZSReuVYxxpCfodAIYLUSgoAZhnBkbZEHzCPlcEn%2BGqsviSeTG%2BrIJvLynHgDG2RDTVcpHDrkNPXf6CQOYIjqvYWxbc5iUtvoVGUWZTZ78UkJdIc%2BxWFTZ%2Fd43qkWpjZm82zeRM%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}"},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"92f25ee8192e205a-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"devices\": [\n        {\n            \"id\": \"81\",\n            \"partner_id\": \"1\",\n            \"patient_id\": \"0\",\n            \"producer_id\": \"3\",\n            \"vendor_code\": \"26-000100\",\n            \"model\": \"Signal\",\n            \"location\": \"Sleepacta Warehouse\",\n            \"owner\": \"Sleepacta\",\n            \"account_name_filter\": \"\",\n            \"status\": \"authorized\",\n            \"creation_date\": \"2024-07-24 16:42:36\",\n            \"last_sync_date\": \"2024-10-15 12:36:37\",\n            \"visible\": \"1\",\n            \"annotations\": \"\",\n            \"producer_invoice_id\": \"24\",\n            \"producer_dispatch_date\": \"2024-11-26 00:00:00\",\n            \"producer_name\": \"Sleepacta\"\n        },\n        {\n            \"id\": \"88\",\n            \"partner_id\": \"1\",\n            \"patient_id\": \"0\",\n            \"producer_id\": \"2\",\n            \"vendor_code\": \"606114\",\n            \"model\": \"AX6\",\n            \"location\": \"Rome - Customer Office\",\n            \"owner\": \"Sleepacta\",\n            \"account_name_filter\": \"\",\n            \"status\": \"authorized\",\n            \"creation_date\": \"2024-12-10 18:08:53\",\n            \"last_sync_date\": \"2025-03-18 11:19:04\",\n            \"visible\": \"1\",\n            \"annotations\": \"\",\n            \"producer_invoice_id\": null,\n            \"producer_dispatch_date\": null,\n            \"producer_name\": \"Axivity\"\n        }\n    ]\n}"}],"_postman_id":"0d6eaed9-ea77-4d98-bc35-e6a7b551201d"},{"name":"insert_delivery","id":"d174d6ba-e91c-4b4e-9d58-01fa10d8b740","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"{\r\n    \"device_id\": \"{{DEVICE_ID}}\",\r\n    \"patient_identifier\": \"test\",\r\n    \"patient_age\": \"50\",\r\n    \"patient_gender\": \"M\",\r\n    \"patient_height\": \"185\",\r\n    \"patient_weight\": \"80\",\r\n    \"exam_type\": \"sleep\",\r\n    \"device_configuration_id\": 1,\r\n    \"firmware_version\": \"1.24.22\",\r\n    \"delivery_date\": \"2025-11-25 13:00:00\",\r\n    \"end_recording_date\": \"2025-11-30 13:00:00\",\r\n\r\n    \"plot_steps\": \"1\",\r\n    \"plot_temperature\": \"1\",\r\n    \"plot_heartrate\": \"1\",\r\n    \"plot_breathrate\": \"0\",\r\n    \"plot_light\": \"1\",\r\n    \"plot_double_taps\": \"0\",\r\n    \"plot_hr_single_beats\": \"0\",\r\n    \"plot_hrv_rmssd_bcg\": \"0\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/insert_delivery","description":"<p>Creates a new delivery record and assigns a device to a patient</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>device_id</code></td>\n<td>the unique identifier of the device to assign to this delivery</td>\n</tr>\n<tr>\n<td><code>patient_identifier</code></td>\n<td>an anonymous or pseudonymous identifier for the patient</td>\n</tr>\n<tr>\n<td><code>patient_age</code></td>\n<td>the patient's age in years</td>\n</tr>\n<tr>\n<td><code>patient_gender</code></td>\n<td>the patient's gender (M or F)</td>\n</tr>\n<tr>\n<td><code>patient_height</code></td>\n<td>the patient's height in centimetres</td>\n</tr>\n<tr>\n<td><code>patient_weight</code></td>\n<td>the patient's weight in kilograms</td>\n</tr>\n<tr>\n<td><code>exam_type</code></td>\n<td>the type of exam to be performed (e.g. sleep)</td>\n</tr>\n<tr>\n<td><code>device_configuration_id</code></td>\n<td>the ID of the device configuration profile to apply</td>\n</tr>\n<tr>\n<td><code>firmware_version</code></td>\n<td>the current device firmware version</td>\n</tr>\n<tr>\n<td><code>delivery_date</code></td>\n<td>the scheduled delivery start date and time (yyyy-mm-dd HH:MM:SS)</td>\n</tr>\n<tr>\n<td><code>end_recording_date</code></td>\n<td>the scheduled end of recording date and time (yyyy-mm-dd HH:MM:SS)</td>\n</tr>\n<tr>\n<td><code>plot_steps</code></td>\n<td>set to 1 to include step count data in the report</td>\n</tr>\n<tr>\n<td><code>plot_temperature</code></td>\n<td>set to 1 to include temperature data in the report</td>\n</tr>\n<tr>\n<td><code>plot_heartrate</code></td>\n<td>set to 1 to include heart rate data in the report</td>\n</tr>\n<tr>\n<td><code>plot_breathrate</code></td>\n<td>set to 1 to include breath rate data in the report</td>\n</tr>\n<tr>\n<td><code>plot_light</code></td>\n<td>set to 1 to include ambient light data in the report</td>\n</tr>\n<tr>\n<td><code>plot_double_taps</code></td>\n<td>set to 1 to include double-tap event data in the report</td>\n</tr>\n<tr>\n<td><code>plot_hr_single_beats</code></td>\n<td>set to 1 to include single-beat heart rate data in the report</td>\n</tr>\n<tr>\n<td><code>plot_hrv_rmssd_bcg</code></td>\n<td>set to 1 to include HRV RMSSD BCG data in the report</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","insert_delivery"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"66cef45c-1423-444f-862e-d60a81e6cac2","name":"insert_delivery_response","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"APIauth: your-auth-token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"device_id\": \"89\",\r\n    \"patient_identifier\": \"the-anonymous-patient-identifier\",\r\n    \"patient_age\": \"50\",\r\n    \"patient_gender\": \"M\",\r\n    \"patient_height\": \"185\",\r\n    \"patient_weight\": \"80\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://partners-testing.sleepacta.com/api/insert_delivery"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 12 Apr 2025 08:01:17 GMT"},{"key":"Content-Type","value":"application/json;charset=utf-8"},{"key":"Content-Length","value":"82"},{"key":"Connection","value":"keep-alive"},{"key":"x-powered-by","value":"PHP/8.1.31"},{"key":"expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"server-timing","value":"rt;dur=0.096;desc=Process-Time"},{"key":"server-timing","value":"cfL4;desc=\"?proto=TCP&rtt=1974&min_rtt=1782&rtt_var=805&sent=3&recv=5&lost=0&retrans=0&sent_bytes=219&recv_bytes=1376&delivery_rate=812570&cwnd=250&unsent_bytes=0&cid=b62ab2a9b8bb73b2&ts=426&x=0\""},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=fyqLMVewEl%2FFOMb4Ez0%2Bg%2B%2BnBcm0LK0vTIeLuR9DReXX2O2Lo4GhMdWWIMaG6H0AzbfeAicPy1Omb7B6%2F%2B%2Ftqdvr%2BxEweQQmqmD3HjZH5DTGSPRw1st4p8yAyNwiduC4rPXKhir1YbF8WZCTjGfIjWk%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}"},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"92f131e2d93d87a1-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"new_delivery_id\": \"78\"\n}"}],"_postman_id":"d174d6ba-e91c-4b4e-9d58-01fa10d8b740"},{"name":"get_open_deliveries","id":"2cf75a9e-0de4-4f68-abf8-2f17ebfda0da","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/get_open_deliveries","description":"<p>Retrieves all deliveries that are currently open and pending data upload</p>\n","urlObject":{"path":["api","get_open_deliveries"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"264909df-fe75-45ae-9637-4ca0ddde1bb3","name":"get_open_deliveries_response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/get_open_deliveries"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 14 May 2025 12:32:09 GMT"},{"key":"Content-Type","value":"application/json;charset=utf-8"},{"key":"Content-Length","value":"1091"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"X-Powered-By","value":"PHP/8.1.31"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"Server-Timing","value":"rt;dur=0.110;desc=Process-Time"},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=z3qggy57To8%2FRFoWYQb9B%2B7yxSFkS%2B5Dck2v2yyyTnOdh7DEOXZCAPq1vzDibZlNoDwt983qHG5%2Bpgh%2FvBWbTyNgjF49AnnlTdBsZu0W02UssLtj%2FbT2Lxhx8R5G6%2B1bSntVQ55YKEphlGTtvkInmXc%3D\"}]}"},{"key":"CF-RAY","value":"93fa6aa73d2956b6-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"deliveries\": [\n        {\n            \"id\": \"51\",\n            \"creation_date\": \"2024-09-24 16:07:25\",\n            \"delivery_date\": \"2024-09-24 16:07:00\",\n            \"last_mod_date\": \"2024-09-24 16:07:25\",\n            \"device_configuration_id\": null,\n            \"shipment_id\": \"82\",\n            \"device_id\": \"83\",\n            \"patient_id\": null,\n            \"patient_identifier\": \"A1\",\n            \"patient_age\": \"33\",\n            \"patient_weight\": \"0\",\n            \"patient_height\": \"0\",\n            \"patient_gender\": \"M\",\n            \"patient_external_identifier\": \"my-external-id-1\",\n            \"partner_id\": \"1\",\n            \"account_id\": \"3\",\n            \"last_mod_account_id\": \"3\",\n            \"completed\": \"0\",\n            \"virtual\": \"0\",\n            \"annotations\": \"\",\n            \"exam_type\": \"sleep\",\n            \"device_annotations\": \"\",\n            \"vendor_code\": \"26-000100\",\n            \"device_model\": \"Signal\",\n            \"device_owner\": \"Sleepacta\",\n            \"account_name_filter\": \"my-filter\",\n            \"device_location\": \"\",\n            \"device_visible\": \"1\",\n            \"device_status\": \"authorized\",\n            \"device_last_sync_date\": \"2025-04-14 20:06:33\",\n            \"producer_id\": \"3\",\n            \"partner_name\": \"Demo Partner\",\n            \"account_name\": \"My Name\",\n            \"last_mod_account_name\": \"My Name\",\n            \"producer\": \"Sleepacta\",\n            \"manual_upload\": \"1\",\n            \"web_configuration\": \"1\",\n            \"last_sync_api\": \"1\"\n        },\n        {\n            \"id\": \"53\",\n            \"creation_date\": \"2024-10-22 15:04:54\",\n            \"delivery_date\": \"2024-10-22 15:04:00\",\n            \"last_mod_date\": \"2024-10-22 15:04:54\",\n            \"device_configuration_id\": null,\n            \"shipment_id\": \"0\",\n            \"device_id\": \"76\",\n            \"patient_id\": null,\n            \"patient_identifier\": \"A2\",\n            \"patient_age\": \"33\",\n            \"patient_weight\": \"0\",\n            \"patient_height\": \"0\",\n            \"patient_gender\": \"M\",\n            \"patient_external_identifier\": \"my-external-id-2\",\n            \"partner_id\": \"1\",\n            \"account_id\": \"3\",\n            \"last_mod_account_id\": \"3\",\n            \"completed\": \"0\",\n            \"virtual\": \"0\",\n            \"annotations\": \"\",\n            \"exam_type\": \"sleep\",\n            \"device_annotations\": \"\",\n            \"vendor_code\": \"12345678\",\n            \"device_model\": \"AX6\",\n            \"device_owner\": \"Sleepacta\",\n            \"account_name_filter\": null,\n            \"device_location\": \"My Office\",\n            \"device_visible\": \"0\",\n            \"device_last_sync_date\": \"2023-09-19 17:40:55\",\n            \"producer_id\": \"1\",\n            \"partner_name\": \"Demo Partner\",\n            \"account_name\": \"My Name\",\n            \"last_mod_account_name\": \"My Name\",\n            \"producer\": \"Axivity\",\n            \"manual_upload\": \"1\",\n            \"web_configuration\": \"1\",\n            \"last_sync_api\": \"0\"\n        }\n    ]\n}"}],"_postman_id":"2cf75a9e-0de4-4f68-abf8-2f17ebfda0da"},{"name":"upload_raw_data","id":"ba57b298-4771-4283-99e7-bcaef1970ac2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"formdata","formdata":[{"key":"raw_data","value":"{{RAW_DATA_ZIP_FILE}}","description":"<p>a ZIP file containing the device raw data</p>\n","type":"text"},{"key":"device_id","value":"{{DEVICE_ID}}","description":"<p>the unique identifier of the device that recorded the data</p>\n","type":"text"},{"key":"delivery_id","value":"{{DELIVERY_ID}}","description":"<p>the delivery identifier; can be used instead of device_id</p>\n","type":"text"}]},"url":"{{FRONTEND_BASE_URL}}/api/upload_raw_data","description":"<p>Uploads raw sensor data from a device for a specific delivery</p>\n","urlObject":{"path":["api","upload_raw_data"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"77f66b8c-805b-4a96-9b6a-16feaa563e84","name":"upload_raw_data_response","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"APIauth: your-auth-token","type":"text"}],"body":{"mode":"formdata","formdata":[{"key":"raw_data","description":"the ZIP file to be uploaded","type":"file","uuid":"38fd2e56-d272-4259-a093-5d60c044f7b8","src":"h5b0UUso0/test.zip"},{"key":"device_id","value":"84","description":"(optional) the device identifier","type":"text","uuid":"5e06e9c7-b540-490f-8277-71afc3d1c7df"},{"key":"delivery_id","value":"70","description":"(optional) the delivery identifier","type":"text","uuid":"d7ef7526-240d-41be-b21f-42d9a36f4705","disabled":true}]},"url":"https://partners-testing.sleepacta.com/api/upload_raw_data"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 12 Apr 2025 23:42:55 GMT"},{"key":"Content-Type","value":"application/json;charset=utf-8"},{"key":"Content-Length","value":"129"},{"key":"Connection","value":"keep-alive"},{"key":"x-powered-by","value":"PHP/8.1.31"},{"key":"expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"server-timing","value":"rt;dur=2.353;desc=Process-Time"},{"key":"server-timing","value":"cfL4;desc=\"?proto=TCP&rtt=2302&min_rtt=2169&rtt_var=909&sent=38&recv=139&lost=0&retrans=0&sent_bytes=219&recv_bytes=181869&delivery_rate=667588&cwnd=230&unsent_bytes=0&cid=ece74a6f2ef8d3a2&ts=2901&x=0\""},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=s9FWMEqr0uX6wPcz3D4eQRiCAmutIK8WoX2Q5nYiIZ84w0l%2Bm58VZb3jonUiD1VMf9xE1vYQ0ExN2GMZLCtqyjneuO2yGxAXAqpySPR4xJ3nMLY6pARUChy1cOeDY5vevpp%2BPNHxwevpxjoWkwGv2Kc%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}"},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"92f69529cd6af278-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"update_info\": {\n        \"updated_device_id\": \"84\",\n        \"update_date\": \"2025-04-12T23:42:55.235Z\"\n    }\n}"}],"_postman_id":"ba57b298-4771-4283-99e7-bcaef1970ac2"},{"name":"create_exam_from_delivery","id":"45312ffd-4725-4aa1-8028-62a45b483a1c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"{\r\n    \"delivery_id\": \"{{DELIVERY_ID}}\",\r\n    \"override_start_date\": \"{{OVERRIDE_START_DATE}}\",\r\n    \"override_end_date\": \"{{OVERRIDE_END_DATE}}\",\r\n    \"lang\": \"it\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/create_exam_from_delivery","description":"<p>Creates a new exam record by processing the data from a completed delivery</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>delivery_id</code></td>\n<td>the unique identifier of the completed delivery to process</td>\n</tr>\n<tr>\n<td><code>override_start_date</code></td>\n<td>optional start date override for the exam (yyyy-mm-dd HH:MM:SS)</td>\n</tr>\n<tr>\n<td><code>override_end_date</code></td>\n<td>optional end date override for the exam (yyyy-mm-dd HH:MM:SS)</td>\n</tr>\n<tr>\n<td><code>lang</code></td>\n<td>optional: the language code for the generated exam report (e.g. it, en)</td>\n</tr>\n<tr>\n<td><code>firmware_version</code></td>\n<td>optional: the current device firmware version</td>\n</tr>\n<tr>\n<td><code>gui_version</code></td>\n<td>optional: the current Signal GUI version</td>\n</tr>\n<tr>\n<td><code>gui_application</code></td>\n<td>optional: the Signal GUI application used to perorm the exam (\"web\" or \"desktop\"</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","create_exam_from_delivery"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"82099114-b4e7-4edc-87bc-12a250896194","name":"create_exam_from_delivery","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"APIauth: your-auth-token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"delivery_id\": \"40\",\r\n    \"exam_type\": \"sleep\",\r\n    \"lang\": \"it\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://partners-testing.sleepacta.com/api/create_exam_from_delivery"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"new_exam_id\": \"300\"\n}"}],"_postman_id":"45312ffd-4725-4aa1-8028-62a45b483a1c"},{"name":"get_exam","id":"da9aacba-edf1-4e5d-8db3-784641e4e58f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/get_exam?id={{EXAM_ID}}&full_version={{FULL_VERSION}}&lang={{LANGUAGE}}","description":"<p>Retrieves the details of a specific exam by its ID</p>\n","urlObject":{"path":["api","get_exam"],"host":["{{FRONTEND_BASE_URL}}"],"query":[{"description":{"content":"<p>the unique identifier of the exam to retrieve</p>\n","type":"text/plain"},"key":"id","value":"{{EXAM_ID}}"},{"description":{"content":"<p>set to 1 to return the full exam data including all metrics (default 0)</p>\n","type":"text/plain"},"key":"full_version","value":"{{FULL_VERSION}}"},{"description":{"content":"<p>exam language (e.g. \"it\", \"en\", etc.)</p>\n","type":"text/plain"},"key":"lang","value":"{{LANGUAGE}}"}],"variable":[]}},"response":[{"id":"adc103ea-a123-4ed1-9295-529b8f3124b5","name":"get_exam_response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: your-auth-token","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"https://partners.sleepacta.com/api/get_exam?id=342","protocol":"https","host":["partners","sleepacta","com"],"path":["api","get_exam"],"query":[{"key":"id","value":"342","description":"the exam identifier"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 13 Apr 2025 08:45:34 GMT"},{"key":"Content-Type","value":"application/json;charset=utf-8"},{"key":"Content-Length","value":"2705"},{"key":"Connection","value":"keep-alive"},{"key":"x-powered-by","value":"PHP/8.1.31"},{"key":"expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"server-timing","value":"rt;dur=2.360;desc=Process-Time"},{"key":"server-timing","value":"cfL4;desc=\"?proto=TCP&rtt=2076&min_rtt=1944&rtt_var=823&sent=3&recv=5&lost=0&retrans=0&sent_bytes=219&recv_bytes=1147&delivery_rate=744855&cwnd=230&unsent_bytes=0&cid=7d72eb248d4e7ee9&ts=2694&x=0\""},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=jY4zqf84fGsq8Wt6WDuqcab3nJ3GNsdFf7eg0i8o7xxoMjAGEEtqvnfUckKXaZlNRn%2Bgr13UH0ZKQZ%2Fd%2F%2BtVUTX8RqYCdQTP1o%2FQ5eMyvK9YDkwEkN%2F8wPKXfNZdiT6ofiP9WUm5it6Fto6NV5kSqr0%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}"},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"92f9b01309e972ec-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"exam\": {\n        \"exam_id\": \"342\",\n        \"partner_name\": \"Demo Partner\",\n        \"exam_type\": \"sleep+apnea\",\n        \"creation_date\": \"2025-04-12 11:48:56\",\n        \"creator\": {\n                \"name\": \"John Smith\",\n                \"id\": 34\n            },\n        \"start_date\": \"2025-04-12 11:48:41\",\n        \"end_date\": \"2025-04-12 11:48:56\",\n        \"status\": \"completed\",\n        \"doctor_name\": null,\n        \"reporting_date\": null,\n        \"annotations\": \"\",\n        \"timezone\": \"Europe/Rome\",\n        \"language\": \"it\",\n        \"last_run_id\": \"1302\",\n        \"algorithm\": \"Dormi (FP.v01)\",\n        \"device\": {\n            \"producer\": \"Axivity\",\n            \"vendor_code\": \"0000111\"\n        },\n        \"patient\": {\n            \"age\": 50,\n            \"nickname\": \"patient-anonymous-id\",\n            \"gender\": \"M\",\n            \"weight\": 80,\n            \"height\": 185,\n            \"external_identifier\": \"my-external-id\"\n        },\n        \"delivery\": {\n            \"delivery_id\": \"118\",\n            \"account_name\": \"John Smith\",\n            \"creation_date\": \"2025-04-12 11:48:41\",\n            \"delivery_date\": \"2025-04-12 11:48:41\",\n            \"annotations\": \"\"\n        },\n        \"avg_kpis\": {\n            \"tst\": \"313.888889\",\n            \"se\": \"83.993334\",\n            \"waso\": \"78.111111\",\n            \"sri\": \"80.779999\",\n            \"naw\": \"38.4444\",\n            \"daw\": \"5.378889\",\n            \"mi\": \"5.013333\",\n            \"ai\": \"25.277778\",\n            \"sleep_onset\": \"23:08\",\n            \"sleep_offset\": \"07:06\"\n        },\n        \"daily_logs\": [\n            {\n                \"day_idx\": \"0\",\n                \"start_date\": \"2024-09-02 00:00:00\",\n                \"end_date\": \"2024-09-02 00:00:00\",\n                \"sleep_onset\": \"01:23:00\",\n                \"sleep_offset\": \"07:20:00\",\n                \"tst\": \"299.00\",\n                \"se\": \"83.75\",\n                \"sri\": \"80.78\",\n                \"naw\": \"57\",\n                \"daw\": \"3.59\",\n                \"mi\": \"5.18\",\n                \"ai\": \"18.50\"\n            },\n            {\n                \"day_idx\": \"1\",\n                \"start_date\": \"2024-09-03 00:00:00\",\n                \"end_date\": \"2024-09-03 00:00:00\",\n                \"sleep_onset\": \"00:15:00\",\n                \"sleep_offset\": \"06:52:00\",\n                \"tst\": \"360.00\",\n                \"se\": \"90.68\",\n                \"sri\": \"80.78\",\n                \"naw\": \"38\",\n                \"daw\": \"2.68\",\n                \"mi\": \"3.90\",\n                \"ai\": \"15.50\"\n            }\n        ],\n        \"plots\": [\n            \"https://aws-path/plot1.png\",\n            \"https://aws-path/plot2.png\",\n            \"https://aws-path/plot_gauge_se_sri.png\"\n        ],\n        \"normative_kpis_cat\": {\n            \"tst\": 0,\n            \"waso\": 1,\n            \"se\": 1,\n            \"sri\": 0,\n            \"daw\": 1,\n            \"naw\": 1,\n            \"mi\": 0,\n            \"ai\": 1\n        },\n        \"daily_osas\": {\n            \"2024-09-01 01:23\": 0,\n            \"2024-09-02 00:15\": 1\n        },\n        \"daily_steps\": {\n            \"2024-09-01\": \"4675\",\n            \"2024-09-02\": \"3817 *\"\n        },\n        \"unreliable_exam\": false,\n        \"reporting_suggestions\": \"The self-generated reporting notes suggestions...\",\n        \"questionnaires\": [\n            {\n                \"survey_id\": \"1\",\n                \"title\": \"Questionnaire A\",\n                \"total_score\": 12,\n                \"answers\": [\n                    {\n                        \"question_id\": \"101\",\n                        \"topic\": \"Topic 1\",\n                        \"question\": \"Sample question 1?\",\n                        \"type\": \"single\",\n                        \"answers\": [\n                            {\n                                \"answer_id\": \"501\",\n                                \"answer\": \"Sample answer 1\"\n                            }\n                        ]\n                    },\n                    {\n                        \"question_id\": \"102\",\n                        \"topic\": \"Topic 1\",\n                        \"question\": \"Sample question 2?\",\n                        \"type\": \"multi\",\n                        \"answers\": [\n                            {\n                                \"answer_id\": \"510\",\n                                \"answer\": \"Sample answer A\"\n                            },\n                            {\n                                \"answer_id\": \"511\",\n                                \"answer\": \"Sample answer B\"\n                            }\n                        ]\n                    },\n                    {\n                        \"question_id\": \"103\",\n                        \"topic\": \"Topic 2\",\n                        \"question\": \"Sample open question?\",\n                        \"type\": \"free\",\n                        \"answers\": [\n                            {\n                                \"answer_id\": null,\n                                \"answer\": \"Free-text answer provided by the user\"\n                            }\n                        ]\n                    }\n                ],\n                \"profiles\": [\n                    {\n                        \"title\": \"Profile Label 1\",\n                        \"description\": \"Generic profile description text.\",\n                        \"prog\": 1\n                    }\n                ],\n                \"indications\": [\n                    {\n                        \"title\": \"Indication Label 1\",\n                        \"description\": \"Generic indication description text.\",\n                        \"prog\": 1\n                    }\n                ]\n            }\n        ],\n        \"pvt_tests\": [\n            {\n                \"protocol\": \"pvt3\",\n                \"started_at_iso\": \"2026-06-15T10:22:41.031Z\",\n                \"duration_ms\": 180000,\n                \"n_trials\": 46,\n                \"n_valid\": 46,\n                \"n_false_starts\": 0,\n                \"n_no_response\": 0,\n                \"mean_rt_ms\": 274.7608695650959,\n                \"median_rt_ms\": 258.19999999925494,\n                \"slowest10_mean_ms\": 442.0599999997765,\n                \"speed_per_s\": 3.8290840960342605,\n                \"lapses\": 1\n            }\n        ],\n        \"public_url\": \"https://the-exam-public-link\"\n    }\n}"}],"_postman_id":"da9aacba-edf1-4e5d-8db3-784641e4e58f"},{"name":"get_exams","id":"52b76ca9-3380-4cab-a702-a5b9d878fa78","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/get_exams","description":"<p>Retrieves the list of all exams accessible to the authenticated user</p>\n","urlObject":{"path":["api","get_exams"],"host":["{{FRONTEND_BASE_URL}}"],"query":[{"disabled":true,"description":{"content":"<p>the number of exams to return (default 10)</p>\n","type":"text/plain"},"key":"num_records","value":"{{NUM_RECORDS}}"},{"disabled":true,"description":{"content":"<p>the offset of the first record to return (default 1)</p>\n","type":"text/plain"},"key":"start","value":"{{START}}"},{"disabled":true,"description":{"content":"<p>the field to sort results by (id, creation_date, status)</p>\n","type":"text/plain"},"key":"order_by","value":"{{ORDER_BY}}"},{"disabled":true,"description":{"content":"<p>the sort direction (asc or desc)</p>\n","type":"text/plain"},"key":"asc_desc","value":"{{ASC_DESC}}"},{"disabled":true,"description":{"content":"<p>filter exams with monitoring start date on or after this date (yyyy-mm-dd)</p>\n","type":"text/plain"},"key":"start_date","value":"{{START_DATE}}"},{"disabled":true,"description":{"content":"<p>filter exams with monitoring end date on or before this date (yyyy-mm-dd)</p>\n","type":"text/plain"},"key":"end_date","value":"{{END_DATE}}"},{"disabled":true,"description":{"content":"<p>filter by patient info such as anonymous identifier</p>\n","type":"text/plain"},"key":"patient","value":"{{PATIENT}}"},{"disabled":true,"description":{"content":"<p>filter by exam status (completed or error)</p>\n","type":"text/plain"},"key":"status","value":"{{STATUS}}"},{"disabled":true,"description":{"content":"<p>filter by the unique identifier of the account that created the exam</p>\n","type":"text/plain"},"key":"account_id","value":"{{ACCOUNT_ID}}"},{"disabled":true,"description":{"content":"<p>filter exams that ended after this date (yyyy-mm-dd)</p>\n","type":"text/plain"},"key":"ended_after","value":"{{ENDED_AFTER}}"},{"disabled":true,"description":{"content":"<p>return only exams with an ID greater than or equal to this value</p>\n","type":"text/plain"},"key":"min_exam_id","value":"{{MIN_EXAM_ID}}"},{"disabled":true,"description":{"content":"<p>filter by the external identifier of the patient's account</p>\n","type":"text/plain"},"key":"patient_external_identifier","value":"{{PATIENT_EXTERNAL_IDENTIFIER}}"}],"variable":[]}},"response":[{"id":"ffc6e6f7-26df-4fe8-812a-e4c8b419d34a","name":"get_exams_response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"{{FRONTEND_BASE_URL}}/api/get_exams?num_records=2","host":["{{FRONTEND_BASE_URL}}"],"path":["api","get_exams"],"query":[{"key":"num_records","value":"2"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Sat, 13 Sep 2025 07:56:08 GMT"},{"key":"Content-Type","value":"application/json;charset=utf-8"},{"key":"Content-Length","value":"327"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"x-powered-by","value":"PHP/8.1.31"},{"key":"expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"server-timing","value":"rt;dur=0.109;desc=Process-Time"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=TbMXtcRszI0XD1guiRcZJUnC7Rml3R9W7cQ7mSKHePEQxQVTL%2Bq%2B2TvwrERE8xeUxSTa1fri3xelHScq218xnB%2BeZqSKyNSGYYiavdQBZqn85EPhY7eFw9L16AW6mg%3D%3D\"}]}"},{"key":"CF-RAY","value":"97e61614d852aa2d-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"exams\": [\n        {\n            \"exam_id\": \"451\",\n            \"partner_name\": \"Demo Partner\",\n            \"exam_type\": \"sleep+apnea\",\n            \"creation_date\": \"2025-09-11 12:02:22\",\n            \"creator\": {\n                \"name\": \"John Smith\",\n                \"id\": 34\n            },\n            \"device\": {\n                \"producer\": \"Sleepacta\",\n                \"vendor_code\": \"25-00018\"\n            },\n            \"delivery\": {\n                \"delivery_id\": \"118\",\n                \"account_name\": \"John Smith\",\n                \"creation_date\": \"2025-09-01 12:01:00\",\n                \"delivery_date\": \"2025-09-01 12:01:00\",\n                \"annotations\": \"\"\n            },\n            \"patient\": {\n                \"age\": 34,\n                \"nickname\": \"TB\",\n                \"gender\": \"M\",\n                \"weight\": 60,\n                \"height\": 175,\n                \"external_identifier\": \"my-external-id\"\n            },\n            \"start_date\": \"2025-09-01 12:01:00\",\n            \"end_date\": \"2025-09-11 11:51:00\",\n            \"status\": \"completed\",\n            \"doctor_name\": null,\n            \"reporting_date\": null,\n            \"annotations\": \"\",\n            \"timezone\": \"Europe/Rome\",\n            \"language\": \"it\"\n        },\n        {\n            \"exam_id\": \"450\",\n            \"partner_name\": \"Demo Partner\",\n            \"exam_type\": \"sleep+apnea\",\n            \"creation_date\": \"2025-09-10 19:57:07\",\n            \"creator\": {\n                \"name\": \"John Smith\",\n                \"id\": 34\n            },\n            \"device\": {\n                \"producer\": \"Sleepacta\",\n                \"vendor_code\": \"25-00010\"\n            },\n            \"delivery\": {\n                \"delivery_id\": \"117\",\n                \"account_name\": \"John Smith\",\n                \"creation_date\": \"2025-09-05 17:00:00\",\n                \"delivery_date\": \"2025-09-05 17:00:00\",\n                \"annotations\": \"\"\n            },\n            \"patient\": {\n                \"age\": 54,\n                \"nickname\": \"AV\",\n                \"gender\": \"M\",\n                \"weight\": 80,\n                \"height\": 185\n            },\n            \"start_date\": \"2025-09-05 17:00:00\",\n            \"end_date\": \"2025-09-10 19:30:00\",\n            \"status\": \"completed\",\n            \"doctor_name\": null,\n            \"reporting_date\": null,\n            \"annotations\": \"\",\n            \"timezone\": \"Europe/Rome\",\n            \"language\": \"en\"\n        }\n    ]\n}"}],"_postman_id":"52b76ca9-3380-4cab-a702-a5b9d878fa78"},{"name":"get_device","id":"a299f72c-ce4e-4f88-b36a-d66dc3eacb8a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/get_device?device_code={{DEVICE_CODE}}","description":"<p>Retrieves the details of a specific device by its device code or identifier</p>\n","urlObject":{"path":["api","get_device"],"host":["{{FRONTEND_BASE_URL}}"],"query":[{"disabled":true,"description":{"content":"<p>the unique identifier of the device to retrieve</p>\n","type":"text/plain"},"key":"id","value":"{{DEVICE_ID}}"},{"description":{"content":"<p>the alphanumeric code of the device to retrieve</p>\n","type":"text/plain"},"key":"device_code","value":"{{DEVICE_CODE}}"}],"variable":[]}},"response":[{"id":"d81259f0-7892-466c-87f3-2ed3a5f794ed","name":"get_device_response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"{{FRONTEND_BASE_URL}}/api/get_device?device_code={{DEVICE_CODE}}","host":["{{FRONTEND_BASE_URL}}"],"path":["api","get_device"],"query":[{"key":"id","value":"{{DEVICE_ID}}","description":"the ID of the exam to be returned","disabled":true},{"key":"device_code","value":"{{DEVICE_CODE}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Thu, 21 May 2026 13:25:06 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Set-Cookie","value":"PHPSESSID=42b38fftc18s86rquf4ah5hbtn; path=/"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"167"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json;charset=utf-8"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"device\": {\n        \"device_id\": \"143\",\n        \"vendor_code\": \"26-00133\",\n        \"producer\": \"Sleepacta\",\n        \"model\": \"Signal\",\n        \"location\": \"Sleepacta Office\",\n        \"owner\": \"Sleepacta\",\n        \"account_name_filter\": \"\",\n        \"creation_date\": \"2026-04-21 20:28:22\",\n        \"account_name_filter\": \"\",\n        \"is_delivered\": \"1\",\n        \"delivery\": {\n            \"delivery_id\": \"121\",\n            \"account_name\": \"My Account\",\n            \"creation_date\": \"2026-04-21 23:10:34\",\n            \"delivery_date\": \"2026-04-21 23:10:00\",\n            \"annotations\": \"\",\n            \"patient_identifier\": \"PN\",\n            \"patient_age\": \"33\",\n            \"patient_weight\": \"85\",\n            \"patient_height\": \"187\",\n            \"patient_gender\": \"M\",\n            \"patient_external_identifier\": \"my-external-id\"\n        }\n    }\n}"}],"_postman_id":"a299f72c-ce4e-4f88-b36a-d66dc3eacb8a"},{"name":"update_delivery","id":"b75fc397-37f0-4358-9e93-b1b2cb3664b2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"{\r\n    \"delivery_id\": \"{{DELIVERY_ID}}\",\r\n    \"patient_identifier\": \"{{UPDATED_PATIENT_IDENTIFIER}}\",\r\n    \"patient_age\": \"{{UPDATED_PATIENT_AGE}}\",\r\n    \"patient_gender\": \"{{UPDATED_PATIENT_GENDER}}\",\r\n    \"patient_weight\": \"{{UPDATED_PATIENT_WEIGHT}}\",\r\n    \"patient_height\": \"{{UPDATED_PATIENT_HEIGHT}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/update_delivery","description":"<p>Updates the patient's metadata of a delivery (only if it hasn't been completed yet).</p>\n<p>With the exception of the <code>delivery_id</code> field, all other fields are optional.</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>delivery_id</code></td>\n<td>the unique identifier of the delivery to be modified</td>\n</tr>\n<tr>\n<td><code>patient_identifier</code></td>\n<td>an anonymous or pseudonymous identifier for the patient</td>\n</tr>\n<tr>\n<td><code>patient_age</code></td>\n<td>the patient's age in years</td>\n</tr>\n<tr>\n<td><code>patient_gender</code></td>\n<td>the patient's gender (M or F)</td>\n</tr>\n<tr>\n<td><code>patient_height</code></td>\n<td>the patient's height in centimetres</td>\n</tr>\n<tr>\n<td><code>patient_weight</code></td>\n<td>the patient's weight in kilograms</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","update_delivery"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"4f2d22e5-86ca-4d4d-bf30-546bbbd9aa89","name":"update_delivery_response","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"API authentication token in the format: APIauth: <token>"}],"body":{"mode":"raw","raw":"{\r\n    \"delivery_id\": \"{{DELIVERY_ID}}\",\r\n    \"patient_identifier\": \"{{UPDATED_PATIENT_IDENTIFIER}}\",\r\n    \"patient_age\": \"{{UPDATED_PATIENT_AGE}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/update_delivery"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 11 Jun 2026 19:32:39 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"219"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"delivery_updated\": {\n        \"partner_id\": \"5\",\n        \"account_id\": \"1\",\n        \"last_mod_account_id\": \"1\",\n        \"last_mod_date\": \"2026-06-11 21:32:39\",\n        \"patient_identifier\": \"updated-nickname\",\n        \"patient_age\": 34,\n        \"patient_gender\": \"M\",\n        \"patient_weight\": 80,\n        \"patient_height\": 187\n    }\n}"}],"_postman_id":"b75fc397-37f0-4358-9e93-b1b2cb3664b2"},{"name":"delete_delivery","id":"60628077-edc2-4f22-9f58-c9493545c5af","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"DELETE","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"{\r\n    \"id\": \"{{DELETE_DELIVERY_ID}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/delete_delivery","description":"<p>Delete a delivery (only if it hasn't been completed yet).</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>id</code></td>\n<td>the unique identifier of the delivery to be deleted</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","delete_delivery"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"a1c03718-c202-4b8d-b3d5-466df6081a9f","name":"delete_delivery_response","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"API authentication token in the format: APIauth: <token>"}],"body":{"mode":"raw","raw":"{\r\n    \"id\": \"{{DELETE_DELIVERY_ID}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/delete_delivery"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 11 Jun 2026 19:51:10 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"75"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"deleted_delivery_id\": \"130\"\n}"}],"_postman_id":"60628077-edc2-4f22-9f58-c9493545c5af"},{"name":"mark_exam_as_unreliable","id":"f99814fd-3e86-4b88-a601-13d08da7f982","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"{\r\n    \"id\": \"{{UNRELIABLE_EXAM_ID}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/mark_exam_as_unreliable","description":"<p>Flags a specific exam as unreliable to exclude it from clinical reporting</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>id</code></td>\n<td>the unique identifier of the exam to mark as unreliable</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","mark_exam_as_unreliable"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"f010cd73-14fc-41dc-b2a1-816ac0aba158","name":"mark_exam_as_unreliable_response","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"id\": \"{{UNRELIABLE_EXAM_ID}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/mark_exam_as_unreliable"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Thu, 28 May 2026 17:44:17 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"97"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json;charset=utf-8"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"exam_updated\": {\n        \"unreliable\": \"1\",\n        \"exam_id\": \"{{UNRELIABLE_EXAM_ID}}\"\n    }\n}"}],"_postman_id":"f99814fd-3e86-4b88-a601-13d08da7f982"}],"id":"47131836-77f2-4c28-98e7-ded8e10384e3","description":"<p>Contains the endpoints that cover the full lifecycle of a sleep exam, from device selection and delivery setup through to raw data upload, exam generation, and result retrieval.</p>\n<p>The typical workflow proceeds as follows:</p>\n<ol>\n<li><p><strong><code>get_available_devices</code></strong>: Retrieves the list of devices available for a new delivery.</p>\n</li>\n<li><p><strong><code>insert_delivery</code></strong>: Creates a new delivery, associating a device with a patient and configuring the exam type (<code>sleep</code> or <code>sleep+apnea</code>), recording window, and optional plot settings.</p>\n</li>\n<li><p><strong><code>get_open_deliveries</code></strong>: Lists deliveries that are still ongoing and have not yet been closed.</p>\n</li>\n<li><p><strong><code>upload_raw_data</code></strong>: Uploads the ZIP archive of raw device data, identified by device ID or delivery ID.</p>\n</li>\n<li><p><strong><code>create_exam_from_delivery</code></strong>: Generates an exam from a completed delivery. Supports optional date overrides and language selection (<code>it</code>, <code>en</code>, <code>fr</code>, etc.).</p>\n</li>\n<li><p><strong><code>get_exam</code></strong>: Retrieves the full details of a single exam by ID. The <code>full_version</code> flag can be set to return the complete dataset.</p>\n</li>\n<li><p><strong><code>get_exams</code></strong>: Returns a paginated, filterable list of exams, with support for ordering, date range filtering, status filtering, and patient/account scoping.</p>\n</li>\n<li><p><strong><code>get_device</code></strong>: Retrieves device details by device ID or device code.</p>\n</li>\n<li><p><strong><code>mark_exam_as_unreliable</code></strong>: Flags a specific exam as unreliable, making it possible to exclude it from downstream processing or reporting.</p>\n</li>\n</ol>\n<p>All endpoints are authenticated and require a valid token in the <code>Authorization</code> header using the <code>APIauth:</code> prefix.</p>\n","_postman_id":"47131836-77f2-4c28-98e7-ded8e10384e3"},{"name":"Accounts","item":[{"name":"insert_account","id":"c0568bfb-25d5-42a2-b6cd-9205608d4fca","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"{{NEW_USERNAME}}\",\r\n    \"password\": \"{{NEW_PASSWORD}}\",\r\n    \"email\": \"{{NEW_EMAIL}}\",\r\n    \"name\": \"{{NEW_FULL_NAME}}\",\r\n    \"max_exams\": 10,\r\n    \"can_use_only_own_devices\": \"1\",\r\n    \"assigned_device_code\": \"{{DEVICE_CODE}}\",\r\n    \"can_create_exams\": \"1\",\r\n    \"can_view_exams\": \"0\",\r\n    \"external_identifier\": \"{{EXTERNAL_IDENTIFIER}}\",\r\n    \"notifications_language\": \"en\",\r\n    \"is_end_user\": \"1\",\r\n    \"age\": 33,\r\n    \"gender\": \"M\",\r\n    \"height\": 187,\r\n    \"weight\": 80\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/insert_account","description":"<p>Creates a new user account with the provided credentials and profile data</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>username</code></td>\n<td>the login username for the new account</td>\n</tr>\n<tr>\n<td><code>password</code></td>\n<td>the login password for the new account</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>the email address for the new account</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>the full name of the account holder</td>\n</tr>\n<tr>\n<td><code>max_exams</code></td>\n<td>the maximum number of exams the account is allowed to create</td>\n</tr>\n<tr>\n<td><code>can_use_only_own_devices</code></td>\n<td>set to 1 to restrict the account to using only its assigned devices</td>\n</tr>\n<tr>\n<td><code>assigned_device_code</code></td>\n<td>the code of the device pre-assigned to this account</td>\n</tr>\n<tr>\n<td><code>can_create_exams</code></td>\n<td>set to 1 to allow the account to create new exams</td>\n</tr>\n<tr>\n<td><code>can_view_exams</code></td>\n<td>set to 1 to allow the account to view existing exams</td>\n</tr>\n<tr>\n<td><code>external_identifier</code></td>\n<td>an optional external identifier to link this account to an external system</td>\n</tr>\n<tr>\n<td><code>notifications_language</code></td>\n<td>the language code for system notifications sent to this account (e.g. en, it)</td>\n</tr>\n<tr>\n<td><code>is_end_user</code></td>\n<td>set to 1 if this account represents an end-user patient</td>\n</tr>\n<tr>\n<td><code>age</code></td>\n<td>the account holder's age in years</td>\n</tr>\n<tr>\n<td><code>gender</code></td>\n<td>the account holder's gender (M or F)</td>\n</tr>\n<tr>\n<td><code>height</code></td>\n<td>the account holder's height in centimetres</td>\n</tr>\n<tr>\n<td><code>weight</code></td>\n<td>the account holder's weight in kilograms</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","insert_account"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"a4129192-e037-48f2-96de-f91898a6b3ce","name":"insert_account_response","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"APIauth: your-auth-token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"device_id\": \"89\",\r\n    \"patient_identifier\": \"the-anonymous-patient-identifier\",\r\n    \"patient_age\": \"50\",\r\n    \"patient_gender\": \"M\",\r\n    \"patient_height\": \"185\",\r\n    \"patient_weight\": \"80\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://partners-testing.sleepacta.com/api/insert_delivery"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 12 Apr 2025 08:01:17 GMT"},{"key":"Content-Type","value":"application/json;charset=utf-8"},{"key":"Content-Length","value":"82"},{"key":"Connection","value":"keep-alive"},{"key":"x-powered-by","value":"PHP/8.1.31"},{"key":"expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"server-timing","value":"rt;dur=0.096;desc=Process-Time"},{"key":"server-timing","value":"cfL4;desc=\"?proto=TCP&rtt=1974&min_rtt=1782&rtt_var=805&sent=3&recv=5&lost=0&retrans=0&sent_bytes=219&recv_bytes=1376&delivery_rate=812570&cwnd=250&unsent_bytes=0&cid=b62ab2a9b8bb73b2&ts=426&x=0\""},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=fyqLMVewEl%2FFOMb4Ez0%2Bg%2B%2BnBcm0LK0vTIeLuR9DReXX2O2Lo4GhMdWWIMaG6H0AzbfeAicPy1Omb7B6%2F%2B%2Ftqdvr%2BxEweQQmqmD3HjZH5DTGSPRw1st4p8yAyNwiduC4rPXKhir1YbF8WZCTjGfIjWk%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}"},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"92f131e2d93d87a1-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"new_account_id\": \"30\"\n}"}],"_postman_id":"c0568bfb-25d5-42a2-b6cd-9205608d4fca"},{"name":"update_account","id":"fb59312a-37da-486c-95c1-5471045fbfd4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PUT","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"{\r\n    \"id\": \"{{ACCOUNT_ID}}\",\r\n    \"username\": \"{{MODIFIED_USERNAME}}\",\r\n    \"password\": \"{{MODIFIED_PASSWORD}}\",\r\n    \"email\": \"{{MODIFIED_EMAIL}}\",\r\n    \"name\": \"{{MODIFIED_FULL_NAME}}\",\r\n    \"max_exams\": 5,\r\n    \"external_identifier\": \"{{MODIFIED_EXTERNAL_IDENTIFIER}}\",\r\n    \"can_use_only_own_devices\": \"1\",\r\n    \"can_create_exams\": \"1\",\r\n    \"can_view_exams\": \"0\",\r\n    \"enabled\": \"1\",\r\n    \"assigned_device_code\": \"{{MODIFIED_DEVICE_CODE}}\",\r\n    \"notifications_language\": \"en\",\r\n    \"is_end_user\": \"1\",\r\n    \"age\": 33,\r\n    \"gender\": \"M\",\r\n    \"height\": 187,\r\n    \"weight\": 80\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/update_account","description":"<p>Updates the profile information of an existing user account</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>id</code></td>\n<td>the unique identifier of the account to update</td>\n</tr>\n<tr>\n<td><code>username</code></td>\n<td>the updated login username</td>\n</tr>\n<tr>\n<td><code>password</code></td>\n<td>the updated login password</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>the updated email address</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>the updated full name of the account holder</td>\n</tr>\n<tr>\n<td><code>max_exams</code></td>\n<td>the updated maximum number of exams allowed for this account</td>\n</tr>\n<tr>\n<td><code>external_identifier</code></td>\n<td>the updated external identifier for this account</td>\n</tr>\n<tr>\n<td><code>can_use_only_own_devices</code></td>\n<td>set to 1 to restrict the account to using only its assigned devices</td>\n</tr>\n<tr>\n<td><code>can_create_exams</code></td>\n<td>set to 1 to allow the account to create new exams</td>\n</tr>\n<tr>\n<td><code>can_view_exams</code></td>\n<td>set to 1 to allow the account to view existing exams</td>\n</tr>\n<tr>\n<td><code>enabled</code></td>\n<td>set to 1 to enable the account, 0 to disable it</td>\n</tr>\n<tr>\n<td><code>assigned_device_code</code></td>\n<td>the updated device code assigned to this account</td>\n</tr>\n<tr>\n<td><code>notifications_language</code></td>\n<td>the updated language code for system notifications (e.g. en, it)</td>\n</tr>\n<tr>\n<td><code>is_end_user</code></td>\n<td>set to 1 if this account represents an end-user patient</td>\n</tr>\n<tr>\n<td><code>age</code></td>\n<td>the updated age of the account holder in years</td>\n</tr>\n<tr>\n<td><code>gender</code></td>\n<td>the updated gender of the account holder (M or F)</td>\n</tr>\n<tr>\n<td><code>height</code></td>\n<td>the updated height of the account holder in centimetres</td>\n</tr>\n<tr>\n<td><code>weight</code></td>\n<td>the updated weight of the account holder in kilograms</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","update_account"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"0142fe1b-ca21-4148-a00a-49b73d917bfe","name":"update_account_response","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"id\": \"{{ACCOUNT_ID}}\",\r\n    \"username\": \"modified-account-username\",\r\n    \"password\": \"modified-account-password\",\r\n    \"email\": \"modified-account@email.com\",\r\n    \"name\": \"John Smith Modified\",\r\n    \"max_exams\": 5,\r\n    \"assigned_device_code\": \"0001\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/update_account"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 11 Nov 2025 00:47:40 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Content-Length","value":"177"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"x-powered-by","value":"PHP/8.1.33"},{"key":"expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"server-timing","value":"rt;dur=0.100;desc=Process-Time"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=MNsdKtTKbgYeD%2BGtqVXPawj9DsrT1B6gIGmXc3x6AUHSzA3iP%2Bzxjh03khN6uC5kYeAxQUzJryz7zjMWoPx%2FRaR3OaPbqhQ0hU5xZ6e8NGfZtxISg%2FPZTHvjAGIyTg%3D%3D\"}]}"},{"key":"CF-RAY","value":"99c9c793ec11c130-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"updated_account\": {\n        \"username\": \"modified-account-username\",\n        \"password\": \"modified-account-password\",\n        \"name\": \"John Smith Modified\",\n        \"email\": \"modified-account@email.com\",\n        \"max_exams\": 5,\n        \"enabled\": \"1\",\n        \"can_use_only_own_devices\": \"1\",\n        \"assigned_device_code\": \"my-device-code\",\n        \"notifications_language\": \"en\",\n        \"is_end_user\": \"1\",\n        \"age\": 33,\n        \"gender\": \"M\",\n        \"height\": 187,\n        \"weight\": 80\n    }\n}"}],"_postman_id":"fb59312a-37da-486c-95c1-5471045fbfd4"},{"name":"get_accounts","id":"a15dbcfe-330c-4ed7-aff3-8920b535a58e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/get_accounts","description":"<p>Retrieves the list of all accounts accessible to the authenticated user</p>\n","urlObject":{"path":["api","get_accounts"],"host":["{{FRONTEND_BASE_URL}}"],"query":[{"disabled":true,"description":{"content":"<p>the number of accounts to return (default 10)</p>\n","type":"text/plain"},"key":"num_records","value":"{{NUM_RECORDS}}"},{"disabled":true,"description":{"content":"<p>the offset of the first record to return (default 1)</p>\n","type":"text/plain"},"key":"start","value":"{{START}}"},{"disabled":true,"description":{"content":"<p>the field to sort results by (id, creation_date, status)</p>\n","type":"text/plain"},"key":"order_by","value":"{{ORDER_BY}}"},{"disabled":true,"description":{"content":"<p>the sort direction (asc or desc)</p>\n","type":"text/plain"},"key":"asc_desc","value":"{{ASC_DESC}}"},{"disabled":true,"description":{"content":"<p>filter by account username</p>\n","type":"text/plain"},"key":"username","value":"{{USERNAME}}"},{"disabled":true,"description":{"content":"<p>filter by account full name</p>\n","type":"text/plain"},"key":"name","value":"{{NAME}}"},{"disabled":true,"description":{"content":"<p>filter by account email address</p>\n","type":"text/plain"},"key":"email","value":"{{EMAIL}}"},{"disabled":true,"description":{"content":"<p>filter by account status (0 for disabled, 1 for enabled)</p>\n","type":"text/plain"},"key":"enabled","value":"{{ENABLED}}"},{"disabled":true,"description":{"content":"<p>filter by the account's external identifier</p>\n","type":"text/plain"},"key":"external_identifier","value":"{{EXTERNAL_IDENTIFIER}}"}],"variable":[]}},"response":[{"id":"5226f595-eb49-402b-af3a-b504903458d3","name":"get_accounts_response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"{{FRONTEND_BASE_URL}}/api/get_accounts?num_records={{NUM_RECORDS}}&start={{START}}&order_by={{ORDER_BY}}&asc_desc={{ASC_DESC}}","host":["{{FRONTEND_BASE_URL}}"],"path":["api","get_accounts"],"query":[{"key":"num_records","value":"{{NUM_RECORDS}}","description":"the number of the exams to be returned (default 10)"},{"key":"start","value":"{{START}}","description":"the starting record (default 1)"},{"key":"order_by","value":"{{ORDER_BY}}","description":"order-by clause (\"id\", \"creation_date\", \"status\")"},{"key":"asc_desc","value":"{{ASC_DESC}}","description":"asc/desc ordering (\"asc\" or \"desc\" values)"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 27 Jan 2026 11:42:32 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Content-Length","value":"552"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"x-powered-by","value":"PHP/8.1.33"},{"key":"expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"server-timing","value":"rt;dur=0.099;desc=Process-Time"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=npTvRllBrOUMrEaMRLjCDjA8dMZltvRaWndt5LerJzZN%2FuVjrXv5ZCgCL638dw7Cao7pdr6lMzeOgi8aHwSTZKL4RAxpGLrhoD3%2BL4MnOpKOBxeMksPypRIFH%2BELxg%3D%3D\"}]}"},{"key":"CF-RAY","value":"9c47fcbc2a368062-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"accounts\": [\n        {\n            \"account_id\": \"1\",\n            \"name\": \"John Smith\",\n            \"username\": \"john\",\n            \"email\": \"johnsmith@themail.com\",\n            \"can_create_exams\": \"1\",\n            \"can_view_exams\": \"1\",\n            \"can_report_exams\": \"1\",\n            \"has_admin_features\": \"1\",\n            \"can_access_billing_data\": \"1\",\n            \"can_create_devices\": \"0\",\n            \"can_receive_reporting_requests\": \"1\",\n            \"can_use_only_own_devices\": \"0\",\n            \"has_advanced_gui_options\": \"0\",\n            \"external_identifier\": null,\n            \"skip_otp\": \"1\",\n            \"is_end_user\": \"0\",\n            \"age\": null,\n            \"weight\": null,\n            \"height\": null,\n            \"gender\": null,\n            \"assigned_devices\": [\n                {\n                    \"device_id\": \"145\",\n                    \"vendor_code\": \"26-00135\",\n                    \"producer\": \"Sleepacta\",\n                    \"model\": \"Signal\",\n                    \"location\": \"Sleepacta Office\",\n                    \"owner\": \"Sleepacta\",\n                    \"creation_date\": \"2026-04-25 15:14:11\",\n                    \"account_name_filter\": \"john, other-username\"\n                }\n            ]\n        },\n        {\n            \"account_id\": \"2\",\n            \"name\": \"Seraphina White\",\n            \"username\": \"seraphina\",\n            \"email\": \"seraphina.white@themail.com\",\n            \"can_create_exams\": \"1\",\n            \"can_view_exams\": \"1\",\n            \"can_report_exams\": \"1\",\n            \"has_admin_features\": \"0\",\n            \"can_access_billing_data\": \"0\",\n            \"can_create_devices\": \"0\",\n            \"can_receive_reporting_requests\": \"0\",\n            \"can_use_only_own_devices\": \"0\",\n            \"has_advanced_gui_options\": \"0\",\n            \"external_identifier\": \"the-external-id\",\n            \"skip_otp\": \"0\",\n            \"is_end_user\": \"1\",\n            \"age\": \"37\",\n            \"weight\": \"175\",\n            \"height\": \"50\",\n            \"gender\": \"F\"\n        }\n    ]\n}"}],"_postman_id":"a15dbcfe-330c-4ed7-aff3-8920b535a58e"}],"id":"2078bdac-9af9-4c1a-aa23-b9b7a72258ae","description":"<p>This folder contains the endpoints for managing partner accounts. It covers the full lifecycle of an account: creating a new account (<code>insert_account</code>), retrieving the list of existing accounts (<code>get_accounts</code>), and updating account details (<code>update_account</code>).</p>\n<p>All endpoints are authenticated and require a valid token passed in the <code>Authorization</code> header using the <code>APIauth:</code> prefix.</p>\n<p>Key behaviours to be aware of:</p>\n<ul>\n<li>When inserting or updating an account, an <code>assigned_device_code</code> can optionally be provided to assign a device to the account. The device must belong to the current partner.</li>\n<li>The <code>max_exams</code> field is optional and can be set to cap the number of exams for an account.</li>\n<li>Setting <code>can_use_only_own_devices</code> to <code>1</code> restricts the account to devices tagged with its username.</li>\n<li>An account can be disabled by setting <code>enabled</code> to <code>0</code> via the update endpoint.</li>\n</ul>\n","_postman_id":"2078bdac-9af9-4c1a-aa23-b9b7a72258ae"},{"name":"Password Management","item":[{"name":"forgot_password","id":"26510a01-9a40-43ee-a817-2348bf368516","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"{{EMAIL}}\",\r\n    \"password_reset_url\": \"{{PASSWORD_RESET_URL}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/forgot_password","description":"<p>Sends a password reset email to the user's registered email address</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>email</code></td>\n<td>the email address of the account requesting the password reset</td>\n</tr>\n<tr>\n<td><code>password_reset_url</code></td>\n<td>the URL to include in the reset email for the user to follow</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","forgot_password"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"4b4ae363-5d42-4681-afda-8801c3128c4c","name":"forgot_password_response","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"{{EMAIL}}\",\r\n    \"password_reset_url\": \"{{PASSWORD_RESET_URL}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/forgot_password"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 08 Jun 2026 08:59:47 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"88"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"email_check\": {\n        \"email\": \"my@mail.com\",\n        \"password_reset_url\": \"https://mywebsite.com/reset_password\"\n    }\n}"}],"_postman_id":"26510a01-9a40-43ee-a817-2348bf368516"},{"name":"reset_password_by_temporary_code","id":"61331ea9-3dd8-4cf4-9a37-1ad1a4462063","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"temporary_code\": \"{{TEMPORARY_CODE}}\",\r\n    \"new_password\": \"{{NEW_PASSWORD}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/reset_password_by_temporary_code","description":"<p>Resets the user password using a temporary code received via email</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>temporary_code</code></td>\n<td>the temporary reset code received by the user via email</td>\n</tr>\n<tr>\n<td><code>new_password</code></td>\n<td>the new password to set for the account</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","reset_password_by_temporary_code"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"e8b9192c-f4a4-4131-96e7-72075b44a69e","name":"reset_password_by_temporary_code_response","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"temporary_code\": \"{{TEMPORARY_CODE}}\",\r\n    \"new_password\": \"{{NEW_PASSWORD}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/reset_password_by_temporary_code"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 08 Jun 2026 10:44:58 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"118"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"reset_password\": {\n        \"temporary_code\": \"my-temporary-code\"\n    }\n}"}],"_postman_id":"61331ea9-3dd8-4cf4-9a37-1ad1a4462063"},{"name":"reset_password","id":"cc98e5c7-d381-4e7b-aa74-d4ee37fb0258","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"{{RESET_PASSWORD_USERNAME}}\",\r\n    \"old_password\": \"{{RESET_PASSWORD_OLD_PASSWORD}}\",\r\n    \"new_password\": \"{{RESET_PASSWORD_NEW_PASSWORD}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/reset_password","description":"<p>Updates the user password after verifying the current credentials</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>username</code></td>\n<td>the username of the account whose password is being reset</td>\n</tr>\n<tr>\n<td><code>old_password</code></td>\n<td>the current password of the account for verification</td>\n</tr>\n<tr>\n<td><code>new_password</code></td>\n<td>the new password to set for the account</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","reset_password"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"2e46d234-cfb1-4bd2-9e0f-263f4b43e0eb","name":"reset_password_response","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"temporary_code\": \"{{TEMPORARY_CODE}}\",\r\n    \"new_password\": \"{{NEW_PASSWORD}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/reset_password_by_temporary_code"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 08 Jun 2026 10:44:58 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"118"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"reset_password\": {\n        \"username\": \"my-username\"\n    }\n}"}],"_postman_id":"cc98e5c7-d381-4e7b-aa74-d4ee37fb0258"}],"id":"f04957aa-eb60-42d6-a845-a3401b37e6fd","description":"<p>Contains the endpoints that handle all password-related operations for a user account, covering two distinct flows:</p>\n<ul>\n<li><strong>Forgot password</strong> (<code>forgot_password</code>): Initiates the password reset procedure by sending a temporary reset code to the user's email address.</li>\n<li><strong>Reset password via temporary code</strong> (<code>reset_password_by_temporary_code</code>): Completes the reset flow by validating the temporary code and assigning a new password to the account.</li>\n<li><strong>Reset password</strong> (<code>reset_password</code>): Allows a user to change their password voluntarily, or to update an expired password, by providing their current credentials alongside the new password.</li>\n</ul>\n","_postman_id":"f04957aa-eb60-42d6-a845-a3401b37e6fd"},{"name":"Patients","item":[{"name":"update_patient_nickname","id":"add4183d-0bd0-4f29-965a-b7ce4f0f1550","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PUT","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"{\r\n    \"exam_id\": \"{{EXAM_ID}}\",\r\n    \"nickname\": \"modified-nickname\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/update_patient_nickname","description":"<p>Updates the display nickname for a specific patient record</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>exam_id</code></td>\n<td>the unique identifier of the exam whose patient nickname is being updated</td>\n</tr>\n<tr>\n<td><code>nickname</code></td>\n<td>the new display nickname to assign to the patient</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","update_patient_nickname"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"1f6686b1-b966-4287-9f03-f9ca2ae039fb","name":"update_patient_nickname_response","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"APIauth: your-token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"exam_id\": \"your-exam-id\",\r\n    \"nickname\": \"modified-nickname\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://partners.sleepacta.com//api/update_patient_nickname"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 19 Mar 2026 22:48:55 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Content-Length","value":"93"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"x-powered-by","value":"PHP/8.1.34"},{"key":"expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"server-timing","value":"rt;dur=0.791;desc=Process-Time"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=TqWZ28woq%2B%2BjRj5Y5Y4%2FqZ2RjDKZPKKCCLjtOU6DoPcrXZ14ZtFMo594T7C6NLM%2BBp%2FoOSWsG0FkYnW2HnBYUGb62YFOl%2F6rw06LvNXHGucxfLbRoSs%3D\"}]}"},{"key":"CF-RAY","value":"9df006fed9542ade-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"new_patient_nickname\": \"modified-nickname\"\n}"}],"_postman_id":"add4183d-0bd0-4f29-965a-b7ce4f0f1550"},{"name":"update_patient_external_identifier","id":"2515b091-11d2-4e3a-9fa6-ed679725cc1b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"PUT","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"{\r\n    \"exam_id\": \"{{EXAM_ID}}\",\r\n    \"patient_external_identifier\": \"modified-external-identifier\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/update_patient_external_identifier","description":"<p>Updates the external identifier associated with a specific patient record</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>exam_id</code></td>\n<td>the unique identifier of the exam whose patient external identifier is being updated</td>\n</tr>\n<tr>\n<td><code>patient_external_identifier</code></td>\n<td>the new external identifier to assign to the patient</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","update_patient_external_identifier"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"4f30faa7-2ef2-44ef-b65a-014cb050ce85","name":"update_patient_external_identifier_response","originalRequest":{"method":"PUT","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"exam_id\": \"{{EXAM_ID}}\",\r\n    \"patient_external_identifier\": \"modified-external-identifier\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/update_patient_external_identifier"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 24 Apr 2026 15:01:38 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"112"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"new_patient_external_identifier\": \"modified-external-identifier\"\n}"}],"_postman_id":"2515b091-11d2-4e3a-9fa6-ed679725cc1b"}],"id":"6e632372-2a9f-4b95-a4e0-6693ce22545f","description":"<p>Contains the endpoints for managing patient metadata associated with exams.</p>\n<ul>\n<li><strong><code>update_patient_nickname</code></strong>: Updates the display nickname of the patient linked to a given exam. Both <code>exam_id</code> and <code>nickname</code> are required.</li>\n<li><strong><code>update_patient_external_identifier</code></strong>: Updates the external identifier of the patient linked to a given exam. Both <code>exam_id</code> and <code>patient_external_identifier</code> are required. This is useful for aligning patient records with identifiers from external systems.</li>\n</ul>\n<p>Both endpoints are authenticated and require a valid token in the <code>Authorization</code> header using the <code>APIauth:</code> prefix.</p>\n","_postman_id":"6e632372-2a9f-4b95-a4e0-6693ce22545f"},{"name":"GUI Logs","item":[{"name":"get_gui_logs_by_delivery_id","id":"d5906d9b-69de-4c56-aa51-ea28a41b735b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/get_gui_logs_by_delivery_id?delivery_id={{DELIVERY_ID}}","description":"<p>Retrieves all GUI execution logs associated with a specific delivery ID</p>\n","urlObject":{"path":["api","get_gui_logs_by_delivery_id"],"host":["{{FRONTEND_BASE_URL}}"],"query":[{"disabled":true,"description":{"content":"<p>the number of log entries to return (default 10)</p>\n","type":"text/plain"},"key":"num_records","value":"{{NUM_RECORDS}}"},{"disabled":true,"description":{"content":"<p>the offset of the first record to return (default 1)</p>\n","type":"text/plain"},"key":"start","value":"{{START}}"},{"disabled":true,"description":{"content":"<p>the field to sort results by (id, creation_date, status)</p>\n","type":"text/plain"},"key":"order_by","value":"{{ORDER_BY}}"},{"disabled":true,"description":{"content":"<p>the sort direction (asc or desc)</p>\n","type":"text/plain"},"key":"asc_desc","value":"{{ASC_DESC}}"},{"description":{"content":"<p>the unique identifier of the delivery whose logs are being retrieved</p>\n","type":"text/plain"},"key":"delivery_id","value":"{{DELIVERY_ID}}"}],"variable":[]}},"response":[{"id":"1b3e26dd-c673-4314-b8f6-3803016ca034","name":"get_gui_logs_by_delivery_id_response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"{{FRONTEND_BASE_URL}}/api/get_accounts?num_records={{NUM_RECORDS}}&start={{START}}&order_by={{ORDER_BY}}&asc_desc={{ASC_DESC}}","host":["{{FRONTEND_BASE_URL}}"],"path":["api","get_accounts"],"query":[{"key":"num_records","value":"{{NUM_RECORDS}}","description":"the number of the exams to be returned (default 10)"},{"key":"start","value":"{{START}}","description":"the starting record (default 1)"},{"key":"order_by","value":"{{ORDER_BY}}","description":"order-by clause (\"id\", \"creation_date\", \"status\")"},{"key":"asc_desc","value":"{{ASC_DESC}}","description":"asc/desc ordering (\"asc\" or \"desc\" values)"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 27 Jan 2026 11:42:32 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Content-Length","value":"552"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"x-powered-by","value":"PHP/8.1.33"},{"key":"expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"server-timing","value":"rt;dur=0.099;desc=Process-Time"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=npTvRllBrOUMrEaMRLjCDjA8dMZltvRaWndt5LerJzZN%2FuVjrXv5ZCgCL638dw7Cao7pdr6lMzeOgi8aHwSTZKL4RAxpGLrhoD3%2BL4MnOpKOBxeMksPypRIFH%2BELxg%3D%3D\"}]}"},{"key":"CF-RAY","value":"9c47fcbc2a368062-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"gui_logs\": [\n        {\n            \"log_id\": \"1\",\n            \"log_source\": \"signal\",\n            \"account_name\": \"Demo User\",\n            \"creation_date\": \"2026-03-20 09:25:56\",\n            \"log_text\": \"long text...\"\n            \n        },\n        {\n            \"log_id\": \"2\",\n            \"log_source\": \"signal\",\n            \"account_name\": \"Demo User\",\n            \"creation_date\": \"2026-03-25 09:23:40\",\n            \"log_text\": \"long text...\"\n        }\n    ]\n}"}],"_postman_id":"d5906d9b-69de-4c56-aa51-ea28a41b735b"},{"name":"log_gui_execution","id":"c5e338d4-ba8d-4594-922c-2187775f1d44","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"{\r\n    \"account_id\": {{ACCOUNT_ID}},\r\n    \"delivery_id\": {{DELIVERY_ID}},\r\n    \"log_source\": \"{{LOG_SOURCE}}\",\r\n    \"log_text\": \"this is a log\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/log_gui_execution","description":"<p>Logs a GUI execution event for tracking and debugging purposes</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>account_id</code></td>\n<td>the unique identifier of the account performing the GUI action</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>the unique identifier of the delivery associated with this log entry</td>\n</tr>\n<tr>\n<td><code>log_text</code></td>\n<td>the log message describing the GUI execution event</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","log_gui_execution"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"0009f72a-b2e2-42ec-93da-4c7747c948ca","name":"log_gui_execution_response","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"APIauth: your-auth-token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"referral_code\": \"DEMO\",\r\n    \"end_user_name\": \"Johnn\",\r\n    \"end_user_surname\": \"Smith\",\r\n    \"end_user_address_street\": \"Via Tal dei tali, 12\",\r\n    \"end_user_address_postal_code\": \"56121\",\r\n    \"end_user_address_city\": \"Pisa\",\r\n    \"end_user_address_province\": \"PI\",\r\n    \"end_user_country\": \"Italia\",\r\n    \"end_user_email\": \"my-email@gmail.com\",\r\n    \"end_user_age\": \"52\",\r\n    \"end_user_gender\": \"M\",\r\n    \"end_user_height\": \"187\",\r\n    \"end_user_weight\": \"82\",\r\n    \"annotations\": \"test annotation\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://partners-testing.sleepacta.com/api/insert_shipment"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 12 Apr 2025 07:45:40 GMT"},{"key":"Content-Type","value":"application/json;charset=utf-8"},{"key":"Content-Length","value":"82"},{"key":"Connection","value":"keep-alive"},{"key":"x-powered-by","value":"PHP/8.1.31"},{"key":"expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"server-timing","value":"rt;dur=0.103;desc=Process-Time"},{"key":"server-timing","value":"cfL4;desc=\"?proto=TCP&rtt=2299&min_rtt=2085&rtt_var=935&sent=3&recv=5&lost=0&retrans=0&sent_bytes=219&recv_bytes=1717&delivery_rate=694484&cwnd=209&unsent_bytes=0&cid=d1dfbcf5c30652ae&ts=429&x=0\""},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=uqw1TRJt3s7xwjJkn9%2BlDM14yjVUa4kCP4pqEiX%2F%2FTCrYIM9Bd8wQjvz9Z3zSThdrWsmngBvZnaTlJvfhnS%2Fu%2BLKrzCWyuX8xghOVlmw%2FlyvWSCvLJr6xtNGf94e9FRURubGbKLDKd5ZAlRggsu1YUs%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}"},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"92f11afe8bc6c9bd-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"new_log_id\": \"93\"\n}"}],"_postman_id":"c5e338d4-ba8d-4594-922c-2187775f1d44"}],"id":"b5487bca-0e12-49a9-a9e1-af46e6ca01cc","description":"<p>Contains the endpoints for recording and retrieving Sleepacta Signal GUI-level execution logs, useful for tracing client-side activity associated with deliveries.</p>\n<ul>\n<li><p><strong><code>log_gui_execution</code></strong>: Creates a new log entry tied to a specific account and delivery, with a free-text <code>log_text</code> field describing the GUI event being recorded.</p>\n</li>\n<li><p><strong><code>get_gui_logs_by_delivery_id</code></strong>: Retrieves a paginated list of GUI logs for a given delivery. Supports filtering and ordering via <code>num_records</code>, <code>start</code>, <code>order_by</code>, and <code>asc_desc</code> parameters.</p>\n</li>\n</ul>\n<p>Both endpoints are authenticated and require a valid token in the <code>Authorization</code> header using the <code>APIauth:</code> prefix.</p>\n","_postman_id":"b5487bca-0e12-49a9-a9e1-af46e6ca01cc"},{"name":"Notifications","item":[{"name":"get_notifications","id":"586be54c-cb88-4055-8346-ad0de42cabdb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/get_notifications","description":"<p>Retrieves all notifications for the authenticated user</p>\n","urlObject":{"path":["api","get_notifications"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"144a6c3c-3298-4df9-8d9b-4351bda5b00f","name":"get_notifications","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/get_notifications"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 20 Mar 2026 16:41:01 GMT"},{"key":"Content-Type","value":"application/json","description":"","type":"text"},{"key":"Content-Length","value":"425"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"x-powered-by","value":"PHP/8.1.34"},{"key":"expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"server-timing","value":"rt;dur=0.121;desc=Process-Time"},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=snLs0f%2BEL8PHK8j%2BAfHzhe6aviPqahFaMPsooX%2FAWtwz2dF3%2BzB8%2FeIDxL4LcbyHBTevyFdhrLykCNAUMRjXJbzY7Oqma8CgqjrYDGWolsd6c%2BDbCd4%3D\"}]}"},{"key":"CF-RAY","value":"9df6297408091ff7-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"communication\": \"This is a private communication for you.\"\n}"}],"_postman_id":"586be54c-cb88-4055-8346-ad0de42cabdb"}],"id":"d7905ab2-d275-45c0-969d-f30c03f897d7","description":"<p>Contains the endpoint for retrieving private notifications for the authenticated user.</p>\n<ul>\n<li><strong><code>get_notifications</code></strong>: Returns any pending private notification addressed to the currently logged-in user. If no notification is present, the response will indicate an empty result.</li>\n</ul>\n<p>This endpoint is authenticated and requires a valid token in the <code>Authorization</code> header using the <code>APIauth:</code> prefix.</p>\n","_postman_id":"d7905ab2-d275-45c0-969d-f30c03f897d7"},{"name":"T&C","item":[{"name":"get_terms_and_conditions","id":"b739229a-6265-4a5a-859b-f0ef1746db07","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/get_terms_and_conditions&lang={{LANGUAGE}}&html_text={{HTML_TEXT}}","description":"<p>Retrieves the current terms and conditions document for the platform</p>\n","urlObject":{"path":["api","get_terms_and_conditions&lang={{LANGUAGE}}&html_text={{HTML_TEXT}}"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"ffb6e926-26b5-4459-9561-5793d1d454cc","name":"get_terms_and_conditions_response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/get_terms_and_conditions&lang={{LANGUAGE}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 05 Jun 2026 21:32:37 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"1191"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"terms_and_condtions\": {\n        \"version\": \"v01.00\",\n        \"html_text\": false,\n        \"language\": \"en\",\n        \"text\": \".... T&C text ... \"\n    }\n}"}],"_postman_id":"b739229a-6265-4a5a-859b-f0ef1746db07"},{"name":"accept_terms_and_conditions","id":"0c74486b-371a-4f98-b234-770652753cb7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/accept_terms_and_conditions","description":"<p>Records the user's acceptance of the current terms and conditions</p>\n","urlObject":{"path":["api","accept_terms_and_conditions"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"7a80724a-a5e1-4f3a-8050-aaa71f003754","name":"accept_terms_and_conditions_response","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/accept_terms_and_conditions"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 05 Jun 2026 20:54:22 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"103"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"terms_and_conditions_acceptance\": \"2026-06-05 22:54:22\"\n}"}],"_postman_id":"0c74486b-371a-4f98-b234-770652753cb7"}],"id":"7041c97d-f7e4-455e-b487-09940851f281","description":"<p>Contains the endpoints for managing Terms &amp; Conditions acceptance within the DORMI platform.</p>\n<ul>\n<li><p><strong><code>get_terms_and_conditions</code></strong>: Retrieves the current T&amp;C text. Supports an optional <code>lang</code> parameter (default <code>it</code>) and an optional <code>html_text</code> boolean flag to return the content formatted as HTML.</p>\n</li>\n<li><p><strong><code>accept_terms_and_conditions</code></strong>: Records the acceptance of the T&amp;C for the currently authenticated user.</p>\n</li>\n</ul>\n<p>The second endpoint is authenticated and requires a valid token in the <code>Authorization</code> header using the <code>APIauth:</code> prefix.</p>\n","_postman_id":"7041c97d-f7e4-455e-b487-09940851f281"},{"name":"Shipments","item":[{"name":"insert_shipment","id":"3005883d-6500-4619-a23b-bf09c37960e8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"{\r\n    \"referral_code\": \"DEMO\",\r\n    \"end_user_name\": \"Johnn\",\r\n    \"end_user_surname\": \"Smith\",\r\n    \"end_user_address_street\": \"Via Tal dei tali, 563/A\",\r\n    \"end_user_address_postal_code\": \"56121\",\r\n    \"end_user_address_city\": \"Pisa\",\r\n    \"end_user_address_province\": \"PI\",\r\n    \"end_user_country\": \"Italia\",\r\n    \"end_user_email\": \"myemail@gmail.com\",\r\n    \"end_user_age\": \"52\",\r\n    \"end_user_gender\": \"M\",\r\n    \"end_user_height\": \"187\",\r\n    \"end_user_weight\": \"82\",\r\n    \"annotations\": \"test annotation\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/insert_shipment","description":"<p>Creates a new shipment record for dispatching a device to a patient</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>referral_code</code></td>\n<td>the referral or partner code associated with this shipment</td>\n</tr>\n<tr>\n<td><code>end_user_name</code></td>\n<td>the first name of the end user receiving the device</td>\n</tr>\n<tr>\n<td><code>end_user_surname</code></td>\n<td>the surname of the end user receiving the device</td>\n</tr>\n<tr>\n<td><code>end_user_address_street</code></td>\n<td>the street address of the end user</td>\n</tr>\n<tr>\n<td><code>end_user_address_postal_code</code></td>\n<td>the postal code of the end user's address</td>\n</tr>\n<tr>\n<td><code>end_user_address_city</code></td>\n<td>the city of the end user's address</td>\n</tr>\n<tr>\n<td><code>end_user_address_province</code></td>\n<td>the province or region code of the end user's address</td>\n</tr>\n<tr>\n<td><code>end_user_country</code></td>\n<td>the country of the end user's address</td>\n</tr>\n<tr>\n<td><code>end_user_email</code></td>\n<td>the email address of the end user</td>\n</tr>\n<tr>\n<td><code>end_user_age</code></td>\n<td>the age of the end user in years</td>\n</tr>\n<tr>\n<td><code>end_user_gender</code></td>\n<td>the gender of the end user (M or F)</td>\n</tr>\n<tr>\n<td><code>end_user_height</code></td>\n<td>the height of the end user in centimetres</td>\n</tr>\n<tr>\n<td><code>end_user_weight</code></td>\n<td>the weight of the end user in kilograms</td>\n</tr>\n<tr>\n<td><code>annotations</code></td>\n<td>optional free-text notes or annotations for this shipment</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","insert_shipment"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"01ddae92-b482-4378-8604-e4af8ef8efb9","name":"insert_shipment_response","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"APIauth: your-auth-token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"referral_code\": \"DEMO\",\r\n    \"end_user_name\": \"Johnn\",\r\n    \"end_user_surname\": \"Smith\",\r\n    \"end_user_address_street\": \"Via Tal dei tali, 12\",\r\n    \"end_user_address_postal_code\": \"56121\",\r\n    \"end_user_address_city\": \"Pisa\",\r\n    \"end_user_address_province\": \"PI\",\r\n    \"end_user_country\": \"Italia\",\r\n    \"end_user_email\": \"my-email@gmail.com\",\r\n    \"end_user_age\": \"52\",\r\n    \"end_user_gender\": \"M\",\r\n    \"end_user_height\": \"187\",\r\n    \"end_user_weight\": \"82\",\r\n    \"annotations\": \"test annotation\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://partners-testing.sleepacta.com/api/insert_shipment"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 12 Apr 2025 07:45:40 GMT"},{"key":"Content-Type","value":"application/json;charset=utf-8"},{"key":"Content-Length","value":"82"},{"key":"Connection","value":"keep-alive"},{"key":"x-powered-by","value":"PHP/8.1.31"},{"key":"expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"server-timing","value":"rt;dur=0.103;desc=Process-Time"},{"key":"server-timing","value":"cfL4;desc=\"?proto=TCP&rtt=2299&min_rtt=2085&rtt_var=935&sent=3&recv=5&lost=0&retrans=0&sent_bytes=219&recv_bytes=1717&delivery_rate=694484&cwnd=209&unsent_bytes=0&cid=d1dfbcf5c30652ae&ts=429&x=0\""},{"key":"cf-cache-status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=uqw1TRJt3s7xwjJkn9%2BlDM14yjVUa4kCP4pqEiX%2F%2FTCrYIM9Bd8wQjvz9Z3zSThdrWsmngBvZnaTlJvfhnS%2Fu%2BLKrzCWyuX8xghOVlmw%2FlyvWSCvLJr6xtNGf94e9FRURubGbKLDKd5ZAlRggsu1YUs%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}"},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"92f11afe8bc6c9bd-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"new_shipment_id\": \"93\"\n}"}],"_postman_id":"3005883d-6500-4619-a23b-bf09c37960e8"},{"name":"get_shipment","id":"da8d8079-9d0b-4da3-8bbd-da4edc67eeb7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/get_shipment?id={{SHIPMENT_ID}}","description":"<p>Returns information about the recipient of a shipment.</p>\n<p>The <code>online_questionnaire</code> field indicates whether the user has also completed an online questionnaire.</p>\n<p>The <code>virtual</code> field indicates that the shipment has not actually taken place (or has not yet taken place)</p>\n","urlObject":{"path":["api","get_shipment"],"host":["{{FRONTEND_BASE_URL}}"],"query":[{"key":"id","value":"{{SHIPMENT_ID}}"}],"variable":[]}},"response":[{"id":"f0673cc8-1ff2-46ce-ab65-ea08fe2aac9f","name":"get_shipment_response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"{{FRONTEND_BASE_URL}}/api/get_shipment?id={{SHIPMENT_ID}}","host":["{{FRONTEND_BASE_URL}}"],"path":["api","get_shipment"],"query":[{"key":"id","value":"{{SHIPMENT_ID}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 15 Jun 2026 16:24:31 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"241"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"shipment\": {\n        \"shipment_id\": \"1\",\n        \"online_questionnaire\": \"0\",\n        \"virtual\": \"0\",\n        \"tracking_code\": \"my-code\",\n        \"referral_code\": null,\n        \"exam_type\": \"sleep\",\n        \"subject_age\": \"52\",\n        \"subject_gender\": \"M\",\n        \"subject_height\": 187,\n        \"subject_weight\": 80,\n        \"subject_nickname\": \"shipment_1\"\n    }\n}"}],"_postman_id":"da8d8079-9d0b-4da3-8bbd-da4edc67eeb7"}],"id":"1d7e9f8f-4eaf-4155-a55b-fddf345d3c46","description":"<p>Contains the endpoint for creating shipment requests on behalf of a partner.</p>\n<ul>\n<li><strong><code>insert_shipment</code></strong>: Registers a new shipment request, including end-user personal details (name, address, contact information) and physical attributes (age, gender, height, weight). An optional <code>annotations</code> field can be used to attach free-text notes to the shipment.</li>\n</ul>\n<p>This endpoint requires the target partner to have both the \"shipments\" and \"deliveries\" functionalities enabled, and is authenticated via the <code>Authorization</code> header using the <code>APIauth:</code> prefix.</p>\n","_postman_id":"1d7e9f8f-4eaf-4155-a55b-fddf345d3c46"},{"name":"Questionnaires","item":[{"name":"get_questionnaires","id":"4d75fc52-1b45-4b52-bfcb-021a47974635","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"url":"{{FRONTEND_BASE_URL}}/api/get_questionnaires?lang={{LANGUAGE}}","description":"<p>Returns the list of all available questionnaires with their id, title, description, recurring flag, and visibility status</p>\n<h3 id=\"query-parameters\">Query Parameters</h3>\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><code>lang</code></td>\n<td>the language code for localised content (e.g. \"it\", \"en\", \"es\")</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","get_questionnaires"],"host":["{{FRONTEND_BASE_URL}}"],"query":[{"key":"lang","value":"{{LANGUAGE}}"}],"variable":[]}},"response":[{"id":"35e61cee-eecc-4219-8d18-e18bd1b9e54f","name":"get_questionnaires_response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"url":{"raw":"{{FRONTEND_BASE_URL}}/api/get_questionnaires?lang={{LANGUAGE}}","host":["{{FRONTEND_BASE_URL}}"],"path":["api","get_questionnaires"],"query":[{"key":"lang","value":"{{LANGUAGE}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 04 Jul 2026 08:53:25 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"2222"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"questionnaires\": [\n        {\n            \"id\": \"1\",\n            \"title\": \"DORMI Questionnaire\",\n            \"description\": \"Please take a few minutes to answer the following questions. \\r\\nIt will help us provide you with more accurate suggestions.\",\n            \"recurring\": \"0\",\n            \"visible\": \"1\"\n        },\n        {\n            \"id\": \"2\",\n            \"title\": \"PSQI Questionnaire\",\n            \"description\": \"PSQI - Pittsburgh Sleep Quality Index\",\n            \"recurring\": \"0\",\n            \"visible\": \"0\"\n        },\n        {\n            \"id\": \"3\",\n            \"title\": \"rMEQ Questionnaire\",\n            \"description\": \"Reduced Morningness-Eveningness Questionnaire (rMEQ, Christmas 1999)\",\n            \"recurring\": \"0\",\n            \"visible\": \"1\"\n        },\n        {\n            \"id\": \"4\",\n            \"title\": \"ISI Questionnaire\",\n            \"description\": \"Insomnia Severity Index\",\n            \"recurring\": \"0\",\n            \"visible\": \"1\"\n        },\n        {\n            \"id\": \"5\",\n            \"title\": \"Nutritionists Questionnaire\",\n            \"description\": \"\",\n            \"recurring\": \"0\",\n            \"visible\": \"0\"\n        },\n        {\n            \"id\": \"6\",\n            \"title\": \"STOP-BANG Questionnaire\",\n            \"description\": \"The STOP-BANG questionnaire assesses the risk of obstructive sleep apnea through eight quick questions about snoring, fatigue, and other related factors.\",\n            \"recurring\": \"0\",\n            \"visible\": \"1\"\n        },\n        {\n            \"id\": \"7\",\n            \"title\": \"Nijmegen Questionnaire (NQ)\",\n            \"description\": \"Questionnaire for the assessment of dysfunctional breathing\",\n            \"recurring\": \"0\",\n            \"visible\": \"1\"\n        },\n        {\n            \"id\": \"8\",\n            \"title\": \"The Sleep Disturbance Scale for Children\",\n            \"description\": \"This questionnaire will help to better understand your child's sleep-wake rhythm and to assess whether there are any problems in this regard. Please try to answer every question. \\r\\nIn answering, consider that each question refers to the last 6 months.\",\n            \"recurring\": \"0\",\n            \"visible\": \"1\"\n        },\n        {\n            \"id\": \"9\",\n            \"title\": \"Berlin questionnaire\",\n            \"description\": \"Taken from NC Netzer, Stoohs RA, CM Netzer, Clark K, Strohl KP\",\n            \"recurring\": \"0\",\n            \"visible\": \"1\"\n        },\n        {\n            \"id\": \"10\",\n            \"title\": \"Lifestyle\",\n            \"description\": \"Lifestyle Monitoring\",\n            \"recurring\": \"1\",\n            \"visible\": \"1\"\n        },\n        {\n            \"id\": \"1010\",\n            \"title\": \"Ford Questionnaire\",\n            \"description\": \"A questionnaire that examines the impact of daily stress on sleep.\",\n            \"recurring\": \"0\",\n            \"visible\": \"1\"\n        },\n        {\n            \"id\": \"2011\",\n            \"title\": \"IRLSSG Questionnaire\",\n            \"description\": \"Questionnaire to Identify the Risk of IRLSSG\",\n            \"recurring\": \"0\",\n            \"visible\": \"1\"\n        },\n        {\n            \"id\": \"3012\",\n            \"title\": \"HADS Questionnaire\",\n            \"description\": \"Questionnaire to identify levels of stress and anxiety.\",\n            \"recurring\": \"0\",\n            \"visible\": \"1\"\n        }\n    ]\n}"}],"_postman_id":"4d75fc52-1b45-4b52-bfcb-021a47974635"},{"name":"get_questionnaire","id":"5c8a92b4-880c-4950-be7a-eab397c6a191","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"url":"{{FRONTEND_BASE_URL}}/api/get_questionnaire?id={{QUESTIONNAIRE_ID}}&lang={{LANGUAGE}}","description":"<p>Returns the full structure of a single questionnaire, including its topics, questions, answers, rules, and suggestions</p>\n<h3 id=\"query-parameters\">Query Parameters</h3>\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><code>id</code></td>\n<td>the unique identifier of the questionnaire to retrieve</td>\n</tr>\n<tr>\n<td><code>lang</code></td>\n<td>the language code for localised content (e.g. \"it\", \"en\", \"es\")</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","get_questionnaire"],"host":["{{FRONTEND_BASE_URL}}"],"query":[{"key":"id","value":"{{QUESTIONNAIRE_ID}}"},{"key":"lang","value":"{{LANGUAGE}}"}],"variable":[]}},"response":[{"id":"443da40a-e626-41b1-a20a-c0e7b9b46890","name":"get_questionnaire_response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"url":{"raw":"{{FRONTEND_BASE_URL}}/api/get_questionnaire?id={{QUESTIONNAIRE_ID}}&lang={{LANGUAGE}}","host":["{{FRONTEND_BASE_URL}}"],"path":["api","get_questionnaire"],"query":[{"key":"id","value":"{{QUESTIONNAIRE_ID}}","description":"id del questionario"},{"key":"lang","value":"{{LANGUAGE}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 04 Jul 2026 09:07:50 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"6797"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"questionnaire\": {\n        \"id\": \"4\",\n        \"title\": \"ISI Questionnaire\",\n        \"description\": \"Insomnia Severity Index\",\n        \"recurring\": \"0\",\n        \"visible\": \"1\",\n        \"return_unique_profile\": \"1\",\n        \"topics\": [\n            {\n                \"id\": \"7\",\n                \"prog\": \"1\",\n                \"topic\": \"ISI Profiling\",\n                \"questions\": [\n                    {\n                        \"id\": \"17\",\n                        \"prog\": \"1\",\n                        \"type\": \"single\",\n                        \"question\": \"In the last 2 weeks, have you had difficulty falling asleep?\",\n                        \"explaination\": \"\",\n                        \"parent_answer_id\": \"\",\n                        \"answers\": [\n                            {\n                                \"id\": \"65\",\n                                \"prog\": \"1\",\n                                \"answer\": \"I had no difficulty\",\n                                \"weight\": \"0.00\"\n                            },\n                            {\n                                \"id\": \"66\",\n                                \"prog\": \"2\",\n                                \"answer\": \"I had a slight difficulty\",\n                                \"weight\": \"1.00\"\n                            },\n                            {\n                                \"id\": \"310\",\n                                \"prog\": \"3\",\n                                \"answer\": \"I had a moderate difficulty\",\n                                \"weight\": \"2.00\"\n                            },\n                            {\n                                \"id\": \"311\",\n                                \"prog\": \"4\",\n                                \"answer\": \"I had a severe difficulty\",\n                                \"weight\": \"3.00\"\n                            },\n                            {\n                                \"id\": \"312\",\n                                \"prog\": \"5\",\n                                \"answer\": \"I had a very severe difficulty\",\n                                \"weight\": \"4.00\"\n                            }\n                        ]\n                    },\n                    {\n                        \"id\": \"71\",\n                        \"prog\": \"2\",\n                        \"type\": \"single\",\n                        \"question\": \"In the last 2 weeks, have you had difficulty maintaining sleep once you have fallen asleep?\",\n                        \"explaination\": \"\",\n                        \"parent_answer_id\": \"0\",\n                        \"answers\": [\n                            {\n                                \"id\": \"313\",\n                                \"prog\": \"1\",\n                                \"answer\": \"I had no difficulty\",\n                                \"weight\": \"0.00\"\n                            },\n                            {\n                                \"id\": \"314\",\n                                \"prog\": \"2\",\n                                \"answer\": \"I had a slight difficulty\",\n                                \"weight\": \"1.00\"\n                            },\n                            {\n                                \"id\": \"315\",\n                                \"prog\": \"3\",\n                                \"answer\": \"I had a moderate difficulty\",\n                                \"weight\": \"2.00\"\n                            },\n                            {\n                                \"id\": \"316\",\n                                \"prog\": \"4\",\n                                \"answer\": \"I had a severe difficulty\",\n                                \"weight\": \"3.00\"\n                            },\n                            {\n                                \"id\": \"317\",\n                                \"prog\": \"5\",\n                                \"answer\": \"I had a very severe difficulty\",\n                                \"weight\": \"4.00\"\n                            }\n                        ]\n                    },\n                    {\n                        \"id\": \"72\",\n                        \"prog\": \"3\",\n                        \"type\": \"single\",\n                        \"question\": \"In the last 2 weeks, have you had problems with early awakening?\",\n                        \"explaination\": \"\",\n                        \"parent_answer_id\": \"0\",\n                        \"answers\": [\n                            {\n                                \"id\": \"318\",\n                                \"prog\": \"1\",\n                                \"answer\": \"I had no difficulty\",\n                                \"weight\": \"0.00\"\n                            },\n                            {\n                                \"id\": \"319\",\n                                \"prog\": \"2\",\n                                \"answer\": \"I had minor problems\",\n                                \"weight\": \"1.00\"\n                            },\n                            {\n                                \"id\": \"320\",\n                                \"prog\": \"3\",\n                                \"answer\": \"I had moderate problems\",\n                                \"weight\": \"2.00\"\n                            },\n                            {\n                                \"id\": \"321\",\n                                \"prog\": \"4\",\n                                \"answer\": \"I had severe problems\",\n                                \"weight\": \"3.00\"\n                            },\n                            {\n                                \"id\": \"322\",\n                                \"prog\": \"5\",\n                                \"answer\": \"I had very severe problems\",\n                                \"weight\": \"4.00\"\n                            }\n                        ]\n                    },\n                    {\n                        \"id\": \"73\",\n                        \"prog\": \"4\",\n                        \"type\": \"single\",\n                        \"question\": \"How satisfied are you currently with your sleep?\",\n                        \"explaination\": \"\",\n                        \"parent_answer_id\": \"0\",\n                        \"answers\": [\n                            {\n                                \"id\": \"323\",\n                                \"prog\": \"1\",\n                                \"answer\": \"Very satisfied\",\n                                \"weight\": \"0.00\"\n                            },\n                            {\n                                \"id\": \"324\",\n                                \"prog\": \"2\",\n                                \"answer\": \"Satisfied\",\n                                \"weight\": \"1.00\"\n                            },\n                            {\n                                \"id\": \"325\",\n                                \"prog\": \"3\",\n                                \"answer\": \"Fairly satisfied\",\n                                \"weight\": \"2.00\"\n                            },\n                            {\n                                \"id\": \"326\",\n                                \"prog\": \"4\",\n                                \"answer\": \"Dissatisfied\",\n                                \"weight\": \"3.00\"\n                            },\n                            {\n                                \"id\": \"327\",\n                                \"prog\": \"5\",\n                                \"answer\": \"Very dissatisfied\",\n                                \"weight\": \"4.00\"\n                            }\n                        ]\n                    },\n                    {\n                        \"id\": \"74\",\n                        \"prog\": \"5\",\n                        \"type\": \"single\",\n                        \"question\": \"How much do you think others notice your sleep problem in terms of a worsening quality of life?\",\n                        \"explaination\": \"\",\n                        \"parent_answer_id\": \"0\",\n                        \"answers\": [\n                            {\n                                \"id\": \"328\",\n                                \"prog\": \"1\",\n                                \"answer\": \"Not at all\",\n                                \"weight\": \"0.00\"\n                            },\n                            {\n                                \"id\": \"329\",\n                                \"prog\": \"2\",\n                                \"answer\": \"A little\",\n                                \"weight\": \"1.00\"\n                            },\n                            {\n                                \"id\": \"330\",\n                                \"prog\": \"3\",\n                                \"answer\": \"Partly\",\n                                \"weight\": \"2.00\"\n                            },\n                            {\n                                \"id\": \"331\",\n                                \"prog\": \"4\",\n                                \"answer\": \"A lot\",\n                                \"weight\": \"3.00\"\n                            },\n                            {\n                                \"id\": \"332\",\n                                \"prog\": \"5\",\n                                \"answer\": \"Very much\",\n                                \"weight\": \"4.00\"\n                            }\n                        ]\n                    },\n                    {\n                        \"id\": \"75\",\n                        \"prog\": \"6\",\n                        \"type\": \"single\",\n                        \"question\": \"How worried/distressed are you about the current problem?\",\n                        \"explaination\": \"\",\n                        \"parent_answer_id\": \"0\",\n                        \"answers\": [\n                            {\n                                \"id\": \"333\",\n                                \"prog\": \"1\",\n                                \"answer\": \"Not at all worried\",\n                                \"weight\": \"0.00\"\n                            },\n                            {\n                                \"id\": \"334\",\n                                \"prog\": \"2\",\n                                \"answer\": \"A little\",\n                                \"weight\": \"1.00\"\n                            },\n                            {\n                                \"id\": \"335\",\n                                \"prog\": \"3\",\n                                \"answer\": \"Partly\",\n                                \"weight\": \"2.00\"\n                            },\n                            {\n                                \"id\": \"336\",\n                                \"prog\": \"4\",\n                                \"answer\": \"A lot\",\n                                \"weight\": \"3.00\"\n                            },\n                            {\n                                \"id\": \"337\",\n                                \"prog\": \"5\",\n                                \"answer\": \"Very much\",\n                                \"weight\": \"4.00\"\n                            }\n                        ]\n                    },\n                    {\n                        \"id\": \"76\",\n                        \"prog\": \"7\",\n                        \"type\": \"single\",\n                        \"question\": \"How much do you think your sleep problems interfere with your ability to function during the day? (e.g. fatigue, work efficiency, daily chores, concentration, memory, mood, etc.).\",\n                        \"explaination\": \"\",\n                        \"parent_answer_id\": \"0\",\n                        \"answers\": [\n                            {\n                                \"id\": \"338\",\n                                \"prog\": \"1\",\n                                \"answer\": \"Not at all\",\n                                \"weight\": \"0.00\"\n                            },\n                            {\n                                \"id\": \"339\",\n                                \"prog\": \"2\",\n                                \"answer\": \"A little\",\n                                \"weight\": \"1.00\"\n                            },\n                            {\n                                \"id\": \"340\",\n                                \"prog\": \"3\",\n                                \"answer\": \"Fairly\",\n                                \"weight\": \"2.00\"\n                            },\n                            {\n                                \"id\": \"341\",\n                                \"prog\": \"4\",\n                                \"answer\": \"A lot\",\n                                \"weight\": \"3.00\"\n                            },\n                            {\n                                \"id\": \"342\",\n                                \"prog\": \"5\",\n                                \"answer\": \"Very much\",\n                                \"weight\": \"4.00\"\n                            }\n                        ]\n                    }\n                ]\n            }\n        ],\n        \"rules\": [\n            {\n                \"id\": \"137\",\n                \"survey_id\": \"4\",\n                \"rule_suggestion_id\": null,\n                \"suggestion_weights_from\": null,\n                \"suggestion_weights_to\": null,\n                \"topic_id\": \"7\",\n                \"topic_weights_from\": \"0.00\",\n                \"topic_weights_to\": \"7.00\",\n                \"kpi\": null,\n                \"kpi_from\": null,\n                \"kpi_to\": null,\n                \"answers_ids_all\": \"\",\n                \"answers_ids_subset\": \"\",\n                \"answers_ids_exclude\": null,\n                \"suggestion_id\": \"105\",\n                \"topic\": \"ISI Profiling\",\n                \"suggestion\": \"No clinically significant insomnia\",\n                \"suggestion_prog\": \"1\",\n                \"suggestion_type\": \"profile\",\n                \"parent_suggestion_id\": null,\n                \"suggestion_description\": \"\",\n                \"suggestion_weight\": \"0.00\",\n                \"suggestion_rule\": null\n            },\n            {\n                \"id\": \"138\",\n                \"survey_id\": \"4\",\n                \"rule_suggestion_id\": null,\n                \"suggestion_weights_from\": null,\n                \"suggestion_weights_to\": null,\n                \"topic_id\": \"7\",\n                \"topic_weights_from\": \"8.00\",\n                \"topic_weights_to\": \"14.00\",\n                \"kpi\": null,\n                \"kpi_from\": null,\n                \"kpi_to\": null,\n                \"answers_ids_all\": \"\",\n                \"answers_ids_subset\": \"\",\n                \"answers_ids_exclude\": null,\n                \"suggestion_id\": \"106\",\n                \"topic\": \"ISI Profiling\",\n                \"suggestion\": \"Subclinical insomnia\",\n                \"suggestion_prog\": \"2\",\n                \"suggestion_type\": \"profile\",\n                \"parent_suggestion_id\": null,\n                \"suggestion_description\": \"\",\n                \"suggestion_weight\": \"0.00\",\n                \"suggestion_rule\": null\n            },\n            {\n                \"id\": \"148\",\n                \"survey_id\": \"4\",\n                \"rule_suggestion_id\": null,\n                \"suggestion_weights_from\": null,\n                \"suggestion_weights_to\": null,\n                \"topic_id\": \"7\",\n                \"topic_weights_from\": \"22.00\",\n                \"topic_weights_to\": \"28.00\",\n                \"kpi\": null,\n                \"kpi_from\": null,\n                \"kpi_to\": null,\n                \"answers_ids_all\": \"\",\n                \"answers_ids_subset\": \"\",\n                \"answers_ids_exclude\": null,\n                \"suggestion_id\": \"108\",\n                \"topic\": \"ISI Profiling\",\n                \"suggestion\": \"Clinically relevant insomnia (severe)\",\n                \"suggestion_prog\": \"3\",\n                \"suggestion_type\": \"profile\",\n                \"parent_suggestion_id\": null,\n                \"suggestion_description\": \"\",\n                \"suggestion_weight\": \"0.00\",\n                \"suggestion_rule\": null\n            },\n            {\n                \"id\": \"139\",\n                \"survey_id\": \"4\",\n                \"rule_suggestion_id\": null,\n                \"suggestion_weights_from\": null,\n                \"suggestion_weights_to\": null,\n                \"topic_id\": \"7\",\n                \"topic_weights_from\": \"15.00\",\n                \"topic_weights_to\": \"21.00\",\n                \"kpi\": null,\n                \"kpi_from\": null,\n                \"kpi_to\": null,\n                \"answers_ids_all\": \"\",\n                \"answers_ids_subset\": \"\",\n                \"answers_ids_exclude\": null,\n                \"suggestion_id\": \"107\",\n                \"topic\": \"ISI Profiling\",\n                \"suggestion\": \"Clinically relevant insomnia (moderate severity)\",\n                \"suggestion_prog\": \"3\",\n                \"suggestion_type\": \"profile\",\n                \"parent_suggestion_id\": null,\n                \"suggestion_description\": \"\",\n                \"suggestion_weight\": \"0.00\",\n                \"suggestion_rule\": null\n            }\n        ],\n        \"suggestions\": [\n            {\n                \"id\": \"105\",\n                \"type\": \"profile\",\n                \"prog\": \"1\",\n                \"weight\": \"0.00\",\n                \"parent_suggestion_id\": null,\n                \"title\": \"No clinically significant insomnia\",\n                \"description\": \"\"\n            },\n            {\n                \"id\": \"106\",\n                \"type\": \"profile\",\n                \"prog\": \"2\",\n                \"weight\": \"0.00\",\n                \"parent_suggestion_id\": null,\n                \"title\": \"Subclinical insomnia\",\n                \"description\": \"\"\n            },\n            {\n                \"id\": \"108\",\n                \"type\": \"profile\",\n                \"prog\": \"3\",\n                \"weight\": \"0.00\",\n                \"parent_suggestion_id\": null,\n                \"title\": \"Clinically relevant insomnia (severe)\",\n                \"description\": \"\"\n            },\n            {\n                \"id\": \"107\",\n                \"type\": \"profile\",\n                \"prog\": \"3\",\n                \"weight\": \"0.00\",\n                \"parent_suggestion_id\": null,\n                \"title\": \"Clinically relevant insomnia (moderate severity)\",\n                \"description\": \"\"\n            }\n        ]\n    }\n}"}],"_postman_id":"5c8a92b4-880c-4950-be7a-eab397c6a191"},{"name":"get_recurring_questionnaire_sessions","id":"eea5666e-acec-47c9-a0d3-abed85e41edf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"url":"{{FRONTEND_BASE_URL}}/api/get_recurring_questionnaire_sessions","description":"<p>Returns the list of all recurring questionnaire sessions (placeholders) available for the authenticated account's partner</p>\n<h3 id=\"query-parameters\">Query Parameters</h3>\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><code>start</code></td>\n<td>pagination offset (optional)</td>\n</tr>\n<tr>\n<td><code>num_records</code></td>\n<td>number of records to return per page, max 10 (optional)</td>\n</tr>\n<tr>\n<td><code>order_by</code></td>\n<td>field to sort by: id, title, end_user_name, end_user_surname (optional)</td>\n</tr>\n<tr>\n<td><code>asc_desc</code></td>\n<td>sort direction: asc or desc (optional)</td>\n</tr>\n<tr>\n<td><code>end_user_name</code></td>\n<td>partial search filter on the end user's name (optional)</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","get_recurring_questionnaire_sessions"],"host":["{{FRONTEND_BASE_URL}}"],"query":[{"disabled":true,"description":{"content":"<p>pagination</p>\n","type":"text/plain"},"key":"start","value":"1"},{"disabled":true,"description":{"content":"<p>pagination, max 10</p>\n","type":"text/plain"},"key":"num_records","value":"10"},{"disabled":true,"description":{"content":"<p>id | title | end_user_name | end_user_surname</p>\n","type":"text/plain"},"key":"order_by","value":"title"},{"disabled":true,"description":{"content":"<p>asc | desc</p>\n","type":"text/plain"},"key":"asc_desc","value":"asc"},{"disabled":true,"description":{"content":"<p>partial search</p>\n","type":"text/plain"},"key":"end_user_name","value":""}],"variable":[]}},"response":[{"id":"69928516-83a3-45ad-89de-928499bd2dec","name":"get_recurring_questionnaires_response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"url":{"raw":"{{FRONTEND_BASE_URL}}/api/get_recurring_questionnaires","host":["{{FRONTEND_BASE_URL}}"],"path":["api","get_recurring_questionnaires"],"query":[{"key":"start","value":"1","description":"pagination","disabled":true},{"key":"num_records","value":"10","description":"pagination, max 10","disabled":true},{"key":"order_by","value":"title","description":"id | title | end_user_name | end_user_surname","disabled":true},{"key":"asc_desc","value":"asc","description":"asc | desc","disabled":true},{"key":"end_user_name","value":"","description":"partial search","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 04 Jul 2026 09:28:11 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"403"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"recurring_questionnaire_sessions\": [\n        {\n            \"id\": \"2\",\n            \"title\": \"My Recurring Questionnaire\",\n            \"annotations\": \"<p>This is an explaination of the functioning of the recurring questionnaire</p>\",\n            \"end_user_name\": \"Johnn\",\n            \"end_user_surname\": \"Smith\",\n            \"end_user_email\": \"my@email.com\",\n            \"public_url\": \"https://public_url/...\"\n        }\n    ]\n}"}],"_postman_id":"eea5666e-acec-47c9-a0d3-abed85e41edf"},{"name":"get_recurring_questionnaire_session","id":"4f32069b-23e6-45b0-ac0d-2ff902702da4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"url":"{{FRONTEND_BASE_URL}}/api/get_recurring_questionnaire_session?id={{RECURRING_QUESTIONNAIRE_SESSION_ID}}&lang={{LANGUAGE}}","description":"<p>Returns the details of a single recurring questionnaire session, including the respondent's information, the public sharing link, and the list of available recurring questionnaires</p>\n<h3 id=\"query-parameters\">Query Parameters</h3>\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><code>id</code></td>\n<td>the unique identifier of the recurring questionnaire session (placeholder)</td>\n</tr>\n<tr>\n<td><code>lang</code></td>\n<td>the language code for localised content (e.g. \"it\", \"en\", \"es\")</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","get_recurring_questionnaire_session"],"host":["{{FRONTEND_BASE_URL}}"],"query":[{"description":{"content":"<p>id del placeholder (survey session)</p>\n","type":"text/plain"},"key":"id","value":"{{RECURRING_QUESTIONNAIRE_SESSION_ID}}"},{"key":"lang","value":"{{LANGUAGE}}"}],"variable":[]}},"response":[{"id":"c4bfa5e3-8864-49a8-86d7-69acbf864df9","name":"get_recurring_questionnaire_session_answer","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"url":{"raw":"{{FRONTEND_BASE_URL}}/api/get_recurring_questionnaire?id={{RECURRING_QUESTIONNAIRE_SESSION_ID}}&lang={{LANGUAGE}}","host":["{{FRONTEND_BASE_URL}}"],"path":["api","get_recurring_questionnaire"],"query":[{"key":"id","value":"{{RECURRING_QUESTIONNAIRE_SESSION_ID}}"},{"key":"lang","value":"{{LANGUAGE}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 04 Jul 2026 09:29:52 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"496"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"recurring_questionnaire_session\": {\n        \"id\": 2,\n        \"title\": \"My Recurring Questionnaire\",\n        \"annotations\": \"<p>This is an explaination of the functioning of the recurring questionnaire</p>\",\n        \"end_user_name\": \"Johnn\",\n        \"end_user_surname\": \"Smith\",\n        \"end_user_email\": \"my@email.com\",\n        \"public_url\": \"https://public_url/...\",\n        \"available_questionnaires\": [\n            {\n                \"id\": \"10\",\n                \"title\": \"Lifestyle\",\n                \"description\": \"Lifestyle Monitoring\"\n            }\n        ]\n    }\n}"}],"_postman_id":"4f32069b-23e6-45b0-ac0d-2ff902702da4"},{"name":"get_questionnaire_answers","id":"e6407cbc-e171-4f7c-8a61-ebbab2be751f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"url":"{{FRONTEND_BASE_URL}}/api/get_questionnaire_answers?recurring_questionnaire_session_id={{RECURRING_QUESTIONNAIRE_SESSION_ID}}&lang={{LANGUAGE}}","description":"<p>Returns previously submitted questionnaire answers; when filtered by shipment_id returns { questionnaires: [...] }, when filtered by recurring_questionnaire_session_id returns { rounds: [...] }</p>\n<h3 id=\"query-parameters\">Query Parameters</h3>\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><code>shipment_id</code></td>\n<td>filter answers linked to a one-shot questionnaire via a shipment (optional)</td>\n</tr>\n<tr>\n<td><code>recurring_questionnaire_session_id</code></td>\n<td>filter answers linked to a recurring questionnaire session (optional)</td>\n</tr>\n<tr>\n<td><code>questionnaire_id</code></td>\n<td>optional filter to return answers for a single questionnaire only</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>filter answers linked to a one-shot questionnaire via a delivery (optional)</td>\n</tr>\n<tr>\n<td><code>exam_id</code></td>\n<td>filter answers linked to a one-shot questionnaire via an exam (optional)</td>\n</tr>\n<tr>\n<td><code>lang</code></td>\n<td>the language code for localised content (e.g. \"it\", \"en\", \"es\")</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","get_questionnaire_answers"],"host":["{{FRONTEND_BASE_URL}}"],"query":[{"disabled":true,"description":{"content":"<p>one-shot questionnaire: answers linked to a shipment</p>\n","type":"text/plain"},"key":"shipment_id","value":"{{SHIPMENT_ID}}"},{"description":{"content":"<p>answers linked to a recurring questionnaire</p>\n","type":"text/plain"},"key":"recurring_questionnaire_session_id","value":"{{RECURRING_QUESTIONNAIRE_SESSION_ID}}"},{"disabled":true,"description":{"content":"<p>optional filter for a single questionnaire</p>\n","type":"text/plain"},"key":"questionnaire_id","value":"{{QUESTIONNAIRE_ID}}"},{"disabled":true,"description":{"content":"<p>one-shot questionnaire: answers linked to a delivery</p>\n","type":"text/plain"},"key":"delivery_id ","value":"{{DELIVERY_ID}}"},{"disabled":true,"description":{"content":"<p>one-shot questionnaire: answers linked to an exam</p>\n","type":"text/plain"},"key":"exam_id","value":"{{EXAM_ID}}"},{"key":"lang","value":"{{LANGUAGE}}"}],"variable":[]}},"response":[{"id":"2b36a882-b5aa-48bf-9308-b35751257d29","name":"get_questionnaire_answers_response_recurring","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"url":{"raw":"{{FRONTEND_BASE_URL}}/api/get_questionnaire_answers?recurring_questionnaire_id={{RECURRING_QUESTIONNAIRE_ID}}&lang={{LANGUAGE}}","host":["{{FRONTEND_BASE_URL}}"],"path":["api","get_questionnaire_answers"],"query":[{"key":"shipment_id","value":"{{SHIPMENT_ID}}","description":"one-shot questionnaire: answers linked to a shipment","disabled":true},{"key":"recurring_questionnaire_id","value":"{{RECURRING_QUESTIONNAIRE_ID}}","description":"answers linked to a recurring questionnaire"},{"key":"questionnaire_id","value":"{{QUESTIONNAIRE_ID}}","description":"optional filter for a single questionnaire","disabled":true},{"key":"delivery_id ","value":"{{DELIVERY_ID}}","description":"one-shot questionnaire: answers linked to a delivery","disabled":true},{"key":"exam_id","value":"{{EXAM_ID}}","description":"one-shot questionnaire: answers linked to an exam","disabled":true},{"key":"lang","value":"{{LANGUAGE}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 04 Jul 2026 09:53:40 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"1554"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"recurring_questionnaire_session\": {\n        \"id\": 2,\n        \"title\": \"My Recurring Questionnaire\",\n        \"annotations\": \"<p>This is an explaination of the functioning of the recurring questionnaire</p>\",\n        \"end_user_name\": \"Johnn\",\n        \"end_user_surname\": \"Smith\",\n        \"end_user_email\": \"my@email.com\",\n        \"delivery_id\": \"0\",\n        \"public_url\": \"https://public_url/...\",\n        \"available_questionnaires\": [\n            {\n                \"id\": \"10\",\n                \"title\": \"Lifestyle\",\n                \"description\": \"Lifestyle Monitoring\"\n            }\n        ]\n    },\n    \"rounds\": [\n        {\n            \"round_id\": \"195\",\n            \"request_date\": \"2026-07-04 10:35:45\",\n            \"questionnaires\": [\n                {\n                    \"title\": \"Lifestyle\",\n                    \"total_score\": 2,\n                    \"answers\": [\n                        {\n                            \"question_id\": \"138\",\n                            \"topic\": \"Your Diary\",\n                            \"question\": \"What did you do today?\",\n                            \"type\": \"multi\",\n                            \"answers\": [\n                                {\n                                    \"answer_id\": \"612\",\n                                    \"answer\": \"I exercised\"\n                                },\n                                {\n                                    \"answer_id\": \"616\",\n                                    \"answer\": \"I had dinner less than 3 hours before going to bed\"\n                                }\n                            ]\n                        }\n                    ],\n                    \"profiles\": [\n                        {\n                            \"title\": \"Physical Activity\",\n                            \"description\": \"\",\n                            \"prog\": \"2\"\n                        },\n                        {\n                            \"title\": \"Late dinner\",\n                            \"description\": \"\",\n                            \"prog\": \"6\"\n                        }\n                    ],\n                    \"indications\": [],\n                    \"questionnaire_id\": \"10\"\n                }\n            ]\n        },\n        {\n            \"round_id\": \"194\",\n            \"request_date\": \"2026-07-03 11:42:17\",\n            \"questionnaires\": [\n                {\n                    \"title\": \"Lifestyle\",\n                    \"total_score\": 2,\n                    \"answers\": [\n                        {\n                            \"question_id\": \"138\",\n                            \"topic\": \"Your Diary\",\n                            \"question\": \"What did you do today?\",\n                            \"type\": \"multi\",\n                            \"answers\": [\n                                {\n                                    \"answer_id\": \"612\",\n                                    \"answer\": \"I exercised\"\n                                },\n                                {\n                                    \"answer_id\": \"615\",\n                                    \"answer\": \"I consumed caffeine (tea, coffee, etc.) less than 3 hours before going to sleep\"\n                                }\n                            ]\n                        }\n                    ],\n                    \"profiles\": [\n                        {\n                            \"title\": \"Physical Activity\",\n                            \"description\": \"\",\n                            \"prog\": \"2\"\n                        },\n                        {\n                            \"title\": \"Caffeine in the Evening\",\n                            \"description\": \"\",\n                            \"prog\": \"5\"\n                        }\n                    ],\n                    \"indications\": [],\n                    \"questionnaire_id\": \"10\"\n                }\n            ]\n        }\n    ]\n}"},{"id":"bb12de45-556c-4900-989f-78337e8a07a6","name":"get_questionnaire_answers_one_shot","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"url":{"raw":"{{FRONTEND_BASE_URL}}/api/get_questionnaire_answers?exam_id={{EXAM_ID}}&lang={{LANGUAGE}}","host":["{{FRONTEND_BASE_URL}}"],"path":["api","get_questionnaire_answers"],"query":[{"key":"shipment_id","value":"{{SHIPMENT_ID}}","description":"one-shot questionnaire: answers linked to a shipment","disabled":true},{"key":"recurring_questionnaire_id","value":"{{RECURRING_QUESTIONNAIRE_ID}}","description":"answers linked to a recurring questionnaire","disabled":true},{"key":"questionnaire_id","value":"{{QUESTIONNAIRE_ID}}","description":"optional filter for a single questionnaire","disabled":true},{"key":"delivery_id ","value":"{{DELIVERY_ID}}","description":"one-shot questionnaire: answers linked to a delivery","disabled":true},{"key":"exam_id","value":"{{EXAM_ID}}","description":"one-shot questionnaire: answers linked to an exam"},{"key":"lang","value":"{{LANGUAGE}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 04 Jul 2026 09:55:08 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"3055"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"questionnaires\": [\n        {\n            \"title\": \"ISI Questionnaire\",\n            \"total_score\": 14,\n            \"answers\": [\n                {\n                    \"question_id\": \"17\",\n                    \"topic\": \"ISI Profiling\",\n                    \"question\": \"In the last 2 weeks, have you had difficulty falling asleep?\",\n                    \"type\": \"single\",\n                    \"answers\": [\n                        {\n                            \"answer_id\": \"310\",\n                            \"answer\": \"I had a moderate difficulty\"\n                        }\n                    ]\n                },\n                {\n                    \"question_id\": \"71\",\n                    \"topic\": \"ISI Profiling\",\n                    \"question\": \"In the last 2 weeks, have you had difficulty maintaining sleep once you have fallen asleep?\",\n                    \"type\": \"single\",\n                    \"answers\": [\n                        {\n                            \"answer_id\": \"315\",\n                            \"answer\": \"I had a moderate difficulty\"\n                        }\n                    ]\n                },\n                {\n                    \"question_id\": \"72\",\n                    \"topic\": \"ISI Profiling\",\n                    \"question\": \"In the last 2 weeks, have you had problems with early awakening?\",\n                    \"type\": \"single\",\n                    \"answers\": [\n                        {\n                            \"answer_id\": \"320\",\n                            \"answer\": \"I had moderate problems\"\n                        }\n                    ]\n                },\n                {\n                    \"question_id\": \"73\",\n                    \"topic\": \"ISI Profiling\",\n                    \"question\": \"How satisfied are you currently with your sleep?\",\n                    \"type\": \"single\",\n                    \"answers\": [\n                        {\n                            \"answer_id\": \"325\",\n                            \"answer\": \"Fairly satisfied\"\n                        }\n                    ]\n                },\n                {\n                    \"question_id\": \"74\",\n                    \"topic\": \"ISI Profiling\",\n                    \"question\": \"How much do you think others notice your sleep problem in terms of a worsening quality of life?\",\n                    \"type\": \"single\",\n                    \"answers\": [\n                        {\n                            \"answer_id\": \"330\",\n                            \"answer\": \"Partly\"\n                        }\n                    ]\n                },\n                {\n                    \"question_id\": \"75\",\n                    \"topic\": \"ISI Profiling\",\n                    \"question\": \"How worried/distressed are you about the current problem?\",\n                    \"type\": \"single\",\n                    \"answers\": [\n                        {\n                            \"answer_id\": \"335\",\n                            \"answer\": \"Partly\"\n                        }\n                    ]\n                },\n                {\n                    \"question_id\": \"76\",\n                    \"topic\": \"ISI Profiling\",\n                    \"question\": \"How much do you think your sleep problems interfere with your ability to function during the day? (e.g. fatigue, work efficiency, daily chores, concentration, memory, mood, etc.).\",\n                    \"type\": \"single\",\n                    \"answers\": [\n                        {\n                            \"answer_id\": \"340\",\n                            \"answer\": \"Fairly\"\n                        }\n                    ]\n                }\n            ],\n            \"profiles\": [\n                {\n                    \"title\": \"Subclinical insomnia\",\n                    \"description\": \"\",\n                    \"prog\": \"2\"\n                }\n            ],\n            \"indications\": [],\n            \"questionnaire_id\": \"4\"\n        },\n        {\n            \"title\": \"STOP-BANG Questionnaire\",\n            \"total_score\": 6,\n            \"answers\": [\n                {\n                    \"question_id\": \"77\",\n                    \"topic\": \"STOP Questions\",\n                    \"question\": \"Do you snore?\",\n                    \"type\": \"single\",\n                    \"answers\": [\n                        {\n                            \"answer_id\": \"343\",\n                            \"answer\": \"Yes\"\n                        }\n                    ]\n                },\n                {\n                    \"question_id\": \"78\",\n                    \"topic\": \"STOP Questions\",\n                    \"question\": \"Tired?\",\n                    \"type\": \"single\",\n                    \"answers\": [\n                        {\n                            \"answer_id\": \"345\",\n                            \"answer\": \"Yes\"\n                        }\n                    ]\n                },\n                {\n                    \"question_id\": \"79\",\n                    \"topic\": \"STOP Questions\",\n                    \"question\": \"Observed?\",\n                    \"type\": \"single\",\n                    \"answers\": [\n                        {\n                            \"answer_id\": \"347\",\n                            \"answer\": \"Yes\"\n                        }\n                    ]\n                },\n                {\n                    \"question_id\": \"80\",\n                    \"topic\": \"STOP Questions\",\n                    \"question\": \"Pressure?\",\n                    \"type\": \"single\",\n                    \"answers\": [\n                        {\n                            \"answer_id\": \"349\",\n                            \"answer\": \"Yes\"\n                        }\n                    ]\n                },\n                {\n                    \"question_id\": \"82\",\n                    \"topic\": \"BANG Questions\",\n                    \"question\": \"BMI greater than 35?\",\n                    \"type\": \"single\",\n                    \"answers\": [\n                        {\n                            \"answer_id\": \"354\",\n                            \"answer\": \"No\"\n                        }\n                    ]\n                },\n                {\n                    \"question_id\": \"83\",\n                    \"topic\": \"BANG Questions\",\n                    \"question\": \"Are you over 50 years old?\",\n                    \"type\": \"single\",\n                    \"answers\": [\n                        {\n                            \"answer_id\": \"356\",\n                            \"answer\": \"No\"\n                        }\n                    ]\n                },\n                {\n                    \"question_id\": \"81\",\n                    \"topic\": \"BANG Questions\",\n                    \"question\": \"Large neck size?\",\n                    \"type\": \"single\",\n                    \"answers\": [\n                        {\n                            \"answer_id\": \"351\",\n                            \"answer\": \"Yes\"\n                        }\n                    ]\n                },\n                {\n                    \"question_id\": \"84\",\n                    \"topic\": \"BANG Questions\",\n                    \"question\": \"Is your gender male?\",\n                    \"type\": \"single\",\n                    \"answers\": [\n                        {\n                            \"answer_id\": \"357\",\n                            \"answer\": \"Yes\"\n                        }\n                    ]\n                }\n            ],\n            \"profiles\": [\n                {\n                    \"title\": \"High Risk of Apnea\",\n                    \"description\": \"\",\n                    \"prog\": \"3\"\n                }\n            ],\n            \"indications\": [],\n            \"questionnaire_id\": \"6\"\n        }\n    ]\n}"}],"_postman_id":"e6407cbc-e171-4f7c-8a61-ebbab2be751f"},{"name":"submit_oneshot_questionnaire_answer","id":"ec6f9e7e-6583-4029-aec7-9a37ebdbfbfc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"},{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"questionnaire_id","value":"{{QUESTIONNAIRE_ID}}"},{"key":"shipment_id","value":"{{SHIPMENT_ID}}","disabled":true},{"key":"delivery_id","value":"{{DELIVERY_ID}}","disabled":true},{"key":"exam_id","value":"{{EXAM_ID}}"},{"key":"device_id","value":"{{DEVICE_ID}}","disabled":true},{"key":"question_id","value":"{{ONE_SHOT_QUESTIONNAIRE_QUESTION_ID}}","description":"<p>0/none= first question; otherwise echo from previous answer</p>\n"},{"key":"parent_answer_id","value":"","description":"<p>echo from previous answer</p>\n","disabled":true},{"key":"branch_origin_question_id","value":"","description":"<p>echo from previous answer</p>\n","disabled":true},{"key":"direction","value":"{{DIRECTION}}","description":"<p>next or prev</p>\n"},{"key":"answer_ids","value":"{{ONE_SHOT_QUESTIONNAIRE_ANSWER_IDS}}","description":"<p>sected answer(s) Id(s). Can be a CSV (e.g. 612, 613) or array (e.g. answer_ids[]=612&amp;answer_ids[]=616)</p>\n"},{"key":"free_text","value":"","description":"<p>for free-answers</p>\n","disabled":true},{"key":"lang","value":"{{LANGUAGE}}","type":"text","uuid":"8a268d60-3c49-4b8c-8cb7-f72fdb76163d"}]},"url":"{{FRONTEND_BASE_URL}}/api/submit_oneshot_questionnaire_answer","description":"<p>Submits an answer step for a one-shot (non-recurring) questionnaire; call repeatedly passing the navigation ids returned in each response until completed is true</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>questionnaire_id</code></td>\n<td>the unique identifier of the questionnaire to administer</td>\n</tr>\n<tr>\n<td><code>shipment_id</code></td>\n<td>the shipment to link this questionnaire to (use on first call; mutually exclusive with delivery_id, exam_id, device_id)</td>\n</tr>\n<tr>\n<td><code>delivery_id</code></td>\n<td>the delivery to link this questionnaire to (optional, alternative to shipment_id)</td>\n</tr>\n<tr>\n<td><code>exam_id</code></td>\n<td>the exam to link this questionnaire to (optional, alternative to shipment_id)</td>\n</tr>\n<tr>\n<td><code>device_id</code></td>\n<td>the device to link this questionnaire to (optional, alternative to shipment_id)</td>\n</tr>\n<tr>\n<td><code>question_id</code></td>\n<td>the current question id; use 0 or omit on the first call, then echo from the previous response</td>\n</tr>\n<tr>\n<td><code>parent_answer_id</code></td>\n<td>echo from the previous response (optional)</td>\n</tr>\n<tr>\n<td><code>branch_origin_question_id</code></td>\n<td>echo from the previous response (optional)</td>\n</tr>\n<tr>\n<td><code>direction</code></td>\n<td>navigation direction: next or prev</td>\n</tr>\n<tr>\n<td><code>answer_ids</code></td>\n<td>the selected answer id(s); can be a CSV (e.g. 612,613) or array format (e.g. answer_ids[]=612&amp;answer_ids[]=616)</td>\n</tr>\n<tr>\n<td><code>free_text</code></td>\n<td>free-text answer for open-ended questions (optional)</td>\n</tr>\n<tr>\n<td><code>lang</code></td>\n<td>the language code for localised content (e.g. \"it\", \"en\", \"es\")</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","submit_oneshot_questionnaire_answer"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"224b2b41-6e93-48f5-b7e8-1108d6916072","name":"submit_oneshot_questionnaire_answer_response","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"},{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"questionnaire_id","value":"{{QUESTIONNAIRE_ID}}"},{"key":"shipment_id","value":"{{SHIPMENT_ID}}","disabled":true},{"key":"delivery_id","value":"{{DELIVERY_ID}}","disabled":true},{"key":"exam_id","value":"{{EXAM_ID}}"},{"key":"device_id","value":"{{DEVICE_ID}}","disabled":true},{"key":"question_id","value":"{{ONE_SHOT_QUESTIONNAIRE_QUESTION_ID}}","description":"0/none= first question; otherwise echo from previous answer","disabled":true},{"key":"parent_answer_id","value":"","description":"echo from previous answer","disabled":true},{"key":"branch_origin_question_id","value":"","description":"echo from previous answer","disabled":true},{"key":"direction","value":"{{DIRECTION}}","description":"next or prev"},{"key":"answer_ids","value":"{{ONE_SHOT_QUESTIONNAIRE_ANSWER_IDS}}","description":"sected answer(s) Id(s). Can be a CSV (e.g. 612, 613) or array (e.g. answer_ids[]=612&answer_ids[]=616)"},{"key":"free_text","value":"","description":"for free-answers","disabled":true},{"key":"lang","value":"{{LANGUAGE}}","type":"text","uuid":"8a268d60-3c49-4b8c-8cb7-f72fdb76163d"}]},"url":"{{FRONTEND_BASE_URL}}/api/submit_oneshot_questionnaire_answer"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 04 Jul 2026 11:40:07 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"569"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"progress\": {\n        \"completed\": false,\n        \"question\": {\n            \"id\": 52,\n            \"prog\": \"2\",\n            \"topic_id\": \"4\",\n            \"topic\": \"DORMI Profiling\",\n            \"type\": \"single\",\n            \"question\": \"How would you globally rate your sleep quality during the last month?\",\n            \"explaination\": \"\",\n            \"parent_answer_ids\": \"24, 27,67,31 \",\n            \"answers\": [\n                {\n                    \"id\": \"47\",\n                    \"prog\": \"1\",\n                    \"answer\": \"Good quality\",\n                    \"weight\": \"0.00\",\n                    \"selected\": false\n                },\n                {\n                    \"id\": \"237\",\n                    \"prog\": \"2\",\n                    \"answer\": \"Bad quality\",\n                    \"weight\": \"0.00\",\n                    \"selected\": false\n                }\n            ],\n            \"parent_answer_id\": 24,\n            \"branch_origin_question_id\": \"6\"\n        },\n        \"questionnaire\": {\n            \"title\": \"DORMI Questionnaire\",\n            \"questionnaire_id\": 1\n        },\n        \"shipment\": {\n            \"id\": 185,\n            \"virtual\": true\n        }\n    }\n}"}],"_postman_id":"ec6f9e7e-6583-4029-aec7-9a37ebdbfbfc"},{"name":"submit_recurring_questionnaire_answer","id":"0f8e7961-80fd-430f-8d0d-d71fa2ff1112","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"},{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"questionnaire_id","value":"{{RECURRING_QUESTIONNAIRE_ID}}","description":"<p>required - must have recurring = 1</p>\n"},{"key":"recurring_questionnaire_session_id","value":"{{RECURRING_QUESTIONNAIRE_SESSION_ID}}","description":"<p>required</p>\n"},{"key":"start_new_round","value":"{{START_NEW_ROUND}}","description":"<p>to be used to start a new round, otherwise it's required to pass round_id</p>\n","type":"text","uuid":"69769f7d-6d62-46f7-acab-a22f98219782"},{"key":"round_id","value":"{{CURR_ROUND_ID}}","description":"<p>continues an existing round</p>\n"},{"key":"question_id","value":"{{CURR_RECURRING_QUESTION_ID}}","description":"<p>0/none= first question; otherwise echo from previous answer</p>\n"},{"key":"parent_answer_id","value":"","description":"<p>echo from previous answer</p>\n","disabled":true},{"key":"branch_origin_question_id","value":"","description":"<p>echo from previous answer</p>\n","disabled":true},{"key":"direction","value":"{{DIRECTION}}","description":"<p>next or prev</p>\n"},{"key":"answer_ids","value":"{{CURR_RECURRING_ANSWERS_IDS}}","description":"<p>sected answer(s) Id(s). Can be a CSV (e.g. 612, 613) or array (e.g. answer_ids[]=612&amp;answer_ids[]=616)</p>\n"},{"key":"free_text","value":"","description":"<p>for free-answers</p>\n","disabled":true},{"key":"lang","value":"{{LANGUAGE}}","type":"text","uuid":"5714149f-a7a1-4730-b735-73d1e66b418c"}]},"url":"{{FRONTEND_BASE_URL}}/api/submit_recurring_questionnaire_answer","description":"<p>Submits an answer step for a recurring questionnaire linked to a session; use start_new_round to begin a new round or pass round_id to continue an existing one, and repeat until completed is true</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>questionnaire_id</code></td>\n<td>the unique identifier of the recurring questionnaire (must have recurring = 1)</td>\n</tr>\n<tr>\n<td><code>recurring_questionnaire_session_id</code></td>\n<td>the unique identifier of the recurring questionnaire session</td>\n</tr>\n<tr>\n<td><code>start_new_round</code></td>\n<td>set to start a new round; mutually exclusive with round_id</td>\n</tr>\n<tr>\n<td><code>round_id</code></td>\n<td>the identifier of the round to continue (echo from previous response)</td>\n</tr>\n<tr>\n<td><code>question_id</code></td>\n<td>the current question id; use 0 or omit on the first call, then echo from the previous response</td>\n</tr>\n<tr>\n<td><code>parent_answer_id</code></td>\n<td>echo from the previous response (optional)</td>\n</tr>\n<tr>\n<td><code>branch_origin_question_id</code></td>\n<td>echo from the previous response (optional)</td>\n</tr>\n<tr>\n<td><code>direction</code></td>\n<td>navigation direction: next or prev</td>\n</tr>\n<tr>\n<td><code>answer_ids</code></td>\n<td>the selected answer id(s); can be a CSV (e.g. 612,613) or array format (e.g. answer_ids[]=612&amp;answer_ids[]=616)</td>\n</tr>\n<tr>\n<td><code>free_text</code></td>\n<td>free-text answer for open-ended questions (optional)</td>\n</tr>\n<tr>\n<td><code>lang</code></td>\n<td>the language code for localised content (e.g. \"it\", \"en\", \"es\")</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","submit_recurring_questionnaire_answer"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"abdecb0c-de8d-4c87-a3a2-7cd7f92bf873","name":"submit_recurring_questionnaire_answer_response","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"},{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"questionnaire_id","value":"{{RECURRING_QUESTIONNAIRE_ID}}","description":"required - must have recurring = 1"},{"key":"recurring_questionnaire_session_id","value":"{{RECURRING_QUESTIONNAIRE_SESSION_ID}}","description":"required"},{"key":"start_new_round","value":"{{START_NEW_ROUND}}","description":"to be used to start a new round, otherwise it's required to pass round_id","type":"text","uuid":"69769f7d-6d62-46f7-acab-a22f98219782"},{"key":"round_id","value":"{{CURR_ROUND_ID}}","description":"continues an existing round"},{"key":"question_id","value":"{{CURR_RECURRING_QUESTION_ID}}","description":"0/none= first question; otherwise echo from previous answer"},{"key":"parent_answer_id","value":"","description":"echo from previous answer","disabled":true},{"key":"branch_origin_question_id","value":"","description":"echo from previous answer","disabled":true},{"key":"direction","value":"{{DIRECTION}}","description":"next or prev"},{"key":"answer_ids","value":"{{CURR_RECURRING_ANSWERS_IDS}}","description":"sected answer(s) Id(s). Can be a CSV (e.g. 612, 613) or array (e.g. answer_ids[]=612&answer_ids[]=616)"},{"key":"free_text","value":"","description":"for free-answers","disabled":true},{"key":"lang","value":"{{LANGUAGE}}","type":"text","uuid":"5714149f-a7a1-4730-b735-73d1e66b418c"}]},"url":"{{FRONTEND_BASE_URL}}/api/submit_recurring_questionnaire_answer"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 04 Jul 2026 11:20:09 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"1006"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"progress\": {\n        \"completed\": true,\n        \"question\": null,\n        \"questionnaire\": {\n            \"title\": \"Lifestyle\",\n            \"total_score\": 2,\n            \"answers\": [\n                {\n                    \"question_id\": \"138\",\n                    \"topic\": \"Your Diary\",\n                    \"question\": \"What did you do today?\",\n                    \"type\": \"multi\",\n                    \"answers\": [\n                        {\n                            \"answer_id\": \"612\",\n                            \"answer\": \"I exercised\"\n                        },\n                        {\n                            \"answer_id\": \"616\",\n                            \"answer\": \"I had dinner less than 3 hours before going to bed\"\n                        }\n                    ]\n                }\n            ],\n            \"profiles\": [\n                {\n                    \"title\": \"Physical Activity\",\n                    \"description\": \"\",\n                    \"prog\": \"2\"\n                },\n                {\n                    \"title\": \"Late dinner\",\n                    \"description\": \"\",\n                    \"prog\": \"6\"\n                }\n            ],\n            \"indications\": [],\n            \"questionnaire_id\": 10\n        },\n        \"round_id\": 214,\n        \"recurring_questionnaire_session\": {\n            \"id\": 2,\n            \"title\": \"My Recurring Questionnaire\",\n            \"annotations\": \"<p>This is an explaination of the functioning of the recurring questionnaire</p>\",\n            \"end_user_name\": \"Johnn\",\n            \"end_user_surname\": \"Smith\",\n            \"end_user_email\": \"my@email.com\",\n            \"public_url\": \"http://localhost/sleepacta_frontend/questionnaires/FOqsIffW\",\n            \"available_questionnaires\": [\n                {\n                    \"id\": \"10\",\n                    \"title\": \"Lifestyle\",\n                    \"description\": \"Lifestyle Monitoring\"\n                }\n            ]\n        }\n    }\n}"}],"_postman_id":"0f8e7961-80fd-430f-8d0d-d71fa2ff1112"}],"id":"9eac0c77-a323-4861-9dbc-76c813c33c4d","description":"<p>Contains the endpoints for managing questionnaires and their responses within the Sleepacta platform. It covers two distinct questionnaire types: one-shot questionnaires (linked to a shipment, delivery, exam, or device) and recurring questionnaires (linked to a recurring session with multiple rounds). The folder includes endpoints for listing and retrieving questionnaire structures, managing recurring sessions, submitting answers step by step, and reading previously submitted answers.</p>\n<p>Endpoints: get_questionnaires, get_questionnaire, get_recurring_questionnaire_sessions, get_recurring_questionnaire_session, get_questionnaire_answers, submit_oneshot_questionnaire_answer, submit_recurring_questionnaire_answer.</p>\n","_postman_id":"9eac0c77-a323-4861-9dbc-76c813c33c4d"},{"name":"Miscellaneous","item":[{"name":"version","id":"e86b3d90-23e3-4d56-a8c7-715488d6529d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{FRONTEND_BASE_URL}}/api/version","description":"<p>Retrieves the current version information of the API</p>\n","urlObject":{"path":["api","version"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"603304e5-4ada-4176-bd39-36e9d749cf40","name":"version_response","originalRequest":{"method":"GET","header":[],"url":"{{FRONTEND_BASE_URL}}/api/version"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 29 May 2025 15:00:28 GMT"},{"key":"Content-Type","value":"application/json;charset=utf-8"},{"key":"Content-Length","value":"206"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"X-Powered-By","value":"PHP/8.1.31"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Nel","value":"{\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}"},{"key":"Vary","value":"Accept-Encoding,User-Agent"},{"key":"Content-Encoding","value":"gzip"},{"key":"Server-Timing","value":"rt;dur=0.689;desc=Process-Time"},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=DE7RgBx469kXTxhu%2Bostvy1evBBKCGHAnC4rVvH0ytphqb%2B9yv86ZbiEIqsm9%2FqwW1EFosksx0DBKjbzvV5PLysil5bfPEkhP%2FrDPnb7eViMEKTxrSiaNCBljNxM9Q%3D%3D\"}]}"},{"key":"Set-Cookie","value":"PHPSESSID=rpp1qsr1v23b68jekfcq8bo34g; Path=/"},{"key":"CF-RAY","value":"9476dc896fd3c960-IAD"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"response\": {\n        \"api_data\": {\n            \"API version\": \"1.0\",\n            \"IP address\": \"10.0.1.36\",\n            \"server name\": \"partners-testing.sleepacta.com\",\n            \"server port\": \"80\"\n        },\n         \"signal_metadata\": {\n            \"firmware_version\": \"1.23.4\",\n            \"gui_version\": \"2.5.23\",\n            \"flasher_version\": \"1.5.2\"\n        },\n        \"signal_metadata_optional\": {\n            \"firmware_version\": \"1.23.4\",\n            \"gui_version\": \"2.5.23\",\n            \"flasher_version\": \"1.5.2\"\n        },\n        \"signal_gui_urls\": {\n            \"win_version\": \"https://www.sleepacta.com/signal_gui/signal_gui.exe\",\n            \"mac_version\": \"https://www.sleepacta.com/signal_gui/macos_signal_gui.dmg\"\n        },\n        \"signal_manuals\": {\n            \"ita_version\": \"https://partners.sleepacta.com/user_manual/Dormi_Signal_user_manual_ITA.pdf\",\n            \"eng_version\": \"https://partners.sleepacta.com/user_manual/Dormi_Signal_user_manual_ENG.pdf\",\n            \"datasheet\": \"https://partners.sleepacta.com/user_manual/signal_datasheet.pdf\"\n        },\n        \"documentation\": {\n            \"additional_analyses\": \"https://partners.sleepacta.com/user_manual/Dormi_Additional_Analyses_Documentation.pdf\",\n            \"human_activity_recognition\": \"https://partners.sleepacta.com/user_manual/Dormi_Human_Activity_Recognition.pdf\"\n        }\n    }\n}"}],"_postman_id":"e86b3d90-23e3-4d56-a8c7-715488d6529d"},{"name":"me","id":"bde34457-30b8-49b0-b474-aa0312a0f93c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/me","description":"<p>Retrieves the profile and session details of the authenticated user</p>\n","urlObject":{"path":["api","me"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"b55169c7-b39c-477a-bfd0-f115441009eb","name":"me_response","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/me"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 22 Apr 2026 07:08:53 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"521"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"response\": {\n        \"account_info\": {\n            \"account_id\": \"1\",\n            \"name\": \"My Name\",\n            \"username\": \"my-username\",\n            \"email\": \"my@email.com\",\n            \"notifications_language\": \"it\",\n            \"enabled\": \"1\",\n            \"can_create_exams\": \"1\",\n            \"can_view_exams\": \"1\",\n            \"can_report_exams\": \"1\",\n            \"has_admin_features\": \"1\",\n            \"can_access_billing_data\": \"1\",\n            \"can_create_devices\": \"0\",\n            \"can_receive_reporting_requests\": \"0\",\n            \"can_use_only_own_devices\": \"0\",\n            \"has_advanced_gui_options\": \"0\",\n            \"has_beta_firmware_access\": \"1\",\n            \"external_identifier\": \"my-external-id\",\n            \"skip_otp\": \"0\",\n            \"is_end_user\": \"0\",\n            \"age\": null,\n            \"weight\": null,\n            \"height\": null,\n            \"gender\": null\n        },\n        \"partner_info\": {\n            \"id\": \"5\",\n            \"partner_name\": \"Demo Partner\",\n            \"partner_timezone\": \"Europe/Rome\",\n            \"partner_dormi_apnea_mode\": \"lite\",\n            \"partner_additional_analysis\": \"altertness,circadian-modeling,cosinor-fitting,functional-linear-model,inertial-breathing-rate,inertial-heart-rate,non-parametric-variables,sleepiness,step-detection,temperature-apnea\",\n            \"partner_device_configurations\": [],\n            \"partner_minimum_firmware_version\": \"1.24.22\"\n        },\n        \"linked_partners\": [\n            {\n                \"partner_id\": \"6\",\n                \"partner_name\": \"Demo Partner\"\n            }\n        ],\n        \"terms_and_conditions\": {\n            \"approval_date\": \"2026-06-16 07:42:49\",\n            \"version\": \"v01.00\",\n            \"current_version\": \"v01.00\"\n        }\n    }\n}"}],"_postman_id":"bde34457-30b8-49b0-b474-aa0312a0f93c"},{"name":"get_partner_logo","id":"c9af86f5-0cdc-424b-843d-ad968c120234","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/get_partner_logo","description":"<p>Retrieves the logo image associated with the current partner</p>\n","urlObject":{"path":["api","get_partner_logo"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"c9af86f5-0cdc-424b-843d-ad968c120234"},{"name":"set_language","id":"05cdc82a-f469-497e-aedc-0baeb745ba16","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"<p>API authentication token in the format: APIauth: </p>\n"}],"body":{"mode":"raw","raw":"{\r\n    \"lang\": \"{{LANGUAGE}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/set_language","description":"<p>Set the preferred language for the currently logged account</p>\n<h3 id=\"body-parameters\">Body Parameters</h3>\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><code>lang</code></td>\n<td>can be \"it\", \"en\", \"es\", etc.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","set_language"],"host":["{{FRONTEND_BASE_URL}}"],"query":[],"variable":[]}},"response":[{"id":"99d30258-c01e-496a-8852-e02748f176c0","name":"set_language","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"APIauth: {{AUTH_TOKEN}}","description":"API authentication token in the format: APIauth: <token>"}],"body":{"mode":"raw","raw":"{\r\n    \"lang\": \"{{LANGUAGE}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{FRONTEND_BASE_URL}}/api/set_language_response"},"status":"OK","code":200,"_postman_previewlanguage":"","header":[{"key":"Date","value":"Thu, 11 Jun 2026 08:52:09 GMT"},{"key":"Server","value":"Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12"},{"key":"X-Powered-By","value":"PHP/8.2.12"},{"key":"Expires","value":"Thu, 19 Nov 1981 08:52:00 GMT"},{"key":"Cache-Control","value":"no-store, no-cache, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"63"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Content-Type","value":"application/json;charset=utf-8"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"error\": false,\n    \"message\": \"Operation executed.\",\n    \"language\": \"en\"\n}"}],"_postman_id":"05cdc82a-f469-497e-aedc-0baeb745ba16"}],"id":"b4baad7c-d1e9-47b8-bea2-cf79ea613469","description":"<p>Contains utility endpoints that provide general-purpose information about the API and the authenticated user's context.</p>\n<ul>\n<li><p><strong><code>version</code></strong>: Returns the current version of the API. This is a public endpoint and does not require authentication.</p>\n</li>\n<li><p><strong><code>me</code></strong>: Returns profile and context information for the currently authenticated user.</p>\n</li>\n<li><p><strong><code>get_partner_logo</code></strong>: Returns the logo of the partner associated with the current session, in JPG/PNG format.</p>\n</li>\n</ul>\n<p>Authenticated endpoints require a valid token in the <code>Authorization</code> header using the <code>APIauth:</code> prefix.</p>\n","_postman_id":"b4baad7c-d1e9-47b8-bea2-cf79ea613469"}],"event":[{"listen":"prerequest","script":{"id":"f877540e-99da-4431-a711-c7a602f25412","type":"text/javascript","packages":{},"requests":{},"exec":[""]}},{"listen":"test","script":{"id":"814a6980-2bd9-4053-a4e8-eb84a61d98ca","type":"text/javascript","packages":{},"requests":{},"exec":[""]}}],"variable":[{"key":"FRONTEND_BASE_URL","value":"https://partners.sleepacta.com","disabled":true}]}