Ferrule

PracticePanther

48 tools OpenAPI spec ↗

MCPREST
GETget_account/accounts/:id

Get a single account (company or individual) by ID. Returns contacts, tags, custom fields, and assigned users.

Request

Path Parameters

NameTypeRequiredDescription
idstringYesAccount ID

Response

idobject
display_nameobject
numberobject
company_nameobject
address_street_1object
address_street_2object
address_cityobject
address_stateobject
address_countryobject
address_zip_codeobject
tagsobject
company_custom_field_valuesobject
assigned_to_usersobject
created_atobject
updated_atobject
notesobject
primary_contactobject
other_contactsobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_account"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_account",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_accounts/accounts

List accounts with optional filters. An account represents one or more contacts (e.g. a company).

Request

Query Parameters

NameTypeRequiredDescription
assigned_to_user_idstringNoFilter by assigned user ID
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date
search_textstringNoSearch text
account_tagstringNoFilter by account tag

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_accounts"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_accounts",
      "params": {}
    }
  }
}
GETget_bank_account/bank-accounts/:id

Get a single bank account (operating, trust, or credit card) by ID.

Request

Path Parameters

NameTypeRequiredDescription
idstringYesBank Account ID

Response

idobject
typeobject
nameobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_bank_account"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_bank_account",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_bank_accounts/bank-accounts

List all bank accounts.

Request

Query Parameters

NameTypeRequiredDescription
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_bank_accounts"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_bank_accounts",
      "params": {}
    }
  }
}
GETget_call_log/call-logs/:id

Get a single call log entry by ID.

Request

Path Parameters

NameTypeRequiredDescription
idstringYesCall Log ID

Response

idobject
account_refobject
matter_refobject
subjectobject
durationobject
notesobject
dateobject
call_directionobject
assigned_to_usersobject
tagsobject
created_atobject
updated_atobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_call_log"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_call_log",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_call_logs/call-logs

List call log entries with optional filters by account, matter, user, date range, or tag.

Request

Query Parameters

NameTypeRequiredDescription
assigned_to_user_idstringNoFilter by assigned user ID
account_idstringNoFilter by account ID
matter_idstringNoFilter by matter ID
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date
date_fromstringNoISO date — filter from this date
date_tostringNoISO date — filter to this date
activity_tagstringNoFilter by activity tag

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_call_logs"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_call_logs",
      "params": {}
    }
  }
}
GETget_contact/contacts/:id

Get a single contact by ID. Each account can have multiple contacts; one is the primary.

Request

Path Parameters

NameTypeRequiredDescription
idstringYesContact ID

Response

idobject
account_refobject
is_primary_contactobject
display_nameobject
first_nameobject
middle_nameobject
last_nameobject
phone_mobileobject
phone_homeobject
phone_faxobject
phone_workobject
emailobject
notesobject
custom_field_valuesobject
statusobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_contact"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_contact",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_contacts/contacts

List contacts with optional filters by account, status, user, search text, or company.

Request

Query Parameters

NameTypeRequiredDescription
assigned_to_user_idstringNoFilter by assigned user ID
account_idstringNoFilter by account ID
statusstringNoFilter by status
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date
search_textstringNoSearch text
account_tagstringNoFilter by account tag
company_namestringNoFilter by company name

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_contacts"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_contacts",
      "params": {}
    }
  }
}
GETget_custom_field/custom-fields/:id

Get a single custom field definition by ID.

Request

Path Parameters

NameTypeRequiredDescription
idstringYesCustom Field ID

Response

idobject
labelobject
value_typeobject
dropdown_list_valuesobject
help_textobject
tooltipobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_custom_field"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_custom_field",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_custom_fields_for_company/custom-fields/accounts

List custom field definitions for companies (accounts).

Request

Query Parameters

NameTypeRequiredDescription
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_custom_fields_for_company"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_custom_fields_for_company",
      "params": {}
    }
  }
}
GETlist_custom_fields_for_matter/custom-fields/matters

List custom field definitions for matters.

Request

Query Parameters

NameTypeRequiredDescription
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_custom_fields_for_matter"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_custom_fields_for_matter",
      "params": {}
    }
  }
}
GETlist_custom_fields_for_contact/custom-fields/contacts

List custom field definitions for contacts.

Request

Query Parameters

NameTypeRequiredDescription
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_custom_fields_for_contact"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_custom_fields_for_contact",
      "params": {}
    }
  }
}
GETget_email/emails/:id

Get a single email by ID. Returns full HTML body when fetched individually.

Request

Path Parameters

NameTypeRequiredDescription
idstringYesEmail ID

Response

idobject
subjectobject
ccobject
toobject
fromobject
body_textobject
body_htmlobject
external_message_idobject
external_thread_idobject
account_refobject
matter_refobject
dateobject
tagsobject
attachmentsobject
created_atobject
updated_atobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_email"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_email",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_emails/emails

List emails with optional filters by account, matter, user, tag, or external message ID.

Request

Query Parameters

NameTypeRequiredDescription
assigned_to_user_idstringNoFilter by assigned user ID
account_idstringNoFilter by account ID
matter_idstringNoFilter by matter ID
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date
activity_tagstringNoFilter by activity tag
external_message_idstringNoFilter by external message ID

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_emails"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_emails",
      "params": {}
    }
  }
}
GETget_event/events/:id

Get a single calendar event by ID.

Request

Path Parameters

NameTypeRequiredDescription
idstringYesEvent ID

Response

idobject
account_refobject
matter_refobject
subjectobject
locationobject
notesobject
is_all_dayobject
start_date_timeobject
end_date_timeobject
tagsobject
assigned_to_usersobject
assigned_to_contactsobject
created_atobject
updated_atobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_event"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_event",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_events/events

List calendar events with optional filters by account, matter, user, date range, or tag.

Request

Query Parameters

NameTypeRequiredDescription
assigned_to_user_idstringNoFilter by assigned user ID
account_idstringNoFilter by account ID
matter_idstringNoFilter by matter ID
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date
date_fromstringNoISO date — filter from this date
date_tostringNoISO date — filter to this date
activity_tagstringNoFilter by activity tag

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_events"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_events",
      "params": {}
    }
  }
}
GETget_expense_category/expense-categories/:id

Get a single expense category by ID.

Request

Path Parameters

NameTypeRequiredDescription
idstringYesExpense Category ID

Response

idobject
nameobject
created_atobject
updated_atobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_expense_category"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_expense_category",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_expense_categories/expense-categories

List all expense categories.

Request

Query Parameters

NameTypeRequiredDescription
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_expense_categories"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_expense_categories",
      "params": {}
    }
  }
}
GETget_expense/expenses/:id

Get a single expense by ID. Includes billable status, amount, and category.

Request

Path Parameters

NameTypeRequiredDescription
idstringYesExpense ID

Response

idobject
is_billableobject
is_billedobject
dateobject
qtyobject
priceobject
amountobject
descriptionobject
private_notesobject
account_refobject
matter_refobject
billed_by_user_refobject
expense_category_refobject
task_codeobject
created_atobject
updated_atobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_expense"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_expense",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_expenses/expenses

List expenses with optional filters by account, matter, billing user, category, or date range.

Request

Query Parameters

NameTypeRequiredDescription
account_idstringNoFilter by account ID
matter_idstringNoFilter by matter ID
billed_by_user_idstringNoFilter by billing user ID
expense_category_idstringNoFilter by expense category ID
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date
date_fromstringNoISO date — filter from this date
date_tostringNoISO date — filter to this date

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_expenses"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_expenses",
      "params": {}
    }
  }
}
GETget_file/files/:id

Get file metadata by ID (name, size, content type).

Request

Path Parameters

NameTypeRequiredDescription
idstringYesFile ID

Response

idobject
account_refobject
matter_refobject
activity_refobject
descriptionobject
file_nameobject
sizeobject
content_typeobject
created_atobject
updated_atobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_file"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_file",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETdownload_file/files/:id/download

Download a file's contents by ID.

Request

Path Parameters

NameTypeRequiredDescription
idstringYesFile ID to download

Response

Returns raw JSON from the upstream API. No structured schema is available.

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "download_file"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "download_file",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_files/files

List files with optional filters by account, matter, activity, creator, or search text.

Request

Query Parameters

NameTypeRequiredDescription
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date
search_textstringNoSearch text
account_idstringNoFilter by account ID
matter_idstringNoFilter by matter ID
activity_idstringNoFilter by activity ID
created_by_user_idstringNoFilter by creating user ID

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_files"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_files",
      "params": {}
    }
  }
}
GETget_flat_fee/flat-fees/:id

Get a single flat fee entry by ID.

Request

Path Parameters

NameTypeRequiredDescription
idstringYesFlat Fee ID

Response

idobject
is_billableobject
is_billedobject
dateobject
qtyobject
priceobject
descriptionobject
private_notesobject
account_refobject
matter_refobject
billed_by_user_refobject
item_refobject
created_atobject
updated_atobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_flat_fee"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_flat_fee",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_flat_fees/flat-fees

List flat fees with optional filters by account, matter, user, item, or date range.

Request

Query Parameters

NameTypeRequiredDescription
account_idstringNoFilter by account ID
matter_idstringNoFilter by matter ID
user_idstringNoFilter by user ID
item_idstringNoFilter by item ID
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date
date_fromstringNoISO date — filter from this date
date_tostringNoISO date — filter to this date

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_flat_fees"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_flat_fees",
      "params": {}
    }
  }
}
GETget_invoice/invoices/:id

Get a single invoice by ID with line items (time entries, expenses, flat fees).

Request

Path Parameters

NameTypeRequiredDescription
idstringYesInvoice ID

Response

account_refobject
matter_refobject
idobject
issue_dateobject
due_dateobject
items_time_entriesobject
items_expensesobject
items_flat_feesobject
subtotalobject
taxobject
discountobject
totalobject
total_paidobject
total_outstandingobject
invoice_typeobject
created_atobject
updated_atobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_invoice"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_invoice",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_invoices/invoices

List invoices with optional filters by account, matter, or date range. PracticePanther caps each response at 2500 rows; use $skip and $top to page beyond the cap.

Request

Query Parameters

NameTypeRequiredDescription
account_idstringNoFilter by account ID
matter_idstringNoFilter by matter ID
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date
date_fromstringNoISO date — filter from this date
date_tostringNoISO date — filter to this date
$skipintegerNoSkip the first N rows. PracticePanther caps each response at 2500 rows; combine with $top to page beyond the cap.
$topintegerNoReturn at most N rows (PracticePanther enforces a max of 2500 per response).

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_invoices"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_invoices",
      "params": {}
    }
  }
}
GETget_item/items/:id

Get a single billing item/service by ID.

Request

Path Parameters

NameTypeRequiredDescription
idstringYesItem ID

Response

idobject
nameobject
codeobject
descriptionobject
rateobject
created_atobject
updated_atobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_item"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_item",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_items/items

List all billing items/services.

Request

Query Parameters

NameTypeRequiredDescription
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_items"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_items",
      "params": {}
    }
  }
}
GETget_matter/matters/:id

Get a single matter (case/project) by ID. Returns status, assigned users, tags, and custom fields.

Request

Path Parameters

NameTypeRequiredDescription
idstringYesMatter ID

Response

idobject
account_refobject
numberobject
display_nameobject
nameobject
notesobject
rateobject
open_dateobject
close_dateobject
statute_of_limitation_dateobject
tagsobject
statusobject
assigned_to_usersobject
custom_field_valuesobject
created_atobject
updated_atobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_matter"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_matter",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_matters/matters

List matters with optional filters by account, status (Open/Closed/Pending/Archived), user, search text, or tags.

Request

Query Parameters

NameTypeRequiredDescription
assigned_to_user_idstringNoFilter by assigned user ID
account_idstringNoFilter by account ID
statusstringNoFilter by matter status
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date
search_textstringNoSearch text
account_tagstringNoFilter by account tag
matter_tagstringNoFilter by matter tag

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_matters"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_matters",
      "params": {}
    }
  }
}
GETlist_messages/messages

List all messages.

Request

No input parameters.

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_messages"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_messages",
      "params": {}
    }
  }
}
GETget_note/notes/:id

Get a single note by ID.

Request

Path Parameters

NameTypeRequiredDescription
idstringYesNote ID

Response

idobject
account_refobject
matter_refobject
subjectobject
noteobject
assigned_to_usersobject
dateobject
tagsobject
created_atobject
updated_atobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_note"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_note",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_notes/notes

List notes with optional filters by account, matter, user, date range, or tag.

Request

Query Parameters

NameTypeRequiredDescription
assigned_to_user_idstringNoFilter by assigned user ID
account_idstringNoFilter by account ID
matter_idstringNoFilter by matter ID
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date
date_fromstringNoISO date — filter from this date
date_tostringNoISO date — filter to this date
activity_tagstringNoFilter by activity tag

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_notes"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_notes",
      "params": {}
    }
  }
}
GETget_payment/payments/:id

Get a single payment by ID with full details including status.

Request

Path Parameters

NameTypeRequiredDescription
idstringYesPayment ID

Response

refundedAmountobject
idobject
account_refobject
matter_refobject
numberobject
dateobject
total_amountobject
unapplied_amountobject
notesobject
payeeobject
to_printobject
check_numberobject
bank_accountobject
created_atobject
updated_atobject
statusobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_payment"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_payment",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_payments/payments

List payments with optional filters by account, matter, bank account, type, or date range.

Request

Query Parameters

NameTypeRequiredDescription
account_idstringNoFilter by account ID
matter_idstringNoFilter by matter ID
bank_account_idstringNoFilter by bank account ID
bank_account_typestringNoFilter by bank account type
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date
date_fromstringNoISO date — filter from this date
date_tostringNoISO date — filter to this date

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_payments"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_payments",
      "params": {}
    }
  }
}
GETget_relationship/relationships/:id

Get a single matter-contact relationship by ID.

Request

Path Parameters

NameTypeRequiredDescription
idstringYesRelationship ID

Response

idobject
contact_refobject
matter_refobject
nameobject
notesobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_relationship"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_relationship",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_relationships/relationships

List relationships between contacts and matters with optional filters.

Request

Query Parameters

NameTypeRequiredDescription
contact_idstringNoFilter by contact ID
matter_idstringNoFilter by matter ID
account_idstringNoFilter by account ID
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_relationships"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_relationships",
      "params": {}
    }
  }
}
GETlist_account_tags/tags/accounts

List all tags available for accounts.

Request

No input parameters.

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_account_tags"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_account_tags",
      "params": {}
    }
  }
}
GETlist_matter_tags/tags/matters

List all tags available for matters.

Request

No input parameters.

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_matter_tags"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_matter_tags",
      "params": {}
    }
  }
}
GETlist_activity_tags/tags/activities

List all tags available for activities (call logs, events, notes, etc.).

Request

No input parameters.

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_activity_tags"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_activity_tags",
      "params": {}
    }
  }
}
GETget_task/tasks/:id

Get a single task by ID.

Request

Path Parameters

NameTypeRequiredDescription
idstringYesTask ID

Response

idobject
account_refobject
matter_refobject
subjectobject
notesobject
priorityobject
statusobject
due_dateobject
assigned_to_usersobject
assigned_to_contactsobject
tagsobject
created_atobject
updated_atobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_task"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_task",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_tasks/tasks

List tasks with optional filters by account, matter, user, status, due date range, or tag.

Request

Query Parameters

NameTypeRequiredDescription
assigned_to_user_idstringNoFilter by assigned user ID
account_idstringNoFilter by account ID
matter_idstringNoFilter by matter ID
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date
statusstringNoFilter by task status
due_date_fromstringNoISO date — filter by due date from
due_date_tostringNoISO date — filter by due date to
activity_tagstringNoFilter by activity tag

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_tasks"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_tasks",
      "params": {}
    }
  }
}
GETget_time_entry/time-entries/:id

Get a single time entry by ID. Hours are decimal (e.g. 1.5 = 1h30m).

Request

Path Parameters

NameTypeRequiredDescription
idstringYesTime Entry ID

Response

idobject
is_billableobject
is_billedobject
dateobject
hoursobject
rateobject
descriptionobject
private_notesobject
account_refobject
matter_refobject
billed_by_user_refobject
item_refobject
task_codeobject
created_atobject
updated_atobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_time_entry"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_time_entry",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_time_entries/time-entries

List time entries with optional filters by account, matter, user, item, or date range.

Request

Query Parameters

NameTypeRequiredDescription
account_idstringNoFilter by account ID
matter_idstringNoFilter by matter ID
user_idstringNoFilter by user ID
item_idstringNoFilter by item ID
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date
date_fromstringNoISO date — filter from this date
date_tostringNoISO date — filter to this date

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_time_entries"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_time_entries",
      "params": {}
    }
  }
}
GETget_me/users/me

Get the currently authenticated user's profile.

Request

No input parameters.

Response

idobject
is_activeobject
display_nameobject
first_nameobject
last_nameobject
middle_nameobject
emailobject
created_atobject
updated_atobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_me"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_me",
      "params": {}
    }
  }
}
GETget_user/users/:id

Get a single user by ID.

Request

Path Parameters

NameTypeRequiredDescription
idstringYesUser ID

Response

idobject
is_activeobject
display_nameobject
first_nameobject
last_nameobject
middle_nameobject
emailobject
created_atobject
updated_atobject

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "get_user"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "get_user",
      "params": {
        "id": "<id>"
      }
    }
  }
}
GETlist_users/users

List users with optional filters by creation date, update date, or email address.

Request

Query Parameters

NameTypeRequiredDescription
created_sincestringNoISO date — return records created after this date
updated_sincestringNoISO date — return records updated after this date
email_addressstringNoFilter by email address

Response

itemsarray

Examples

1. Describe method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "describe_method",
    "arguments": {
      "service": "practicepanther",
      "method": "list_users"
    }
  }
}

2. Call method

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "call_practicepanther",
    "arguments": {
      "method": "list_users",
      "params": {}
    }
  }
}