Access the Clio Manage API with managed OAuth authentication. Manage matters, contacts, activities, tasks, documents, calendar entries, time entries, and billing for legal practice management.
Reference
Field Selection
By default, Clio returns minimal fields (id, etag). Use the fields parameter to request specific fields:
GET /clio/api/v4/matters?fields=id,display_number,description,statusFor nested resources, use curly bracket syntax:
GET /clio/api/v4/activities?fields=id,type,matter{id,description}List Matters
GET /clio/api/v4/matters?fields=id,display_number,description,status,client_referenceGet Matter
GET /clio/api/v4/matters/{id}?fields=id,display_number,description,status,open_date,close_dateCreate Matter
POST /clio/api/v4/matters
Content-Type: application/json
{
"data": {
"description": "New Legal Matter",
"status": "open",
"client": {"id": 12345}
}
}Update Matter
PATCH /clio/api/v4/matters/{id}
Content-Type: application/json
{
"data": {
"description": "Updated Matter Description",
"status": "closed"
}
}Delete Matter
DELETE /clio/api/v4/matters/{id}List Contacts
GET /clio/api/v4/contacts?fields=id,name,type,primary_email_address,primary_phone_numberGet Contact
GET /clio/api/v4/contacts/{id}?fields=id,name,type,first_name,last_name,companyCreate Contact (Person)
POST /clio/api/v4/contacts
Content-Type: application/json
{
"data": {
"type": "Person",
"first_name": "John",
"last_name": "Doe",
"email_addresses": [
{"name": "Work", "address": "john@example.com", "default_email": true}
]
}
}Create Contact (Company)
POST /clio/api/v4/contacts
Content-Type: application/json
{
"data": {
"type": "Company",
"name": "Acme Corporation"
}
}Update Contact
PATCH /clio/api/v4/contacts/{id}
Content-Type: application/json
{
"data": {
"first_name": "Jane"
}
}Delete Contact
DELETE /clio/api/v4/contacts/{id}List Activities
GET /clio/api/v4/activities?fields=id,type,date,quantity,matter{id,description}Get Activity
GET /clio/api/v4/activities/{id}?fields=id,type,date,quantity,noteCreate Activity
POST /clio/api/v4/activities
Content-Type: application/json
{
"data": {
"type": "TimeEntry",
"date": "2026-02-11",
"quantity": 3600,
"matter": {"id": 12345},
"note": "Legal research"
}
}Update Activity
PATCH /clio/api/v4/activities/{id}
Content-Type: application/json
{
"data": {
"note": "Updated note"
}
}Delete Activity
DELETE /clio/api/v4/activities/{id}List Tasks
GET /clio/api/v4/tasks?fields=id,name,status,due_at,priority,matter{id,description}Get Task
GET /clio/api/v4/tasks/{id}?fields=id,name,description,status,due_at,priorityCreate Task
Requires assignee with both id and type ("User" or "Contact"):
POST /clio/api/v4/tasks
Content-Type: application/json
{
"data": {
"name": "Review contract",
"due_at": "2026-02-15T17:00:00Z",
"priority": "Normal",
"assignee": {"id": 12345, "type": "User"},
"matter": {"id": 67890}
}
}Update Task
PATCH /clio/api/v4/tasks/{id}
Content-Type: application/json
{
"data": {
"status": "complete"
}
}Delete Task
DELETE /clio/api/v4/tasks/{id}List Calendar Entries
GET /clio/api/v4/calendar_entries?fields=id,summary,start_at,end_at,matter{id,description}Get Calendar Entry
GET /clio/api/v4/calendar_entries/{id}?fields=id,summary,description,start_at,end_at,locationCreate Calendar Entry
Requires calendar_owner with id and type:
POST /clio/api/v4/calendar_entries
Content-Type: application/json
{
"data": {
"summary": "Client Meeting",
"start_at": "2026-02-15T10:00:00Z",
"end_at": "2026-02-15T11:00:00Z",
"calendar_owner": {"id": 12345, "type": "User"}
}
}Note: Associating a matter with a calendar entry during creation may return a 404 error. To link a matter, update the calendar entry after creation using PATCH.
Update Calendar Entry
PATCH /clio/api/v4/calendar_entries/{id}
Content-Type: application/json
{
"data": {
"summary": "Updated Meeting Title"
}
}Delete Calendar Entry
DELETE /clio/api/v4/calendar_entries/{id}List Documents
GET /clio/api/v4/documents?fields=id,name,content_type,size,matter{id,description}Get Document
GET /clio/api/v4/documents/{id}?fields=id,name,content_type,size,created_atDownload Document
GET /clio/api/v4/documents/{id}/downloadGet Current User
GET /clio/api/v4/users/who_am_i?fields=id,name,email,enabledList Users
GET /clio/api/v4/users?fields=id,name,email,enabled,rateList Bills
GET /clio/api/v4/bills?fields=id,number,issued_at,due_at,total,balance,stateGet Bill
GET /clio/api/v4/bills/{id}?fields=id,number,issued_at,due_at,total,balance,state