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

Lawmatics OAuth API

RESTful OAuth API for managing leads, matters, contacts, intake forms, pipelines, and automated client follow-ups within the Lawmatics legal CRM platform. 177 operations over 95 paths, all under /v1, using a JSON:API-shaped data/attributes/relationships envelope and a shared query grammar for field selection, pagination, sorting and single-field filtering.

This API exposes 177 operations across 95 paths, organized into 27 resource areas. It is described by OpenAPI 3.1.0, at version 1.22.0.

Requests are made against a single base URL, https://api.lawmatics.com.

177 operations 95 paths 0 schemas 27 DELETE90 GET32 POST28 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
1.22.0
Base URL
https://api.lawmatics.com
Authentication
OAuth 2.0, HTTP Bearer
Terms of Service
Resource Areas
27

Authentication & Security 2

Lawmatics OAuth API declares 2 security schemes for authenticating requests. It supports OAuth 2.0 (oauth2) using the authorizationCode flow. It accepts HTTP bearer tokens (bearerAuth). By default, every request must be authenticated.

  • oauth2 — OAuth 2.0 authorization code grant. Register a developer app at https://app.lawmatics.com/settings/developers (developer settings must be enabled by Lawmatics…
  • bearerAuth — The OAuth 2.0 access token is sent as Authorization: Bearer .

Paths & Operations 177

Across 95 paths, the API surfaces 177 operations — 27 DELETE, 90 GET, 32 POST, 28 PUT. They span 27 resource areas, including Addresses, Collections, Contacts, Companies, Custom Emails, Custom Fields, Custom Forms, Email Addresses, and 19 more. Each is listed below with its method, path, parameters, and response codes.

Addresses 5

An Address belongs to a Firm, a Contact, or Company.

GET
/v1/addresses/{address_id}
Address
getAddress 1 param → 200401429
PUT
/v1/addresses/{address_id}
Update Address
updateAddress 1 param body → 200401429
DELETE
/v1/addresses/{address_id}
Delete Address
deleteAddress 1 param → 200401429
GET
/v1/addresses
Addresses
getAddresses → 200401429
POST
/v1/addresses
Create Address
createAddress 1 param body → 201401429
Collections 10
GET
/v1/collections
Collections
getCollections → default401429
POST
/v1/collections
Create Collection
createCollection body → default401429
GET
/v1/collections/{collection_id}
Collection
getCollection 1 param → default401429
PUT
/v1/collections/{collection_id}
Update Collection
updateCollection 1 param body → default401429
DELETE
/v1/collections/{collection_id}
Delete Collection
deleteCollection 1 param → default401429
GET
/v1/collection_items
Collection Items
getCollectionItems → default401429
POST
/v1/collection_items
Create Collection Item
createCollectionItem → default401429
GET
/v1/collection_items/{collection_item_id}
Collection Item
getCollectionItem 1 param → default401429
PUT
/v1/collection_items/{collection_item_id}
Update Collection Item
updateCollectionItem 1 param body → default401429
DELETE
/v1/collection_items/{collection_item_id}
Delete Collection Item
deleteCollectionItem 1 param → default401429
Contacts 13

A Contact can be thought of as a collection of data about a "Person". A Contact record is the base for all Contactables (Matters, Clients, and Companies). Since Contact data refle…

GET
/v1/contacts/find_by_phone/{phone_number}
Find Contact By Phone Number
findContactByPhoneNumber 1 param → 200401429
GET
/v1/contacts/find_by_email/{email_address}
Find Contact By Email Address
findContactByEmailAddress 1 param → 200401429
GET
/v1/contacts/find_by_name/{name}
Find Contact By Name
findContactByName 1 param → 200401429
GET
/v1/custom_contact_types/{custom_contact_type_id}
Custom Contact Type
getCustomContactType 1 param → 200401429
DELETE
/v1/custom_contact_types/{custom_contact_type_id}
Delete Custom Contact Type
deleteCustomContactType 1 param → 200401429
GET
/v1/custom_contact_types
Custom Contact Types
getCustomContactTypes → 200401429
POST
/v1/custom_contact_types
Create Custom Contact Type
createCustomContactType body → 201401429
PUT
/v1/custom_contact_types/{contact_id}
Update Custom Contact Type
updateCustomContactType 1 param body → 200401429
GET
/v1/contacts/{contact_id}
Contact
getContact 1 param → 200401429
PUT
/v1/contacts/{contact_id}
Update Contact
updateContact 1 param body → 200401429
DELETE
/v1/contacts/{contact_id}
Delete Contact
deleteContact 1 param → 200401429
GET
/v1/contacts
Contacts
getContacts → 200401429
POST
/v1/contacts
Create Contact
createContact body → 201401429
Companies 8
GET
/v1/companies/find_by_phone/{phone_number}
Find Company By Phone Number
findCompanyByPhoneNumber 1 param → 200401429
GET
/v1/companies/find_by_email/{email_address}
Find Company By Email Address
findCompanyByEmailAddress 1 param → 200401429
GET
/v1/companies/find_by_name/{name}
Find Company By Name
findCompanyByName 1 param → 200401429
GET
/v1/companies/{company_id}
Company
getCompany 1 param → 200401429
PUT
/v1/companies/{company_id}
Update Company
updateCompany 1 param body → default401429
DELETE
/v1/companies/{company_id}
Delete Company
deleteCompany 1 param → 200401429
GET
/v1/companies
Companies
getCompanies → default401429
POST
/v1/companies
Create Company
createCompany 1 param body → default401429
Custom Emails 2
GET
/v1/custom_emails/{custom_email_id}
Custom Email
getCustomEmail 1 param → default401429
GET
/v1/custom_emails
Custom Emails
getCustomEmails → default401429
Custom Fields 5
GET
/v1/custom_fields/{custom_field_id}
Custom Field
getCustomField 1 param → 200401429
PUT
/v1/custom_fields/{custom_field_id}
Update Custom Field
updateCustomField 1 param body → 200401429
DELETE
/v1/custom_fields/{custom_field_id}
Delete Custom Field
deleteCustomField 1 param → 200401429
GET
/v1/custom_fields
Custom Fields
getCustomFields 1 param → 200401429
POST
/v1/custom_fields
Create Custom Field
createCustomField body → 201401429
Custom Forms 4

NOTE: Field IDs for fields that are not considered "Standard", such as General fields, and Custom fields, are referred to by special long-form uuids that are enumerated on the API…

GET
/v1/forms/{custom_form_uuid}
Custom Form
getCustomForm 2 params → 200429
GET
/v1/forms
Custom Forms
getCustomForms → 200401429
GET
/v1/forms/{custom_form_uuid}/entries
Custom Form Entries
getCustomFormEntries 1 param → 200401429
POST
/v1/forms/{custom_form_uuid}/submit
Submit Custom Form Entry (Form Data Body)
submitCustomFormEntryFormDataBody 1 param body → 201429
Email Addresses 5

A Email Address is contact information that belongs to a Firm, Contact, or Company.

GET
/v1/email_addresses/{email_address_id}
Email Address
getEmailAddress 1 param → 200401429
PUT
/v1/email_addresses/{email_address_id}
Update Email Address
updateEmailAddress 1 param → 200401429
DELETE
/v1/email_addresses/{email_address_id}
Delete Email Address
deleteEmailAddress 1 param → 200401429
GET
/v1/email_addresses
Email Addresses
getEmailAddresses → 200401429
POST
/v1/email_addresses
Create Email Address
createEmailAddress → 201401429
Email Campaigns 2
GET
/v1/email_campaigns/{id}
Email Campaign
getEmailCampaign 1 param → default401429
GET
/v1/email_campaigns
Email Campaigns
getEmailCampaigns → default401429
Email Campaign Stats 1
GET
/v1/email_campaign_stats/{id}
Email Campaign Stats
getEmailCampaignStats 1 param → default401429
Events (Appointments) 5

Events are also referred to in the app as "Appointments"

GET
/v1/events/{event_id}
Event
getEvent 1 param → 200401429
PUT
/v1/events/{event_id}
Update Event
updateEvent 1 param → 200401429
DELETE
/v1/events/{event_id}
Cancel Event
cancelEvent 2 params → 200401429
GET
/v1/events
Events
getEvents → 200401429
POST
/v1/events
Create Event
createEvent → 201401429
Event Locations 1

These are Firm related Locations (for events) that can be configured in Firm settings.

GET
/v1/locations
Locations
getLocations → 200401429
Event Types 5

Event Types define Event defaults, and can trigger automations, for common types of Events created in Lawmatics. Configuring Calendar Availability defaults is not currently suppor…

GET
/v1/event_types/{event_type_id}
Event Type
getEventType 1 param → 200401429
PUT
/v1/event_types/{event_type_id}
Update Event Type
updateEventType 1 param body → 200401429
DELETE
/v1/event_types/{event_type_id}
Delete Event Type
deleteEventType 1 param → 200401429
GET
/v1/event_types
Event Types
getEventTypes → 200401429
POST
/v1/event_types
Create Event Type
createEventType body → 201401429
Files 6
GET
/v1/files/{file_id}
File
getFile 1 param → default401429
PUT
/v1/files/{file_id}
Update File Metadata
updateFileMetadata 1 param body → 200401429
DELETE
/v1/files/{file_id}
Delete File
deleteFile 1 param → 200401429
GET
/v1/files
Files
getFiles → 200default401429
POST
/v1/files
Upload File
uploadFile body → 201401429
GET
/v1/files/download/{id}
Download File
downloadFile 1 param → 200404401429
Folders 5
GET
/v1/folders/{folder_id}
Folder
getFolder 1 param → default401429
PUT
/v1/folders/{folder_id}
Update Folder
updateFolder 1 param body → 200401429
DELETE
/v1/folders/{folder_id}
Delete Folder
deleteFolder 1 param → 200401429
GET
/v1/folders
Folders
getFolders → 200401429
POST
/v1/folders
Create Folder
createFolder body → 201default401429
Matters (Prospects) 40

A Matter is a legal case, and the primary object in Lawmatics. NOTE: You may see Matters referenced as "Prospects" or "PNCs". This is for legacy reasons, and we are working to mig…

GET
/v1/prospects/find_by_phone/{phone_number}
Find Matter By Phone Number
findMatterByPhoneNumber 1 param → 200401429
GET
/v1/prospects/find_by_email/{email_address}
Find Matter By Email Address
findMatterByEmailAddress 1 param → 200401429
GET
/v1/prospects/find_by_name/{name}
Find Matter By Name
findMatterByName 1 param → 200401429
GET
/v1/interactions/{interaction_id}
Interaction
getInteraction 1 param → 200401429
PUT
/v1/interactions/{interaction_id}
Update Interaction
updateInteraction 1 param body → 200401429
DELETE
/v1/interactions/{interaction_id}
Delete Interaction
deleteInteraction 1 param → 200401429
GET
/v1/interactions
Interactions
getInteractions → 200401429
POST
/v1/interactions
Create Interaction
createInteraction → 201401429
GET
/v1/campaigns/{campaign_id}
Campaign
getCampaign 1 param → 200401429
GET
/v1/campaigns
Campaigns
getCampaigns → 200401429
GET
/v1/sources/{source_id}
Source
getSource 1 param → 200401429
GET
/v1/sources
Sources
getSources → 200401429
GET
/v1/pipelines/{pipeline_id}
Pipeline
getPipeline 1 param → 200401429
GET
/v1/pipelines
Pipelines
getPipelines → 200401429
GET
/v1/stages/{stage_id}
Stage
getStage 1 param → 200401429
GET
/v1/stages
Stages
getStages → 200401429
GET
/v1/practice_areas/{practice_area_id}
Practice Area
getPracticeArea 1 param → 200401429
PUT
/v1/practice_areas/{practice_area_id}
Update Practice Area
updatePracticeArea 1 param body → 201401429
DELETE
/v1/practice_areas/{practice_area_id}
Delete Practice Area
deletePracticeArea 1 param → 201401429
GET
/v1/practice_areas
Practice Areas
getPracticeAreas → 200401429
POST
/v1/practice_areas
Create Practice Area
createPracticeArea body → 201401429
GET
/v1/relationships/{relationship_id}
Relationship
getRelationship 1 param → 200401429
PUT
/v1/relationships/{relationship_id}
Update Relationship
updateRelationship 1 param body → 201401429
DELETE
/v1/relationships/{relationship_id}
Delete Relationship
deleteRelationship 1 param → 204401429
GET
/v1/relationships
Relationships
getRelationships → 200401429
POST
/v1/relationships
Create Relationship
createRelationship body → 201401429
GET
/v1/relationship_types/{relationship_type_id}
Relationship Type
getRelationshipType 1 param → 200401429
PUT
/v1/relationship_types/{relationship_type_id}
Update Relationship Type
updateRelationshipType 1 param body → 200401429
GET
/v1/relationship_types
Relationship Types
getRelationshipTypes → 200401429
POST
/v1/relationship_types
Create Relationship Type
createRelationshipType body → 201401429
GET
/v1/sub_statuses/{status_id}
Sub Status
getSubStatus 1 param → 200401429
GET
/v1/sub_statuses
Sub Statuses
getSubStatuses → 200401429
POST
/v1/sub_statuses
Create Sub Status
createSubStatus body → 201401429
PUT
/v1/sub_statuses/{sub_status_id}
Update Sub Status
updateSubStatus 1 param body → 200401429
DELETE
/v1/sub_statuses/{sub_status_id}
Delete Sub Status
deleteSubStatus 1 param → 200401429
POST
/v1/prospects
Create Matter
createMatter → 201401429
GET
/v1/prospects
Matters
getMatters 6 params → 200401429
GET
/v1/prospects/{prospect_id}
Matter
getMatter 2 params → 200401429
PUT
/v1/prospects/{prospect_id}
Update Matter
updateMatter 1 param body → 200401429
DELETE
/v1/prospects/{prospect_id}
Delete Matter
deleteMatter 1 param → 200401429
Notes 5
GET
/v1/notes/{note_id}
Note
getNote 1 param → 200401429
PUT
/v1/notes/{note_id}
Update Note
updateNote 1 param body → 200401429
DELETE
/v1/notes/{note_id}
Delete Note
deleteNote 1 param → 200401429
GET
/v1/notes
Notes
getNotes → 200401429
POST
/v1/notes
Create Note
createNote → 201401429
Payment Invoices 2
GET
/v1/invoices/{invoice_id}
Invoice
getInvoice 1 param → 200401429
GET
/v1/invoices
Invoices
getInvoices → 200401429
Payment Expenses 5
GET
/v1/expenses
Expenses
getExpenses 1 param → 200401429
POST
/v1/expenses
Create Expense
createExpense body → 200401429
GET
/v1/expenses/{expense_id}
Expense
getExpense 1 param → 200401429
PUT
/v1/expenses/{expense_id}
Update Expense
updateExpense 1 param body → 200401429
DELETE
/v1/expenses/{expense_id}
Expense
deleteExpense 1 param → 200401429
Payment Time Entries 5
GET
/v1/time_entries
Time Entries
getTimeEntries 1 param → 200401429
POST
/v1/time_entries
Create Time Entry
createTimeEntry body → 200201401429
GET
/v1/time_entries/{time_entry_id}
Time Entry
getTimeEntry 1 param → 200401429
PUT
/v1/time_entries/{time_entry_id}
Update Time Entry
updateTimeEntry 1 param body → 200401429
DELETE
/v1/time_entries/{time_entry_id}
Time Entry
deleteTimeEntry 1 param → 200401429
Payment Transactions 3
GET
/v1/transactions/{transaction_id}
Transaction
getTransaction 1 param → 200401429
GET
/v1/transactions
Transactions
getTransactions 1 param → 200401429
POST
/v1/transactions
Create Transaction
createTransaction 1 param → 200401429
Phone Numbers 5

A Phone Number is contact information that belongs to a Firm, Contact, or Company.

GET
/v1/phone_numbers/{phone_number_id}
Phone Number
getPhoneNumber 1 param → 200401429
PUT
/v1/phone_numbers/{phone_number_id}
Update Phone Number
updatePhoneNumber 1 param → 200401429
DELETE
/v1/phone_numbers/{phone_number_id}
Delete Phone Number
deletePhoneNumber 1 param → 200401429
GET
/v1/phone_numbers
Phone Numbers
getPhoneNumbers → 200401429
POST
/v1/phone_numbers
Create Phone Number
createPhoneNumber body → 201401429
Tags 7
GET
/v1/tags/{tag_id}
Tag
getTag 1 param → 200401429
PUT
/v1/tags/{tag_id}
Update Tag
updateTag 1 param body → 201401429
DELETE
/v1/tags/{tag_id}
Delete Tag
deleteTag 1 param → 201401429
GET
/v1/tags
Tags
getTags → 200401429
POST
/v1/tags
Create Tag
createTag body → 201401429
POST
/v1/tags/attach
Attach Tag
attachTag → default401429
POST
/v1/tags/detach
Detach Tag
detachTag → default401429
Tasks 15
GET
/v1/tasks/{task_id}
Task
getTask 1 param → 200401429
PUT
/v1/tasks/{task_id}
Update Task
updateTask 2 params → 201401429
DELETE
/v1/tasks/{task_id}
Delete Task
deleteTask 1 param → 201401429
GET
/v1/tasks
Tasks
getTasks → 200401429
POST
/v1/tasks
Create Task
createTask → 201401429
GET
/v1/tasks/{task_id}/subtasks/{subtask_id}
Subtask
getSubtask 2 params → default401429
PUT
/v1/tasks/{task_id}/subtasks/{subtask_id}
Update Subtask
updateSubtask 2 params body → default401429
DELETE
/v1/tasks/{task_id}/subtasks/{subtask_id}
Delete Subtask
deleteSubtask 2 params → default401429
GET
/v1/tasks/{task_id}/subtasks
Subtasks
getSubtasks 1 param → default401429
POST
/v1/tasks/{task_id}/subtasks
Create Subtask
createSubtask 1 param body → default401429
GET
/v1/tasks/{task_id}/comments/{comment_id}
Comment
getComment 2 params → default401429
PUT
/v1/tasks/{task_id}/comments/{comment_id}
Update Comment
updateComment 2 params → default401429
DELETE
/v1/tasks/{task_id}/comments/{comment_id}
Delete Comment
deleteComment 2 params → default401429
GET
/v1/tasks/{task_id}/comments
Comments
getComments 1 param → default401429
POST
/v1/tasks/{task_id}/comments
Create Comment
createComment 1 param → default401429
Task Statuses 5
GET
/v1/task_statuses/{task_status_id}
Task Status
getTaskStatus 1 param → default401429
PUT
/v1/task_statuses/{task_status_id}
Update Task Status
updateTaskStatus 1 param body → default401429
DELETE
/v1/task_statuses/{task_status_id}
Delete Task Status
deleteTaskStatus 1 param → default401429
GET
/v1/task_statuses
Task Statuses
getTaskStatuses → default401429
POST
/v1/task_statuses
Create Task Status
createTaskStatus body → default401429
Timeline Activities 2
GET
/v1/activities/{activity_id}
Activity
getActivity 1 param → 200401429
GET
/v1/activities
Activities
getActivities 2 params → 200422401429
Users 6
GET
/v1/users/{user_id}
User
getUser 1 param → 200401429
PUT
/v1/users/{user_id}
Update User
updateUser 1 param body → default401429
DELETE
/v1/users/{user_id}
Delete User
deleteUser 1 param → 200401429
GET
/v1/users
Users
getUsers → 200401429
POST
/v1/users
Create User
createUser body → default401429
GET
/v1/users/me
Me
getMe → 200401429

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

lawmatics-openapi.yml Raw ↑
Where this information came from

This is an independent, third-party profile of Lawmatics OAuth 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.