openapi: 3.0.3 info: title: Kareo Integration SOAP Administrative Providers 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: Providers description: Provider and practice administration paths: /KareoServices.svc/GetProviders: post: operationId: getProviders summary: Retrieve provider records description: Retrieves the list of healthcare providers configured in the practice. tags: - Providers requestBody: required: true content: application/xml: schema: $ref: '#/components/schemas/GetProvidersRequest' responses: '200': description: Providers retrieved content: application/xml: schema: $ref: '#/components/schemas/GetProvidersResponse' '401': description: Authentication failed /KareoServices.svc/GetPractices: post: operationId: getPractices summary: Retrieve practice records description: Retrieves practice information for the authenticated account, including name, address, and NPI. tags: - Providers requestBody: required: true content: application/xml: schema: $ref: '#/components/schemas/GetPracticesRequest' responses: '200': description: Practices retrieved content: application/xml: schema: $ref: '#/components/schemas/GetPracticesResponse' '401': description: Authentication failed /KareoServices.svc/GetServiceLocations: post: operationId: getServiceLocations summary: Retrieve service locations description: Retrieves the list of service locations (offices, facilities) configured for the practice. tags: - Providers requestBody: required: true content: application/xml: schema: $ref: '#/components/schemas/GetServiceLocationsRequest' responses: '200': description: Service locations retrieved content: application/xml: schema: $ref: '#/components/schemas/GetServiceLocationsResponse' '401': description: Authentication failed /KareoServices.svc/GetProcedureCodes: post: operationId: getProcedureCodes summary: Retrieve procedure codes description: Retrieves the CPT/procedure code list configured for the practice for use in encounter and charge creation. tags: - Providers requestBody: required: true content: application/xml: schema: $ref: '#/components/schemas/GetProcedureCodesRequest' responses: '200': description: Procedure codes retrieved content: application/xml: schema: $ref: '#/components/schemas/GetProcedureCodesResponse' '401': description: Authentication failed components: schemas: GetProcedureCodesRequest: type: object properties: RequestHeader: $ref: '#/components/schemas/RequestHeader' GetPracticesRequest: type: object properties: RequestHeader: $ref: '#/components/schemas/RequestHeader' Provider: type: object properties: ProviderId: type: integer FirstName: type: string LastName: type: string NPI: type: string description: National Provider Identifier (10-digit). example: '1234567890' Specialty: type: string IsActive: type: boolean ServiceLocation: type: object properties: ServiceLocationId: type: integer LocationName: type: string example: Main Office Address: $ref: '#/components/schemas/Address' Phone: type: string NPI: type: string ProcedureCode: type: object properties: ProcedureCodeId: type: integer Code: type: string example: '99213' Description: type: string example: Office visit, established patient, moderate complexity DefaultFee: type: number format: float example: 150.0 GetProvidersRequest: type: object properties: RequestHeader: $ref: '#/components/schemas/RequestHeader' GetServiceLocationsRequest: type: object properties: RequestHeader: $ref: '#/components/schemas/RequestHeader' Practice: type: object properties: PracticeId: type: integer PracticeName: type: string NPI: type: string Address: $ref: '#/components/schemas/Address' Phone: type: string TaxId: 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. GetPracticesResponse: type: object properties: Practices: type: array items: $ref: '#/components/schemas/Practice' ErrorCode: type: string ErrorMessage: type: string GetServiceLocationsResponse: type: object properties: ServiceLocations: type: array items: $ref: '#/components/schemas/ServiceLocation' ErrorCode: type: string ErrorMessage: type: string GetProcedureCodesResponse: type: object properties: ProcedureCodes: type: array items: $ref: '#/components/schemas/ProcedureCode' ErrorCode: type: string ErrorMessage: type: string GetProvidersResponse: type: object properties: Providers: type: array items: $ref: '#/components/schemas/Provider' ErrorCode: type: string ErrorMessage: type: string Address: type: object properties: Address1: type: string example: 123 Main St Address2: type: string example: Suite 100 City: type: string example: Los Angeles State: type: string example: CA ZipCode: type: string example: '90001' Country: type: string example: US externalDocs: description: Kareo API and Integration Documentation url: https://helpme.tebra.com/01_Kareo_PM/12_API_and_Integration