Kareo Administrative API
Vendor registration, throttles, and configuration
Vendor registration, throttles, and configuration
openapi: 3.0.3
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:
GetThrottlesRequest:
type: object
properties:
RequestHeader:
$ref: '#/components/schemas/RequestHeader'
RegisterExternalVendorResponse:
type: object
properties:
VendorId:
type: integer
CustomerKey:
type: string
ErrorCode:
type: string
ErrorMessage:
type: string
GetCustomerIdFromKeyResponse:
type: object
properties:
CustomerId:
type: integer
ErrorCode:
type: string
ErrorMessage:
type: string
GetExternalVendorsResponse:
type: object
properties:
ExternalVendors:
type: array
items:
$ref: '#/components/schemas/ExternalVendor'
ErrorCode:
type: string
ErrorMessage:
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.
GetExternalVendorsRequest:
type: object
properties:
RequestHeader:
$ref: '#/components/schemas/RequestHeader'
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
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.
ExternalVendor:
type: object
properties:
VendorId:
type: integer
VendorName:
type: string
CustomerKey:
type: string
IsActive:
type: boolean
externalDocs:
description: Kareo API and Integration Documentation
url: https://helpme.tebra.com/01_Kareo_PM/12_API_and_Integration