Clio Grow API Documentation (early access)
Download OpenAPI specification:Download
- Clio takes the availability and stability of our API seriously; please report any degradations or breakages to Clio Grow's API Support team at api@clio.com.
- For business and partnership inquiries, contact our API Partnerships team at api.partnerships@clio.com.
- For best practices and tips from the Clio development community, join the conversation in the Clio Developer Slack Channel.
Note: The API is available in three distinct data regions: Australia (au.grow.clio.com), EU (eu.grow.clio.com) and US (grow.clio.com).
Likewise, the developer portal is available at region-specific links for the Australia, EU, and US regions.
This document assumes the US region is being used (grow.clio.com). If you're building in one of the other regions, you should adapt the links and examples as necessary.
Return the data for all Contacts
Outlines the parameters, optional and required, used when requesting the data for all Contacts
query Parameters
created_since | string <date-time> Filter Contact records to those having the |
ids[] | integer <int64> Filter Contact records to those having the specified unique identifiers (maximum 50). |
page_token | string A token specifying which page to return. |
query | string Wildcard search for name, email address, or phone number matching a given string. |
updated_since | string <date-time> Filter Contact records to those having the |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "clio_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "emails": [
- "string"
], - "id": 0,
- "matters": [
- {
- "id": 0
}
], - "name": "string",
- "phone_numbers": [
- "string"
], - "status": "Unassigned",
- "type": "Company",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
Return the data for a single Contact
path Parameters
id required | integer <int64> The unique identifier for the Contact. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
{- "clio_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "emails": [
- "string"
], - "id": 0,
- "matters": [
- {
- "id": 0
}
], - "name": "string",
- "phone_numbers": [
- "string"
], - "status": "Unassigned",
- "type": "Company",
- "updated_at": "2019-08-24T14:15:22Z"
}
Return the notes for a single Contact
Outlines the parameters, optional and required, used when requesting the notes for a single Contact
path Parameters
contact_id required | integer <int64> Filters Note records by Contact. |
query Parameters
created_since | string <date-time> Filter ContactNote records to those having the |
ids[] | integer <int64> Filter ContactNote records to those having the specified unique identifiers (maximum 50). |
page_token | string A token specifying which page to return. |
updated_since | string <date-time> Filter ContactNote records to those having the |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "body": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "subject": "string",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
Create a new Note for a specific Contact
path Parameters
contact_id required | integer <int64> The unique identifier of the Contact to create the Note for. |
Request Body schema: application/json
Request Body for Contact Note
required | object | ||||
|
Responses
Request samples
- Payload
{- "data": {
- "body": "string",
- "subject": "string"
}
}
Response samples
- 201
- 400
- 401
- 403
- 422
- 429
{- "body": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "subject": "string",
- "updated_at": "2019-08-24T14:15:22Z"
}
Custom Actions are a mechanism to add a link to certain dropdowns in the Clio Grow user interface. When this link is clicked by a Grow user, a new tab opens in their browser and they are sent to the URL provided during that Custom Action's creation. Clio will attach contextual parameters to the URL to enable the integration that created the custom action to call the API afterward.
Confirming a User's Action
Because custom actions require an unauthorized GET request made from a user's browser, it's important to validate that a user has actually performed an action within Clio.
When a request is sent to the URL specified on the custom action, Clio includes a unique custom_action_nonce
parameter. If you send the custom_action_nonce
in your next request to the API as a query parameter, Clio will use it to validate that the user who clicked the custom action matches your oauth token request. If the nonce does not match, a 403 Forbidden error will be returned.
The nonce value is a single-use code and has an expiry of 60 seconds.
Return the data for all CustomActions
Outlines the parameters, optional and required, used when requesting the date for all CustomActions
query Parameters
created_since | string <date-time> Filter CustomAction records to those having the |
ids[] | integer <int64> Filter CustomAction records to those having the specified unique identifiers (maximum 50). |
page_token | string A token specifying which page to return. |
updated_since | string <date-time> Filter CustomAction records to those having the |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "label": "string",
- "target_url": "string",
- "ui_reference": "matters/show",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
Create a new CustomAction
Request Body schema: application/json
Request Body for CustomAction
required | object | ||||||
|
Responses
Request samples
- Payload
{- "data": {
- "label": "string",
- "target_url": "string",
- "ui_reference": "matters/show"
}
}
Response samples
- 201
- 400
- 401
- 403
- 422
- 429
{- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "label": "string",
- "target_url": "string",
- "ui_reference": "matters/show",
- "updated_at": "2019-08-24T14:15:22Z"
}
Delete a single CustomAction
Outlines the parameters, optional and required, used when deleting the record for a single CustomAction
path Parameters
id required | integer <int64> The unique identifier for the CustomAction. |
Responses
Response samples
- 403
{- "error": {
- "message": "string",
- "status": "string"
}
}
Return the data for all InboxLeads
Outlines the parameters, optional and required, used when requesting the data for all InboxLeads
query Parameters
created_since | string <date-time> Filter InboxLead records to those having the |
ids[] | integer <int64> Filter InboxLead records to those having the specified unique identifiers (maximum 50). |
page_token | string A token specifying which page to return. |
query | string Wildcard search for name, email address, or phone number matching a given string. |
state required | string Enum: "ignored" "untriaged" Filter InboxLead records to those having the specified state. |
updated_since | string <date-time> Filter InboxLead records to those having the |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "email": "string",
- "first_name": "string",
- "id": 0,
- "last_name": "string",
- "phone_number": "string",
- "state": "ignored",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
Create a new InboxLead
Request Body schema: application/json
Request Body for InboxLead
required | object | ||||||||||||||
|
Responses
Request samples
- Payload
{- "data": {
- "email": "string",
- "first_name": "string",
- "from_message": "string",
- "from_source": "string",
- "last_name": "string",
- "phone_number": "string",
- "referring_url": "string"
}
}
Response samples
- 201
- 400
- 401
- 403
- 422
- 429
{- "created_at": "2019-08-24T14:15:22Z",
- "email": "string",
- "first_name": "string",
- "id": 0,
- "last_name": "string",
- "phone_number": "string",
- "state": "ignored",
- "updated_at": "2019-08-24T14:15:22Z",
- "from_message": "string",
- "from_source": "string",
- "referring_url": "string"
}
Return the data for a single InboxLead
path Parameters
id required | integer <int64> The unique identifier for the InboxLead. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
{- "created_at": "2019-08-24T14:15:22Z",
- "email": "string",
- "first_name": "string",
- "id": 0,
- "last_name": "string",
- "phone_number": "string",
- "state": "ignored",
- "updated_at": "2019-08-24T14:15:22Z"
}
Return the data for all Matters
Outlines the parameters, optional and required, used when requesting the data for all Matters
query Parameters
created_since | string <date-time> Filter Matter records to those having the |
ids[] | integer <int64> Filter Matter records to those having the specified unique identifiers (maximum 50). |
page_token | string A token specifying which page to return. |
updated_since | string <date-time> Filter Matter records to those having the |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "description": "string",
- "clio_id": 0,
- "location": "string",
- "primary_contact": {
- "full_name": "string",
- "id": 0,
- "phone_number": "string",
- "primary_email": "string"
}, - "status": "Newly Added",
- "status_category": "intake",
- "type": "string",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
Return the data for a single Matter
path Parameters
id required | integer <int64> The unique identifier for the Matter. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
{- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "description": "string",
- "clio_id": 0,
- "location": "string",
- "primary_contact": {
- "full_name": "string",
- "id": 0,
- "phone_number": "string",
- "primary_email": "string"
}, - "status": "Newly Added",
- "status_category": "intake",
- "type": "string",
- "updated_at": "2019-08-24T14:15:22Z"
}
Return the notes for a single Matter
Outlines the parameters, optional and required, used when requesting the notes for a single Matter
path Parameters
matter_id required | integer <int64> Filters Note records by Matter. |
query Parameters
created_since | string <date-time> Filter MatterNote records to those having the |
ids[] | integer <int64> Filter MatterNote records to those having the specified unique identifiers (maximum 50). |
page_token | string A token specifying which page to return. |
updated_since | string <date-time> Filter MatterNote records to those having the |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "body": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "subject": "string",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
Create a new Note for a specific Matter
path Parameters
matter_id required | integer <int64> The unique identifier of the Matter to create the Note for. |
Request Body schema: application/json
Request Body for MatterNote
required | object | ||||
|
Responses
Request samples
- Payload
{- "data": {
- "body": "string",
- "subject": "string"
}
}
Response samples
- 201
- 400
- 401
- 403
- 422
- 429
{- "body": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "subject": "string",
- "updated_at": "2019-08-24T14:15:22Z"
}
Return the data for all Users
Outlines the parameters, optional and required, used when requesting the data for all Users
query Parameters
created_since | string <date-time> Filter User records to those having the |
ids[] | integer <int64> Filter User records to those having the specified unique identifiers (maximum 50). |
page_token | string A token specifying which page to return. |
updated_since | string <date-time> Filter User records to those having the |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "account": {
- "id": 0,
- "firm_name": "string"
}, - "created_at": "2019-08-24T14:15:22Z",
- "email": "string",
- "first_name": "string",
- "id": 0,
- "last_name": "string",
- "updated_at": "2019-08-24T14:15:22Z"
}
]
}
Response samples
- 200
- 400
- 401
- 403
- 429
{- "account": {
- "id": 0,
- "firm_name": "string"
}, - "created_at": "2019-08-24T14:15:22Z",
- "email": "string",
- "first_name": "string",
- "id": 0,
- "last_name": "string",
- "updated_at": "2019-08-24T14:15:22Z"
}