{"openapi":"3.0.0","info":{"title":"CleverCare Backend API","description":"The official API for the CleverCare platform, handling user, session, and data management.","version":"0.0.1","termsOfService":"https://clever-care.cz/terms","contact":{"name":"Support Team","url":"https://clever-care.cz/support","email":"support@clever-care.cz"}},"externalDocs":{"description":"Full API docs","url":"https://docs.clever-care.cz"},"paths":{"/auth/firebase":{"post":{"x-controller-name":"AuthController","x-operation-name":"firebaseLogin","tags":["AuthController"],"responses":{"200":{"description":"Firebase OAuth authentication - exchange Firebase token for JWT","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"token":{"type":"string"},"user":{"type":"object","properties":{"id":{"type":"number"},"userUuid":{"type":"string"},"username":{"type":"string"},"email":{"type":"string"}}}}}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["idToken"],"properties":{"idToken":{"type":"string","description":"Firebase ID token from client-side authentication"}}}}}},"operationId":"AuthController.firebaseLogin","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]}},"/auth/login":{"post":{"x-controller-name":"UserController","x-operation-name":"login","tags":["UserController"],"responses":{"200":{"description":"User login token authorization gateway","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"token":{"type":"string"},"user":{"type":"object"}}}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["loginIdentifier","password"],"properties":{"loginIdentifier":{"type":"string","description":"Can be email or username"},"password":{"type":"string"}}}}}},"operationId":"UserController.login","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]}},"/auth/me":{"get":{"x-controller-name":"AuthController","x-operation-name":"getCurrentUser","tags":["AuthController"],"responses":{"200":{"description":"Get current authenticated user profile","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"number"},"userUuid":{"type":"string"},"username":{"type":"string"},"email":{"type":"string"}}}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"operationId":"AuthController.getCurrentUser","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]}},"/auth/register":{"post":{"x-controller-name":"UserController","x-operation-name":"register","tags":["UserController"],"responses":{"200":{"description":"User registration endpoint","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"user":{"type":"object","properties":{"id":{"type":"number"},"userUuid":{"type":"string"},"username":{"type":"string"},"email":{"type":"string"}}}}}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["username","email","password"],"properties":{"username":{"type":"string","minLength":3,"maxLength":30},"email":{"type":"string","format":"email"},"password":{"type":"string","minLength":8}}}}}},"operationId":"UserController.register","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]}},"/csrf-token":{"get":{"x-controller-name":"CsrfController","x-operation-name":"getCsrfToken","tags":["CsrfController"],"responses":{"200":{"description":"Generates and returns a fresh CSRF Token","content":{"application/json":{"schema":{"type":"object","properties":{"csrfToken":{"type":"string"}}}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"operationId":"CsrfController.getCsrfToken","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]}},"/maintenance/failed-jobs":{"get":{"x-controller-name":"MaintenanceController","x-operation-name":"getFailedJobs","tags":["MaintenanceController"],"responses":{"200":{"description":"Array of background jobs that ended in FAILED status.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"startedAt":{"type":"string","format":"date-time"},"completedAt":{"type":"string","format":"date-time"},"durationMs":{"type":"number"},"error":{"type":"string"}}}}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"operationId":"MaintenanceController.getFailedJobs","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]}},"/maintenance/jobs/{name}/trigger":{"post":{"x-controller-name":"MaintenanceController","x-operation-name":"triggerJob","tags":["MaintenanceController"],"responses":{"200":{"description":"Return value of MaintenanceController.triggerJob","headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"parameters":[{"name":"name","in":"path","schema":{"type":"string"},"required":true},{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}],"operationId":"MaintenanceController.triggerJob"}},"/maintenance/jobs":{"get":{"x-controller-name":"MaintenanceController","x-operation-name":"getJobQueue","tags":["MaintenanceController"],"responses":{"200":{"description":"Return value of MaintenanceController.getJobQueue","headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"operationId":"MaintenanceController.getJobQueue","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]}},"/metrics":{"get":{"x-controller-name":"MetricsController","x-operation-name":"getMetrics","tags":["MetricsController"],"responses":{"200":{"description":"Return value of MetricsController.getMetrics","headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"operationId":"MetricsController.getMetrics","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]}},"/ping":{"get":{"x-controller-name":"PingController","x-operation-name":"ping","tags":["PingController"],"responses":{"200":{"description":"Ping Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PingResponse"}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"operationId":"PingController.ping","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]}},"/test":{"get":{"x-controller-name":"PingController","x-operation-name":"testV0","tags":["PingController"],"responses":{"200":{"description":"Return value of PingController.testV0","headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"operationId":"PingController.testV0","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]}},"/users/count":{"get":{"x-controller-name":"UserController","x-operation-name":"count","tags":["UserController"],"responses":{"200":{"description":"User model count","content":{"application/json":{"schema":{"$ref":"#/components/schemas/loopback.Count"}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"parameters":[{"name":"where","in":"query","content":{"application/json":{"schema":{"type":"object","title":"User.WhereFilter","additionalProperties":true,"x-typescript-type":"@loopback/repository#Where<User>"}}}},{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}],"operationId":"UserController.count"}},"/users/{id}":{"put":{"x-controller-name":"UserController","x-operation-name":"replaceById","tags":["UserController"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"description":"User PUT success"}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"parameters":[{"name":"id","in":"path","schema":{"type":"number"},"required":true},{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}},"x-parameter-index":1},"operationId":"UserController.replaceById"},"patch":{"x-controller-name":"UserController","x-operation-name":"updateById","tags":["UserController"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"description":"User PATCH success"}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"parameters":[{"name":"id","in":"path","schema":{"type":"number"},"required":true},{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPartial"}}},"x-parameter-index":1},"operationId":"UserController.updateById"},"get":{"x-controller-name":"UserController","x-operation-name":"findById","tags":["UserController"],"responses":{"200":{"description":"User model instance","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"parameters":[{"name":"id","in":"path","schema":{"type":"number"},"required":true},{"name":"filter","in":"query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User.Filter"}}}},{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}],"operationId":"UserController.findById"},"delete":{"x-controller-name":"UserController","x-operation-name":"deleteById","tags":["UserController"],"responses":{"204":{"description":"No Content","content":{"application/json":{"schema":{"description":"User DELETE success"}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"parameters":[{"name":"id","in":"path","schema":{"type":"number"},"required":true},{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}],"operationId":"UserController.deleteById"}},"/users":{"post":{"x-controller-name":"UserController","x-operation-name":"create","tags":["UserController"],"summary":"Create a new user","description":"Registers a new user in the system. Requires valid profile information.","responses":{"200":{"description":"User model instance","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserExcluding_id_"}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewUser"}}}},"operationId":"UserController.create","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]},"patch":{"x-controller-name":"UserController","x-operation-name":"updateAll","tags":["UserController"],"responses":{"200":{"description":"User PATCH success count","content":{"application/json":{"schema":{"$ref":"#/components/schemas/loopback.Count"}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"parameters":[{"name":"where","in":"query","content":{"application/json":{"schema":{"type":"object","title":"User.WhereFilter","additionalProperties":true,"x-typescript-type":"@loopback/repository#Where<User>"}}}},{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPartial"}}}},"operationId":"UserController.updateAll"},"get":{"x-controller-name":"UserController","x-operation-name":"find","tags":["UserController"],"responses":{"200":{"description":"Array of User model instances","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"parameters":[{"name":"filter","in":"query","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User.Filter1"}}}},{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}],"operationId":"UserController.find"}},"/v1/files/bulk/{bulkId}/status":{"get":{"x-controller-name":"FileController","x-operation-name":"getBulkStatus","tags":["FileController"],"responses":{"200":{"description":"Bulk upload result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUploadResult"}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"parameters":[{"name":"bulkId","in":"path","schema":{"type":"string"},"required":true},{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}],"operationId":"FileController.getBulkStatus"}},"/v1/files/bulk":{"post":{"x-controller-name":"FileController","x-operation-name":"bulkUpload","tags":["FileController"],"responses":{"202":{"description":"Bulk upload result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUploadResult"}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"requestBody":{"content":{"multipart/form-data":{"x-parser":"stream","schema":{"type":"object","properties":{"files":{"type":"array","items":{"type":"string","format":"binary"}},"batchSize":{"type":"number","default":5}}}}},"description":"Multipart form data with multiple files","required":true},"operationId":"FileController.bulkUpload","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]}},"/v1/files/{id}/url":{"get":{"x-controller-name":"FileController","x-operation-name":"getFileUrl","tags":["FileController"],"responses":{"200":{"description":"File URL","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}}}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"required":true},{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}],"operationId":"FileController.getFileUrl"}},"/v1/files/{id}":{"get":{"x-controller-name":"FileController","x-operation-name":"downloadFile","tags":["FileController"],"responses":{"200":{"description":"File binary content","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"required":true},{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}],"operationId":"FileController.downloadFile"},"delete":{"x-controller-name":"FileController","x-operation-name":"deleteFile","tags":["FileController"],"responses":{"204":{"description":"File deleted successfully","headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"required":true},{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}],"operationId":"FileController.deleteFile"}},"/v1/files":{"post":{"x-controller-name":"FileController","x-operation-name":"uploadFile","tags":["FileController"],"responses":{"201":{"description":"File metadata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileMetadata"}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"requestBody":{"content":{"multipart/form-data":{"x-parser":"stream","schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}},"description":"Multipart form data with file","required":true},"operationId":"FileController.uploadFile","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]}},"/v1/ping":{"get":{"x-controller-name":"PingV1Controller","x-operation-name":"ping","tags":["PingV1Controller"],"responses":{"200":{"description":"Ping Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PingResponse"}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"operationId":"PingV1Controller.ping","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]}},"/v1/qr/buffer":{"post":{"x-controller-name":"QrController","x-operation-name":"generateBuffer","tags":["QrController"],"responses":{"200":{"description":"QR code as a PNG image (binary buffer)","content":{"image/png":{"schema":{"type":"string","format":"binary"}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["text"],"properties":{"text":{"type":"string"},"options":{"type":"object","properties":{"width":{"type":"number"},"darkColor":{"type":"string"},"lightColor":{"type":"string"},"errorCorrectionLevel":{"type":"string"},"margin":{"type":"number"}}}}}}}},"operationId":"QrController.generateBuffer","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]}},"/v1/qr/data-url":{"post":{"x-controller-name":"QrController","x-operation-name":"generateDataUrlPost","tags":["QrController"],"responses":{"200":{"description":"QR code as a base64-encoded data URL","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QrDataUrlResponse"}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["text"],"properties":{"text":{"type":"string"},"options":{"type":"object","properties":{"width":{"type":"number"},"darkColor":{"type":"string"},"lightColor":{"type":"string"},"errorCorrectionLevel":{"type":"string"},"margin":{"type":"number"}}}}}}}},"operationId":"QrController.generateDataUrlPost","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]}},"/v1/qr/svg":{"post":{"x-controller-name":"QrController","x-operation-name":"generateSvg","tags":["QrController"],"responses":{"200":{"description":"QR code as an SVG string","content":{"image/svg+xml":{"schema":{"type":"string"}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["text"],"properties":{"text":{"type":"string"},"options":{"type":"object","properties":{"width":{"type":"number"},"darkColor":{"type":"string"},"lightColor":{"type":"string"},"errorCorrectionLevel":{"type":"string"},"margin":{"type":"number"}}}}}}}},"operationId":"QrController.generateSvg","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]}},"/v1/qr":{"get":{"x-controller-name":"QrController","x-operation-name":"generateDataUrl","tags":["QrController"],"responses":{"200":{"description":"QR code as a base64-encoded data URL","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QrDataUrlResponse"}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"parameters":[{"name":"text","in":"query","schema":{"type":"string"}},{"name":"width","in":"query","schema":{"type":"number"}},{"name":"darkColor","in":"query","schema":{"type":"string"}},{"name":"lightColor","in":"query","schema":{"type":"string"}},{"name":"errorCorrectionLevel","in":"query","schema":{"type":"string"}},{"name":"margin","in":"query","schema":{"type":"number"}},{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}],"operationId":"QrController.generateDataUrl"}},"/v1/test":{"get":{"x-controller-name":"PingV1Controller","x-operation-name":"testV1","tags":["PingV1Controller"],"responses":{"200":{"description":"Return value of PingV1Controller.testV1","headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"operationId":"PingV1Controller.testV1","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]}},"/v2/ping":{"get":{"x-controller-name":"PingV2Controller","x-operation-name":"ping","tags":["PingV2Controller"],"responses":{"200":{"description":"Ping Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PingResponse"}}},"headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"operationId":"PingV2Controller.ping","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]}},"/v2/test":{"get":{"x-controller-name":"PingV2Controller","x-operation-name":"testV2","tags":["PingV2Controller"],"responses":{"200":{"description":"Return value of PingV2Controller.testV2","headers":{"x-request-id":{"schema":{"type":"string","format":"uuid"},"description":"Correlation ID for request tracing."}}}},"operationId":"PingV2Controller.testV2","parameters":[{"name":"x-api-version","in":"header","required":false,"schema":{"type":"string","enum":["v1","v2"]},"description":"Specify the API version (e.g., v1)."},{"name":"x-company-id","in":"header","required":false,"schema":{"type":"string"},"description":"Company identifier for authorization and data scoping."},{"name":"x-request-id","in":"header","required":false,"schema":{"type":"string","format":"uuid"},"description":"Optional correlation ID for request tracing. If not provided, a UUID will be generated and returned in the response header."},{"name":"x-device-token","in":"header","required":false,"schema":{"type":"string"},"description":"Device token for push notifications and device identification."},{"name":"x-feature-flags","in":"header","required":false,"schema":{"type":"string"},"description":"Comma-separated list of feature flags to enable or disable experimental features."},{"name":"x-tenant-id","in":"header","required":false,"schema":{"type":"string"},"description":"Tenant identifier for multi-tenant requests. Defaults to 'default_tenant' if not provided."},{"name":"x-timestamp","in":"header","schema":{"type":"string","format":"unix-timestamp"},"description":"Unix timestamp (seconds since epoch) when the request was initiated. Must be within 300 seconds of server time to prevent replay attacks."},{"name":"x-bypass-cache","in":"header","required":false,"schema":{"type":"string","enum":["true","1"]},"description":"Optional header to bypass cache for this request. Set to \"true\" or \"1\" to force fresh data from the database."},{"name":"nocache","in":"query","required":false,"schema":{"type":"boolean"},"description":"Optional query parameter to bypass cache for this request. Set to any value to force fresh data from the database."}]}}},"tags":[{"name":"UserController","description":"Operations related to user accounts and profiles."}],"components":{"securitySchemes":{"csrfTokenAuth":{"type":"apiKey","in":"header","name":"x-csrf-token","description":"Required for all non-GET requests to prevent CSRF attacks."},"jwt":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT token provided after login"},"apiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"Static API Key for service authentication"},"hmacAuth":{"type":"apiKey","in":"header","name":"x-hmac-signature","description":"HMAC signature for request integrity"}},"schemas":{"UserExcluding_id_":{"title":"UserExcluding_id_","type":"object","description":"(tsType: Omit<User, 'id'>, schemaOptions: { exclude: [ 'id' ] })","properties":{"userUuid":{"type":"string","nullable":false},"username":{"type":"string","nullable":false},"email":{"type":"string","nullable":false},"phoneNumber":{"type":"string","nullable":true},"passwordHash":{"type":"string","nullable":true},"isActive":{"type":"boolean","nullable":false},"createdAt":{"type":"string","format":"date-time","nullable":false},"updatedAt":{"type":"string","format":"date-time","nullable":false},"lastLogin":{"type":"string","format":"date-time","nullable":true},"accountStatus":{"type":"string","nullable":false},"clientSince":{"type":"string","format":"date-time","nullable":true}},"required":["username","email","isActive","createdAt","updatedAt","accountStatus"],"additionalProperties":false,"x-typescript-type":"Omit<User, 'id'>"},"NewUser":{"title":"NewUser","type":"object","description":"(tsType: Omit<User, 'id'>, schemaOptions: { title: 'NewUser', exclude: [ 'id' ] })","properties":{"userUuid":{"type":"string","nullable":false},"username":{"type":"string","nullable":false},"email":{"type":"string","nullable":false},"phoneNumber":{"type":"string","nullable":true},"passwordHash":{"type":"string","nullable":true},"isActive":{"type":"boolean","nullable":false},"createdAt":{"type":"string","format":"date-time","nullable":false},"updatedAt":{"type":"string","format":"date-time","nullable":false},"lastLogin":{"type":"string","format":"date-time","nullable":true},"accountStatus":{"type":"string","nullable":false},"clientSince":{"type":"string","format":"date-time","nullable":true}},"required":["username","email","isActive","createdAt","updatedAt","accountStatus"],"additionalProperties":false,"x-typescript-type":"Omit<User, 'id'>"},"User":{"title":"User","type":"object","properties":{"id":{"type":"number","nullable":false},"userUuid":{"type":"string","nullable":false},"username":{"type":"string","nullable":false},"email":{"type":"string","nullable":false},"phoneNumber":{"type":"string","nullable":true},"passwordHash":{"type":"string","nullable":true},"isActive":{"type":"boolean","nullable":false},"createdAt":{"type":"string","format":"date-time","nullable":false},"updatedAt":{"type":"string","format":"date-time","nullable":false},"lastLogin":{"type":"string","format":"date-time","nullable":true},"accountStatus":{"type":"string","nullable":false},"clientSince":{"type":"string","format":"date-time","nullable":true}},"required":["username","email","isActive","createdAt","updatedAt","accountStatus"],"additionalProperties":false},"UserPartial":{"title":"UserPartial","type":"object","description":"(tsType: Partial<User>, schemaOptions: { partial: true })","properties":{"id":{"type":"number","nullable":false},"userUuid":{"type":"string","nullable":false},"username":{"type":"string","nullable":false},"email":{"type":"string","nullable":false},"phoneNumber":{"type":"string","nullable":true},"passwordHash":{"type":"string","nullable":true},"isActive":{"type":"boolean","nullable":false},"createdAt":{"type":"string","format":"date-time","nullable":false},"updatedAt":{"type":"string","format":"date-time","nullable":false},"lastLogin":{"type":"string","format":"date-time","nullable":true},"accountStatus":{"type":"string","nullable":false},"clientSince":{"type":"string","format":"date-time","nullable":true}},"additionalProperties":false,"x-typescript-type":"Partial<User>"},"PingResponse":{"type":"object","title":"PingResponse","properties":{"greeting":{"type":"string"},"date":{"type":"string"},"url":{"type":"string"},"headers":{"type":"object","properties":{"content-type":{"type":"string"}},"additionalProperties":true}}},"loopback.Count":{"type":"object","title":"loopback.Count","x-typescript-type":"@loopback/repository#Count","properties":{"count":{"type":"number"}}},"User.ScopeFilter":{"type":"object","properties":{"offset":{"type":"integer","minimum":0},"limit":{"type":"integer","minimum":1,"example":100},"skip":{"type":"integer","minimum":0},"order":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"where":{"type":"object","additionalProperties":true},"fields":{"oneOf":[{"type":"object","properties":{},"additionalProperties":true},{"type":"array","items":{"type":"string"},"uniqueItems":true}]},"include":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"additionalProperties":false,"title":"User.ScopeFilter"},"User.IncludeFilter.Items":{"title":"User.IncludeFilter.Items","type":"object","properties":{"relation":{"type":"string","enum":["uploadedFiles","deletedFiles","devices","sessions","profile","settings","consents","notificationPreferences","auth","metadata","passwordHistory","activityLogs","deletedActivityLogs","oAuthAccounts","twoFactorMethods","twoFactorBackupCodes","loginHistory","deletedLoginHistoryRows","twoFactorLoginLogs","deletedTwoFactorLoginLogs","submittedReports","reportsAgainstThisUser","moderatedReports","deletedUserReports","fileAccesses","webauthnCredentials","news","deletedNews","notifications","roles","changedRoles","supportTickets","assignedSupportTickets","deletedSupportTickets","comments","deletedComments","callRequests","handledCallRequests","statusHistory","statusChangeHistory","ratings","deletedRaitings","contactForms","authoredEntityFiles","deletedEntityFiles","reactions","deletedReactions","chatbotSessions","cannedResponses","globalReviews","deletedGlobalReviews","reportedEvents","assignedEvents","createdInspections","updatedInspections","incidentParties","createdIncidentParties","updatedIncidentParties","insuranceCalculationLogs"]},"scope":{"$ref":"#/components/schemas/User.ScopeFilter"}}},"User.Filter":{"type":"object","title":"User.Filter","properties":{"offset":{"type":"integer","minimum":0},"limit":{"type":"integer","minimum":1,"example":100},"skip":{"type":"integer","minimum":0},"order":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"fields":{"oneOf":[{"type":"object","properties":{"id":{"type":"boolean"},"userUuid":{"type":"boolean"},"username":{"type":"boolean"},"email":{"type":"boolean"},"phoneNumber":{"type":"boolean"},"passwordHash":{"type":"boolean"},"isActive":{"type":"boolean"},"createdAt":{"type":"boolean"},"updatedAt":{"type":"boolean"},"lastLogin":{"type":"boolean"},"accountStatus":{"type":"boolean"},"clientSince":{"type":"boolean"}},"additionalProperties":false},{"type":"array","items":{"type":"string","enum":["id","userUuid","username","email","phoneNumber","passwordHash","isActive","createdAt","updatedAt","lastLogin","accountStatus","clientSince"],"example":"id"},"uniqueItems":true}],"title":"User.Fields"},"include":{"title":"User.IncludeFilter","type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/User.IncludeFilter.Items"},{"type":"string"}]}}},"additionalProperties":false,"x-typescript-type":"@loopback/repository#Filter<User>"},"User.Filter1":{"type":"object","title":"User.Filter","properties":{"offset":{"type":"integer","minimum":0},"limit":{"type":"integer","minimum":1,"example":100},"skip":{"type":"integer","minimum":0},"order":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"where":{"title":"User.WhereFilter","type":"object","additionalProperties":true},"fields":{"oneOf":[{"type":"object","properties":{"id":{"type":"boolean"},"userUuid":{"type":"boolean"},"username":{"type":"boolean"},"email":{"type":"boolean"},"phoneNumber":{"type":"boolean"},"passwordHash":{"type":"boolean"},"isActive":{"type":"boolean"},"createdAt":{"type":"boolean"},"updatedAt":{"type":"boolean"},"lastLogin":{"type":"boolean"},"accountStatus":{"type":"boolean"},"clientSince":{"type":"boolean"}},"additionalProperties":false},{"type":"array","items":{"type":"string","enum":["id","userUuid","username","email","phoneNumber","passwordHash","isActive","createdAt","updatedAt","lastLogin","accountStatus","clientSince"],"example":"id"},"uniqueItems":true}],"title":"User.Fields"},"include":{"title":"User.IncludeFilter","type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/User.IncludeFilter.Items"},{"type":"string"}]}}},"additionalProperties":false,"x-typescript-type":"@loopback/repository#Filter<User>"},"BulkUploadResult":{"type":"object","title":"BulkUploadResult","properties":{"bulkId":{"type":"string"},"totalFiles":{"type":"number"},"processedFiles":{"type":"number"},"status":{"type":"string"},"results":{"type":"array"},"errors":{"type":"array"}}},"FileMetadata":{"type":"object","title":"FileMetadata","properties":{"id":{"type":"string"},"filename":{"type":"string"},"mimeType":{"type":"string"},"size":{"type":"number"},"checksum":{"type":"string"},"storageService":{"type":"string"},"storagePath":{"type":"string"},"url":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}},"QrDataUrlResponse":{"type":"object","title":"QrDataUrlResponse","properties":{"dataUrl":{"type":"string"}}}}},"security":[{"csrfTokenAuth":[],"jwt":[]},{"jwt":[]},{"apiKeyAuth":[]},{"hmacAuth":[]}],"servers":[{"url":"https://api.clever-care.cz"}]}