Lawcus MCP by usefulapi
Read Lawcus contacts, matters, leads, time and billing reports; create contacts and tasks.
Should I use this
Quality & Safety
Findings (5)
- LOWin lawcus_get_lead
- LOWin lawcus_list_workflows
- LOWin lawcus_list_workflow_stages
- LOWin lawcus_report_accounts_receivable
- LOWin lawcus_report_payments_collected
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"lawcus": {
"url": "https://lawcus.usefulapi.io/mcp"
}
}
}Remote endpoints
https://lawcus.usefulapi.io/mcpstreamable-httpWhat it can do
Tool inventory
Tools (27)
🟢lawcus_get_me
Lawcus: the user the API token belongs to (id, uuid, name, timezone, role such as OWNER/ADMIN/MEMBER).
Input Schema
{
"type": "object",
"properties": {}
}🟢lawcus_get_firm
Lawcus: the firm (team) details: name, address, currency, locale and phone numbers.
Input Schema
{
"type": "object",
"properties": {}
}🟢lawcus_list_team_members
Lawcus: the people on the firm's team with id, uuid, name, role and hourly rate. Ids are used in matter, task and report filters.
Input Schema
{
"type": "object",
"properties": {}
}🟢lawcus_search(terms)
Lawcus: global search across contacts, matters and leads for a keyword.
Input Schema
{
"type": "object",
"properties": {
"terms": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Keyword to search for."
}
},
"required": [
"terms"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lawcus_list_contacts(name_contains, email_contains, type, updated_after, filters, ...)
Lawcus: list contacts (people and companies; clients are contacts), filterable by name, email, type or update date. Paged with skip/take.
Input Schema
{
"type": "object",
"properties": {
"name_contains": {
"description": "Substring of the contact's full name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"email_contains": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"type": {
"type": "string",
"enum": [
"Person",
"Company"
]
},
"updated_after": {
"type": "string",
"description": "A UTC date (yyyy-mm-dd) or timestamp (yyyy-mm-dd hh:mm:ss)."
},
"filters": {
"description": "Advanced: extra Lawcus v2 filter objects {field, operator, value}, ANDed with the other filters. Dates are 'yyyy-mm-dd hh:mm:ss' UTC.",
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "The record field to filter by, e.g. status, practice, responsible_attorney, trust_balance."
},
"operator": {
"type": "string",
"minLength": 1,
"maxLength": 30,
"description": "e.g. is, not, contains, equals, startsWith, after, before, between, >, <, isEmpty."
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array",
"items": {
"type": [
"string",
"number"
]
}
},
{
"type": "object",
"properties": {
"start": {
"type": "string"
},
"end": {
"type": "string"
}
},
"required": [
"start",
"end"
]
}
]
}
},
"required": [
"field",
"operator"
]
}
},
"sort_by": {
"type": "string",
"enum": [
"name",
"created_at",
"updated_at",
"last_contacted"
]
},
"sort_order": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"skip": {
"description": "Records to skip (default 0). Pass the previous reply's next_skip.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"take": {
"description": "Records per page (default 25, max 100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lawcus_get_contact(contact_uuid)
Lawcus: one contact by UUID, with addresses, phones, emails and custom fields.
Input Schema
{
"type": "object",
"properties": {
"contact_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
}
},
"required": [
"contact_uuid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡lawcus_create_contact(type, first_name, last_name, name, email, ...)
WRITE: create a new contact in Lawcus (a person or a company). It does not send anything to the contact. Person needs first_name and last_name; Company needs name. Check lawcus_list_contacts first to avoid duplicates.
Input Schema
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"Person",
"Company"
]
},
"first_name": {
"description": "Required for a Person.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"last_name": {
"description": "Required for a Person.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"name": {
"description": "Required for a Company.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"email": {
"type": "string",
"maxLength": 200,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"phone": {
"type": "string",
"minLength": 3,
"maxLength": 40
},
"title": {
"description": "Business title.",
"type": "string",
"maxLength": 100
},
"website": {
"type": "string",
"maxLength": 200
},
"note": {
"type": "string",
"maxLength": 5000
},
"street": {
"type": "string",
"maxLength": 200
},
"city": {
"type": "string",
"maxLength": 100
},
"state": {
"type": "string",
"maxLength": 100
},
"zip": {
"type": "string",
"maxLength": 30
},
"country": {
"type": "string",
"maxLength": 100
}
},
"required": [
"type"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lawcus_list_matters(status, name_contains, number, client_id, responsible_attorney_id, ...)
Lawcus: list matters (cases) with status, client, billing type, trust and retainer balances. Filter by status, name, number, client or dates. Paged with skip/take; the reply also carries opened/closed counts.
Input Schema
{
"type": "object",
"properties": {
"status": {
"description": "Matter status, e.g. \"OPEN\" or \"CLOSED\".",
"type": "string",
"pattern": "^[A-Za-z_ ]{2,30}$"
},
"name_contains": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"number": {
"description": "Matter number (exact).",
"type": "string",
"minLength": 1,
"maxLength": 60
},
"client_id": {
"description": "Numeric id of the client contact.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"responsible_attorney_id": {
"description": "Numeric user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"opened_after": {
"type": "string",
"description": "A UTC date (yyyy-mm-dd) or timestamp (yyyy-mm-dd hh:mm:ss)."
},
"updated_after": {
"type": "string",
"description": "A UTC date (yyyy-mm-dd) or timestamp (yyyy-mm-dd hh:mm:ss)."
},
"filters": {
"description": "Advanced: extra Lawcus v2 filter objects {field, operator, value}, ANDed with the other filters. Dates are 'yyyy-mm-dd hh:mm:ss' UTC.",
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "The record field to filter by, e.g. status, practice, responsible_attorney, trust_balance."
},
"operator": {
"type": "string",
"minLength": 1,
"maxLength": 30,
"description": "e.g. is, not, contains, equals, startsWith, after, before, between, >, <, isEmpty."
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array",
"items": {
"type": [
"string",
"number"
]
}
},
{
"type": "object",
"properties": {
"start": {
"type": "string"
},
"end": {
"type": "string"
}
},
"required": [
"start",
"end"
]
}
]
}
},
"required": [
"field",
"operator"
]
}
},
"sort_by": {
"type": "string",
"enum": [
"number",
"name",
"open_date",
"created_at",
"updated_at"
]
},
"sort_order": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"skip": {
"description": "Records to skip (default 0). Pass the previous reply's next_skip.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"take": {
"description": "Records per page (default 25, max 100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lawcus_get_matter(matter_uuid)
Lawcus: one matter by UUID with its client, workflow stage, billing settings, balances and custom fields.
Input Schema
{
"type": "object",
"properties": {
"matter_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
}
},
"required": [
"matter_uuid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lawcus_list_leads(name_contains, stage_id, lead_source_id, created_after, filters, ...)
Lawcus: list leads (prospective matters) with client contact details and pipeline stage. Paged with skip/take.
Input Schema
{
"type": "object",
"properties": {
"name_contains": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"stage_id": {
"description": "Pipeline stage id (see lawcus_list_workflow_stages).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"lead_source_id": {
"description": "Lead source id (see lawcus_list_lead_sources).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"created_after": {
"description": "Only leads created after this UTC time.",
"type": "string"
},
"filters": {
"description": "Advanced: extra Lawcus v2 filter objects {field, operator, value}, ANDed with the other filters. Dates are 'yyyy-mm-dd hh:mm:ss' UTC.",
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "The record field to filter by, e.g. status, practice, responsible_attorney, trust_balance."
},
"operator": {
"type": "string",
"minLength": 1,
"maxLength": 30,
"description": "e.g. is, not, contains, equals, startsWith, after, before, between, >, <, isEmpty."
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array",
"items": {
"type": [
"string",
"number"
]
}
},
{
"type": "object",
"properties": {
"start": {
"type": "string"
},
"end": {
"type": "string"
}
},
"required": [
"start",
"end"
]
}
]
}
},
"required": [
"field",
"operator"
]
}
},
"sort_by": {
"type": "string",
"enum": [
"name",
"created_at",
"lead_created_at"
]
},
"sort_order": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"skip": {
"description": "Records to skip (default 0). Pass the previous reply's next_skip.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"take": {
"description": "Records per page (default 25, max 100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lawcus_get_lead(lead_uuid)
Lawcus: one lead by UUID.
Input Schema
{
"type": "object",
"properties": {
"lead_uuid": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
}
},
"required": [
"lead_uuid"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lawcus_list_lead_sources
Lawcus: the firm's lead sources (Website, Referral, Google, ...). Ids go into lead and contact filters.
Input Schema
{
"type": "object",
"properties": {}
}🟢lawcus_list_workflows
Lawcus: the workflows (matter and lead pipelines) with their ids.
Input Schema
{
"type": "object",
"properties": {}
}🟢lawcus_list_workflow_stages(workflow_id)
Lawcus: the stages of one workflow (pipeline).
Input Schema
{
"type": "object",
"properties": {
"workflow_id": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
"description": "Workflow id from lawcus_list_workflows."
}
},
"required": [
"workflow_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lawcus_list_tasks(completed, delegated, user_id, matter_id, tags, ...)
Lawcus: list tasks, optionally by completion, assignee, matter or tag. The API returns the whole list; the reply is cut to `limit`.
Input Schema
{
"type": "object",
"properties": {
"completed": {
"description": "true = completed tasks, false = open tasks.",
"type": "boolean"
},
"delegated": {
"description": "true = tasks delegated to others.",
"type": "boolean"
},
"user_id": {
"description": "UUID of the assignee (the `uuid` from lawcus_list_team_members).",
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
},
"matter_id": {
"description": "Numeric matter id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"tags": {
"description": "Tag name, e.g. \"San Diego Branch\".",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"limit": {
"description": "Return at most this many records (default 100, max 500). The reply says when the list was cut.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡lawcus_create_task(name, description, due_date, matter_id, assignee_uuids)
WRITE: create a task in Lawcus, optionally on a matter and assigned to team members. Lawcus may email or SMS the assignees if reminders are set; no reminders are set by this tool.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"description": {
"type": "string",
"maxLength": 5000
},
"due_date": {
"type": "string",
"description": "A UTC date (yyyy-mm-dd) or timestamp (yyyy-mm-dd hh:mm:ss)."
},
"matter_id": {
"description": "Numeric matter id (the `id` of a matter).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"assignee_uuids": {
"description": "UUIDs of the users to assign (from lawcus_list_team_members).",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
}
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lawcus_list_time_entries(matter_id, user_id, date_from, date_to, limit)
Lawcus: time entries (hours worked, rate, total, matter, invoiced or not). The API returns all entries; filter here by matter and date range, reply cut to `limit`.
Input Schema
{
"type": "object",
"properties": {
"matter_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"user_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"date_from": {
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"description": "A date, yyyy-mm-dd."
},
"date_to": {
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"description": "A date, yyyy-mm-dd."
},
"limit": {
"description": "Return at most this many records (default 100, max 500). The reply says when the list was cut.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lawcus_list_expenses(matter_id, date_from, date_to, limit)
Lawcus: expenses logged against matters. The API returns all expenses; filter here by matter and date range, reply cut to `limit`.
Input Schema
{
"type": "object",
"properties": {
"matter_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"date_from": {
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"description": "A date, yyyy-mm-dd."
},
"date_to": {
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"description": "A date, yyyy-mm-dd."
},
"limit": {
"description": "Return at most this many records (default 100, max 500). The reply says when the list was cut.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lawcus_list_billing_items(start, end, kind, user_id, practice_id, ...)
Lawcus: billable activity (time entries, expenses and flat fees) with payment details, filterable by date range, user, practice area, matter, client and invoiced state. Also returns time totals for today/week/month/year.
Input Schema
{
"type": "object",
"properties": {
"start": {
"type": "string",
"description": "Period start, UTC: yyyy-mm-dd (from 00:00:00) or yyyy-mm-dd hh:mm:ss."
},
"end": {
"type": "string",
"description": "Period end, UTC: yyyy-mm-dd (through 23:59:59) or yyyy-mm-dd hh:mm:ss."
},
"kind": {
"description": "Only this kind of item (default: all three).",
"type": "string",
"enum": [
"TIMEENTRY",
"EXPENSE",
"FLATFEE"
]
},
"user_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"practice_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"matter_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"is_invoiced": {
"type": "boolean"
},
"limit": {
"description": "Return at most this many records (default 100, max 500). The reply says when the list was cut.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lawcus_list_interactions(types, direction, skip, paginate)
Lawcus: logged client interactions (emails, calls, secure messages) with subject, matter and contact. Paged with skip/paginate.
Input Schema
{
"type": "object",
"properties": {
"types": {
"description": "Interaction types (default: all).",
"minItems": 1,
"maxItems": 3,
"type": "array",
"items": {
"type": "string",
"enum": [
"EMAIL",
"PHONE",
"SECURE_MESSAGE"
]
}
},
"direction": {
"type": "string",
"enum": [
"INBOUND",
"OUTBOUND"
]
},
"skip": {
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"paginate": {
"description": "Page size (default 20, max 100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lawcus_report_accounts_receivable(start, end, user_id, practice_id, client_id, ...)
Lawcus report (needs the Admin role): unpaid invoices by age (who owes the firm what).
Input Schema
{
"type": "object",
"properties": {
"start": {
"type": "string",
"description": "Period start, UTC: yyyy-mm-dd (from 00:00:00) or yyyy-mm-dd hh:mm:ss."
},
"end": {
"type": "string",
"description": "Period end, UTC: yyyy-mm-dd (through 23:59:59) or yyyy-mm-dd hh:mm:ss."
},
"user_id": {
"description": "Numeric user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"practice_id": {
"description": "Numeric practice area id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"client_id": {
"description": "Numeric client contact id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"matter_id": {
"description": "Numeric matter id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"group_by": {
"description": "Grouping, e.g. client (accounts receivable, invoice history, matter balance) or teammate (time entries).",
"type": "string",
"pattern": "^[a-z_]{2,30}$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lawcus_report_matter_balance(start, end, user_id, practice_id, client_id, ...)
Lawcus report (needs the Admin role): balance summary of all matters, optionally trust balances only.
Input Schema
{
"type": "object",
"properties": {
"start": {
"type": "string",
"description": "Period start, UTC: yyyy-mm-dd (from 00:00:00) or yyyy-mm-dd hh:mm:ss."
},
"end": {
"type": "string",
"description": "Period end, UTC: yyyy-mm-dd (through 23:59:59) or yyyy-mm-dd hh:mm:ss."
},
"user_id": {
"description": "Numeric user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"practice_id": {
"description": "Numeric practice area id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"client_id": {
"description": "Numeric client contact id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"group_by": {
"description": "Grouping, e.g. client (accounts receivable, invoice history, matter balance) or teammate (time entries).",
"type": "string",
"pattern": "^[a-z_]{2,30}$"
},
"trust": {
"description": "true = trust balances.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lawcus_report_revenue(start, end, user_id, client_id, matter_id)
Lawcus report (needs the Admin role): revenue by attorney for a period.
Input Schema
{
"type": "object",
"properties": {
"start": {
"type": "string",
"description": "Period start, UTC: yyyy-mm-dd (from 00:00:00) or yyyy-mm-dd hh:mm:ss."
},
"end": {
"type": "string",
"description": "Period end, UTC: yyyy-mm-dd (through 23:59:59) or yyyy-mm-dd hh:mm:ss."
},
"user_id": {
"description": "Numeric user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"client_id": {
"description": "Numeric client contact id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"matter_id": {
"description": "Numeric matter id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lawcus_report_time_entries(start, end, user_id, matter_id, group_by)
Lawcus report (needs the Admin role): time entries summarized per user for a period.
Input Schema
{
"type": "object",
"properties": {
"start": {
"type": "string",
"description": "Period start, UTC: yyyy-mm-dd (from 00:00:00) or yyyy-mm-dd hh:mm:ss."
},
"end": {
"type": "string",
"description": "Period end, UTC: yyyy-mm-dd (through 23:59:59) or yyyy-mm-dd hh:mm:ss."
},
"user_id": {
"description": "Numeric user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"matter_id": {
"description": "Numeric matter id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"group_by": {
"description": "Grouping, e.g. client (accounts receivable, invoice history, matter balance) or teammate (time entries).",
"type": "string",
"pattern": "^[a-z_]{2,30}$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lawcus_report_payments_collected(start, end, user_id, practice_id, client_id, ...)
Lawcus report (needs the Admin role): payments the firm collected in a period.
Input Schema
{
"type": "object",
"properties": {
"start": {
"type": "string",
"description": "Period start, UTC: yyyy-mm-dd (from 00:00:00) or yyyy-mm-dd hh:mm:ss."
},
"end": {
"type": "string",
"description": "Period end, UTC: yyyy-mm-dd (through 23:59:59) or yyyy-mm-dd hh:mm:ss."
},
"user_id": {
"description": "Numeric user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"practice_id": {
"description": "Numeric practice area id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"client_id": {
"description": "Numeric client contact id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"matter_id": {
"description": "Numeric matter id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lawcus_report_invoice_history(start, end, user_id, practice_id, client_id, ...)
Lawcus report (needs the Admin role): summary of issued invoices for a period.
Input Schema
{
"type": "object",
"properties": {
"start": {
"type": "string",
"description": "Period start, UTC: yyyy-mm-dd (from 00:00:00) or yyyy-mm-dd hh:mm:ss."
},
"end": {
"type": "string",
"description": "Period end, UTC: yyyy-mm-dd (through 23:59:59) or yyyy-mm-dd hh:mm:ss."
},
"user_id": {
"description": "Numeric user id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"practice_id": {
"description": "Numeric practice area id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"client_id": {
"description": "Numeric client contact id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"group_by": {
"description": "Grouping, e.g. client (accounts receivable, invoice history, matter balance) or teammate (time entries).",
"type": "string",
"pattern": "^[a-z_]{2,30}$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lawcus_report_client_trust(start, end, practice_id, client_id, display_zero)
Lawcus report (needs the Admin role): client trust (IOLTA) balances; zero balances hidden unless display_zero is true.
Input Schema
{
"type": "object",
"properties": {
"start": {
"type": "string",
"description": "Period start, UTC: yyyy-mm-dd (from 00:00:00) or yyyy-mm-dd hh:mm:ss."
},
"end": {
"type": "string",
"description": "Period end, UTC: yyyy-mm-dd (through 23:59:59) or yyyy-mm-dd hh:mm:ss."
},
"practice_id": {
"description": "Numeric practice area id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"client_id": {
"description": "Numeric client contact id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"display_zero": {
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence