Tyler Odyssey / Enterprise Justice (API)
This integration connects Tyler Technologies' Odyssey or Enterprise Justice case management system with eCourtDate through Odyssey's TranslationBridge External Service API. On a recurring schedule, eCourtDate retrieves upcoming hearings, the cases and defendant parties on those hearings, party phone numbers and email addresses, and court session details, then imports them as Events, Cases, Clients, and Contacts so the agency can send defendants reminders about upcoming hearings.
This is a unidirectional integration. eCourtDate reads data from Odyssey and does not create or modify records in the case management system.
Before Starting
An Odyssey administrator or IT user with access to the Odyssey instance should verify the following:
- The organization has the required API Toolkit / Integration Toolkit from Tyler Technologies.
- The TranslationBridge External Service is enabled.
- An HTTPS endpoint for the TranslationBridge External Service is available and reachable from eCourtDate.
- A dedicated Enterprise Justice User can be created.
- Permission to configure API Message Security is available.
Non-technical staff should ask an IT user or the Tyler Account Manager for assistance with the Odyssey steps. No custom development is required on either side.
The endpoint must be reachable from eCourtDate over HTTPS. If access is restricted by a firewall, VPN, or IP allowlist, coordinate network access with eCourtDate support by opening a support ticket in the Console using the Help button in the bottom-right corner.
How It Works
On each sync, eCourtDate:
- Connects to the TranslationBridge External Service endpoint.
- Authenticates using the Enterprise Justice User's Username and Password, and includes the UserID in each API transaction.
- Runs FindHearings for the configured Search NodeIDs to retrieve upcoming hearings.
- Runs LoadCase to retrieve the cases and their parties.
- Runs LoadParty to retrieve defendant phone numbers and email addresses.
- Runs LoadCourtSession to retrieve session details, including virtual session information.
- Imports the resulting hearings and associated defendants into the eCourtDate agency.
Odyssey API Messages Used
The integration uses the following TranslationBridge API messages. Each one must be authorized for the Enterprise Justice User in API Message Security (see Step 2).
| Message | Purpose |
|---|---|
| GetOdysseyReleaseLevel | Returns the Odyssey release level. |
| FindHearings | Retrieves hearings for the configured Search NodeIDs. |
| LoadCase | Retrieves a case, including its case number and parties. |
| LoadParty | Retrieves a party, including phone numbers and email addresses. |
| LoadCourtSession | Retrieves court session details, including session type and description. |
An API Key, API Secret, and API Version are not used by this integration. Leave those fields blank if they appear in the configuration form.
Data Included
Depending on the data available in the Odyssey instance, each sync retrieves:
- Hearings and court sessions
- Cases and case numbers
- Defendant parties
- Phone numbers and email addresses
- Hearing dates and times
- Locations and judges
- Hearing statuses
- Session types and descriptions
If the agency needs data that the integration does not retrieve (for example, attorney contacts or payment amounts), open a support ticket in the Console using the Help button in the bottom-right corner to discuss options, such as supplementing the integration with a custom report delivered over SFTP.
Step 1: Create an Enterprise Justice User
Create a dedicated Enterprise Justice User for eCourtDate. This is the user the integration relies on for every API call. Do not define any rights or roles for it, because the user exists only for API calls. Do not grant broad ordinary user roles unless Tyler or the organization's security policy requires it.
Configuration path: Configure > System > Security > Users > Odyssey Users
Record these values:
- Username
- Password
- UserID
The Username and the UserID are different values:
- The Username and Password authenticate each API request.
- The UserID is Odyssey's internal identifier for the user and is included in each API transaction.
Use this dedicated API user instead of a staff member's account. A dedicated user provides cleaner auditing, safer password rotation, and easier troubleshooting.
Step 2: Configure API Message Security
In Odyssey Administration, authorize the eCourtDate Enterprise Justice User for each required API message. Menu names and steps may vary by Odyssey or Enterprise Justice release.
Configuration path: Configure > Integrations > Codes > TranslationBridge > APIMessageSecurityConfigurations > System
Grant the user access to the following message types:
- GetOdysseyReleaseLevel
- FindHearings
- LoadCase
- LoadParty
- LoadCourtSession
These messages allow eCourtDate to retrieve hearings, cases, defendants, contact information, and court session details.
Step 3: Collect the Odyssey Environment Information
Collect these values separately for the Odyssey Test and Production environments. Each environment normally has its own endpoint, credentials, System Environment value, and set of NodeIDs.
| Value | Description |
|---|---|
| TranslationBridge External Service endpoint | The HTTPS URL of the service. The standard format is https://[ClientExternalServer]/ExternalWebService/TranslationBridgeExternalService.asmx. |
| Username | The Enterprise Justice User's username from Step 1. |
| Password | The Enterprise Justice User's password from Step 1. |
| UserID | The Enterprise Justice User's Odyssey UserID from Step 1. |
| System Environment | The exact SystemEnvironment value that identifies the Odyssey environment receiving the API request. Test and Production normally have different values. The Odyssey administrator provides this. |
| Search NodeIDs | The Odyssey NodeID for every court node whose hearings should be synchronized, as a comma-separated list (for example, 100, 200, 300). |
Search NodeIDs
A NodeID identifies an Odyssey court node. Provide the NodeID for every court whose hearings should be synchronized. Explicit NodeIDs are recommended so that hearings from other courts are not imported unintentionally.
If no Search NodeIDs are provided, eCourtDate attempts to request hearings from all nodes available to the Enterprise Justice User. If that request fails, the Odyssey administrator must provide at least one valid, authorized NodeID before hearings will synchronize.
Step 4: Configure the Integration in eCourtDate
- Create a staging agency in eCourtDate if one does not already exist. See Staging and Production.
- Open the Integrations page in the Console and add a Tyler Odyssey integration for the staging agency.
- Enter the Test environment values from Step 3: endpoint, Username, Password, UserID, System Environment, and Search NodeIDs. Leave API Key, API Secret, and API Version blank.
- Save the integration and run a connection test.
Configure the Odyssey Test environment against the eCourtDate staging agency, and the Odyssey Production environment against the eCourtDate production agency. Complete all configuration and testing in the Test environment before configuring Production.
Configuration example
| Setting | Example value |
|---|---|
| Environment | Test |
| TranslationBridge server | https://odyssey-test.example.gov |
| TranslationBridge endpoint | /ExternalWebService/TranslationBridgeExternalService.asmx |
| Enterprise Justice Username | svc_ecourtdate |
| Enterprise Justice Password | (provided securely) |
| Odyssey UserID | 1000 |
| System Environment | ODYSSEYTEST |
| Search NodeIDs | 100, 200 |
Sharing credentials
Use the secure credential-sharing method provided by eCourtDate when to hand off Odyssey credentials. Never place Production passwords in support tickets or ordinary email.
Step 5: Validate the Integration
After the integration is configured, eCourtDate connects to the TranslationBridge External Service, authenticates as the Enterprise Justice User, runs FindHearings for the configured Search NodeIDs, runs LoadCase, LoadParty, and LoadCourtSession for the results, and imports the hearings and associated defendants into the staging agency.
Verify that:
- Expected hearings are returned.
- Only the intended NodeIDs are included.
- Case numbers and hearing details are correct.
- Defendant names and contact information are available.
- Cancelled or deleted hearings are handled correctly.
- Virtual session information is interpreted correctly.
Then configure messaging flows, review the generated messages in the Console, and confirm they match expectations.
After Test validation is complete, repeat Steps 1 through 4 using the Production endpoint, credentials, System Environment, and NodeIDs against the production agency.
Troubleshooting
A connection test succeeds but synchronization fails. A connection test confirms that the endpoint, Username, and Password work. Synchronization can still fail because of:
- An incorrect UserID
- An incorrect System Environment
- Missing API Message Security permissions for one or more of the required messages
- Invalid or unauthorized NodeIDs
- Network timeouts
- Odyssey schema or configuration errors
API requests fail after a password change. When the Enterprise Justice User's password changes in Odyssey, update the credentials stored in eCourtDate immediately. API requests fail until the stored password matches the current Enterprise Justice User password.
eCourtDate cannot reach the endpoint. The TranslationBridge External Service endpoint must be reachable from eCourtDate over HTTPS. If access is restricted by a firewall, VPN, or IP allowlist, coordinate network access with eCourtDate support.
Frequently Asked Questions
Is the Username the same as the UserID? No. The Username and Password authenticate the request. The UserID is Odyssey's internal identifier for the user and is included in each API transaction.
Should we use an existing Odyssey user? A dedicated Enterprise Justice User is recommended. It provides cleaner auditing, safer password rotation, and easier troubleshooting.
What is the System Environment?
SystemEnvironment identifies the Odyssey environment receiving the API request. Test and Production normally have different values. The Odyssey administrator should provide the exact values.
What is a NodeID? A NodeID identifies an Odyssey court node. Provide every Search NodeID whose hearings should be synchronized.
What happens if no Search NodeIDs are provided? The integration requests hearings from all nodes available to the Enterprise Justice User. Explicit NodeIDs are recommended to prevent unintended hearings from being imported. If the request for all nodes fails, the Odyssey administrator must provide at least one valid NodeID.
Do Test and Production require separate credentials? Yes. Each environment should have a different endpoint, Username, Password, UserID, System Environment, and set of NodeIDs. Configure the Test credentials with the staging eCourtDate agency and the Production credentials with the production agency.
Which API messages must be authorized? The standard synchronization requires FindHearings, LoadCase, LoadParty, and LoadCourtSession. GetOdysseyReleaseLevel should also be granted. See Step 2.
Are an API Key, API Secret, or API Version required? No. Those values are not used by the current integration.
Does the endpoint need to be publicly accessible? It must be reachable from eCourtDate over HTTPS. If access is restricted by a firewall, VPN, or IP allowlist, coordinate network access with eCourtDate support.
Does eCourtDate write data back to Odyssey? No. This is a unidirectional integration. Data flows from Odyssey into eCourtDate. eCourtDate does not create or modify records in the case management system.
Do we need developers on our team? No custom development is required. The Odyssey administrator creates the Enterprise Justice User, grants API Message Security permissions, and provides the environment values. The eCourtDate side is configured through the Console.
Related
- Tyler Odyssey / Enterprise Justice (SFTP): Report-based alternative using a nightly SFTP file transfer.
- Console: Where integrations are configured in eCourtDate.
- Common Concepts: Agencies, data sources, and resources.