openapi: 3.0.3 info: title: Kareo Integration SOAP Administrative Billing 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: Billing description: Charges, payments, and transactions paths: /KareoServices.svc/CreatePayment: post: operationId: createPayment summary: Post a payment description: Posts a patient or insurance payment to a patient account or specific charge in Kareo. tags: - Billing requestBody: required: true content: application/xml: schema: $ref: '#/components/schemas/CreatePaymentRequest' responses: '200': description: Payment posted content: application/xml: schema: $ref: '#/components/schemas/CreatePaymentResponse' '401': description: Authentication failed /KareoServices.svc/GetPayments: post: operationId: getPayments summary: Retrieve payment records description: Retrieves payment records with optional date range and patient filters. tags: - Billing requestBody: required: true content: application/xml: schema: $ref: '#/components/schemas/GetPaymentsRequest' responses: '200': description: Payments retrieved content: application/xml: schema: $ref: '#/components/schemas/GetPaymentsResponse' '401': description: Authentication failed /KareoServices.svc/GetCharges: post: operationId: getCharges summary: Retrieve charge records description: Retrieves medical charge records (CPT/procedure codes billed) with optional filtering by date range and patient. tags: - Billing requestBody: required: true content: application/xml: schema: $ref: '#/components/schemas/GetChargesRequest' responses: '200': description: Charges retrieved content: application/xml: schema: $ref: '#/components/schemas/GetChargesResponse' '401': description: Authentication failed /KareoServices.svc/GetTransactions: post: operationId: getTransactions summary: Retrieve financial transactions description: Retrieves financial transaction records for the practice, including charges, payments, and adjustments. tags: - Billing requestBody: required: true content: application/xml: schema: $ref: '#/components/schemas/GetTransactionsRequest' responses: '200': description: Transactions retrieved content: application/xml: schema: $ref: '#/components/schemas/GetTransactionsResponse' '401': description: Authentication failed components: schemas: GetChargesResponse: type: object properties: Charges: type: array items: $ref: '#/components/schemas/Charge' ErrorCode: type: string ErrorMessage: type: string GetPaymentsRequest: type: object properties: RequestHeader: $ref: '#/components/schemas/RequestHeader' StartDate: type: string format: date-time EndDate: type: string format: date-time PatientId: type: integer GetTransactionsRequest: type: object properties: RequestHeader: $ref: '#/components/schemas/RequestHeader' StartDate: type: string format: date-time EndDate: type: string format: date-time GetTransactionsResponse: type: object properties: Transactions: type: array items: type: object properties: TransactionId: type: integer TransactionDate: type: string format: date TransactionType: type: string Amount: type: number format: float PatientId: type: integer ErrorCode: type: string ErrorMessage: type: string CreatePaymentResponse: type: object properties: PaymentId: type: integer ErrorCode: type: string ErrorMessage: type: string GetChargesRequest: type: object properties: RequestHeader: $ref: '#/components/schemas/RequestHeader' StartDate: type: string format: date-time EndDate: type: string format: date-time PatientId: type: integer Payment: type: object properties: PaymentId: type: integer PatientId: type: integer PaymentDate: type: string format: date PaymentAmount: type: number format: float example: 50.0 PaymentType: type: string enum: - PatientPayment - InsurancePayment - Adjustment CheckNumber: type: string Notes: type: string Charge: type: object properties: ChargeId: type: integer PatientId: type: integer EncounterId: type: integer ProcedureCode: type: string example: '99213' Units: type: number example: 1 ChargeAmount: type: number format: float example: 150.0 DateOfService: type: string format: date InsuranceBalance: type: number format: float PatientBalance: type: number format: float CreatePaymentRequest: type: object properties: RequestHeader: $ref: '#/components/schemas/RequestHeader' Payment: $ref: '#/components/schemas/Payment' GetPaymentsResponse: type: object properties: Payments: type: array items: $ref: '#/components/schemas/Payment' 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