{"item":[{"id":"3037f73e-7fc0-415f-b6bd-d233db24477d","name":"Metrics","description":{"content":"","type":"text/plain"},"item":[{"id":"f2e28389-28ea-4239-9e61-e9190f58dcee","name":"Prometheus metrics","request":{"name":"Prometheus metrics","description":{"content":"Returns application metrics in Prometheus format\n\n---\n**Authentication:** Public (no auth required)","type":"text/plain"},"url":{"path":["metrics"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","auth":null},"response":[{"id":"dadeddfd-5f95-4235-bac4-7d6569bb91af","name":"Prometheus metrics","originalRequest":{"url":{"path":["metrics"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","body":{}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"statusCode\": 200\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"66a3848e-4c03-495e-9104-6e25f441e5b7","name":"Bad Request - Validation failed","originalRequest":{"url":{"path":["metrics"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","body":{}},"status":"Bad Request","code":400,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"statusCode\": 400,\n  \"timestamp\": \"2025-11-08T15:30:00.000Z\",\n  \"path\": \"/api/users\",\n  \"error\": {\n    \"code\": \"VALIDATION_ERROR\",\n    \"message\": \"xxx must be a valid yyy\",\n    \"type\": \"ValidationException\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"19fc9988-40c5-4be9-9c47-2cdfe46c673c","name":"Unauthorized - Invalid or missing authentication token","originalRequest":{"url":{"path":["metrics"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","body":{}},"status":"Unauthorized","code":401,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"statusCode\": 401,\n  \"timestamp\": \"2025-11-08T15:30:00.000Z\",\n  \"path\": \"/api/users\",\n  \"error\": {\n    \"message\": \"Unauthorized\",\n    \"type\": \"UnauthorizedException\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"2134832c-b431-4860-abf6-25b5df7f8474","name":"Too Many Requests - Rate limit exceeded","originalRequest":{"url":{"path":["metrics"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","body":{}},"status":"Too Many Requests","code":429,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"statusCode\": 429,\n  \"timestamp\": \"2025-11-08T15:30:00.000Z\",\n  \"path\": \"/api/users\",\n  \"error\": {\n    \"message\": \"ThrottlerException: Too Many Requests\",\n    \"type\": \"ThrottlerException\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"7cac0cb2-f66c-4621-b127-abee6baac33f","name":"Internal Server Error - Unexpected error occurred","originalRequest":{"url":{"path":["metrics"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","body":{}},"status":"Internal Server Error","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"statusCode\": 500,\n  \"timestamp\": \"2025-11-08T15:30:00.000Z\",\n  \"path\": \"/api/users\",\n  \"error\": {\n    \"message\": \"Internal server error\",\n    \"type\": \"InternalServerErrorException\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"62300aee-09db-48d7-97c5-69a6ff2afa44","name":"Service Unavailable","originalRequest":{"url":{"path":["metrics"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","body":{}},"status":"Service Unavailable","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"statusCode\": 503,\n  \"timestamp\": \"2025-11-08T15:30:00.000Z\",\n  \"path\": \"/api/users\",\n  \"error\": {\n    \"message\": \"This service is currently unavailable\",\n    \"type\": \"ServiceUnavailableException\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[],"protocolProfileBehavior":{"disableBodyPruning":true}}],"event":[]},{"id":"760f7fcb-eb70-4324-afa4-1bf77b77baad","name":"Health","description":{"content":"","type":"text/plain"},"item":[{"id":"960126be-5ba2-439c-8b60-b9f76e65d272","name":"Basic health check","request":{"name":"Basic health check","description":{"content":"Returns simple health status without detailed information. Checks memory, disk, database, Redis, and Bull queue health. Returns 200 OK if all checks pass, 503 Service Unavailable if any check fails. For detailed diagnostics, use GET /admin/health (requires authentication).\n\n---\n**Authentication:** Public (no auth required)","type":"text/plain"},"url":{"path":["health"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","auth":null},"response":[{"id":"8e8c1376-aced-4b0b-8564-88101dd7c351","name":"All services are healthy","originalRequest":{"url":{"path":["health"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","body":{}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"statusCode\": 200,\n  \"data\": {\n    \"message\": \"ok\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"7afc1d99-7188-4c82-b739-384ce72ec989","name":"Internal Server Error - Unexpected error occurred","originalRequest":{"url":{"path":["health"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","body":{}},"status":"Internal Server Error","code":500,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"statusCode\": 500,\n  \"timestamp\": \"2025-11-08T15:30:00.000Z\",\n  \"path\": \"/api/users\",\n  \"error\": {\n    \"message\": \"Internal server error\",\n    \"type\": \"InternalServerErrorException\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"},{"id":"82d35cc1-babf-4308-ba47-29f2f131dd3b","name":"Service Unavailable","originalRequest":{"url":{"path":["health"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET","body":{}},"status":"Service Unavailable","code":503,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"statusCode\": 503,\n  \"timestamp\": \"2025-11-08T15:30:00.000Z\",\n  \"path\": \"/api/users\",\n  \"error\": {\n    \"message\": \"This service is currently unavailable\",\n    \"type\": \"ServiceUnavailableException\"\n  }\n}","cookie":[],"_postman_previewlanguage":"json"}],"event":[],"protocolProfileBehavior":{"disableBodyPruning":true}}],"event":[]}],"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":["window = {}","navigator = {}","pm.sendRequest(","    {","        url: \"https://postman.democs.io/signature.min.js\",","        method: \"GET\",","    },","    (err, res) => {","        if (err) { console.error(err, res) }","        eval(res.text())","    }",")"]}}],"variable":[{"type":"string","value":"/","key":"baseUrl"}],"info":{"_postman_id":"910304ba-ec92-4778-bfb5-a956e23e6348","name":"Democs API [develop] [devops]","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json","description":{"content":"DevOps API Documentation\n\nEndpoints available to the devops application.\n\nNo `X-Client-Type` header required.\n\nOther docs: [Webapp](/api/docs/webapp) · [Backoffice](/api/docs/backoffice) · [iOS](/api/docs/ios) · [Android](/api/docs/android)\n\n> **Note:** \n> * All requests must include the `X-Client-Type` header.\n> * In local/develop environments, you can use `DEVELOPMENT_BYPASS_SIGNATURE` as the signature. \n> * Error responses include a `details` field with stack traces and additional debugging information only in local/develop environments.","type":"text/plain"}}}