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.