Validic Users API

Provision and manage users within an organization.

OpenAPI Specification

validic-users-api-openapi.yml Raw ↑
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.