Kareo
Kareo (now Tebra) is a cloud-based healthcare technology platform built for independent medical practices. It combines electronic health records (EHR), practice management, and medical billing into a single integrated system. The platform provides clinical documentation, e-prescribing, appointment scheduling, insurance eligibility verification, electronic claims submission, and patient engagement tools. Kareo's web services API enables integration with auxiliary healthcare information systems, offering read access to patients, providers, appointments, transactions, and charges, as well as write access to patients and encounters.
Power end-to-end data operations for your Kareo API with Nexla. Our bi-directional Kareo connector is purpose-built for Kareo, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Kareo or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Kareo workflows fast, secure, and fully governed.
Features
Type: API
- Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
- Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
- API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
- Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
Prerequisites
Kareo uses a combination of a Customer Key, Username, and Password to authenticate API requests. Before creating a Kareo credential in Nexla, you will need to gather all three values from your Kareo (Tebra) account.
Obtain Your Customer Key
The Customer Key is an account-level identifier required by the Kareo SOAP API. It is unique to your organization, is the same for all users on the account, and never changes or expires. Only Kareo System Administrators can generate or view the Customer Key.
-
Log in to your Kareo (Tebra) account at app.kareo.com using your System Administrator credentials.
-
Navigate to Help in the top navigation bar, then select Get Customer Key from the dropdown menu.
-
In the dialog that appears, click the Create my customer key button. Your Customer Key will be generated and displayed next to Your Key.
-
Copy and securely store the Customer Key — you will need it when configuring the credential in Nexla.
The Customer Key is an account-wide identifier and is the same for all users in your organization. It does not expire and does not need to be regenerated unless your organization requests a new one.
Create a Dedicated API User
Kareo recommends creating a dedicated user account for API integrations rather than using a personal administrator login. This makes it easier to manage access and to audit API activity.
-
In your Kareo account, navigate to Settings > User Accounts (or Manage Users, depending on your version).
-
Click Add User or New User to create a new user account.
-
Assign the new user the System Administrator role. This role is required for full API access, including read access to patients, providers, appointments, transactions, and charges, as well as write access to patients and encounters.
-
In the user's permissions configuration, select EHR's and API, then click Full Control to grant the necessary API permissions.
-
Set a strong, secure password for the new user account.
-
Save the new user and note the Username (typically the user's email address or login name) and the Password you configured — you will need these when creating the Nexla credential.
Using a dedicated API user account rather than a personal login is a security best practice. It ensures that API access can be revoked or audited independently of individual user accounts, and it prevents disruption to API integrations if a personal account's password changes.
For complete information about user management and API access in Kareo, refer to the Tebra Help Center.
Authenticate
Create a credential in Nexla
-
To create a new Kareo credential, after selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
-
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
-
Enter your Kareo Customer Key in the Customer Key field. This is the account-level identifier generated in your Kareo account under Help > Get Customer Key. The Customer Key is required by the Kareo SOAP API to identify your organization.
-
Enter the Username of the dedicated API user account in the User Name field. This is typically the email address or login name of the user created for API integrations in your Kareo account.
-
Enter the Password for the API user account in the Password field. This should be the password set when the dedicated API user was created.
ImportantKeep your Customer Key, Username, and Password confidential. These credentials grant access to your Kareo account data, including sensitive patient and billing information. Do not share credentials in unsecured communications, and rotate the API user password periodically as part of your organization's security practices.
-
Once all of the relevant steps in the above sections have been completed, click the Save button at the bottom of the overlay to save the configured credential. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation and can be selected for use with a new data source or destination.
Use as a data source
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Kareo connector tile, then select the credential that will be used to connect to the Kareo instance, and click Next; or, create a new Kareo credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Kareo Clinical API endpoints. Each template is designed specifically for the corresponding Kareo Clinical API endpoint, making data source setup easy and efficient. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Manual configuration
Kareo Clinical API sources can also be manually configured to ingest data from Kareo API endpoints not included in the pre-built templates, or to apply further customizations. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.
Kareo's web services API base URL is https://webservice.kareo.com/services/soap/2.1/KareoServices.svc; common data retrieval endpoints include paths for patients, providers, appointments, charges, transactions, encounters, service locations, procedure codes, and practices.
Kareo API responses often wrap records inside an envelope object (e.g., GetPatientsResp). For JSON responses, enter the JSON path to the relevant array, such as $.Patients.PatientData[*]; for XML responses, enter the XPath, such as /GetPatientsResp/Patients/PatientData. You do not need to add headers for the Customer Key, Username, or Password — these are handled automatically based on your credential configuration. For a complete list of available Kareo API endpoints and their parameters, refer to the Tebra Help Center API documentation.
Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Kareo data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.
Use as a destination
Click the + icon on the Nexset that will be sent to the Kareo destination, and select the Send to Destination option from the menu. Select the Kareo connector from the list of available destination connectors, then select the credential that will be used to connect to the Kareo organization, and click Next; or, create a new Kareo credential for use in this flow.
Manual configuration
Kareo destinations can also be manually configured to send data to any valid Kareo API endpoint. The Kareo API supports write operations for patients and encounters, allowing Nexla to create or update these record types in your Kareo account; you can also configure Nexla to automatically send the response received from the Kareo API after each call to a new Nexla webhook data source. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.
The Kareo API typically accepts JSON for write operations, using POST to create new records and PUT/PATCH to update or partially update existing records. For update operations, include the ID of the object to be updated at the end of the URL. You do not need to add headers for the Customer Key, Username, or Password — these are handled automatically based on your credential configuration. For complete information about available Kareo API write endpoints and their required request formats, refer to the Tebra Help Center API documentation and the Kareo API Integration Technical Guide.
Save & activate
Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Kareo endpoint, open the destination resource menu, and select Activate.
The Nexset data will not be sent to Kareo until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.