{
  "info": {
    "_postman_id": "04be63e3-5b7b-49c0-99f6-95eefaa8c081",
    "name": "WalkGuide API",
    "description": "Postman collection untuk testing WalkGuide API. Gunakan variabel {{baseUrl}} dan {{token}}.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "_exporter_id": "48307750",
    "_collection_link": "https://go.postman.co/collection/48307750-04be63e3-5b7b-49c0-99f6-95eefaa8c081?source=collection_link"
  },
  "item": [
    {
      "name": "Auth",
      "item": [
        {
          "name": "Ping (Health Check)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/ping",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "auth",
                "ping"
              ]
            }
          },
          "response": [
            {
              "name": "Ping (Health Check)",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/auth/ping",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "auth",
                    "ping"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:12:09 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": \"pong\",\n    \"message\": \"Server aktif\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:12:09.107875400Z\"\n}"
            }
          ]
        },
        {
          "name": "Register",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"user@example.com\",\n  \"password\": \"password123\",\n  \"displayName\": \"Budi Santoso\",\n  \"role\": \"USER\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/register",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "auth",
                "register"
              ]
            }
          },
          "response": [
            {
              "name": "Register",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"email\": \"budi2@example.com\",\n  \"password\": \"password123\",\n  \"displayName\": \"Budi Santoso\",\n  \"role\": \"USER\"\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/auth/register",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "auth",
                    "register"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:24:22 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"accessToken\": \"eyJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiUk9MRV9VU0VSIiwidXNlcklkIjo3MzYsInN1YiI6ImJ1ZGkyQGV4YW1wbGUuY29tIiwiaWF0IjoxNzc5MDA2MjYwLCJleHAiOjE3NzkwMDk4NjB9.9RWY8u7f7HC1p9gC84uioqfi2CuWt-C7aYi0ZWJwilo\",\n        \"refreshToken\": \"82c630ef-f556-444d-b422-40cb953c31ee-8385755f-4c5a-470f-8f2e-014ee880d133\",\n        \"role\": \"ROLE_USER\",\n        \"userId\": 736,\n        \"displayName\": \"Budi Santoso\",\n        \"uniqueUserId\": \"72HGEIW5F9WI\"\n    },\n    \"message\": \"Registrasi berhasil\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:24:22.309033100Z\"\n}"
            }
          ]
        },
        {
          "name": "Register (Guardian)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"guardian@example.com\",\n  \"password\": \"password123\",\n  \"displayName\": \"Siti Rahayu\",\n  \"role\": \"GUARDIAN\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/register",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "auth",
                "register"
              ]
            }
          },
          "response": [
            {
              "name": "Register (Guardian)",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"email\": \"guardian@example.com\",\n  \"password\": \"password123\",\n  \"displayName\": \"Siti Rahayu\",\n  \"role\": \"GUARDIAN\"\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/auth/register",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "auth",
                    "register"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:12:50 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"accessToken\": \"eyJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiUk9MRV9HVUFSRElBTiIsInVzZXJJZCI6NzM1LCJzdWIiOiJndWFyZGlhbkBleGFtcGxlLmNvbSIsImlhdCI6MTc3OTAwNTU3MCwiZXhwIjoxNzc5MDA5MTcwfQ.swiGGgNyqN6QiGDauumof8TPLZZX9K2XGvXVKr283eA\",\n        \"refreshToken\": \"cc5e116d-cf69-4761-a570-ba610c894b09-13dd0d05-c154-428c-ac42-8509fef0a7a9\",\n        \"role\": \"ROLE_GUARDIAN\",\n        \"userId\": 735,\n        \"displayName\": \"Siti Rahayu\",\n        \"uniqueUserId\": null\n    },\n    \"message\": \"Registrasi berhasil\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:12:50.736607500Z\"\n}"
            },
            {
              "name": "Register (Guardian)",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"email\": \"guardian2@example.com\",\n  \"password\": \"password123\",\n  \"displayName\": \"Siti Rahayu\",\n  \"role\": \"GUARDIAN\"\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/auth/register",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "auth",
                    "register"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:32:12 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"accessToken\": \"eyJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiUk9MRV9HVUFSRElBTiIsInVzZXJJZCI6NzM3LCJzdWIiOiJndWFyZGlhbjJAZXhhbXBsZS5jb20iLCJpYXQiOjE3NzkwMDY3MzEsImV4cCI6MTc3OTAxMDMzMX0.SOJG_puNWOZQQporgyClzzW6YMbtW0LsSME6fqFw8dQ\",\n        \"refreshToken\": \"7d035305-45a8-4154-b4ce-ef1f09064dc9-b5da5c4c-772a-4886-9085-aec2974ce01e\",\n        \"role\": \"ROLE_GUARDIAN\",\n        \"userId\": 737,\n        \"displayName\": \"Siti Rahayu\",\n        \"uniqueUserId\": null\n    },\n    \"message\": \"Registrasi berhasil\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:32:12.086151200Z\"\n}"
            }
          ]
        },
        {
          "name": "Login",
          "event": [
            {
              "listen": "test",
              "script": {
                "exec": [
                  "var json = pm.response.json();",
                  "if (json.data && json.data.accessToken) {",
                  "    pm.collectionVariables.set('token', json.data.accessToken);",
                  "    pm.collectionVariables.set('refreshToken', json.data.refreshToken);",
                  "}"
                ],
                "type": "text/javascript"
              }
            }
          ],
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"user@example.com\",\n  \"password\": \"password123\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/login",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "auth",
                "login"
              ]
            }
          },
          "response": [
            {
              "name": "Login",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"email\": \"user@example.com\",\n  \"password\": \"password123\"\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/auth/login",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "auth",
                    "login"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:12:59 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"accessToken\": \"eyJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiUk9MRV9VU0VSIiwidXNlcklkIjo3MzQsInN1YiI6InVzZXJAZXhhbXBsZS5jb20iLCJpYXQiOjE3NzkwMDU1NzksImV4cCI6MTc3OTAwOTE3OX0.SWm0yMJ3ANggmTiYrVE6sBf_apb8ip-DL9q-zcRwBqY\",\n        \"refreshToken\": \"ff007b99-89be-4925-bc55-420224cb9f39-bc869f72-f978-47f3-8c32-81e5d8dae3a6\",\n        \"role\": \"ROLE_USER\",\n        \"userId\": 734,\n        \"displayName\": \"John Doe\",\n        \"uniqueUserId\": \"2Q9DUIN649IA\"\n    },\n    \"message\": \"Login berhasil\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:12:59.932871200Z\"\n}"
            },
            {
              "name": "Login",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"email\": \"guardian@example.com\",\n  \"password\": \"password123\"\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/auth/login",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "auth",
                    "login"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:38:14 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"accessToken\": \"eyJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiUk9MRV9HVUFSRElBTiIsInVzZXJJZCI6NzM1LCJzdWIiOiJndWFyZGlhbkBleGFtcGxlLmNvbSIsImlhdCI6MTc3OTAwNzA5NCwiZXhwIjoxNzc5MDEwNjk0fQ.vs95nxc75dTt5Mb80rKJC_Jf8X3UXLN_oFZKJ3zQtIw\",\n        \"refreshToken\": \"8f971b90-d72e-4810-bbec-cf8a4f8f4df8-5252732d-ed8c-46e3-bd61-f43fc7cf099f\",\n        \"role\": \"ROLE_GUARDIAN\",\n        \"userId\": 735,\n        \"displayName\": \"Siti Rahayu\",\n        \"uniqueUserId\": null\n    },\n    \"message\": \"Login berhasil\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:38:14.633973Z\"\n}"
            }
          ]
        },
        {
          "name": "Refresh Token",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"refreshToken\": \"{{refreshToken}}\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/refresh",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "auth",
                "refresh"
              ]
            }
          },
          "response": [
            {
              "name": "Refresh Token",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"refreshToken\": \"{{refreshToken}}\"\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/auth/refresh",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "auth",
                    "refresh"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:13:08 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"accessToken\": \"eyJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiUk9MRV9VU0VSIiwidXNlcklkIjo3MzQsInN1YiI6InVzZXJAZXhhbXBsZS5jb20iLCJpYXQiOjE3NzkwMDU1ODgsImV4cCI6MTc3OTAwOTE4OH0.Z4dkQlQ7rpTo8c6TjrfQYAo8ShYDvMQGKyPu2lciD08\",\n        \"refreshToken\": \"ff007b99-89be-4925-bc55-420224cb9f39-bc869f72-f978-47f3-8c32-81e5d8dae3a6\",\n        \"role\": \"ROLE_USER\",\n        \"userId\": 734,\n        \"displayName\": \"John Doe\",\n        \"uniqueUserId\": \"2Q9DUIN649IA\"\n    },\n    \"message\": \"Token diperbarui\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:13:08.198550200Z\"\n}"
            }
          ]
        },
        {
          "name": "Logout",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/logout",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "auth",
                "logout"
              ]
            }
          },
          "response": [
            {
              "name": "Logout",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/auth/logout",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "auth",
                    "logout"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:14:50 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": null,\n    \"message\": \"Logout berhasil\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:14:50.532163Z\"\n}"
            }
          ]
        },
        {
          "name": "Update FCM Token",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"fcmToken\": \"fcm-device-token-here\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/auth/fcm-token",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "auth",
                "fcm-token"
              ]
            }
          },
          "response": [
            {
              "name": "Update FCM Token",
              "originalRequest": {
                "method": "PUT",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"fcmToken\": \"fcm-device-token-here\"\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/auth/fcm-token",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "auth",
                    "fcm-token"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:15:32 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": null,\n    \"message\": \"FCM token diperbarui\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:15:32.533304800Z\"\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "User",
      "item": [
        {
          "name": "Get Profile",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/user/profile",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "user",
                "profile"
              ]
            }
          },
          "response": [
            {
              "name": "Get Profile",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/user/profile",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "user",
                    "profile"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:15:49 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"uniqueUserId\": \"2Q9DUIN649IA\",\n        \"email\": \"user@example.com\",\n        \"displayName\": \"John Doe\",\n        \"role\": \"ROLE_USER\",\n        \"id\": 734\n    },\n    \"message\": \"Profil user\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:15:49.526872800Z\"\n}"
            }
          ]
        },
        {
          "name": "Get Settings",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/user/settings",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "user",
                "settings"
              ]
            }
          },
          "response": [
            {
              "name": "Get Settings",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/user/settings",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "user",
                    "settings"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:16:05 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"id\": 727,\n        \"ttsLanguage\": \"id-ID\",\n        \"ttsPitch\": 1,\n        \"ttsSpeed\": 0.9,\n        \"warnNoGuardian\": true,\n        \"hapticEnabled\": true\n    },\n    \"message\": \"Settings user\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:16:05.574702200Z\"\n}"
            }
          ]
        },
        {
          "name": "Update Settings",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"ttsLanguage\": \"id-ID\",\n  \"ttsPitch\": 1.0,\n  \"ttsSpeed\": 1.0,\n  \"warnNoGuardian\": true,\n  \"hapticEnabled\": true\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/user/settings",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "user",
                "settings"
              ]
            }
          },
          "response": [
            {
              "name": "Update Settings",
              "originalRequest": {
                "method": "PUT",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"ttsLanguage\": \"id-ID\",\n  \"ttsPitch\": 1.0,\n  \"ttsSpeed\": 1.0,\n  \"warnNoGuardian\": true,\n  \"hapticEnabled\": true\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/user/settings",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "user",
                    "settings"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:16:20 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"id\": 727,\n        \"ttsLanguage\": \"id-ID\",\n        \"ttsPitch\": 1,\n        \"ttsSpeed\": 1,\n        \"warnNoGuardian\": true,\n        \"hapticEnabled\": true\n    },\n    \"message\": \"Settings diperbarui\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:16:20.149708700Z\"\n}"
            }
          ]
        },
        {
          "name": "Get Voice Commands",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/user/voice-commands",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "user",
                "voice-commands"
              ]
            }
          },
          "response": [
            {
              "name": "Get Voice Commands",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/user/voice-commands",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "user",
                    "voice-commands"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:16:34 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": [],\n    \"message\": \"Voice commands\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:16:34.882890800Z\"\n}"
            }
          ]
        },
        {
          "name": "Get Hardware Shortcuts",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/user/shortcuts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "user",
                "shortcuts"
              ]
            }
          },
          "response": [
            {
              "name": "Get Hardware Shortcuts",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/user/shortcuts",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "user",
                    "shortcuts"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:16:53 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": [],\n    \"message\": \"Hardware shortcuts\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:16:53.083083800Z\"\n}"
            },
            {
              "name": "Get Hardware Shortcuts",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/user/shortcuts",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "user",
                    "shortcuts"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:25:08 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": [\n        {\n            \"id\": 11,\n            \"shortcutKey\": \"CALL_GUARDIAN\",\n            \"buttonName\": null,\n            \"buttonCode\": null,\n            \"enabled\": true\n        },\n        {\n            \"id\": 12,\n            \"shortcutKey\": \"START_WALKGUIDE\",\n            \"buttonName\": null,\n            \"buttonCode\": null,\n            \"enabled\": true\n        },\n        {\n            \"id\": 13,\n            \"shortcutKey\": \"SEND_SOS\",\n            \"buttonName\": null,\n            \"buttonCode\": null,\n            \"enabled\": true\n        },\n        {\n            \"id\": 14,\n            \"shortcutKey\": \"STOP_WALKGUIDE\",\n            \"buttonName\": null,\n            \"buttonCode\": null,\n            \"enabled\": true\n        },\n        {\n            \"id\": 15,\n            \"shortcutKey\": \"OPEN_NOTIFICATION\",\n            \"buttonName\": null,\n            \"buttonCode\": null,\n            \"enabled\": true\n        }\n    ],\n    \"message\": \"Hardware shortcuts\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:25:08.257459100Z\"\n}"
            }
          ]
        },
        {
          "name": "Update Hardware Shortcut",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"shortcutKey\": \"CALL_GUARDIAN\",\n  \"buttonName\": \"Volume Up\",\n  \"buttonCode\": 24,\n  \"enabled\": true\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/user/shortcuts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "user",
                "shortcuts"
              ]
            }
          },
          "response": [
            {
              "name": "Update Hardware Shortcut",
              "originalRequest": {
                "method": "PUT",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"shortcutKey\": \"CALL_GUARDIAN\",\n  \"buttonName\": \"Volume Up\",\n  \"buttonCode\": 24,\n  \"enabled\": true\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/user/shortcuts",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "user",
                    "shortcuts"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:26:27 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"id\": 11,\n        \"shortcutKey\": \"CALL_GUARDIAN\",\n        \"buttonName\": \"Volume Up\",\n        \"buttonCode\": 24,\n        \"enabled\": true\n    },\n    \"message\": \"Shortcut diperbarui\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:26:27.808175100Z\"\n}"
            }
          ]
        },
        {
          "name": "Get AI Config",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/user/ai-config",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "user",
                "ai-config"
              ]
            }
          },
          "response": [
            {
              "name": "Get AI Config",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/user/ai-config",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "user",
                    "ai-config"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:26:57 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"id\": 6,\n        \"confidenceThreshold\": 0.5,\n        \"alertDistanceClose\": 1.5,\n        \"alertDistanceMedium\": 3,\n        \"maxInferenceFps\": 5,\n        \"enabledLabels\": \"ALL\"\n    },\n    \"message\": \"AI config\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:26:57.230981700Z\"\n}"
            }
          ]
        },
        {
          "name": "Update Location",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lat\": -7.2575,\n  \"lng\": 112.7521,\n  \"accuracy\": 10.5,\n  \"speed\": 1.2,\n  \"heading\": 90.0\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/user/location",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "user",
                "location"
              ]
            }
          },
          "response": [
            {
              "name": "Update Location",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"lat\": -7.2575,\n  \"lng\": 112.7521,\n  \"accuracy\": 10.5,\n  \"speed\": 1.2,\n  \"heading\": 90.0\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/user/location",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "user",
                    "location"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:27:14 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"id\": 3,\n        \"lat\": -7.2575,\n        \"lng\": 112.7521,\n        \"accuracy\": 10.5,\n        \"speed\": 1.2,\n        \"heading\": 90,\n        \"createdAt\": \"2026-05-17T15:27:14.6184828\"\n    },\n    \"message\": \"Lokasi diperbarui\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:27:14.921951Z\"\n}"
            }
          ]
        },
        {
          "name": "Log Obstacle",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"label\": \"car\",\n  \"confidence\": 0.92,\n  \"direction\": \"front\",\n  \"estimatedDist\": \"2m\",\n  \"lat\": -7.2575,\n  \"lng\": 112.7521\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/user/obstacle",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "user",
                "obstacle"
              ]
            }
          },
          "response": [
            {
              "name": "Log Obstacle",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"label\": \"car\",\n  \"confidence\": 0.92,\n  \"direction\": \"front\",\n  \"estimatedDist\": \"2m\",\n  \"lat\": -7.2575,\n  \"lng\": 112.7521\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/user/obstacle",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "user",
                    "obstacle"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:27:33 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"id\": 8,\n        \"label\": \"car\",\n        \"confidence\": 0.92,\n        \"direction\": \"front\",\n        \"estimatedDist\": \"2m\",\n        \"lat\": -7.2575,\n        \"lng\": 112.7521,\n        \"createdAt\": \"2026-05-17T15:27:32.6965729\"\n    },\n    \"message\": \"Obstacle dicatat\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:27:33.118746Z\"\n}"
            }
          ]
        },
        {
          "name": "Trigger SOS",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"triggerType\": \"MANUAL\",\n  \"lat\": -7.2575,\n  \"lng\": 112.7521\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/user/sos",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "user",
                "sos"
              ]
            }
          },
          "response": [
            {
              "name": "Trigger SOS",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"triggerType\": \"MANUAL\",\n  \"lat\": -7.2575,\n  \"lng\": 112.7521\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/user/sos",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "user",
                    "sos"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:27:52 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"id\": 4,\n        \"userId\": 736,\n        \"triggerType\": \"MANUAL\",\n        \"lat\": -7.2575,\n        \"lng\": 112.7521,\n        \"status\": \"TRIGGERED\",\n        \"acknowledgedAt\": null,\n        \"createdAt\": \"2026-05-17T15:27:51.995202\"\n    },\n    \"message\": \"SOS dikirim! Guardian sudah diberitahu.\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:27:52.369127400Z\"\n}"
            }
          ]
        },
        {
          "name": "Get Activity Logs",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/user/activity-logs?page=0&size=20",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "user",
                "activity-logs"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                }
              ]
            }
          },
          "response": [
            {
              "name": "Get Activity Logs",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/user/activity-logs?page=0&size=20",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "user",
                    "activity-logs"
                  ],
                  "query": [
                    {
                      "key": "page",
                      "value": "0"
                    },
                    {
                      "key": "size",
                      "value": "20"
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:28:14 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"content\": [\n            {\n                \"id\": 1510,\n                \"logType\": \"SOS_TRIGGERED\",\n                \"description\": \"SOS dikirim via MANUAL\",\n                \"metadata\": null,\n                \"createdAt\": \"2026-05-17T15:27:52.162779\"\n            },\n            {\n                \"id\": 1509,\n                \"logType\": \"OBSTACLE_DETECTED\",\n                \"description\": \"Obstacle terdeteksi: car (front)\",\n                \"metadata\": \"{\\\"label\\\":\\\"car\\\",\\\"direction\\\":\\\"front\\\",\\\"dist\\\":\\\"2m\\\",\\\"confidence\\\":0.92}\",\n                \"createdAt\": \"2026-05-17T15:27:32.970501\"\n            }\n        ],\n        \"pageable\": {\n            \"pageNumber\": 0,\n            \"pageSize\": 20,\n            \"sort\": {\n                \"empty\": true,\n                \"sorted\": false,\n                \"unsorted\": true\n            },\n            \"offset\": 0,\n            \"paged\": true,\n            \"unpaged\": false\n        },\n        \"last\": true,\n        \"totalPages\": 1,\n        \"totalElements\": 2,\n        \"first\": true,\n        \"size\": 20,\n        \"number\": 0,\n        \"sort\": {\n            \"empty\": true,\n            \"sorted\": false,\n            \"unsorted\": true\n        },\n        \"numberOfElements\": 2,\n        \"empty\": false\n    },\n    \"message\": \"Log aktivitas\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:28:14.875624100Z\"\n}"
            }
          ]
        },
        {
          "name": "Get Notifications",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/user/notifications?page=0&size=20",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "user",
                "notifications"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                }
              ]
            }
          },
          "response": [
            {
              "name": "Get Notifications",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/user/notifications?page=0&size=20",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "user",
                    "notifications"
                  ],
                  "query": [
                    {
                      "key": "page",
                      "value": "0"
                    },
                    {
                      "key": "size",
                      "value": "20"
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:28:34 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"content\": [],\n        \"pageable\": {\n            \"pageNumber\": 0,\n            \"pageSize\": 20,\n            \"sort\": {\n                \"empty\": true,\n                \"sorted\": false,\n                \"unsorted\": true\n            },\n            \"offset\": 0,\n            \"paged\": true,\n            \"unpaged\": false\n        },\n        \"last\": true,\n        \"totalPages\": 0,\n        \"totalElements\": 0,\n        \"first\": true,\n        \"size\": 20,\n        \"number\": 0,\n        \"sort\": {\n            \"empty\": true,\n            \"sorted\": false,\n            \"unsorted\": true\n        },\n        \"numberOfElements\": 0,\n        \"empty\": true\n    },\n    \"message\": \"Notifikasi\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:28:34.076792900Z\"\n}"
            }
          ]
        },
        {
          "name": "Get Unread Notification Count",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/user/notifications/unread-count",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "user",
                "notifications",
                "unread-count"
              ]
            }
          },
          "response": [
            {
              "name": "Get Unread Notification Count",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/user/notifications/unread-count",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "user",
                    "notifications",
                    "unread-count"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:28:55 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": 0,\n    \"message\": \"Jumlah notifikasi belum dibaca\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:28:55.537546100Z\"\n}"
            }
          ]
        },
        {
          "name": "Mark All Notifications Read",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/user/notifications/mark-all-read",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "user",
                "notifications",
                "mark-all-read"
              ]
            }
          },
          "response": [
            {
              "name": "Mark All Notifications Read",
              "originalRequest": {
                "method": "PUT",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/user/notifications/mark-all-read",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "user",
                    "notifications",
                    "mark-all-read"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:29:16 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": null,\n    \"message\": \"Semua notifikasi ditandai sudah dibaca\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:29:16.637186Z\"\n}"
            }
          ]
        },
        {
          "name": "Mark One Notification Read",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/user/notifications/1/read",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "user",
                "notifications",
                "1",
                "read"
              ]
            }
          },
          "response": [
            {
              "name": "Mark One Notification Read",
              "originalRequest": {
                "method": "PUT",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/user/notifications/1/read",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "user",
                    "notifications",
                    "1",
                    "read"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:29:37 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": null,\n    \"message\": \"Notifikasi ditandai sudah dibaca\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:29:37.117488700Z\"\n}"
            }
          ]
        },
        {
          "name": "WalkGuide Start",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/user/walkguide/start",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "user",
                "walkguide",
                "start"
              ]
            }
          },
          "response": [
            {
              "name": "WalkGuide Start",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/user/walkguide/start",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "user",
                    "walkguide",
                    "start"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:29:56 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": null,\n    \"message\": \"WalkGuide dimulai\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:29:56.755781300Z\"\n}"
            }
          ]
        },
        {
          "name": "WalkGuide Stop",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/user/walkguide/stop",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "user",
                "walkguide",
                "stop"
              ]
            }
          },
          "response": [
            {
              "name": "WalkGuide Stop",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/user/walkguide/stop",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "user",
                    "walkguide",
                    "stop"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:30:20 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": null,\n    \"message\": \"WalkGuide dihentikan\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:30:20.509510300Z\"\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Guardian",
      "item": [
        {
          "name": "Get Dashboard",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/guardian/dashboard",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "guardian",
                "dashboard"
              ]
            }
          },
          "response": [
            {
              "name": "Get Dashboard",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/guardian/dashboard",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "guardian",
                    "dashboard"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:33:03 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"pairedUserId\": null,\n        \"pairedUserName\": null,\n        \"pairedUserEmail\": null,\n        \"uniqueUserId\": null,\n        \"lastLocation\": null,\n        \"unreadSosCount\": 0,\n        \"unreadNotifCount\": 0,\n        \"recentActivity\": []\n    },\n    \"message\": \"Dashboard Guardian\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:33:03.071330800Z\"\n}"
            }
          ]
        },
        {
          "name": "Get User Location",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/guardian/user-location",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "guardian",
                "user-location"
              ]
            }
          },
          "response": [
            {
              "name": "Get User Location",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/guardian/user-location",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "guardian",
                    "user-location"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:33:31 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": null,\n    \"message\": \"Lokasi terakhir user\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:33:31.948646Z\"\n}"
            }
          ]
        },
        {
          "name": "Get Location History",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/guardian/location-history?page=0&size=50",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "guardian",
                "location-history"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "50"
                }
              ]
            }
          },
          "response": [
            {
              "name": "Get Location History",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/guardian/location-history?page=0&size=50",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "guardian",
                    "location-history"
                  ],
                  "query": [
                    {
                      "key": "page",
                      "value": "0"
                    },
                    {
                      "key": "size",
                      "value": "50"
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:33:55 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"content\": [],\n        \"pageable\": {\n            \"pageNumber\": 0,\n            \"pageSize\": 50,\n            \"sort\": {\n                \"empty\": false,\n                \"sorted\": true,\n                \"unsorted\": false\n            },\n            \"offset\": 0,\n            \"paged\": true,\n            \"unpaged\": false\n        },\n        \"last\": true,\n        \"totalPages\": 0,\n        \"totalElements\": 0,\n        \"first\": true,\n        \"size\": 50,\n        \"number\": 0,\n        \"sort\": {\n            \"empty\": false,\n            \"sorted\": true,\n            \"unsorted\": false\n        },\n        \"numberOfElements\": 0,\n        \"empty\": true\n    },\n    \"message\": \"Riwayat lokasi\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:33:55.315007300Z\"\n}"
            }
          ]
        },
        {
          "name": "Get Activity Logs",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/guardian/activity-logs?page=0&size=20",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "guardian",
                "activity-logs"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                }
              ]
            }
          },
          "response": [
            {
              "name": "Get Activity Logs",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/guardian/activity-logs?page=0&size=20",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "guardian",
                    "activity-logs"
                  ],
                  "query": [
                    {
                      "key": "page",
                      "value": "0"
                    },
                    {
                      "key": "size",
                      "value": "20"
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:41:59 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"content\": [\n            {\n                \"id\": 1516,\n                \"logType\": \"PAIRING_ACCEPTED\",\n                \"description\": \"User menerima pairing dengan Guardian Siti Rahayu\",\n                \"metadata\": null,\n                \"createdAt\": \"2026-05-17T15:41:38.167364\"\n            },\n            {\n                \"id\": 1513,\n                \"logType\": \"LOGIN\",\n                \"description\": \"User login\",\n                \"metadata\": null,\n                \"createdAt\": \"2026-05-17T15:36:19.057155\"\n            },\n            {\n                \"id\": 1508,\n                \"logType\": \"LOGIN\",\n                \"description\": \"User login\",\n                \"metadata\": null,\n                \"createdAt\": \"2026-05-17T15:15:18.58048\"\n            },\n            {\n                \"id\": 1507,\n                \"logType\": \"LOGOUT\",\n                \"description\": \"User logout\",\n                \"metadata\": null,\n                \"createdAt\": \"2026-05-17T15:14:50.333068\"\n            },\n            {\n                \"id\": 1506,\n                \"logType\": \"LOGIN\",\n                \"description\": \"User login\",\n                \"metadata\": null,\n                \"createdAt\": \"2026-05-17T15:12:59.597611\"\n            }\n        ],\n        \"pageable\": {\n            \"pageNumber\": 0,\n            \"pageSize\": 20,\n            \"sort\": {\n                \"empty\": true,\n                \"sorted\": false,\n                \"unsorted\": true\n            },\n            \"offset\": 0,\n            \"paged\": true,\n            \"unpaged\": false\n        },\n        \"last\": true,\n        \"totalPages\": 1,\n        \"totalElements\": 5,\n        \"first\": true,\n        \"size\": 20,\n        \"number\": 0,\n        \"sort\": {\n            \"empty\": true,\n            \"sorted\": false,\n            \"unsorted\": true\n        },\n        \"numberOfElements\": 5,\n        \"empty\": false\n    },\n    \"message\": \"Log aktivitas user\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:41:59.213054Z\"\n}"
            }
          ]
        },
        {
          "name": "Get Obstacle Logs",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/guardian/obstacle-logs?page=0&size=20",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "guardian",
                "obstacle-logs"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                }
              ]
            }
          },
          "response": [
            {
              "name": "Get Obstacle Logs",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/guardian/obstacle-logs?page=0&size=20",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "guardian",
                    "obstacle-logs"
                  ],
                  "query": [
                    {
                      "key": "page",
                      "value": "0"
                    },
                    {
                      "key": "size",
                      "value": "20"
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:43:15 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"content\": [],\n        \"pageable\": {\n            \"pageNumber\": 0,\n            \"pageSize\": 20,\n            \"sort\": {\n                \"empty\": true,\n                \"sorted\": false,\n                \"unsorted\": true\n            },\n            \"offset\": 0,\n            \"paged\": true,\n            \"unpaged\": false\n        },\n        \"last\": true,\n        \"totalPages\": 0,\n        \"totalElements\": 0,\n        \"first\": true,\n        \"size\": 20,\n        \"number\": 0,\n        \"sort\": {\n            \"empty\": true,\n            \"sorted\": false,\n            \"unsorted\": true\n        },\n        \"numberOfElements\": 0,\n        \"empty\": true\n    },\n    \"message\": \"Log obstacle user\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:43:15.379233100Z\"\n}"
            }
          ]
        },
        {
          "name": "Send Notification to User",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"notifType\": \"TEXT\",\n  \"content\": \"Hati-hati di persimpangan!\",\n  \"voiceNoteUrl\": null,\n  \"voiceNoteDuration\": null\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/guardian/notifications/send",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "guardian",
                "notifications",
                "send"
              ]
            }
          },
          "response": [
            {
              "name": "Send Notification to User",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"notifType\": \"TEXT\",\n  \"content\": \"Hati-hati di persimpangan!\",\n  \"voiceNoteUrl\": null,\n  \"voiceNoteDuration\": null\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/guardian/notifications/send",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "guardian",
                    "notifications",
                    "send"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:43:37 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"id\": 1,\n        \"notifType\": \"TEXT\",\n        \"content\": \"Hati-hati di persimpangan!\",\n        \"voiceNoteUrl\": null,\n        \"voiceNoteDuration\": null,\n        \"isRead\": false,\n        \"readAt\": null,\n        \"createdAt\": \"2026-05-17T15:43:37.7264323\"\n    },\n    \"message\": \"Notifikasi terkirim\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:43:37.942978500Z\"\n}"
            }
          ]
        },
        {
          "name": "Get SOS Events",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/guardian/sos-events?page=0&size=20",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "guardian",
                "sos-events"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "0"
                },
                {
                  "key": "size",
                  "value": "20"
                }
              ]
            }
          },
          "response": [
            {
              "name": "Get SOS Events",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/guardian/sos-events?page=0&size=20",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "guardian",
                    "sos-events"
                  ],
                  "query": [
                    {
                      "key": "page",
                      "value": "0"
                    },
                    {
                      "key": "size",
                      "value": "20"
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:45:07 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"content\": [],\n        \"pageable\": {\n            \"pageNumber\": 0,\n            \"pageSize\": 20,\n            \"sort\": {\n                \"empty\": true,\n                \"sorted\": false,\n                \"unsorted\": true\n            },\n            \"offset\": 0,\n            \"unpaged\": false,\n            \"paged\": true\n        },\n        \"last\": true,\n        \"totalPages\": 0,\n        \"totalElements\": 0,\n        \"size\": 20,\n        \"number\": 0,\n        \"sort\": {\n            \"empty\": true,\n            \"sorted\": false,\n            \"unsorted\": true\n        },\n        \"first\": true,\n        \"numberOfElements\": 0,\n        \"empty\": true\n    },\n    \"message\": \"SOS events\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:45:07.527902500Z\"\n}"
            }
          ]
        },
        {
          "name": "Acknowledge SOS",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/guardian/sos/1/acknowledge",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "guardian",
                "sos",
                "1",
                "acknowledge"
              ]
            }
          },
          "response": [
            {
              "name": "Acknowledge SOS",
              "originalRequest": {
                "method": "PUT",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/guardian/sos/1/acknowledge",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "guardian",
                    "sos",
                    "1",
                    "acknowledge"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:45:37 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"id\": 1,\n        \"userId\": 8,\n        \"triggerType\": \"MANUAL\",\n        \"lat\": -7.2575,\n        \"lng\": 112.7521,\n        \"status\": \"ACKNOWLEDGED\",\n        \"acknowledgedAt\": \"2026-05-17T15:45:36.7476425\",\n        \"createdAt\": \"2026-05-07T09:59:44.52949\"\n    },\n    \"message\": \"SOS diakui\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:45:37.207351700Z\"\n}"
            }
          ]
        },
        {
          "name": "Get AI Config",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/guardian/ai-config",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "guardian",
                "ai-config"
              ]
            }
          },
          "response": [
            {
              "name": "Get AI Config",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/guardian/ai-config",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "guardian",
                    "ai-config"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:46:07 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"id\": 8,\n        \"confidenceThreshold\": 0.5,\n        \"alertDistanceClose\": 1.5,\n        \"alertDistanceMedium\": 3,\n        \"maxInferenceFps\": 5,\n        \"enabledLabels\": \"ALL\"\n    },\n    \"message\": \"AI config\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:46:07.097221900Z\"\n}"
            }
          ]
        },
        {
          "name": "Update AI Config",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"confidenceThreshold\": 0.7,\n  \"alertDistanceClose\": 1.5,\n  \"alertDistanceMedium\": 3.0,\n  \"maxInferenceFps\": 10,\n  \"enabledLabels\": \"car,truck,motorcycle,person,bicycle\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/guardian/ai-config",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "guardian",
                "ai-config"
              ]
            }
          },
          "response": [
            {
              "name": "Update AI Config",
              "originalRequest": {
                "method": "PUT",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"confidenceThreshold\": 0.7,\n  \"alertDistanceClose\": 1.5,\n  \"alertDistanceMedium\": 3.0,\n  \"maxInferenceFps\": 10,\n  \"enabledLabels\": \"car,truck,motorcycle,person,bicycle\"\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/guardian/ai-config",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "guardian",
                    "ai-config"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:46:34 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"id\": 7,\n        \"confidenceThreshold\": 0.7,\n        \"alertDistanceClose\": 1.5,\n        \"alertDistanceMedium\": 3,\n        \"maxInferenceFps\": 10,\n        \"enabledLabels\": \"car,truck,motorcycle,person,bicycle\"\n    },\n    \"message\": \"AI config diperbarui\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:46:34.367357600Z\"\n}"
            }
          ]
        },
        {
          "name": "Get Voice Commands",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/guardian/voice-commands",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "guardian",
                "voice-commands"
              ]
            }
          },
          "response": [
            {
              "name": "Get Voice Commands",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/guardian/voice-commands",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "guardian",
                    "voice-commands"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:47:05 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": [],\n    \"message\": \"Voice commands\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:47:05.445512700Z\"\n}"
            }
          ]
        },
        {
          "name": "Update Voice Command",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"commandKey\": \"SEND_SOS\",\n  \"triggerPhrase\": \"tolong saya\",\n  \"enabled\": true\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/guardian/voice-commands",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "guardian",
                "voice-commands"
              ]
            }
          },
          "response": [
            {
              "name": "Update Voice Command",
              "originalRequest": {
                "method": "PUT",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"commandKey\": \"SEND_SOS\",\n  \"triggerPhrase\": \"tolong saya\",\n  \"enabled\": true\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/guardian/voice-commands",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "guardian",
                    "voice-commands"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:47:35 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"id\": 50,\n        \"commandKey\": \"SEND_SOS\",\n        \"triggerPhrase\": \"tolong saya\",\n        \"enabled\": true,\n        \"description\": \"Kirim sinyal darurat SOS\"\n    },\n    \"message\": \"Voice command diperbarui\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:47:35.585518700Z\"\n}"
            }
          ]
        },
        {
          "name": "Get Hardware Shortcuts",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/guardian/shortcuts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "guardian",
                "shortcuts"
              ]
            }
          },
          "response": [
            {
              "name": "Get Hardware Shortcuts",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/guardian/shortcuts",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "guardian",
                    "shortcuts"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:48:05 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": [],\n    \"message\": \"Hardware shortcuts\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:48:05.899882800Z\"\n}"
            }
          ]
        },
        {
          "name": "Get Geofence Config",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/guardian/geofence",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "guardian",
                "geofence"
              ]
            }
          },
          "response": [
            {
              "name": "Get Geofence Config",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/guardian/geofence",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "guardian",
                    "geofence"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:48:36 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"id\": null,\n        \"centerLat\": null,\n        \"centerLng\": null,\n        \"radiusMeters\": 500,\n        \"enabled\": false\n    },\n    \"message\": \"Geofence config\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:48:36.875617900Z\"\n}"
            }
          ]
        },
        {
          "name": "Update Geofence Config",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"centerLat\": -7.2575,\n  \"centerLng\": 112.7521,\n  \"radiusMeters\": 500.0,\n  \"enabled\": true\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/guardian/geofence",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "guardian",
                "geofence"
              ]
            }
          },
          "response": [
            {
              "name": "Update Geofence Config",
              "originalRequest": {
                "method": "PUT",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"centerLat\": -7.2575,\n  \"centerLng\": 112.7521,\n  \"radiusMeters\": 500.0,\n  \"enabled\": true\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/guardian/geofence",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "guardian",
                    "geofence"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:49:08 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"id\": 1,\n        \"centerLat\": -7.2575,\n        \"centerLng\": 112.7521,\n        \"radiusMeters\": 500,\n        \"enabled\": true\n    },\n    \"message\": \"Geofence diperbarui\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:49:08.434817900Z\"\n}"
            }
          ]
        },
        {
          "name": "Get User Settings",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/guardian/user-settings",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "guardian",
                "user-settings"
              ]
            }
          },
          "response": [
            {
              "name": "Get User Settings",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/guardian/user-settings",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "guardian",
                    "user-settings"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:49:41 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"id\": 729,\n        \"ttsLanguage\": \"id-ID\",\n        \"ttsPitch\": 1,\n        \"ttsSpeed\": 0.9,\n        \"warnNoGuardian\": true,\n        \"hapticEnabled\": true\n    },\n    \"message\": \"User settings\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:49:41.047546800Z\"\n}"
            }
          ]
        },
        {
          "name": "Update User Settings",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"ttsLanguage\": \"id-ID\",\n  \"ttsPitch\": 1.0,\n  \"ttsSpeed\": 1.0,\n  \"warnNoGuardian\": true,\n  \"hapticEnabled\": true\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/guardian/user-settings",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "guardian",
                "user-settings"
              ]
            }
          },
          "response": [
            {
              "name": "Update User Settings",
              "originalRequest": {
                "method": "PUT",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"ttsLanguage\": \"id-ID\",\n  \"ttsPitch\": 1.0,\n  \"ttsSpeed\": 1.0,\n  \"warnNoGuardian\": true,\n  \"hapticEnabled\": true\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/guardian/user-settings",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "guardian",
                    "user-settings"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:50:08 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"id\": 729,\n        \"ttsLanguage\": \"id-ID\",\n        \"ttsPitch\": 1,\n        \"ttsSpeed\": 1,\n        \"warnNoGuardian\": true,\n        \"hapticEnabled\": true\n    },\n    \"message\": \"User settings diperbarui\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:50:08.761764600Z\"\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Pairing",
      "item": [
        {
          "name": "Invite User (by Guardian)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"uniqueUserId\": \"ABC123DEF456\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/shared/pairing/invite",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "shared",
                "pairing",
                "invite"
              ]
            }
          },
          "response": [
            {
              "name": "Invite User (by Guardian)",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"uniqueUserId\": \"2Q9DUIN649IA\"\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/shared/pairing/invite",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "shared",
                    "pairing",
                    "invite"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:39:43 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"pairingId\": 3,\n        \"status\": \"PENDING\",\n        \"pairedWithName\": \"John Doe\",\n        \"pairedWithEmail\": \"user@example.com\",\n        \"uniqueUserId\": \"2Q9DUIN649IA\",\n        \"invitedAt\": \"2026-05-17T15:39:43.2660301\",\n        \"respondedAt\": null\n    },\n    \"message\": \"Undangan dikirim ke user\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:39:43.707386Z\"\n}"
            }
          ]
        },
        {
          "name": "Respond to Pairing (by User)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"pairingId\": 1,\n  \"accept\": true\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/shared/pairing/respond",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "shared",
                "pairing",
                "respond"
              ]
            }
          },
          "response": [
            {
              "name": "Respond to Pairing (by User)",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"pairingId\": 3,\n  \"accept\": true\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/shared/pairing/respond",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "shared",
                    "pairing",
                    "respond"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:41:38 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"pairingId\": 3,\n        \"status\": \"ACTIVE\",\n        \"pairedWithName\": \"Siti Rahayu\",\n        \"pairedWithEmail\": \"guardian@example.com\",\n        \"uniqueUserId\": \"2Q9DUIN649IA\",\n        \"invitedAt\": \"2026-05-17T15:39:43.26603\",\n        \"respondedAt\": \"2026-05-17T15:41:35.330861\"\n    },\n    \"message\": \"Pairing diterima\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:41:38.525505900Z\"\n}"
            }
          ]
        },
        {
          "name": "Get Pairing Status",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/shared/pairing/status",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "shared",
                "pairing",
                "status"
              ]
            }
          },
          "response": [
            {
              "name": "Get Pairing Status",
              "originalRequest": {
                "method": "GET",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/shared/pairing/status",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "shared",
                    "pairing",
                    "status"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:50:45 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"pairingId\": 3,\n        \"status\": \"ACTIVE\",\n        \"pairedWithName\": \"John Doe\",\n        \"pairedWithEmail\": \"user@example.com\",\n        \"uniqueUserId\": \"2Q9DUIN649IA\",\n        \"invitedAt\": \"2026-05-17T15:39:43.26603\",\n        \"respondedAt\": \"2026-05-17T15:41:35.330861\"\n    },\n    \"message\": \"Status pairing\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:50:45.354973300Z\"\n}"
            }
          ]
        },
        {
          "name": "Unpair",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/shared/pairing/unpair",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "shared",
                "pairing",
                "unpair"
              ]
            }
          },
          "response": [
            {
              "name": "Unpair",
              "originalRequest": {
                "method": "DELETE",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/api/v1/shared/pairing/unpair",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "shared",
                    "pairing",
                    "unpair"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:52:52 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": null,\n    \"message\": \"Pairing diakhiri\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:52:52.680822300Z\"\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Call (VoIP)",
      "item": [
        {
          "name": "Generate Agora Token",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"receiverId\": 2\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/shared/call/token",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "shared",
                "call",
                "token"
              ]
            }
          },
          "response": [
            {
              "name": "Generate Agora Token",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"receiverId\": 2\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/shared/call/token",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "shared",
                    "call",
                    "token"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:51:18 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": {\n        \"token\": \"\",\n        \"channelName\": \"call_2_735\",\n        \"uid\": 735,\n        \"appId\": \"\",\n        \"expiresAt\": 1779011478,\n        \"callerName\": \"Siti Rahayu\"\n    },\n    \"message\": \"Token Agora berhasil digenerate\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:51:18.928994900Z\"\n}"
            }
          ]
        },
        {
          "name": "Notify Incoming Call",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"receiverId\": 2,\n  \"channelName\": \"walkguide-call-1-2\",\n  \"agoraToken\": \"agora-rtc-token-here\",\n  \"receiverUid\": 200\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/shared/call/notify",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "shared",
                "call",
                "notify"
              ]
            }
          },
          "response": [
            {
              "name": "Notify Incoming Call",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"receiverId\": 2,\n  \"channelName\": \"walkguide-call-1-2\",\n  \"agoraToken\": \"agora-rtc-token-here\",\n  \"receiverUid\": 200\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/shared/call/notify",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "shared",
                    "call",
                    "notify"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:51:49 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": null,\n    \"message\": \"Panggilan dikirim (receiver mungkin tidak menerima push notification)\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:51:49.958132Z\"\n}"
            }
          ]
        },
        {
          "name": "End Call",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{token}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"otherId\": 2\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/shared/call/end",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "shared",
                "call",
                "end"
              ]
            }
          },
          "response": [
            {
              "name": "End Call",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Authorization",
                    "value": "Bearer {{token}}"
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"otherId\": 2\n}"
                },
                "url": {
                  "raw": "{{baseUrl}}/api/v1/shared/call/end",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "shared",
                    "call",
                    "end"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": null,
              "header": [
                {
                  "key": "Vary",
                  "value": "Origin"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Method"
                },
                {
                  "key": "Vary",
                  "value": "Access-Control-Request-Headers"
                },
                {
                  "key": "X-Content-Type-Options",
                  "value": "nosniff"
                },
                {
                  "key": "X-XSS-Protection",
                  "value": "0"
                },
                {
                  "key": "Cache-Control",
                  "value": "no-cache, no-store, max-age=0, must-revalidate"
                },
                {
                  "key": "Pragma",
                  "value": "no-cache"
                },
                {
                  "key": "Expires",
                  "value": "0"
                },
                {
                  "key": "X-Frame-Options",
                  "value": "DENY"
                },
                {
                  "key": "Content-Type",
                  "value": "application/json"
                },
                {
                  "key": "Transfer-Encoding",
                  "value": "chunked"
                },
                {
                  "key": "Date",
                  "value": "Sun, 17 May 2026 08:52:20 GMT"
                },
                {
                  "key": "Keep-Alive",
                  "value": "timeout=60"
                },
                {
                  "key": "Connection",
                  "value": "keep-alive"
                }
              ],
              "cookie": [],
              "body": "{\n    \"success\": true,\n    \"data\": null,\n    \"message\": \"Call ended\",\n    \"errorCode\": null,\n    \"timestamp\": \"2026-05-17T08:52:20.873315200Z\"\n}"
            }
          ]
        }
      ]
    }
  ],
  "variable": [
    {
      "key": "baseUrl",
      "value": "http://localhost:8080"
    },
    {
      "key": "token",
      "value": ""
    },
    {
      "key": "refreshToken",
      "value": ""
    }
  ]
}