Tuva Health · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Tuva EMPI API

8 actions 8 updates documentation extends openapi/tuva-health-empi-openapi.yml
Derived by API Evangelist Built from the contracts Tuva Health publishes. Tuva Health did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-patternx-apievangelist-consequencex-apievangelist-notex-apievangelist-providerx-apievangelist-sourcex-apievangelist-licensex-apievangelist-deploymentx-apievangelist-rendered-reference

Targets 6

$.info
$.paths['/api/v1/health-check'].get
$.paths['/api/v1/person-records/import'].post
$.paths['/api/v1/person-records/export'].post
$.paths['/api/v1/matches'].post
$.paths['/api/v1/users/{id}'].post

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Tuva EMPI API
  version: 1.0.0
extends: openapi/tuva-health-empi-openapi.yml
x-provenance:
  generated: '2026-08-15'
  method: generated
  source: >-
    openapi/tuva-health-empi-openapi.yml (harvested verbatim from
    https://raw.githubusercontent.com/tuva-health/tuva_empi/main/docs/resources/tuva-empi-api-schema.yaml)
    + https://tuva-health.github.io/tuva_empi/docs/configuration
  note: >-
    Non-destructive annotations only. Every value below is sourced from Tuva's own
    documentation or from an artifact in this repo; nothing about the API's
    behaviour is invented. The overlay deliberately does NOT add a securityScheme
    to the contract - the provider's spec is silent on auth and it is their call to
    declare it - it records the observed model as an x- extension and flags the gap.
actions:
  - target: $.info
    update:
      x-apievangelist-provider: tuva-health
      x-apievangelist-source: https://github.com/tuva-health/tuva_empi/blob/main/docs/resources/tuva-empi-api-schema.yaml
      x-apievangelist-license: Apache-2.0
      x-apievangelist-deployment: customer-hosted
      x-apievangelist-rendered-reference: https://tuva-health.github.io/tuva_empi/api-docs/
      description: >-
        HTTP API of Tuva EMPI, Tuva Health's open-source enterprise master patient
        index. Customer-deployed (OCI images on Kubernetes or Docker Compose);
        Tuva operates no instance of this API, so there is no vendor base URL.
  - target: $.info
    update:
      x-apievangelist-auth:
        model: oidc-jwt-on-forwarded-header
        header: X-Forwarded-Access-Token
        header_configurable: true
        identity_providers: [keycloak, aws-cognito]
        docs: https://tuva-health.github.io/tuva_empi/docs/configuration
        declared_in_spec: false
        artifact: authentication/tuva-health-authentication.yml
  - target: $.info
    update:
      x-apievangelist-gaps:
        - no components.securitySchemes and no security requirement, though the API is authenticated in every documented deployment
        - every operation declares only a 200 response - no 4xx/5xx anywhere in the contract
        - no idempotency key on any of the five write operations
        - no pagination or filtering parameters on the collection reads
        - no servers[] block (consistent with customer-hosted deployment, but leaves clients with no example host)
  - target: $.paths['/api/v1/health-check'].get
    update:
      x-apievangelist-usage: liveness-probe
  - target: $.paths['/api/v1/person-records/import'].post
    update:
      x-apievangelist-pattern: s3-staged-batch
      x-apievangelist-async: >-
        Matching runs as a separate Kubernetes job (the matching-service
        container), so results are not available on this response.
  - target: $.paths['/api/v1/person-records/export'].post
    update:
      x-apievangelist-pattern: s3-staged-batch
  - target: $.paths['/api/v1/matches'].post
    update:
      x-apievangelist-consequence: write
      x-apievangelist-note: >-
        Adjudicates identity resolution - merging or splitting a person's records.
        Not retry-safe by contract; no idempotency key is defined.
  - target: $.paths['/api/v1/users/{id}'].post
    update:
      x-apievangelist-consequence: write
      x-apievangelist-note: Changes a user's role - an access-control mutation despite the resource path.

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/tuva-health-empi-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.