Validic · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Validic Inform Data Resources API

23 actions 23 updates documentation
Generated by API Evangelist Written by API Evangelist tooling for Validic's API. It is a proposal applied on top of the contract, not a document Validic publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

tagsdescriptionoperationIdsummarytitlecontactlicensetermsOfService

Targets 23 · first 16 shown; the file carries all of them

$.info
$.servers[0]
$.components.securitySchemes.sec0
$
$.paths[*][?(@.operationId == 'provision-a-user')]
$.paths[*][?(@.operationId == 'get-all-user-profiles')]
$.paths[*][?(@.operationId == 'get-user-profile')]
$.paths[*][?(@.operationId == 'update-user')]
$.paths[*][?(@.operationId == 'delete-user')]
$.paths[*][?(@.operationId == 'generate-new-marketplace-token')]
$.paths[*][?(@.operationId == 'get-connection-events-by-orgid')]
$.paths[*][?(@.operationId == 'get-sources-by-orgid')]
$.paths[*][?(@.operationId == 'get-sources-by-userid')]
$.paths[*][?(@.operationId == 'summaries')]
$.paths[*][?(@.operationId == 'measurements')]
$.paths[*][?(@.operationId == 'workouts')]

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Validic Inform Data Resources API
  version: 1.0.0
x-provenance:
  generated: '2026-08-15'
  method: generated
  source: openapi/_original/validic-inform-data-resources-openapi.json
  extends: openapi/_original/validic-inform-data-resources-openapi.json
  note: >-
    This overlay is NOT applied to the original. Validic's published spec is
    kept verbatim; these are the enhancements API Evangelist would apply, kept
    separately so the provider's contract and our additions never blur. The
    spec as published has three structural problems - path keys that embed the
    query string, no tags on any operation, and no components.schemas - and
    ReadMe's own upload validator flags the first of them.
  known_upstream_warnings:
  - >-
    "/paths/organizations/{org_id}/users?token={token}/post is missing path
    parameter(s) for {token}" - reported by ReadMe on upload.
  - >-
    "/paths/organizations/{org_id}/unified_sources?token={token}/get is missing
    path parameter(s) for {org_id} and {token}".
  - >-
    "/paths/organizations/{org_id}/users/{uid}/unified_sources?token={token}/get
    is missing path parameter(s) for {org_id}, {uid}, and {token}".
  not_expressible_as_overlay: >-
    The `?token={token}` suffix baked into every path KEY cannot be corrected
    by an overlay - JSONPath actions update values, not object keys. Fixing it
    requires reissuing the spec from ReadMe API Designer with `token` declared
    as a query parameter only. Recorded here so the defect is visible rather
    than silently patched.
actions:
- target: $.info
  description: Give the document a human title, a contact and a licence.
  update:
    title: Validic Inform Data Resources API
    description: >-
      Validic Inform REST resources - user provisioning, hosted Marketplace
      tokens, connection and source history, cellular device activation, and
      standardised health observations (summaries, measurements, workouts,
      sleep, nutrition, intraday, CGM) from 700+ apps, wearables and in-home
      medical devices. Authenticated with an organization access token passed
      as the `token` query parameter over HTTPS.
    contact:
      name: Validic Developer Support
      url: https://developer.validic.com
    license:
      name: Proprietary
      url: https://www.validic.com/online-service-agreement-inform
    termsOfService: https://validic.com/online-service-agreement-inform/
- target: $.servers[0]
  description: Describe the production REST host.
  update:
    description: Inform REST API (request/response over HTTPS)
- target: $.components.securitySchemes.sec0
  description: >-
    Correct the security scheme name. The published spec declares the API key
    parameter as `api_key`, but every documented request and every example uses
    `token`. As published, a generated client would send the wrong parameter
    name and get a 403.
  update:
    type: apiKey
    in: query
    name: token
    description: >-
      Organization access token supplied by Validic, passed as the `token`
      query parameter. Treat it as a secret - it appears in URLs and logs.
- target: $
  description: Declare the resource tags the operations are grouped under in the docs.
  update:
    tags:
    - name: Users
      description: Provision and manage users within an organization.
    - name: Marketplace & Connections
      description: Hosted Marketplace tokens, connection events and source catalogues.
    - name: Observations & Data
      description: Standardised health observations recorded by connected apps and devices.
    - name: Devices
      description: Cellular-enabled health device activation and suspension.
- target: $.paths[*][?(@.operationId == 'provision-a-user')]
  description: Tag user provisioning and note the HIPAA constraint on uid.
  update:
    tags:
    - Users
- target: $.paths[*][?(@.operationId == 'get-all-user-profiles')]
  update:
    tags:
    - Users
- target: $.paths[*][?(@.operationId == 'get-user-profile')]
  update:
    tags:
    - Users
- target: $.paths[*][?(@.operationId == 'update-user')]
  update:
    tags:
    - Users
- target: $.paths[*][?(@.operationId == 'delete-user')]
  update:
    tags:
    - Users
- target: $.paths[*][?(@.operationId == 'generate-new-marketplace-token')]
  update:
    tags:
    - Marketplace & Connections
- target: $.paths[*][?(@.operationId == 'get-connection-events-by-orgid')]
  update:
    tags:
    - Marketplace & Connections
- target: $.paths[*][?(@.operationId == 'get-sources-by-orgid')]
  update:
    tags:
    - Marketplace & Connections
- target: $.paths[*][?(@.operationId == 'get-sources-by-userid')]
  update:
    tags:
    - Marketplace & Connections
- target: $.paths[*][?(@.operationId == 'summaries')]
  update:
    tags:
    - Observations & Data
- target: $.paths[*][?(@.operationId == 'measurements')]
  update:
    tags:
    - Observations & Data
- target: $.paths[*][?(@.operationId == 'workouts')]
  update:
    tags:
    - Observations & Data
- target: $.paths[*][?(@.operationId == 'sleep')]
  update:
    tags:
    - Observations & Data
- target: $.paths[*][?(@.operationId == 'nutrition')]
  update:
    tags:
    - Observations & Data
- target: $.paths[*][?(@.operationId == 'intraday-2')]
  update:
    tags:
    - Observations & Data
- target: $.paths[*][?(@.operationId == 'cgm')]
  update:
    tags:
    - Observations & Data
- target: $.paths[*][?(@.operationId == 'get-connection-events-by-orgid-1')]
  description: >-
    Rename the cellular ACTIVATE operation. The published spec gives it the
    operationId `get-connection-events-by-orgid-1`, a copy-paste of an
    unrelated read operation - so the two operations in this contract with a
    physical-world consequence are the two with the most misleading names.
  update:
    operationId: activate-cellular-device
    summary: Activate Cellular Device
    tags:
    - Devices
- target: $.paths[*][?(@.operationId == 'get-connection-events-by-orgid-1-1')]
  description: Rename the cellular SUSPEND operation for the same reason.
  update:
    operationId: suspend-cellular-device
    summary: Suspend Cellular Device
    tags:
    - Devices
- target: $.paths[*][?(@.operationId == 'cgm-reports')]
  description: >-
    Flag the stub. `GET /measurements` is declared with no parameters, no
    documented response and a path that does not match the org-scoped
    convention every other operation follows.
  update:
    tags:
    - Observations & Data
    x-api-evangelist-note: >-
      Incomplete operation in the published spec - 421 bytes, no parameters, no
      response schema. Not callable as documented.