openapi: 3.1.0 info: title: Validic Inform Devices Users API version: '2.0' description: 'The Validic Inform API connects patient-recorded data from digital health applications, devices, and wearables to healthcare organizations. It provides user provisioning against an organization, a hosted Marketplace for connecting API/cloud and Bluetooth sources, retrieval of standardized health observations (CGM, intraday, measurements, nutrition, sleep, daily summaries, and workouts), cellular device management, connection-event history, a Server-Sent Events (SSE) Streaming API, and a Push Service for webhook delivery. Requests are authenticated with an organization access token passed as the `token` query parameter over HTTPS. Transport note: the Inform REST resources are request/response REST over HTTPS on `https://api.v2.validic.com`. The Streaming API is a long-lived HTTP connection delivering Server-Sent Events (`Content-Type: text/event-stream`) on `https://streams.v2.validic.com`. Validic does not document a public WebSocket API.' contact: name: Validic Developer Support url: https://developer.validic.com license: name: Proprietary url: https://www.validic.com/online-service-agreement-inform servers: - url: https://api.v2.validic.com description: Inform REST API (request/response over HTTPS) - url: https://streams.v2.validic.com description: Inform Streaming API (Server-Sent Events over HTTPS) security: - tokenAuth: [] tags: - name: Users description: Provision and manage users within an organization. paths: /organizations/{org_id}/users: get: operationId: getAllUsers summary: Get all users description: Lists all users provisioned under the organization. tags: - Users parameters: - $ref: '#/components/parameters/OrgId' - name: token in: query required: true schema: type: string responses: '200': description: A list of users. content: application/json: schema: type: object properties: users: type: array items: $ref: '#/components/schemas/User' post: operationId: provisionUser summary: Provision a user description: Creates a new user record and returns the user id, the customer-supplied uid, marketplace and mobile connection tokens, and location metadata. You should only provision a user when they are ready to connect a device. tags: - Users parameters: - $ref: '#/components/parameters/OrgId' - name: token in: query required: true schema: type: string requestBody: required: true content: application/json: schema: type: object required: - uid properties: uid: type: string description: The customer-defined unique identifier for the user. responses: '201': description: User created. content: application/json: schema: $ref: '#/components/schemas/User' '400': description: Bad request. '401': description: Unauthorized. '422': description: Unprocessable entity. /organizations/{org_id}/users/{uid}: get: operationId: getUser summary: Get a user description: Retrieves a single user, including connected sources and marketplace tokens. tags: - Users parameters: - $ref: '#/components/parameters/OrgId' - $ref: '#/components/parameters/Uid' - name: token in: query required: true schema: type: string responses: '200': description: The requested user. content: application/json: schema: $ref: '#/components/schemas/User' '404': description: User not found. delete: operationId: deleteUser summary: Delete a user description: Permanently removes a user and their access to the platform. tags: - Users parameters: - $ref: '#/components/parameters/OrgId' - $ref: '#/components/parameters/Uid' - name: token in: query required: true schema: type: string responses: '200': description: User deleted. '404': description: User not found. components: parameters: Uid: name: uid in: path required: true description: The user identifier (customer-supplied uid or Validic id). schema: type: string OrgId: name: org_id in: path required: true description: The Validic organization identifier. schema: type: string schemas: User: type: object properties: id: type: string uid: type: string marketplace: type: object properties: token: type: string url: type: string format: uri mobile: type: object properties: token: type: string location: type: object properties: timezone: type: string country_code: type: string sources: type: array items: type: string created_at: type: string format: date-time updated_at: type: string format: date-time last_processed_at: type: string format: date-time securitySchemes: tokenAuth: type: apiKey in: query name: token description: Organization access token passed as the `token` query parameter.