Tebra Clinical API

USCDI-aligned clinical data classes for the authenticated patient. Base host (api.tebra.com) is the host documented in Tebra's own "General API Documentation" (Oct 2023) PDF and matches this spec's servers[], but as of 2026-08-14 it returns NXDOMAIN on public DNS resolvers (8.8.8.8, 1.1.1.1, system resolver) - the documented host no longer resolves. See lifecycle/ for detail; Tebra's newer FHIR API (tebra:tebra-fhir-api) covers most of the same USCDI resource set and is live.

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/tebra-clinical-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

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

OpenAPI Specification

tebra-clinical-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Tebra Data Clinical API
  description: 'Read-only REST access to a patient''s clinical health information held in the Tebra (formerly Kareo + PatientPop) platform. This is Tebra''s ONC / 21st Century Cures Act "patient access" API surface (published under tebra.com/macra), exposing USCDI-aligned clinical resources for a single authenticated patient. Every request is authenticated with an API Key passed in the `X-Api-Key` header; the key is generated by the patient from the Tebra Patient Portal under My Account > API Access Key. Connections must use HTTPS (TLS) and callers are asked to limit connection frequency to what their use case requires.

    The resource paths and the X-Api-Key authentication in this document are confirmed from Tebra''s official "General API Documentation" (Oct 2023). The request query parameters and response schemas below are MODELED to reflect typical USCDI / FHIR-flavored patient-access payloads and should be verified against the current Tebra API documentation before production use.'
  version: '1.0'
  contact:
    name: Tebra
    url: https://www.tebra.com/macra
  license:
    name: Proprietary (Tebra API Terms of Use)
    url: https://www.tebra.com
servers:
- url: https://api.tebra.com/clinical/v1/api
  description: Tebra Clinical Data API (production)
security:
- apiKeyAuth: []
tags:
- name: Clinical
  description: USCDI-aligned clinical data classes for the authenticated patient.
paths:
  /patient/allergyIntolerance/medication:
    get:
      tags:
      - Clinical
      summary: Get medication allergies and intolerances
      description: Retrieves allergy and intolerance records associated with the patient. Confirmed endpoint; response is modeled as a USCDI AllergyIntolerance list.
      operationId: getAllergyIntolerance
      responses:
        '200':
          description: Allergy / intolerance list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /patient/carePlan:
    get:
      tags:
      - Clinical
      summary: Get care plan
      description: Retrieves care plan entries for the patient. Confirmed endpoint; response modeled.
      operationId: getCarePlan
      responses:
        '200':
          description: Care plan list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /patient/condition/problemList:
    get:
      tags:
      - Clinical
      summary: Get problem list conditions
      description: Retrieves problem-list conditions for the patient. Confirmed endpoint; response modeled.
      operationId: getProblemList
      responses:
        '200':
          description: Condition list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /patient/device:
    get:
      tags:
      - Clinical
      summary: Get implantable devices
      description: Retrieves device records associated with the patient. Confirmed endpoint; response modeled.
      operationId: getDevice
      responses:
        '200':
          description: Device list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /patient/diagnosticReport:
    get:
      tags:
      - Clinical
      summary: Get diagnostic reports
      description: Retrieves diagnostic report records for the patient. Confirmed endpoint; response modeled.
      operationId: getDiagnosticReport
      responses:
        '200':
          description: Diagnostic report list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /patient/encounter:
    get:
      tags:
      - Clinical
      summary: Get encounters
      description: Retrieves encounter records associated with the patient. Confirmed endpoint; response modeled.
      operationId: getEncounter
      responses:
        '200':
          description: Encounter list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /patient/goal:
    get:
      tags:
      - Clinical
      summary: Get goals
      description: Retrieves care goals for the patient. Confirmed endpoint; response modeled.
      operationId: getGoal
      responses:
        '200':
          description: Goal list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /patient/immunization:
    get:
      tags:
      - Clinical
      summary: Get immunizations
      description: Retrieves immunization records for the patient. Confirmed endpoint; response modeled.
      operationId: getImmunization
      responses:
        '200':
          description: Immunization list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /patient/medicationStatement:
    get:
      tags:
      - Clinical
      summary: Get medications
      description: Retrieves medication statement records for the patient. Confirmed endpoint; response modeled.
      operationId: getMedicationStatement
      responses:
        '200':
          description: Medication statement list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /patient/observation/vitalSigns:
    get:
      tags:
      - Clinical
      summary: Get vital signs
      description: Retrieves vital sign observations for the patient. Confirmed endpoint; response modeled.
      operationId: getVitalSigns
      responses:
        '200':
          description: Vital sign observation list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /patient/procedure:
    get:
      tags:
      - Clinical
      summary: Get procedures
      description: Retrieves procedure records for the patient. Confirmed endpoint; response modeled.
      operationId: getProcedure
      responses:
        '200':
          description: Procedure list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /patient/smokingStatus:
    get:
      tags:
      - Clinical
      summary: Get smoking status
      description: Retrieves the patient's smoking status observation. Confirmed endpoint; response modeled.
      operationId: getSmokingStatus
      responses:
        '200':
          description: Smoking status observation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    Error:
      type: object
      properties:
        status:
          type: integer
          example: 401
        message:
          type: string
          example: Unauthorized
    ResourceList:
      type: object
      description: Generic container for a list of USCDI-aligned clinical resources (modeled). Actual payloads follow Tebra's clinical data format.
      properties:
        resourceType:
          type: string
        entry:
          type: array
          items:
            type: object
            additionalProperties: true
  responses:
    Unauthorized:
      description: The API Key is missing, revoked, or otherwise not valid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key
      description: Patient-generated API Key from the Tebra Patient Portal (My Account > API Access Key). A missing, revoked, or invalid key returns 401 Unauthorized.