Clio
Authentication: OAuth. See Magic Link for the runtime auth flow, or Application credentials to bring your own OAuth app.
Sample use cases
- Create a new matter for client Acme Corp and assign it to the litigation practice area.
- List all open tasks due this week across my active matters.
- Log a billable activity of 2 hours to the Johnson matter.
- Upload the signed engagement letter to the client’s document folder.
Available Tools
List or search time entries and expenses. Filter server-side by matter, user, type, billing status, or date range. No…
Get one time entry or expense by ID. Use list_activities to find activity IDs. A TimeEntry’s ‘quantity’ is in seconds.
Log a time entry or expense against a matter. type, date, and quantity are required — quantity is in SECONDS for a Ti…
Update a time entry or expense. quantity is in SECONDS for a TimeEntry. An entry already billed may be rejected. Use…
Delete a time entry or expense permanently. An entry already on a bill may be rejected. Use list_activities to find a…
List the firm’s activity descriptions and their default rates. Call this before create_activity to get a valid activi…
List the firm’s expense categories. Call this before create_activity with type=‘ExpenseEntry’ to get a valid expense_…
List the firm’s Clio users. Call this to get the user IDs that create_matter (responsible_attorney_id, originating_at…
Get one Clio user by ID. Use list_users to find user IDs, or get_current_user for the signed-in user.
Get the Clio user the connection is authenticated as, including their firm account and notification_methods. Use this…
List the firm’s groups, which control matter permissions and rates. Use this to find the group_id that create_matter…
Get one Clio group by ID, including its members. Use list_groups to find group IDs.
List the currencies available on the Clio account, with their codes and symbols.
List the webhooks registered on this Clio connection. Check expires_at — webhooks lapse after at most 31 days unless…
Get one Clio webhook by ID, including its status and expiry. Use list_webhooks to find webhook IDs.
Register a webhook so Clio posts events to your HTTPS URL. url, model, and events are required; non-HTTPS URLs are re…
Update a webhook’s URL, events, payload fields, or expiry. Use this to renew a webhook before expires_at passes. Use…
Delete a Clio webhook so it stops delivering events. Use list_webhooks to find webhook IDs.
List or search Clio calendar entries (appointments and deadlines). Filter server-side by matter, calendar, or date ra…
Get one Clio calendar entry by ID, including matter, attendees, and recurrence rule. Use list_calendar_entries to fin…
Create a Clio calendar entry. summary, start_at, end_at and calendar_owner_id are all required — call list_calendars…
Update a Clio calendar entry. Only supplied fields change. Call get_calendar_entry first and check recurrence_rule: i…
Delete a Clio calendar entry permanently. Call get_calendar_entry first and check recurrence_rule: if it is not null…
List the calendars visible to the authenticated user. Call this before create_calendar_entry to get a valid calendar_…
Get one Clio calendar by ID. Use list_calendars to find calendar IDs.
List the firm’s calendar entry event types. Call this before create_calendar_entry or update_calendar_entry to get a…
Get one calendar entry event type by ID. Use list_calendar_entry_event_types to find event type IDs.
List reminders set on calendar entries or tasks. Filter by subject_type plus subject_id to see the reminders on one e…
Get one Clio reminder by ID. Use list_reminders to find reminder IDs.
Set a reminder on a calendar entry or task, firing duration_value duration_units before it. Call get_current_user fir…
Change how long before its subject a reminder fires, or which notification method delivers it. Pass duration_value an…
Delete a reminder. The calendar entry or task it belongs to is unaffected. Use list_reminders to find IDs.
List or search Clio contacts (people and companies). Pass query for free-text search across name, email, and phone, o…
Get one Clio contact by ID. Use list_contacts to find contact IDs. Pass ‘fields’ to widen the response, e.g. to inclu…
Create a Clio contact. type is required: use ‘Person’ with first_name and last_name, or ‘Company’ with name. For cust…
Update fields on a Clio contact. Only supplied fields change. For nested lists such as email_addresses, include an en…
Delete a Clio contact permanently. Fails if the contact is the client on a matter — reassign the matter first with up…
List every email address on a contact, with its label and which one is the default. Use list_contacts to find contact…
List every phone number on a contact, with its label and which one is the default. Use list_contacts to find contact…
List the firm’s custom fields on matters or contacts, with each picklist field’s allowed options. Call this before cr…
Get one custom field by ID, including its picklist options. Use list_custom_fields to find custom field IDs.
Create a custom field on matters or contacts. name, parent_type, and field_type are required. For field_type=‘picklis…
Update a custom field’s label, visibility, or picklist options. parent_type and field_type cannot be changed after cr…
Delete a custom field. Values already recorded on matters or contacts are removed with it. To hide the field instead,…
List custom field sets, which group related custom fields on matters or contacts. Use list_custom_fields for the indi…
Get one custom field set by ID, including the fields it groups. Use list_custom_field_sets to find set IDs.
Create a custom field set grouping existing custom fields. name and parent_type are required. Use list_custom_fields…
Rename a custom field set or replace the fields it groups. Passing custom_field_ids replaces the whole membership. Us…
Delete a custom field set. The custom fields it grouped are not deleted. Use list_custom_field_sets to find set IDs.
List or search Clio documents by name, matter, contact, folder, or category. Returns metadata only — use download_doc…
Get one Clio document’s metadata by ID — name, size, category, and where it is filed. Returns no file content; use do…
Upload a new document into Clio, filed under a matter, folder, or contact. Pass the file as base64 in content_base64,…
Upload a new version of an existing Clio document, preserving its history. Pass the file as base64 in content_base64,…
Download a Clio document’s content by ID. Text-like files come back as UTF-8 text; anything else as base64 — check th…
Update a Clio document’s metadata — rename it, refile it under a different parent, or change its category. Does not c…
Move a Clio document to the trash. Recover it with update_document and restore=true. Use list_documents to find docum…
Copy a Clio document into another matter, folder, or contact, leaving the original in place. Use list_documents for d…
List the version history of a Clio document, highest version_number first. Use the returned version IDs with restore_…
Promote an earlier version of a Clio document to be the latest. Returns only a success flag — call download_document…
List or search Clio folders by name, matter, contact, or parent folder. Use this to find folder IDs for upload_docume…
List folders and documents together in one call. Pass matter_id or contact_id to list that record’s contents, or pare…
Get one Clio folder by ID. Use list_folders to find folder IDs.
Create a folder inside a matter, contact, or another folder. Use list_matters, list_contacts, or list_folders to find…
Rename a Clio folder or move it under a different parent. Set restore=true to recover a trashed folder. Use list_fold…
Move a Clio folder and its contents to the trash. Recover it with update_folder and restore=true. Use list_folders to…
List the firm’s document categories. Call this before upload_document or update_document to get a valid document_cate…
Get one Clio document category by ID. Use list_document_categories to find category IDs.
Create a document category for filing documents. Call list_document_categories first to avoid duplicating an existing…
Rename a Clio document category. Use list_document_categories to find category IDs.
Delete a document category. Documents filed under it are not deleted but lose the category. Use list_document_categor…
List or search Clio matters (cases). Filter server-side by status, client, practice area, or responsible attorney, or…
Get one Clio matter by ID, including client, practice area, stage, and responsible attorney. Use list_matters to find…
Create a Clio matter for an existing client contact. client_id and description are required — use list_contacts to fi…
Update fields on a Clio matter. Only supplied fields change; omitted fields are left alone. Use list_matters to find…
Delete a Clio matter permanently, along with its associated records. This cannot be undone — to close a matter instea…
List every contact associated with a matter, including the client and all related contacts. Use list_matters to find…
List the related (non-client) contacts on a matter, such as opposing counsel or witnesses. Each entry’s contact_id is…
List the firm’s practice areas. Call this before create_matter or update_matter to get a valid practice_area_id — the…
List the firm’s matter stages, optionally filtered to one practice area. Call this before create_matter or update_mat…
List matter-to-contact relationships, optionally filtered by matter or contact. Each entry describes how a contact re…
Get one matter-to-contact relationship by ID. Use list_relationships to find IDs.
Relate an existing contact to a matter, e.g. as opposing counsel or a witness. Use list_matters for matter_id and lis…
Update the description on a matter-to-contact relationship. Use list_relationships to find relationship IDs.
Remove a contact’s relationship to a matter. The contact itself is not deleted. Use list_relationships to find relati…
List or search Clio notes on matters and contacts. Filter server-side by matter_id, contact_id, or type, or pass quer…
Get one Clio note by ID, including its full detail body. Use list_notes to find note IDs.
Create a note on a matter or a contact. Set type=‘Matter’ with matter_id, or type=‘Contact’ with contact_id — the two…
Update a Clio note’s subject, detail, or date. The matter or contact it is filed against cannot be changed. Use list_…
Delete a Clio note permanently. Use list_notes to find note IDs.
List comments left on documents and folders. Pass item_id to see the comments on one of them — use list_documents or…
Get one comment by ID. Use list_comments to find comment IDs.
Comment on a document or folder. Pass its ID as item_id — use list_documents or list_folders to find one. To add a no…
Edit the text of a comment. Use list_comments to find comment IDs.
Delete a comment from a document or folder. Use list_comments to find comment IDs.
List or search logged phone calls and emails. Filter server-side by matter, contact, user, type, or received-date ran…
Get one logged phone call or email by ID, including its body and parties. Use list_communications to find communicati…
Log a phone call or email against a matter. Set type to PhoneCommunication or EmailCommunication. Use list_matters fo…
Update a logged phone call or email. Use list_communications to find communication IDs.
Delete a logged phone call or email. Use list_communications to find communication IDs.
List Clio audit-log entries recording who accessed firm data and when. Read-only and account-wide; filter with create…
List or search Clio tasks. Filter server-side by matter, assignee, status, priority, or due-date range, or pass query…
Get one Clio task by ID, including matter, assignee, and due date. Use list_tasks to find task IDs.
Create a Clio task. name, assignee_id and assignee_type are all required — Clio rejects an unassigned task. Use list_…
Update a Clio task. Only supplied fields change. Set status=‘complete’ to close the task. Use list_tasks to find task…
Delete a Clio task permanently. To mark it done instead, call update_task with status=‘complete’. Use list_tasks to f…
List the firm’s task types. Call this before create_task or update_task to get a valid task_type_id — task types are…
Get one Clio task type by ID. Use list_task_types to find task type IDs.
Create a task type the firm can assign to tasks. Use list_task_types to check for an existing one first.
Rename or retire a Clio task type. Clio has no delete endpoint for task types: retire one by setting deleted_at to a…