Kareo Administrative API

Vendor registration, throttles, and configuration

Operations 4

POST /KareoServices.svc/RegisterExternalVendor Register an external vendor integration #
POST /KareoServices.svc/GetExternalVendors Retrieve registered external vendors #
POST /KareoServices.svc/GetThrottles Retrieve API throttle limits #
POST /KareoServices.svc/GetCustomerIdFromKey Resolve customer identifier from CustomerKey #

Specifications

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/kareo-administrative-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 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.

OpenAPI Specification

kareo-administrative-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Kareo Integration SOAP Administrative 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: Administrative
  description: Vendor registration, throttles, and configuration
paths:
  /KareoServices.svc/RegisterExternalVendor:
    post:
      operationId: registerExternalVendor
      summary: Register an external vendor integration
      description: Registers a third-party vendor or integration application with the Kareo platform to receive a CustomerKey for API access.
      tags:
      - Administrative
      requestBody:
        required: true
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/RegisterExternalVendorRequest'
      responses:
        '200':
          description: External vendor registered
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/RegisterExternalVendorResponse'
        '401':
          description: Authentication failed
  /KareoServices.svc/GetExternalVendors:
    post:
      operationId: getExternalVendors
      summary: Retrieve registered external vendors
      description: Retrieves the list of external vendor integrations registered with the practice.
      tags:
      - Administrative
      requestBody:
        required: true
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/GetExternalVendorsRequest'
      responses:
        '200':
          description: External vendors retrieved
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/GetExternalVendorsResponse'
        '401':
          description: Authentication failed
  /KareoServices.svc/GetThrottles:
    post:
      operationId: getThrottles
      summary: Retrieve API throttle limits
      description: Returns the current API request throttle limits and usage for the authenticated practice to support rate-limit-aware integrations.
      tags:
      - Administrative
      requestBody:
        required: true
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/GetThrottlesRequest'
      responses:
        '200':
          description: Throttle limits retrieved
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/GetThrottlesResponse'
        '401':
          description: Authentication failed
  /KareoServices.svc/GetCustomerIdFromKey:
    post:
      operationId: getCustomerIdFromKey
      summary: Resolve customer identifier from CustomerKey
      description: Resolves the internal customer/practice identifier corresponding to a given CustomerKey credential.
      tags:
      - Administrative
      requestBody:
        required: true
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/GetCustomerIdFromKeyRequest'
      responses:
        '200':
          description: Customer ID retrieved
          content:
            application/xml:
              schema:
                $ref: '#/components/schemas/GetCustomerIdFromKeyResponse'
        '401':
          description: Authentication failed
components:
  schemas:
    ExternalVendor:
      type: object
      properties:
        VendorId:
          type: integer
        VendorName:
          type: string
        CustomerKey:
          type: string
        IsActive:
          type: boolean
    RegisterExternalVendorResponse:
      type: object
      properties:
        VendorId:
          type: integer
        CustomerKey:
          type: string
        ErrorCode:
          type: string
        ErrorMessage:
          type: string
    GetExternalVendorsResponse:
      type: object
      properties:
        ExternalVendors:
          type: array
          items:
            $ref: '#/components/schemas/ExternalVendor'
        ErrorCode:
          type: string
        ErrorMessage:
          type: string
    GetExternalVendorsRequest:
      type: object
      properties:
        RequestHeader:
          $ref: '#/components/schemas/RequestHeader'
    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.
    GetThrottlesRequest:
      type: object
      properties:
        RequestHeader:
          $ref: '#/components/schemas/RequestHeader'
    GetCustomerIdFromKeyResponse:
      type: object
      properties:
        CustomerId:
          type: integer
        ErrorCode:
          type: string
        ErrorMessage:
          type: string
    RegisterExternalVendorRequest:
      type: object
      properties:
        RequestHeader:
          $ref: '#/components/schemas/RequestHeader'
        VendorName:
          type: string
        VendorEmail:
          type: string
          format: email
    GetThrottlesResponse:
      type: object
      properties:
        ThrottleLimits:
          type: array
          items:
            $ref: '#/components/schemas/ThrottleLimit'
        ErrorCode:
          type: string
        ErrorMessage:
          type: string
    GetCustomerIdFromKeyRequest:
      type: object
      properties:
        RequestHeader:
          $ref: '#/components/schemas/RequestHeader'
        CustomerKey:
          type: string
    ThrottleLimit:
      type: object
      properties:
        OperationName:
          type: string
          description: Name of the API operation subject to throttling.
        RequestsPerHour:
          type: integer
          description: Maximum allowed requests per hour for this operation.
        CurrentUsage:
          type: integer
          description: Current request count in the rolling window.
externalDocs:
  description: Kareo API and Integration Documentation
  url: https://helpme.tebra.com/01_Kareo_PM/12_API_and_Integration