API Endpoints
There are many endpoints in MerusCase which are available via the API.
Activities
Provides a list of Activities in a given case file.
Request
GET activities/index/:case_file_id
Adding an activity in a given case file.
Request
POST activities/add
Parameters
Name | Type | Description |
---|---|---|
data[Activity][case_file_id] |
integer | Required The case file id |
data[Activity][activity_type_id][] |
string | Required Comma delimited list of activity types |
data[Activity][activity] |
string | Activity description |
data[Activity][contact_id] |
integer | ID for contact associated with the activity (Applicable for Telephone Call activity type only) |
data[Activity][contact_name] |
string | Name of contact associated with the activity. (Requires contact_id to be specified) |
data[Activity][date] |
datetime | Date and time of the activity (YYYY-MM-DD HH:MM:SS). Defaults to current time. |
Activity Types
Provides a list of Activity Types available to authenticated user. This includes both global types and firm-specific types.
Request
GET activityTypes/index
Add a new Activity Type to the authenticated user’s firm.
Request
POST activityTypes/add
Parameters
Name | Type | Description |
---|---|---|
data[ActivityType][type] |
string | Required Activity Type Description |
Arrests
Provides the arrest details in a given Criminal case file.
Request
GET arrests/view/:case_file_id
Billing Codes
Provides a list of billing codes available to the authenticated user.
Request
GET billingCodes/index
Add a new billing code entry to the authenticated user’s firm. Requires either the data[BillingCode][task_code]
value or the data[BillingCode][expense_code]
value. If sending up data[BillingCode][task_code]
, you may also specify a value for data[BillingCode][activity_code]
.
Request
POST billingCodes/add
Parameters
Name | Type | Description |
---|---|---|
data[BillingCode][task_code] |
string | 4 character UTBMS L-Code or 000000 for a Generic code |
data[BillingCode][activity_code] |
string | 4 character UTBMS A-Code |
data[BillingCode][expense_code] |
string | 4 character UTBMS E-Code |
data[BillingCode][alternate_billing_code] |
string | 5 character Quick Code |
data[BillingCode][ledger_disposition] |
string | Required BILLABLE or EXPENSE |
data[BillingCode][description] |
string | Required Predefined billing description |
data[BillingCode][priority] |
integer | Required Numeric priority value for billing code order |
Case Files
View details of a specific case file available to authenticated user.
Request
GET caseFiles/view/:case_file_id
Provides details of all case files available to authenticated user.
Request
GET caseFiles/index
Filters
Requests for case files can also be limited by case status, case type, venue, file number, as well as the open and close dates.
Filter | Values |
---|---|
case_status_id[] | Merus case status ID |
case_type_id[] | Merus case type ID |
venue_id[] | Merus venue (court) ID |
file_number[] | Case File Number from Case Details |
date_opened[] | YYYY-MM-DD formatted date |
date_closed[] | YYYY-MM-DD formatted date |
modified[] | YYYY-MM-DD HH:MM:SS date |
In addition to exact matches, filters can specify less than (lt), less than or equal to (lte), greater than (gt), greater than or equal to (gte) and not equal to (not) the specified example.
GET caseFiles/index?case_status_id[]=1001
will return all case files with the case_status_ID 1001, if available to the authenticated user.
GET caseFiles/index?date_opened[gte]=2016-02-01
will return case files available to the authenticated user which have an open date on or after Feb. 1, 2016.
Case Ledgers
Provides a list of Open case ledgers available to the authenticated user.
Request
GET caseLedgersOpen/index
Filters
Requests for case ledgers can also be limited by case file, ledger type, date and amount.
Filter | Values |
---|---|
case_file_id[] | Merus case file ID |
ledger_type_id[] | Case Ledger type |
date[] | Case Ledger date in YYYY-MM-DD format |
amount[] | Amount of the case ledger. Values should be negative. |
user_id[] | User ID for the ledger item |
In addition to exact matches, filters can specify less than (lt), less than or equal to (lte), greater than (gt), greater than or equal to (gte) and not equal to (not) the specified example.
GET caseLedgersOpen/index?case_file_id[]=1001
will return the case ledgers in the case file which has the ID 1001 if it is available to the authenticated user.
GET caseLedgersOpen/index?ledger_type_id[]=50&case_file_id[]=1001
will return case ledgers available to the authenticated user which are billable time entries in the specified case.
GET caseLedgersOpen/index?date[gte]=2016-01-01
will return case ledgers available to the authenticated user which have a date on or after Jan. 1, 2016.
GET caseLedgersOpen/index?amount[]=-50.00
will return case ledgers available to the authenticated user which have an amount of $50.00.
Provides a list of Reviewed case ledgers available to the authenticated user.
Request
GET caseLedgersReviewed/index
Filters
Requests for case ledgers can also be limited by case file, ledger type, date and amount.
Filter | Values |
---|---|
case_file_id[] | Merus case file ID |
ledger_type_id[] | Case Ledger type |
date[] | Case Ledger date in YYYY-MM-DD format |
amount[] | Amount of the case ledger. Values should be negative. |
user_id[] | User ID for the ledger item |
In addition to exact matches, filters can specify less than (lt), less than or equal to (lte), greater than (gt), greater than or equal to (gte) and not equal to (not) the specified example.
GET caseLedgersReviewed/index?case_file_id[]=1001
will return the case ledgers in the case file which has the ID 1001 if it is available to the authenticated user.
GET caseLedgersReviewed/index?ledger_type_id[]=50&case_file_id[]=1001
will return case ledgers available to the authenticated user which are billable time entries in the specified case.
GET caseLedgersReviewed/index?date[gte]=2016-01-01
will return case ledgers available to the authenticated user which have a date on or after Jan. 1, 2016.
GET caseLedgersReviewed/index?amount[]=-50.00
will return case ledgers available to the authenticated user which have an amount of $50.00.
Add a case ledger to a given case file.
Request
POST caseLedgers/add
Parameters
Name | Type | Description |
---|---|---|
data[CaseLedger][case_file_id] |
integer | Required ID for the case file |
data[CaseLedger][user_id] |
integer | Required ID of the user who billed the time |
data[CaseLedger][ledger_type_id] |
integer | Required ID of the ledger type being added |
data[CaseLedger][description] |
string | Required Billing narrative |
data[CaseLedger][date] |
date | Required Case ledgers date posted (MM/DD/YYYY) |
data[CaseLedger][account] |
integer | Required 1 for Operating Account, 2 for Client Account |
data[CaseLedger][hours] |
float | Total hours for time entries |
data[CaseLedger][hourly_rate] |
float | The hourly rate for time entries |
data[CaseLedger][amount] |
float | The total amount of the case ledger |
data[CaseLedger][item_qty] |
float | Number of items for Expense - Item ledger type |
data[CaseLedger][unit_cost] |
float | Per-unit cost for Expense - Item ledger type |
data[CaseLedger][billto_contact_id] |
integer | ID of the bill to contact for the ledger |
data[CaseLedger][task_code] |
string | 4 character UTBMS L-Code when applicable |
data[CaseLedger][activity_code] |
string | 4 character UTBMS A-Code, when including the task code |
data[CaseLedger][expense_code] |
string | 4 character UTMBS E-Code when applicable |
Mark a case ledger as rejected.
Request
POST caseLedgers/markRejected
Parameters
Name | Type | Description |
---|---|---|
data[caseLedgerIds][] |
integer | Required Case Ledger IDs to be marked as rejected |
Mark a case ledger as not rejected.
Request
POST caseLedgers/markNotRejected
Parameters
Name | Type | Description |
---|---|---|
data[caseLedgerIds][] |
integer | Required Case Ledger IDs to be marked as rejected |
Mark a case ledger as reviewed.
Request
POST caseLedgers/markReviewed
Parameters
Name | Type | Description |
---|---|---|
data[caseLedgerIds][] |
integer | Required Case Ledger IDs to be marked as rejected |
Mark a case ledger as unreviewed.
Request
POST caseLedgers/markNotReviewed
Parameters
Name | Type | Description |
---|---|---|
data[caseLedgerIds][] |
integer | Required Case Ledger IDs to be marked as rejected |
Case Types
Provides a list of Global Case Types as well as firm-specific case types available to the authenticated user.
Request
GET caseTypes/index
Contacts
Provides the details for a contact based upon it’s ID, which can be obtained from the Bill To Contact ID in Case Files or Case Ledgers, as well as the Contact ID from Activities.
GET contacts/view/:contact_id
Events
Provides a list of events available to the authenticated user.
Request
GET events/index
Provides the details of an event, given an Event ID.
Request
GET events/view/:event_id
Add a new event to the authenticated user’s firm.
Request
POST events/add
Parameters
Name | Type | Description |
---|---|---|
data[Event][event_title] |
string | Required Descriptive title of the event. |
data[Event][event_date_start] |
datetime | Required Date and time the event will begin (YYYY-MM-DD HH:MM:SS). |
data[Event][event_date_end] |
datetime | Required Date and time the event will end (YYYY-MM-DD HH:MM:SS). |
data[Event][event_type_id] |
integer | Required Event Type ID for the event |
data[Event][all_day] |
integer | If the event is all day, or has a begining and end time. All-day=1, else 0. |
data[Event][where] |
string | Location the event is to take place |
data[Event][assignees][] |
integer | User ID of the assignees on the event; must be supplied once per assignee. |
data[Event][notes] |
string | Additional notes on on the event. |
data[Event][case_file_id] |
integer | Case File ID of the related case file. |
Adds the assignee(s) specified via the ‘assignees[]’ parameter to the event, given an Event ID.
Request
POST events/addAssignees/:event_id
Parameters
Name | Type | Description |
---|---|---|
data[Event][assignees][] |
integer | User ID of the assignees on the event; must be supplied once per assignee. |
Removes the assignee(s) specified via the ‘assignees[]’ parameter from the event, given an Event ID.
Request
POST events/delAssignees/:event_id
Parameters
Name | Type | Description |
---|---|---|
data[Event][assignees][] |
integer | User ID of the assignees on the event; must be supplied once per assignee. |
Event Types
Provides a list of Event Types available to the authenticated user.
Request
GET eventTypes/index
Add a new Event Type to the authenticated user’s firm.
Request
POST eventTypes/add
Parameters
Name | Type | Description |
---|---|---|
data[EventType][type] |
string | Required Event Type Description |
data[EventType][color] |
string | Required Hex value of Event Type Color |
General Incidents
Provides a incident details for a given General Incident case file.
Request
GET generalIncidents/view/:case_file_id
Injuries
Provides a list of injuries for a given Workers’ Compensation case file.
Request
GET injuries/view/:case_file_id
Adds a new injury to a specified case file accessible to the authenticated user, or edits an existing injury. Edit requires the ID of an injury which is not deleted, and accessible to the authenticated user. Without an Injury ID, the request will add a new injury in the specified case file.
Request
POST injuries/edit
Parameters
Name | Type | Description |
---|---|---|
data[Injury][id] |
integer | Required for Injury Edit, omit to add a new injury. |
data[Injury][case_file_id] |
integer | Required for Injury Add, omit to edit an existing injury. |
data[Injury][injury_type_id] |
integer | 1 for CT, 2 for Specific |
data[Injury][date_of_injury] |
date | Date of Injury. MM/DD/YYYY format |
data[Injury][date_of_injury_end] |
date | Injury End Date (CT Injuries Only). MM/DD/YYYY format |
data[Injury][q1_injury_description_text] |
string | Injury description/memo |
data[Injury][q1_occupation] |
string | Injured Worker’s Occupation |
data[Injury][q1_location] |
string | Location of Injury |
data[Injury][q7_doctors] |
string | Doctors involved in treatment of injured worker |
data[Injury][q1_injury_description_1_id] |
integer | ID of first injured body part |
data[Injury][q1_injury_description_1_lr] |
integer | 0 - N/A, 1 - L, 2 - R, 3 - LR |
data[Injury][q1_injury_description_2_id] |
integer | ID of second injured body part |
data[Injury][q1_injury_description_2_lr] |
integer | 0 - N/A, 1 - L, 2 - R, 3 - LR |
data[Injury][q1_injury_description_3_id] |
integer | ID of third injured body part |
data[Injury][q1_injury_description_3_lr] |
integer | 0 - N/A, 1 - L, 2 - R, 3 - LR |
data[Injury][q1_injury_description_4_id] |
integer | ID of fourth injured body part |
data[Injury][q1_injury_description_4_lr] |
integer | 0 - N/A, 1 - L, 2 - R, 3 - LR |
data[Injury][q1_injury_description_5_id] |
integer | ID of fifth injured body part |
data[Injury][q1_injury_description_5_lr] |
integer | 0 - N/A, 1 - L, 2 - R, 3 - LR |
data[Injury][q1_injury_description_6_id] |
integer | ID of sixth injured body part |
data[Injury][q1_injury_description_6_lr] |
integer | 0 - N/A, 1 - L, 2 - R, 3 - LR |
data[Injury][q1_injury_description_7_id] |
integer | ID of seventh injured body part |
data[Injury][q1_injury_description_7_lr] |
integer | 0 - N/A, 1 - L, 2 - R, 3 - LR |
data[Injury][q1_injury_description_8_id] |
integer | ID of eight injured body part |
data[Injury][q1_injury_description_8_lr] |
integer | 0 - N/A, 1 - L, 2 - R, 3 - LR |
data[Injury][q1_injury_description_9_id] |
integer | ID of ninth injured body part |
data[Injury][q1_injury_description_9_lr] |
integer | 0 - N/A, 1 - L, 2 - R, 3 - LR |
data[Injury][q1_injury_description_10_id] |
integer | ID of tenth injured body part |
data[Injury][q1_injury_description_10_lr] |
integer | 0 - N/A, 1 - L, 2 - R, 3 - LR |
data[Injury][q2_injury_occurrence] |
string | Narrative description of injury occurrence |
data[Injury][application_status] |
integer | Status ID to reflect the injury |
data[Injury][wcab_case_number] |
string | Alternate Court Case Number |
data[Injury][eams_case_number] |
string | Primary Court Case Number |
data[Injury][office] |
string | Office Location |
data[Injury][insurance_policy_number] |
string | Insurance Policy Number |
data[Injury][alternate_insurance_policy_number] |
string | Alternate Insurance Policy Number |
data[Injury][carrier_claim_number] |
string | Carrier Claim Number |
data[Injury][alternate_carrier_claim_number] |
string | Alternate Carrier Claim Number |
data[Injury][carrier_billing_id] |
string | Carrier eBilling ID |
data[Injury][carrier_billing_description] |
string | Carrier Billing Description |
data[Injury][amended_application] |
string | The Application for Adjudication has been amended. Amended=1, else 0. |
data[Injury][comments] |
string | Additional injury comments |
Malpractices
Provides the incident information for a given Malpractice case file.
Request
GET malpractices/view/:case_file_id
Parties
Provides a list of parties on a given case file.
Request
GET parties/view/:case_file_id
Add a new Party to a case file in the authenticated user’s firm. The contact’s ID should come before the case file’s ID.
Request
POST parties/add
Parameters
Name | Type | Description |
---|---|---|
data[Party][contact_id] |
integer | Required ID of contact to be added to case file. |
data[Party][case_file_id] |
integer | Required Case File ID |
Party Groups
Provides a list of Party Groups available to the authenticated user.
Request
GET partyGroups/index
Add a new Party Group to the authenticated user’s firm.
Request
POST partyGroups/add
Parameters
Name | Type | Description |
---|---|---|
data[PartyGroup][group_name] |
string | Required Party Group Label |
data[PartyGroup][group_color] |
string | Required Hex value of Party Group Color |
data[PartyGroup][group_priority] |
integer | Required Order (Priority) of Party Group |
Payment Methods
Provides a list of Payment Methods available to the authenticated user.
Request
GET paymentMethods/index
Add a new Payment Method to the authenticated user’s firm.
Request
POST paymentMethods/add
Parameters
Name | Type | Description |
---|---|---|
data[PaymentMethod][description] |
string | Required Description of Payment Method |
data[PaymentMethod][account_id] |
integer | Required Account ID, 1 for Operating account, 2 for Client Account |
Premise Liabilities
Provides incident details for a given Premise Liability case file.
Request
GET premiseLiabilities/view/:case_file_id
Product Liabilities
Provides incident details for a given Product Liability case file.
Request
GET productLiabilities/view/:case_file_id
Receivables
Provides a list of receivables available to the authenticated user.
Request
GET receivables/index
Provides the details of a receivable, given a receivable ID.
Request
GET receivables/view/:receivable_id
Statutes
Provides a list of statutes in MerusCase available to the authenticated user.
Request
GET statutes/index
Add a new statute entry to the authenticated user’s firm, or edit an existing statute available to the authenticated user. Statute add and edit are differentiated by the inclusion of the ID of a non-deleted statute available to the authenticated user.
Request
POST statutes/edit/:statute_id
(Only include statute_id on edits)
Parameters
Name | Type | Description |
---|---|---|
data[Statute][label] |
string | Required Statute label. |
data[Statute][time_amount] |
integer | Required Numeric representation of units of time |
data[Statute][time_interval_id] |
integer | Required ID of the time interval. |
data[Statute][time_offset_id] |
integer | Required Value for ‘Set On Previous’ time offset field |
data[Statute][event_type_id] |
integer | Required Event Type ID to be used for statute. |
Time Intervals for Statutes
The time interval is declared by ID as described below. It is used in conjunction with data[Statute][time_amount]
to determine when an event created from a statute definition is created.
ID | Time Interval |
---|---|
1 | Hour |
2 | Day |
3 | Week |
4 | Month |
5 | Year |
Time Offsets for Statutes
The time offset is declared by ID as described below. It is used to determine if and when an event created by a statute definition is set to the previous valid day.
ID | Time Offset |
---|---|
1 | (none) |
1 | Calendar Day |
2 | Weekday |
5 | Last Day of Prev. Month |
10 | Sunday |
11 | Monday |
12 | Tuesday |
13 | Wednesday |
14 | Thursday |
15 | Friday |
16 | Saturday |
Tasks
Provides a list of tasks.
Request
GET tasks/index
Filters
Requests for tasks can also be limited by due date and assignee.
Filter | Values |
---|---|
date_due[] | The due date of the task in YYYY-MM-DD format |
complete_date[] | The date the task was completed in YYYY-MM-DD format |
complete[] | Boolean flag indicating if the task is complete (1) or incomplete (0) |
user_id[] | User ID for the user assigned to the task |
Add a new Task assigned to a given user
Request
POST tasks/add
Parameters
Name | Type | Description |
---|---|---|
data[Task][user_id] |
integer | Required ID of the user to which the task is assigned. For unassigned tasks, choose 0. |
data[Task][case_file_id] |
integer | ID of the case file to which the task is linked. |
data[Task][date_due] |
date | Required Due date of the task |
data[Task][priority] |
integer | Sets the Priority of the Task(High, Normal, Low). High=1 , Normal=3, Low=5. |
data[Task][contact_id] |
integer | Id for a contact related to this task |
data[Task][contact_name] |
string | Display name for the contact related to this task. Requires a contact_id to be specified. |
data[Task][description] |
string | Required Description of the task. |
Users
Provides a list of firm users if authenticated user has Administrator privileges.
Request
GET users/index
Vehicle Accidents
Provides incident details for a given Motor Vehicle Accident case file.
Request
GET vehicleAccidents/view/:case_file_id
Delimiters
API calls to several of the endpoints described above can be further refined with date delimiters. Those endpoints include the following: caseFiles, caseLedgersOpen, caseLedgersReviewed, caseLedgers, receivables, and tasks.
The following date delimiters can be used to filter based on date range.
Name | Type | Description | Example |
---|---|---|---|
[gte] |
integer | Greater Than or Equal To | /caseLedgersOpen/index?date[gte]=2018-08-01 |
[lte] |
integer | Less Than or Equal To | /caseLedgersOpen/index?date[lte]=2018-08-01 |
[gt] |
integer | Greater Than | /caseLedgersOpen/index?date[gt]=2018-08-01 |
[lt] |
integer | Less Than | /caseLedgersOpen/index?date[lte]=2018-08-01 |
Multiple delimiters can be used for specific start and end dates. For example, retrieving all case ledgers for the month of August 2018 would look like so: /caseLedgersOpen/index?date_needed_by[gte]=2018-08-01&date_needed_by[lte]=2018-08-31
Note
Either[min]
or [start]
can be substituted for [gte]
for the sake of readability. Similarly, [lte]
, [max]
, and [end]
can be used interchangeably.