Kareo Encounters API

Clinical encounter and document management

Specifications

OpenAPI Specification

kareo-encounters-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Kareo Integration SOAP Administrative Encounters API
  description: The Kareo Integration SOAP API provides a web services interface for integrating third-party applications with Kareo practice management data. This OpenAPI description is derived from the publicly accessible WSDL at https://webservice.kareo.com/services/soap/2.1/KareoServices.svc?wsdl. The underlying service is SOAP/XML-based; this document describes the logical operations and data shapes for reference and tooling purposes. Authentication requires a CustomerKey, Username, and Password issued by a Kareo System Administrator. Kareo is now part of Tebra.
  version: '2.1'
  contact:
    name: Kareo / Tebra Support
    url: https://helpme.tebra.com/01_Kareo_PM/12_API_and_Integration
  termsOfService: https://www.tebra.com/api-terms-of-use/
  x-api-type: SOAP
  x-wsdl-url: https://webservice.kareo.com/services/soap/2.1/KareoServices.svc?wsdl
servers:
- url: https://webservice.kareo.com/services/soap/2.1
  description: Kareo SOAP Web Service (production)
tags:
- name: Encounters
  description: Clinical encounter and document management
paths:
  /KareoServices.svc/CreateEncounter:
    post:
      operationId: createEncounter
      summary: Create a clinical encounter
      description: Creates a new clinical encounter record linking a patient visit to diagnoses, procedures, and billing codes.
      tags:
      - Encounters
      requestBody:
        required: true
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/CreateEncounterRequest'
      responses:
        '200':
          description: Encounter created
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/CreateEncounterResponse'
        '401':
          description: Authentication failed
  /KareoServices.svc/UpdateEncounterStatus:
    post:
      operationId: updateEncounterStatus
      summary: Update encounter status
      description: Updates the workflow status of an encounter (e.g., Draft, Submitted, Approved).
      tags:
      - Encounters
      requestBody:
        required: true
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/UpdateEncounterStatusRequest'
      responses:
        '200':
          description: Encounter status updated
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/UpdateEncounterStatusResponse'
        '401':
          description: Authentication failed
        '404':
          description: Encounter not found
  /KareoServices.svc/GetEncounterDetails:
    post:
      operationId: getEncounterDetails
      summary: Retrieve encounter details
      description: Retrieves detailed information about a clinical encounter including diagnoses, procedures, and associated billing data.
      tags:
      - Encounters
      requestBody:
        required: true
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/GetEncounterDetailsRequest'
      responses:
        '200':
          description: Encounter details retrieved
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/GetEncounterDetailsResponse'
        '401':
          description: Authentication failed
        '404':
          description: Encounter not found
  /KareoServices.svc/UpdatePrimaryPatientCase:
    post:
      operationId: updatePrimaryPatientCase
      summary: Update the primary case for a patient
      description: Updates the primary insurance case and billing information associated with a patient's account.
      tags:
      - Encounters
      requestBody:
        required: true
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/UpdatePrimaryPatientCaseRequest'
      responses:
        '200':
          description: Patient case updated
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/UpdatePrimaryPatientCaseResponse'
        '401':
          description: Authentication failed
  /KareoServices.svc/CreateDocument:
    post:
      operationId: createDocument
      summary: Create a clinical document
      description: Attaches or creates a document record in the Kareo EHR associated with a patient or encounter.
      tags:
      - Encounters
      requestBody:
        required: true
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/CreateDocumentRequest'
      responses:
        '200':
          description: Document created
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/CreateDocumentResponse'
        '401':
          description: Authentication failed
  /KareoServices.svc/DeleteDocument:
    post:
      operationId: deleteDocument
      summary: Delete a clinical document
      description: Removes a document record from a patient or encounter in the Kareo EHR.
      tags:
      - Encounters
      requestBody:
        required: true
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/DeleteDocumentRequest'
      responses:
        '200':
          description: Document deleted
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/DeleteDocumentResponse'
        '401':
          description: Authentication failed
        '404':
          description: Document not found
components:
  schemas:
    DeleteDocumentRequest:
      type: object
      properties:
        RequestHeader:
          $ref: '#/components/schemas/RequestHeader'
        DocumentId:
          type: integer
    CreateDocumentRequest:
      type: object
      properties:
        RequestHeader:
          $ref: '#/components/schemas/RequestHeader'
        PatientId:
          type: integer
        EncounterId:
          type: integer
        DocumentName:
          type: string
        DocumentContent:
          type: string
          format: byte
          description: Base64-encoded document content.
        DocumentType:
          type: string
    GetEncounterDetailsRequest:
      type: object
      properties:
        RequestHeader:
          $ref: '#/components/schemas/RequestHeader'
        EncounterId:
          type: integer
    CreateEncounterRequest:
      type: object
      properties:
        RequestHeader:
          $ref: '#/components/schemas/RequestHeader'
        Encounter:
          $ref: '#/components/schemas/Encounter'
    UpdatePrimaryPatientCaseResponse:
      type: object
      properties:
        Success:
          type: boolean
        ErrorCode:
          type: string
        ErrorMessage:
          type: string
    GetEncounterDetailsResponse:
      type: object
      properties:
        Encounter:
          $ref: '#/components/schemas/Encounter'
        ErrorCode:
          type: string
        ErrorMessage:
          type: string
    UpdateEncounterStatusResponse:
      type: object
      properties:
        Success:
          type: boolean
        ErrorCode:
          type: string
        ErrorMessage:
          type: string
    UpdateEncounterStatusRequest:
      type: object
      properties:
        RequestHeader:
          $ref: '#/components/schemas/RequestHeader'
        EncounterId:
          type: integer
        EncounterStatus:
          type: string
    CreateDocumentResponse:
      type: object
      properties:
        DocumentId:
          type: integer
        ErrorCode:
          type: string
        ErrorMessage:
          type: string
    CreateEncounterResponse:
      type: object
      properties:
        EncounterId:
          type: integer
        ErrorCode:
          type: string
        ErrorMessage:
          type: string
    UpdatePrimaryPatientCaseRequest:
      type: object
      properties:
        RequestHeader:
          $ref: '#/components/schemas/RequestHeader'
        PatientId:
          type: integer
        InsurancePolicyId:
          type: integer
        InsurancePolicyExternalId:
          type: string
    Encounter:
      type: object
      properties:
        EncounterId:
          type: integer
          description: Internal Kareo encounter identifier.
        PatientId:
          type: integer
        ProviderId:
          type: integer
        AppointmentId:
          type: integer
        EncounterStatus:
          type: string
          enum:
          - Draft
          - Submitted
          - Approved
          - Voided
        DateOfService:
          type: string
          format: date
          example: '2026-06-15'
        DiagnosisCodes:
          type: array
          items:
            type: string
          description: ICD-10 diagnosis codes associated with the encounter.
          example:
          - J06.9
          - Z00.00
        ProcedureCodes:
          type: array
          items:
            type: string
          description: CPT procedure codes billed in the encounter.
          example:
          - '99213'
    DeleteDocumentResponse:
      type: object
      properties:
        Success:
          type: boolean
        ErrorCode:
          type: string
        ErrorMessage:
          type: string
    RequestHeader:
      type: object
      required:
      - CustomerKey
      - User
      - Password
      properties:
        CustomerKey:
          type: string
          description: Unique key issued by the Kareo System Administrator identifying the practice integration.
          example: ABC123XYZ
        User:
          type: string
          description: Kareo username for authentication.
          example: admin@mypractice.com
        Password:
          type: string
          format: password
          description: Kareo password for authentication.
externalDocs:
  description: Kareo API and Integration Documentation
  url: https://helpme.tebra.com/01_Kareo_PM/12_API_and_Integration