openapi: 3.2.0 info: title: Lawmatics OAuth Addresses API version: 1.22.0 description: 'The official Lawmatics REST API for legal CRM, client intake and law firm automation. Manage matters (prospects), contacts, companies, custom forms and form entries, custom fields, events and appointments, tasks, notes, files, tags, users, time entries, expenses, invoices and transactions. Authentication is OAuth 2.0 authorization code grant; access tokens do not expire, there are no refresh tokens, and Lawmatics does not currently support scopes - an authorized app receives full CRUD access to the granted account. All list endpoints support the shared query-parameter grammar documented in the Param Guide: `fields` (field selection, one level deep, `fields=all` to expand), `page` (pagination), `sort_by`/`sort_order`, and `filter_by`/`filter_on`/`filter_with` (one filter at a time; operators `=`, `!=`, `<=`, `<`, `>=`, `>`, `like`, `ilike`, `null`, `not_null`). Responses follow a JSON:API-style `data` / `attributes` / `relationships` envelope.' contact: name: Lawmatics API Support email: api@lawmatics.com url: https://docs.lawmatics.com/ termsOfService: https://www.lawmatics.com/terms-of-use servers: - url: https://api.lawmatics.com description: Lawmatics production API security: - oauth2: [] - bearerAuth: [] tags: - name: Addresses description: An Address belongs to a Firm, a Contact, or Company. paths: /v1/addresses/{address_id}: get: operationId: getAddress summary: Address description: A specific Stage by id tags: - Addresses parameters: - name: address_id in: path required: true description: The address id schema: type: string responses: '200': description: OK content: application/json: schema: type: object examples: getAddress: summary: GET Address value: data: id: '101' type: address attributes: label: Miami St street: 1234 Miami street2: null city: Miami state: FL zipcode: '12345' country: United States relationships: {} '401': description: Unauthorized - missing or invalid OAuth 2.0 bearer token '429': description: Too Many Requests - the per-firm rate limit was exceeded; a Retry-After header is returned headers: Retry-After: description: Seconds to wait before retrying schema: type: integer put: operationId: updateAddress summary: Update Address description: Updates an Address by ID tags: - Addresses parameters: - name: address_id in: path required: true description: The address id schema: type: string requestBody: required: true content: application/json: schema: type: object example: label: Home street: 5555 Real Street street2: Apt 77 city: Real Town state: CA country: United States responses: '200': description: OK content: application/json: schema: type: object examples: putUpdateAddress: summary: PUT Update Address value: data: id: '122' type: address attributes: label: Home street: 5555 Real Street street2: Apt 77 city: Real Town state: CA zipcode: '92104' country: United States relationships: addressable: data: id: '1' type: contact '401': description: Unauthorized - missing or invalid OAuth 2.0 bearer token '429': description: Too Many Requests - the per-firm rate limit was exceeded; a Retry-After header is returned headers: Retry-After: description: Seconds to wait before retrying schema: type: integer delete: operationId: deleteAddress summary: Delete Address description: 'Delete an Address address_id: ID of the Address to delete' tags: - Addresses parameters: - name: address_id in: path required: true description: The address id schema: type: string responses: '200': description: OK content: application/json: schema: type: object examples: deleteDeleteAddress: summary: DELETE Delete Address value: data: id: '122' type: address attributes: label: Home street: 5555 Real Street street2: Apt 77 city: Real Town state: CA zipcode: '92104' country: United States relationships: addressable: data: id: '1' type: contact '401': description: Unauthorized - missing or invalid OAuth 2.0 bearer token '429': description: Too Many Requests - the per-firm rate limit was exceeded; a Retry-After header is returned headers: Retry-After: description: Seconds to wait before retrying schema: type: integer /v1/addresses: get: operationId: getAddresses summary: Addresses description: A paginated list of all Addresses in Lawmatics tags: - Addresses responses: '200': description: OK content: application/json: schema: type: object examples: getAddresses: summary: GET Addresses value: data: - id: '105' type: address attributes: label: Primary street: 1234 Fake Street street2: null city: null state: null zipcode: null country: null full_address: 1234 Fake Street full_street: 1234 Fake Street second_half: '' city_state_zip: '' created_at: '2022-03-29T22:03:55.343-07:00' updated_at: '2022-03-29T22:03:55.343-07:00' relationships: addressable: data: id: '127' type: contact locations: data: [] - id: '104' type: address attributes: label: test street: '' street2: null city: null state: null zipcode: null country: null full_address: '' full_street: '' second_half: '' city_state_zip: '' created_at: '2022-02-09T13:56:33.557-08:00' updated_at: '2022-02-09T13:56:33.557-08:00' relationships: addressable: data: id: '116' type: contact locations: data: [] - id: '103' type: address attributes: label: Primary street: '123' street2: null city: null state: null zipcode: null country: null full_address: '123' full_street: '123' second_half: '' city_state_zip: '' created_at: '2022-02-09T13:56:33.548-08:00' updated_at: '2022-02-09T13:56:33.548-08:00' relationships: addressable: data: id: '116' type: contact locations: data: [] - id: '102' type: address attributes: label: Primary street: 1234 fake street street2: suite 2 city: San Diego state: CA zipcode: '92104' country: United States full_address: 1234 fake street, suite 2, San Diego, CA 92104, United States full_street: 1234 fake street, suite 2 second_half: San Diego, CA 92104, United States city_state_zip: San Diego, CA 92104 created_at: '2021-11-08T14:06:20.224-08:00' updated_at: '2021-11-08T14:06:20.224-08:00' relationships: addressable: data: id: '2' type: firm locations: data: [] - id: '101' type: address attributes: label: Miami St street: 1234 Miami street2: null city: Miami state: FL zipcode: '12345' country: United States full_address: 1234 Miami, Miami, FL 12345, United States full_street: 1234 Miami second_half: Miami, FL 12345, United States city_state_zip: Miami, FL 12345 created_at: '2021-10-31T19:59:35.424-07:00' updated_at: '2021-10-31T19:59:35.424-07:00' relationships: addressable: data: id: '2' type: firm locations: data: - id: '1' type: location - id: '100' type: address attributes: label: Primary street: 99 Fake Rd street2: null city: City 1 state: CA zipcode: '90219' country: United States full_address: 99 Fake Rd, City 1, CA 90219, United States full_street: 99 Fake Rd second_half: City 1, CA 90219, United States city_state_zip: City 1, CA 90219 created_at: '2021-10-26T15:47:48.382-07:00' updated_at: '2021-10-26T15:47:48.382-07:00' relationships: addressable: data: id: '100' type: contact locations: data: [] - id: '99' type: address attributes: label: Primary street: 98 Fake Rd street2: null city: City 3 state: IL zipcode: '55126' country: United States full_address: 98 Fake Rd, City 3, IL 55126, United States full_street: 98 Fake Rd second_half: City 3, IL 55126, United States city_state_zip: City 3, IL 55126 created_at: '2021-10-26T15:47:48.119-07:00' updated_at: '2021-10-26T15:47:48.119-07:00' relationships: addressable: data: id: '99' type: contact locations: data: [] - id: '98' type: address attributes: label: Primary street: 97 Fake Rd street2: null city: City 2 state: IL zipcode: '60633' country: United States full_address: 97 Fake Rd, City 2, IL 60633, United States full_street: 97 Fake Rd second_half: City 2, IL 60633, United States city_state_zip: City 2, IL 60633 created_at: '2021-10-26T15:47:47.890-07:00' updated_at: '2021-10-26T15:47:47.890-07:00' relationships: addressable: data: id: '98' type: contact locations: data: [] - id: '97' type: address attributes: label: Primary street: 96 Fake Rd street2: null city: City 2 state: IL zipcode: '60633' country: United States full_address: 96 Fake Rd, City 2, IL 60633, United States full_street: 96 Fake Rd second_half: City 2, IL 60633, United States city_state_zip: City 2, IL 60633 created_at: '2021-10-26T15:47:47.639-07:00' updated_at: '2021-10-26T15:47:47.639-07:00' relationships: addressable: data: id: '97' type: contact locations: data: [] - id: '96' type: address attributes: label: Primary street: 95 Fake Rd street2: null city: City 3 state: CA zipcode: '55126' country: United States full_address: 95 Fake Rd, City 3, CA 55126, United States full_street: 95 Fake Rd second_half: City 3, CA 55126, United States city_state_zip: City 3, CA 55126 created_at: '2021-10-26T15:47:46.875-07:00' updated_at: '2021-10-26T15:47:46.875-07:00' relationships: addressable: data: id: '96' type: contact locations: data: [] - id: '95' type: address attributes: label: Primary street: 94 Fake Rd street2: null city: City 3 state: CA zipcode: '90219' country: United States full_address: 94 Fake Rd, City 3, CA 90219, United States full_street: 94 Fake Rd second_half: City 3, CA 90219, United States city_state_zip: City 3, CA 90219 created_at: '2021-10-26T15:47:46.595-07:00' updated_at: '2021-10-26T15:47:46.595-07:00' relationships: addressable: data: id: '95' type: contact locations: data: [] - id: '94' type: address attributes: label: Primary street: 93 Fake Rd street2: null city: City 3 state: CA zipcode: '55126' country: United States full_address: 93 Fake Rd, City 3, CA 55126, United States full_street: 93 Fake Rd second_half: City 3, CA 55126, United States city_state_zip: City 3, CA 55126 created_at: '2021-10-26T15:47:46.277-07:00' updated_at: '2021-10-26T15:47:46.277-07:00' relationships: addressable: data: id: '94' type: contact locations: data: [] - id: '93' type: address attributes: label: Primary street: 92 Fake Rd street2: null city: City 1 state: MN zipcode: '60633' country: United States full_address: 92 Fake Rd, City 1, MN 60633, United States full_street: 92 Fake Rd second_half: City 1, MN 60633, United States city_state_zip: City 1, MN 60633 created_at: '2021-10-26T15:47:45.923-07:00' updated_at: '2021-10-26T15:47:45.923-07:00' relationships: addressable: data: id: '93' type: contact locations: data: [] - id: '92' type: address attributes: label: Primary street: 91 Fake Rd street2: null city: City 1 state: MN zipcode: '60633' country: United States full_address: 91 Fake Rd, City 1, MN 60633, United States full_street: 91 Fake Rd second_half: City 1, MN 60633, United States city_state_zip: City 1, MN 60633 created_at: '2021-10-26T15:47:45.619-07:00' updated_at: '2021-10-26T15:47:45.619-07:00' relationships: addressable: data: id: '92' type: contact locations: data: [] - id: '91' type: address attributes: label: Primary street: 90 Fake Rd street2: null city: City 1 state: CA zipcode: '60633' country: United States full_address: 90 Fake Rd, City 1, CA 60633, United States full_street: 90 Fake Rd second_half: City 1, CA 60633, United States city_state_zip: City 1, CA 60633 created_at: '2021-10-26T15:47:44.989-07:00' updated_at: '2021-10-26T15:47:44.989-07:00' relationships: addressable: data: id: '91' type: contact locations: data: [] - id: '90' type: address attributes: label: Primary street: 89 Fake Rd street2: null city: City 1 state: MN zipcode: '60633' country: United States full_address: 89 Fake Rd, City 1, MN 60633, United States full_street: 89 Fake Rd second_half: City 1, MN 60633, United States city_state_zip: City 1, MN 60633 created_at: '2021-10-26T15:47:44.732-07:00' updated_at: '2021-10-26T15:47:44.732-07:00' relationships: addressable: data: id: '90' type: contact locations: data: [] - id: '89' type: address attributes: label: Primary street: 88 Fake Rd street2: null city: City 1 state: MN zipcode: '90219' country: United States full_address: 88 Fake Rd, City 1, MN 90219, United States full_street: 88 Fake Rd second_half: City 1, MN 90219, United States city_state_zip: City 1, MN 90219 created_at: '2021-10-26T15:47:44.432-07:00' updated_at: '2021-10-26T15:47:44.432-07:00' relationships: addressable: data: id: '89' type: contact locations: data: [] - id: '88' type: address attributes: label: Primary street: 87 Fake Rd street2: null city: City 1 state: MN zipcode: '55126' country: United States full_address: 87 Fake Rd, City 1, MN 55126, United States full_street: 87 Fake Rd second_half: City 1, MN 55126, United States city_state_zip: City 1, MN 55126 created_at: '2021-10-26T15:47:44.158-07:00' updated_at: '2021-10-26T15:47:44.158-07:00' relationships: addressable: data: id: '88' type: contact locations: data: [] - id: '87' type: address attributes: label: Primary street: 86 Fake Rd street2: null city: City 3 state: MN zipcode: '60633' country: United States full_address: 86 Fake Rd, City 3, MN 60633, United States full_street: 86 Fake Rd second_half: City 3, MN 60633, United States city_state_zip: City 3, MN 60633 created_at: '2021-10-26T15:47:43.410-07:00' updated_at: '2021-10-26T15:47:43.410-07:00' relationships: addressable: data: id: '87' type: contact locations: data: [] - id: '86' type: address attributes: label: Primary street: 85 Fake Rd street2: null city: City 1 state: MN zipcode: '90219' country: United States full_address: 85 Fake Rd, City 1, MN 90219, United States full_street: 85 Fake Rd second_half: City 1, MN 90219, United States city_state_zip: City 1, MN 90219 created_at: '2021-10-26T15:47:43.068-07:00' updated_at: '2021-10-26T15:47:43.068-07:00' relationships: addressable: data: id: '86' type: contact locations: data: [] - id: '85' type: address attributes: label: Primary street: 84 Fake Rd street2: null city: City 3 state: IL zipcode: '55126' country: United States full_address: 84 Fake Rd, City 3, IL 55126, United States full_street: 84 Fake Rd second_half: City 3, IL 55126, United States city_state_zip: City 3, IL 55126 created_at: '2021-10-26T15:47:42.519-07:00' updated_at: '2021-10-26T15:47:42.519-07:00' relationships: addressable: data: id: '85' type: contact locations: data: [] - id: '84' type: address attributes: label: Primary street: 83 Fake Rd street2: null city: City 3 state: CA zipcode: '90219' country: United States full_address: 83 Fake Rd, City 3, CA 90219, United States full_street: 83 Fake Rd second_half: City 3, CA 90219, United States city_state_zip: City 3, CA 90219 created_at: '2021-10-26T15:47:42.294-07:00' updated_at: '2021-10-26T15:47:42.294-07:00' relationships: addressable: data: id: '84' type: contact locations: data: [] - id: '83' type: address attributes: label: Primary street: 82 Fake Rd street2: null city: City 3 state: MN zipcode: '55126' country: United States full_address: 82 Fake Rd, City 3, MN 55126, United States full_street: 82 Fake Rd second_half: City 3, MN 55126, United States city_state_zip: City 3, MN 55126 created_at: '2021-10-26T15:47:42.069-07:00' updated_at: '2021-10-26T15:47:42.069-07:00' relationships: addressable: data: id: '83' type: contact locations: data: [] - id: '82' type: address attributes: label: Primary street: 81 Fake Rd street2: null city: City 3 state: CA zipcode: '60633' country: United States full_address: 81 Fake Rd, City 3, CA 60633, United States full_street: 81 Fake Rd second_half: City 3, CA 60633, United States city_state_zip: City 3, CA 60633 created_at: '2021-10-26T15:47:41.832-07:00' updated_at: '2021-10-26T15:47:41.832-07:00' relationships: addressable: data: id: '82' type: contact locations: data: [] - id: '81' type: address attributes: label: Primary street: 80 Fake Rd street2: null city: City 3 state: CA zipcode: '60633' country: United States full_address: 80 Fake Rd, City 3, CA 60633, United States full_street: 80 Fake Rd second_half: City 3, CA 60633, United States city_state_zip: City 3, CA 60633 created_at: '2021-10-26T15:47:41.082-07:00' updated_at: '2021-10-26T15:47:41.082-07:00' relationships: addressable: data: id: '81' type: contact locations: data: [] meta: total_pages: 5 limit_per_page: 25 total_entries: 105 links: self: /v1/addresses?page=1 next: /v1/addresses?page=2 '401': description: Unauthorized - missing or invalid OAuth 2.0 bearer token '429': description: Too Many Requests - the per-firm rate limit was exceeded; a Retry-After header is returned headers: Retry-After: description: Seconds to wait before retrying schema: type: integer post: operationId: createAddress summary: Create Address description: 'Create a new Address Required Fields: addressable, label, street addressable_type: Prospect, Contact, Company, or Firm that the Address belongs to. addressable_id: Id of Record. Firm type doesn''t need an ID passed and it will be ignored. Note - Setting the Address through a Prospect (Matter) will set the address on the Prospects'' Contact/Company.' tags: - Addresses parameters: - name: fields in: query required: false schema: type: string example: all requestBody: required: true content: application/json: schema: type: object example: label: Home street: 1234 Fake Street street2: Apt 1 city: Fake Town state: CA zipcode: '92104' addressable_type: Firm responses: '201': description: Created content: application/json: schema: type: object examples: postCreateAddress: summary: POST Create Address value: data: id: '122' type: address attributes: label: Primary street: 1234 Fake Street street2: Apt 1 city: Fake Town state: CA zipcode: '92104' country: null full_address: 1234 Fake Street, Apt 1, Fake Town, CA 92104 full_street: 1234 Fake Street, Apt 1 second_half: Fake Town, CA 92104 city_state_zip: Fake Town, CA 92104 created_at: '2022-06-25T18:22:46.177-07:00' updated_at: '2022-06-25T18:22:46.177-07:00' relationships: addressable: data: id: '1' type: contact locations: data: [] '401': description: Unauthorized - missing or invalid OAuth 2.0 bearer token '429': description: Too Many Requests - the per-firm rate limit was exceeded; a Retry-After header is returned headers: Retry-After: description: Seconds to wait before retrying schema: type: integer components: securitySchemes: oauth2: type: oauth2 description: OAuth 2.0 authorization code grant. Register a developer app at https://app.lawmatics.com/settings/developers (developer settings must be enabled by Lawmatics support). Access tokens are non-expiring; no refresh tokens are issued and scopes are not supported. flows: authorizationCode: authorizationUrl: https://app.lawmatics.com/oauth/authorize tokenUrl: https://api.lawmatics.com/oauth/token scopes: {} bearerAuth: type: http scheme: bearer description: 'The OAuth 2.0 access token is sent as `Authorization: Bearer `.' externalDocs: description: Official Lawmatics RESTful API documentation (Postman) url: https://docs.lawmatics.com/ x-provenance: generated: '2026-08-13' method: derived publisher: API Evangelist source: https://docs.lawmatics.com/api/collections/26379991/2sA3JM7gbw?segregateAuth=true&versionTag=latest source_type: Postman collection published by Lawmatics as its official API documentation source_file: postman/lawmatics-oauth-api.postman_collection.json note: 'NOT published by Lawmatics. Lawmatics publishes no OpenAPI. Every path, method, parameter, request example and response example in this document was converted mechanically from the provider-published Postman collection "Lawmatics OAuth API v1.22.0"; nothing was invented. Schemas are typed as generic objects because the collection carries examples, not JSON Schema. The server URL is the base documented in the collection Param Guide (https://api.lawmatics.com), not the collection''s disabled {{host}} placeholder. The 401 and 429 responses added to every authenticated operation are the provider-documented, globally applicable responses: the collection''s auth guide states a per-firm rate limit applies to all endpoints and returns 429 with a Retry-After header, and https://api.lawmatics.com/v1/contacts was observed returning 401 unauthenticated on 2026-08-13.'