How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Clio Contacts API

All clients, prospective clients, companies, and external co-counsels can be viewed as Contacts under the Contacts tab in Clio Manage.[Support Link](https://help.clio.com/hc/en-us/articles/9290486281627-Clio-Manage-Contacts-Overview)## Contact NameWhen creating a contact of type "Person" you must provide at least a first name or a last name. This can be done in one of two ways:1. Providing the name components explicitly (preferred): Using the `first_name` and `last_name` parameters.2. Providing the full name (discouraged): Using the `name` parameter, you can provide the person's full name (e.g. "John Smith") and Clio will attempt to infer the individual components of the name. If it is unable to do so, you will receive a "422 Unprocessable Entity: At least one of first name or last name must be provided" Error.**We recommend using the individual name fields when possible to avoid any ambiguities.**## AssociationsA Contact can be persisted with its associations in a single request. The followings detail the nested attributes to persist the associations.### AddressesCheckout the sample request to update the Addresses of a Contact:```jsonRequest PATCH /api/v4/contacts/1.json { data: { addresses: [ // update { id: 1, name: "Work", country: "Canada" }, // create { name: "Home", street: "1234 Main Street", city: "Burnaby", province: "BC", country: "Canada",postal_code: "V1A 1A1" }, // destroy { id: 2, _destroy: true } ] }```### Custom Field ValuesA CustomFieldValue contains the value of a CustomField for a Contact.Below are some examples of how to create, read, update, and destroy the CustomFieldValues of a Contact:#### CreateNote: The value of `id` used here is the value of the `id` parameter in the response received when [creating a new CustomField](https://docs.developers.clio.com/clio-manage/api-reference/#tag/Custom-Fields/operation/CustomField#create) or one returned in a [query of an existing CustomField](https://docs.developers.clio.com/clio-manage/api-reference/#tag/Custom-Fields/operation/CustomField#show).```jsonRequest PATCH /api/v4/contacts/1.json { data: { custom_field_values: [ { custom_field: { id: 2 }, value: "Initial value" } ] } }```#### ReadNote: The `id` of the CustomFieldValue is a composite value including the custom field type. Use this `id` to update and destroy the CustomFieldValue.The `id` of the associated Custom Field can be found by querying the `custom_field` for all CustomFieldValues related to the Contact, e.g.: `/api/v4/contacts/1?fields=id,display_number,custom_field_values{id,value,custom_field}`Note: The `id` may be `NULL` when the CustomField is displayed by default but has not yet been given a value.```jsonRequest GET /api/v4/contacts/1.json?fields=custom_field_values{id,value,custom_field} { data: { custom_field_values: [ { id: "text_line-1", value: "Current value", custom_field: { id: 2 } } ] } }```#### UpdateNote: The value of the CustomFieldValue `id` used here is a composite value and can be found by querying for all CustomFieldValues related to the Contact, e.g.: `/api/v4/contacts/1?fields=id,name,custom_field_values{id,value,custom_field}`Note: If the `id` is `NULL`, you must provide `custom_field{id}` to create the CustomFieldValue and assign a value (see **Create**).```jsonRequest PATCH /api/v4/contacts/1.json { data: { custom_field_values: [ { id: "text_line-1", value: "Updated value" } ] } }```#### DestroyNote: The value of the CustomFieldValue `id` used here is a composite value and can be found by querying for all CustomFieldValues related to the Contact, e.g.: `/api/v4/contacts/1?fields=id,name,custom_field_values{id,value}````jsonRequest PATCH /api/v4/contacts/1.json { data: { custom_field_values: [ { id: "picklist-2", _destroy: true } ] } }```### Email AddressesCheckout the sample request to update the Email Addresses of a Contact:```jsonRequest PATCH /api/v4/contacts/1.json { data: { email_addresses: [ // update { id: 1, name: "Work", address: "demo@clio.com" }, // create { name: "Home", address: "home@clio.com" }, // destroy { id: 2, _destroy: true } ] }```### Instant MessengersCheckout the sample request to update the Instant Messengers of a Contact:```jsonRequest PATCH /api/v4/contacts/1.json { data: { instant_messengers: [ // update { id: 1, name: "Work", address: "https://twitter.com/goclio" }, // create { name: "Other", address: "https://www.facebook.com/GoClio/" }, // destroy { id: 2, _destroy: true } ] }```### Phone NumbersCheckout the sample request to update the Phone Numbers of a Contact:```jsonRequest PATCH /api/v4/contacts/1.json { data: { phone_numbers: [ // update { id: 1, name: "Work", number: "123-456-7890" }, // create { name: "Other", number: "000-000-0000" }, // destroy { id: 2, _destroy: true } ] }```### Web SiteCheckout the sample request to update the Web Site of a Contact:```jsonRequest PATCH /api/v4/contacts/1.json { data: { web_sites: [ // update { id: 1, name: "Work", address: "https://help.clio.com/" }, // create { name: "Other", address: "https://www.clio.com/about/careers/" }, // destroy { id: 2, _destroy: true } ] }```

Clio Contacts API is one of 85 APIs that Clio publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Contacts. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, and authentication docs.

This API exposes 5 operations across 2 paths, and defines 28 schemas. It is described by OpenAPI 3.2.0, at version v4.

Requests are made against 4 base URLs: https://app.clio.com/api/v4, https://eu.app.clio.com/api/v4, https://ca.app.clio.com/api/v4, https://au.app.clio.com/api/v4.

5 operations 2 paths 28 schemas 1 DELETE2 GET1 PATCH1 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
v4
Base URL
https://app.clio.com/api/v4
Resource Areas
1

Paths & Operations 5

Across 2 paths, the API surfaces 5 operations — 1 DELETE, 2 GET, 1 PATCH, 1 POST. Each is listed below with its method, path, parameters, and response codes.

Contacts 5

All clients, prospective clients, companies, and external co-counsels can be viewed as Contacts under the Contacts tab in Clio Manage. [Support Link](https://help.clio.com/hc/en-u…

GET
/contacts.json
Return the data for all Contacts
Contact#index 18 params → 200400401403429
POST
/contacts.json
Create a new Contact
Contact#create 3 params body → 201400403404422401429
GET
/contacts/{id}.json
Return the data for a single Contact
Contact#show 6 params → 200400403404401429304
PATCH
/contacts/{id}.json
Update a single Contact
Contact#update 5 params body → 200400403404422401429412
DELETE
/contacts/{id}.json
Delete a single Contact
Contact#destroy 2 params → 204403

Schemas 28

The contract defines 28 schemas that model the data the API accepts and returns. The most detailed are Contact_base (28 properties), PaymentProfile_base (12 properties), CustomField_base (11 properties), CustomFieldValue_base (11 properties). Each schema is shown below with its type and property counts.

CustomField_base
object
11 properties
Folder_base
object
9 properties
CustomFieldValue
CustomFieldSetAssociation_base
object
5 properties
AccountBalance_base
object
5 properties
Contact_Show
object
1 property 1 required
NotificationMethod_base
object
7 properties
CustomFieldMatterSelection_base
object
2 properties
Contact
CustomFieldValue_base
object
11 properties
ErrorDetail
object
2 properties 2 required
EmailAddress_base
object
7 properties
Error
object
1 property 1 required
PicklistOption_base
object
6 properties
PhoneNumber_base
object
7 properties
CustomField
PaymentProfile_base
object
12 properties
Contact_base
object
28 properties
InstantMessenger_base
object
6 properties
Contact_List
object
1 property 1 required
WebSite_base
object
7 properties
PicklistOption
Address_base
object
11 properties
Currency_base
object
6 properties
ActivityRate_base
object
8 properties
KycFieldValue_base
object
10 properties
Avatar_base
object
6 properties
LegalAidUkContact_base
object
9 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

clio-contacts-api-openapi.yml Raw ↑

Other APIs Clio publishes across the network.

Clio Webhooks
Clio App Directory
Clio Activities API
Clio Activity Descriptions API
Clio Activity Rates API
Clio Allocations API
Clio Bank Accounts API
Clio Bank Transactions API
Clio Bank Transfers API
Clio Bill Themes API
Clio Billable Clients API
Clio Billable Matters API
Where this information came from

This is an independent, third-party profile of Clio Contacts API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.