Clio Comments API

Comments are short text messages which can be associated with either Documents or Folders. If the Comment is created in association with a Document, it will also be associated with the Document's latest Document Version.

Operations 5

GET /comments.json Return the data for all Comments #
POST /comments.json Create a new Comment #
GET /comments/{id}.json Return the data for a single Comment #
PATCH /comments/{id}.json Update a single Comment #
DELETE /comments/{id}.json Delete a single Comment #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/clio-comments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

clio-comments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Clio API Documentation Comments API
  contact:
    name: Clio API Support
    email: api@clio.com
  description: '# Developer Support and Feedback

    * Clio takes the availability and stability of our API seriously; please report any **degradations** or **breakages** to Clio''s API Support team at api@clio.com.'
  version: v4
  x-logo:
    url: https://www.clio.com/wp-content/uploads/2015/05/Container-5-Logo.png
servers:
- url: https://app.clio.com/api/v4
  description: US region Production Server
- url: https://eu.app.clio.com/api/v4
  description: Europe region Production Server
- url: https://ca.app.clio.com/api/v4
  description: Canada region Production Server
- url: https://au.app.clio.com/api/v4
  description: Australia region Production Server
tags:
- name: Comments
  description: 'Comments are short text messages which can be associated with either Documents or Folders.


    If the Comment is created in association with a Document, it will also be associated with the Document''s latest Document Version.'
paths:
  /comments.json:
    get:
      tags:
      - Comments
      summary: Return the data for all Comments
      operationId: Comment#index
      description: Outlines the parameters, optional and required, used when requesting the data for all Comments
      parameters:
      - name: X-API-VERSION
        in: header
        description: 'The [API minor version](#section/Minor-Versions). Default: latest version.'
        required: false
        schema:
          type: string
      - name: created_since
        in: query
        description: Filter Comment records to those having the `created_at` field after a specific time. (Expects an ISO-8601 timestamp).
        required: false
        schema:
          type: string
          format: date-time
      - name: fields
        in: query
        description: The fields to be returned. See response samples for what fields are available. For more information see the [fields section](#section/Fields).
        required: false
        schema:
          type: string
      - name: item_id
        in: query
        description: The ID of the Document or Folder this Comment belongs to
        required: false
        schema:
          type: integer
          format: int64
      - name: limit
        in: query
        description: 'A limit on the number of Comment records to be returned. Limit can range between 1 and 200. Default: `200`.'
        required: false
        schema:
          type: integer
          format: int32
      - name: page_token
        in: query
        description: A token specifying which page to return.
        required: false
        schema:
          type: string
      - name: updated_since
        in: query
        description: Filter Comment records to those having the `updated_at` field after a specific time. (Expects an ISO-8601 timestamp).
        required: false
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: Ok
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Comment_List'
        '400':
          description: Bad Request
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too Many Requests
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
    post:
      tags:
      - Comments
      summary: Create a new Comment
      operationId: Comment#create
      description: Outlines the parameters and data fields used when creating a new Comment
      parameters:
      - name: X-API-VERSION
        in: header
        description: 'The [API minor version](#section/Minor-Versions). Default: latest version.'
        required: false
        schema:
          type: string
      - name: fields
        in: query
        description: The fields to be returned. See response samples for what fields are available. For more information see the [fields section](#section/Fields).
        required: false
        schema:
          type: string
      responses:
        '201':
          description: Created
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Comment_Show'
        '400':
          description: Bad Request
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Unprocessable Entity
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too Many Requests
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        description: Request Body for Comments
        content:
          application/json:
            schema:
              type: object
              required:
              - data
              properties:
                data:
                  type: object
                  properties:
                    item:
                      type: object
                      properties:
                        id:
                          type: integer
                          format: int64
                          description: The unique identifier of the Document or Folder to which the Comment is associated.
                      required:
                      - id
                    message:
                      type: string
                      description: The content of the Comment.
                  required:
                  - message
                  - item
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - data
              properties:
                data:
                  type: object
                  properties:
                    item:
                      type: object
                      properties:
                        id:
                          type: integer
                          format: int64
                          description: The unique identifier of the Document or Folder to which the Comment is associated.
                      required:
                      - id
                    message:
                      type: string
                      description: The content of the Comment.
                  required:
                  - message
                  - item
          multipart/form-data:
            schema:
              type: object
              required:
              - data
              properties:
                data:
                  type: object
                  properties:
                    item:
                      type: object
                      properties:
                        id:
                          type: integer
                          format: int64
                          description: The unique identifier of the Document or Folder to which the Comment is associated.
                      required:
                      - id
                    message:
                      type: string
                      description: The content of the Comment.
                  required:
                  - message
                  - item
        required: false
  /comments/{id}.json:
    get:
      tags:
      - Comments
      summary: Return the data for a single Comment
      operationId: Comment#show
      description: Outlines the parameters, optional and required, used when requesting the data for a single Comment
      parameters:
      - name: IF-MODIFIED-SINCE
        in: header
        description: The server will send the requested resource with a 200 status, but only if it has been modified after the given date. (Expects an RFC 2822 timestamp).
        required: false
        schema:
          type: string
          format: date
      - name: IF-NONE-MATCH
        in: header
        description: The server will send the requested resource with a 200 status, but only if the existing resource's [ETag](#section/ETags) doesn't match any of the values listed.
        required: false
        schema:
          type: string
      - name: X-API-VERSION
        in: header
        description: 'The [API minor version](#section/Minor-Versions). Default: latest version.'
        required: false
        schema:
          type: string
      - name: fields
        in: query
        description: The fields to be returned. See response samples for what fields are available. For more information see the [fields section](#section/Fields).
        required: false
        schema:
          type: string
      - name: id
        in: path
        description: The unique identifier for the Comment.
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Ok
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Comment_Show'
        '400':
          description: Bad Request
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too Many Requests
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '304':
          description: Not Modified
    patch:
      tags:
      - Comments
      summary: Update a single Comment
      operationId: Comment#update
      description: Outlines the parameters and data fields used when updating a single Comment
      parameters:
      - name: IF-MATCH
        in: header
        description: The server will update the requested resource and send back a 200 status, but only if value in the header matches the existing resource's [ETag](#section/ETags).
        required: false
        schema:
          type: string
      - name: X-API-VERSION
        in: header
        description: 'The [API minor version](#section/Minor-Versions). Default: latest version.'
        required: false
        schema:
          type: string
      - name: fields
        in: query
        description: The fields to be returned. See response samples for what fields are available. For more information see the [fields section](#section/Fields).
        required: false
        schema:
          type: string
      - name: id
        in: path
        description: The unique identifier for the Comment.
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Ok
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Comment_Show'
        '400':
          description: Bad Request
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Unprocessable Entity
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too Many Requests
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '412':
          description: Precondition Failed
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        description: Request Body for Comments
        content:
          application/json:
            schema:
              type: object
              required:
              - data
              properties:
                data:
                  type: object
                  properties:
                    item:
                      type: object
                      properties:
                        id:
                          type: integer
                          format: int64
                          description: The unique identifier of the Document or Folder to which the Comment is associated.
                    message:
                      type: string
                      description: The content of the Comment.
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - data
              properties:
                data:
                  type: object
                  properties:
                    item:
                      type: object
                      properties:
                        id:
                          type: integer
                          format: int64
                          description: The unique identifier of the Document or Folder to which the Comment is associated.
                    message:
                      type: string
                      description: The content of the Comment.
          multipart/form-data:
            schema:
              type: object
              required:
              - data
              properties:
                data:
                  type: object
                  properties:
                    item:
                      type: object
                      properties:
                        id:
                          type: integer
                          format: int64
                          description: The unique identifier of the Document or Folder to which the Comment is associated.
                    message:
                      type: string
                      description: The content of the Comment.
        required: false
    delete:
      tags:
      - Comments
      summary: Delete a single Comment
      operationId: Comment#destroy
      description: Outlines the parameters, optional and required, used when deleting the record for a single Comment
      parameters:
      - name: X-API-VERSION
        in: header
        description: 'The [API minor version](#section/Minor-Versions). Default: latest version.'
        required: false
        schema:
          type: string
      - name: id
        in: path
        description: The unique identifier for the Comment.
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '204':
          description: No Content
        '403':
          description: Forbidden
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Comment:
      allOf:
      - $ref: '#/components/schemas/Comment_base'
      - type: object
        properties:
          creator:
            $ref: '#/components/schemas/User_base'
            description: User
          document_version:
            $ref: '#/components/schemas/DocumentVersion_base'
            description: DocumentVersion
    Comment_base:
      type: object
      properties:
        id:
          type: integer
          format: int64
          description: Unique identifier for the *Comment*
        etag:
          type: string
          description: ETag for the *Comment*
        message:
          type: string
          description: The content of the Comment
        created_at:
          type: string
          format: date-time
          description: The time the *Comment* was created (as a ISO-8601 timestamp)
        updated_at:
          type: string
          format: date-time
          description: The time the *Comment* was last updated (as a ISO-8601 timestamp)
        deleted_at:
          type: string
          format: date-time
          description: The time the *Comment* was deleted (as a ISO-8601 timestamp)
    DocumentVersion_base:
      type: object
      properties:
        id:
          type: integer
          format: int64
          description: Unique identifier for the *DocumentVersion*
        document_id:
          type: integer
          format: int64
          description: The ID of the parent document.
        etag:
          type: string
          description: ETag for the *DocumentVersion*
        uuid:
          type: string
          description: UUID associated with the DocumentVersion. UUID is required to mark a document fully uploaded.
        created_at:
          type: string
          format: date-time
          description: The time the *DocumentVersion* was created (as a ISO-8601 timestamp)
        updated_at:
          type: string
          format: date-time
          description: The time the *DocumentVersion* was last updated (as a ISO-8601 timestamp)
        filename:
          type: string
          description: The uploaded file name of the DocumentVersion.
        size:
          type: integer
          format: int32
          description: The size of the DocumentVersion in bytes.
        version_number:
          type: integer
          format: int32
          description: The ordered number of when this DocumentVersion was uploaded.
        content_type:
          type: string
          description: A standard MIME type describing the format of the object data.
        received_at:
          type: string
          format: date-time
          description: The time the DocumentVersion was received (as an ISO-8601 timestamp)
        put_url:
          type: string
          description: A signed URL for uploading the file in a single operation. It expires in 10 minutes. If the document is fully uploaded, the field is empty.
        fully_uploaded:
          type: boolean
          description: True if the DocumentVersion is uploaded. False if the DocumentVersion is being uploaded.
    Error:
      type: object
      required:
      - error
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetail'
    Comment_Show:
      type: object
      required:
      - data
      properties:
        data:
          $ref: '#/components/schemas/Comment'
    Comment_List:
      type: object
      required:
      - data
      properties:
        data:
          type: array
          description: Comment List Response
          items:
            $ref: '#/components/schemas/Comment'
    ErrorDetail:
      type: object
      required:
      - type
      - message
      properties:
        type:
          type: string
          description: Unique name for this error
        message:
          type: string
          description: Detailed message about the error
    User_base:
      type: object
      properties:
        account_owner:
          type: boolean
          description: Whether the *User* is the owner of the account
        clio_connect:
          type: boolean
          description: Whether the *User* is a Clio Connect user
        court_rules_default_attendee:
          type: boolean
          description: Whether the *User* is a default attendee for court rules events
        created_at:
          type: string
          format: date-time
          description: The time the *User* was created (as a ISO-8601 timestamp)
        default_calendar_id:
          type: integer
          format: int64
          description: Default calendar id for *User*.
        email:
          type: string
          description: The email of the *User*
        enabled:
          type: boolean
          description: Whether the *User* is allowed to log in
        etag:
          type: string
          description: ETag for the *User*
        first_name:
          type: string
          description: The first name of the *User*
        id:
          type: integer
          format: int64
          description: Unique identifier for the *User*
        initials:
          type: string
          description: The initials of the *User*
        last_name:
          type: string
          description: The last name of the *User*
        name:
          type: string
          description: The full name of the *User*
        phone_number:
          type: string
          description: The primary phone number for the *User*.
        rate:
          type: number
          format: float
          description: Default user activity rate for *User*.
        roles:
          type: array
          items:
            type: string
          description: An array of roles assigned to this *User*
        subscription_type:
          type: string
          enum:
          - Attorney
          - NonAttorney
          description: The subscription type of the *User*
        time_zone:
          type: string
          description: The selected time zone of the *User*
        updated_at:
          type: string
          format: date-time
          description: The time the *User* was last updated (as a ISO-8601 timestamp)
x-tagGroups:
- name: Api
  tags:
  - Custom Actions
  - Webhooks
- name: Activities
  tags:
  - Activities
  - Activity Descriptions
  - Activity Rates
  - Expense Categories
  - Timers
  - Utbms Codes
  - Utbms Sets
- name: Accounting
  tags:
  - Bank Accounts
  - Bank Transactions
  - Bank Transfers
- name: Billing
  tags:
  - Bills
  - Billable Clients
  - Billable Matters
  - Bill Themes
  - Interest Charges
  - Line Items
  - Outstanding Client Balances
- name: Calendars
  tags:
  - Calendars
  - Calendar Entries
  - Calendar Entry Event Types
  - Calendar Visibilities
  - Reminders
- name: Clio Payments
  tags:
  - Clio Payments Links
  - Clio Payments Payments
- name: Communications
  tags:
  - Communications
  - Conversations
  - Conversation Messages
- name: Contacts
  tags:
  - Contacts
  - Email Addresses
  - Phone Numbers
  - Notes
  - Log Entries
- name: Court Rules
  tags:
  - Jurisdictions To Triggers
  - Jurisdictions
  - Matter Dockets
  - Service Types
- name: Custom Fields
  tags:
  - Custom Fields
  - Custom Field Sets
- name: Documents
  tags:
  - Documents
  - Document Versions
  - Folders
  - Document Archives
  - Document Automations
  - Document Categories
  - Document Templates
  - Comments
- name: In-app Notifications
  tags:
  - My Events
  - Event Metrics
- name: Matters
  tags:
  - Matters
  - Relationships
  - Clients
  - Related Contacts
  - Matter Contacts
  - Notes
  - Practice Areas
  - Log Entries
  - Matter Stages
  - Medical Records Details
  - Medical Records
  - Medical Bills
  - Damages
- name: Payments
  tags:
  - Allocations
  - Credit Memos
- name: Reporting
  tags:
  - Reports
  - Report Presets
  - Report Schedules
- name: Settings
  tags:
  - Text Snippets
  - Billing Settings
  - Currencies
  - Tax Rate Configurations
- name: Tasks
  tags:
  - Tasks
  - Task Templates
  - Task Template Lists
  - Task Types
- name: Trust
  tags:
  - Trust Line Items
  - Trust Requests
- name: Users
  tags:
  - Users
  - Groups
- name: Legal Aid US
  tags:
  - Grants
  - Grant Funding Sources
- name: Legal Aid England & Wales
  tags:
  - Civil Controlled Rates
  - Civil Certificated Rates
  - Criminal Controlled Rates
  - Expense Categories