Lex Machina Law Firms API

Law firm data.

OpenAPI Specification

lex-machina-law-firms-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Lex Machina Alerts Law Firms API
  version: '20260324'
  description: Alerts.
servers:
- url: https://api.lexmachina.com
  description: Lex Machina production API
tags:
- name: Law Firms
  description: Law firm data.
paths:
  /law-firms/{law_firm_id}:
    get:
      tags:
      - Law Firms
      summary: Get Law Firm
      description: 'Gets data for a single law firm.


        - **law_firm_id**: the Lex Machina lawFirmID'
      operationId: get_law_firm
      security:
      - JwtAccessBearer: []
      parameters:
      - name: law_firm_id
        in: path
        required: true
        schema:
          type: integer
          title: Law Firm Id
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/LawFirmData'
                - $ref: '#/components/schemas/LawFirmReference'
                title: Response Get Law Firm Law Firms  Law Firm Id  Get
              examples:
                Single Lawfirm:
                  summary: Single Lawfirm
                  value:
                    name: Department of Justice
                    lawFirmId: 604
        '404':
          description: Not found
          content:
            application/json:
              examples:
                Lawfirm not found:
                  summary: Lawfirm not found
                  value:
                    detail: No law firm matching provided law firm ID was found
        '422':
          description: Error - 422
          content:
            application/json:
              examples:
                Invalid Input:
                  summary: Invalid Input
                  value:
                    detail:
                    - type: int_parsing
                      loc:
                      - path
                      - law_firm_id
                      msg: Input should be a valid integer, unable to parse string as an integer
                      input: string
                Validation error:
                  summary: Validation error
                  value:
                    summary: Invalid input
                    detail:
                    - type: parsing
                      loc:
                      - path
                      - query
                      - body
                      msg: invalid input
                      input: '-1'
        '401':
          description: Invalid or expired token
          content:
            application/json:
              examples:
                Expired token:
                  summary: Expired token
                  value:
                    detail: 'Token time expired: Signature has expired.'
                Invalid token:
                  summary: Invalid token
                  value:
                    detail: Invalid token
  /law-firms:
    get:
      tags:
      - Law Firms
      summary: Get Law Firms
      description: 'Gets data for one or more law firms.


        - **lawFirmIds**: the Lex Machina lawFirmIds


        If any of the the lawFirmIds given are not the current lexmachina lawFirmId, the results will include inputId for disambugation'
      operationId: get_law_firms
      security:
      - JwtAccessBearer: []
      parameters:
      - name: lawFirmIds
        in: query
        required: true
        schema:
          type: array
          uniqueItems: true
          items:
            type: integer
          minItems: 1
          maxItems: 500
          title: Lawfirmids
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  anyOf:
                  - $ref: '#/components/schemas/LawFirmData'
                  - $ref: '#/components/schemas/LawFirmReference'
                title: Response Get Law Firms Law Firms Get
              examples:
                Successful Resolve:
                  summary: Successful Resolve
                  value:
                  - name: Department of Transportation
                    lawFirmId: 445928
                  - name: United States Department of Health & Human Services
                    lawFirmId: 382718
        '404':
          description: Not found
          content:
            application/json:
              examples:
                Law firms not found:
                  summary: Law firms not found
                  value:
                    detail: No law firms matching provided law firm IDs were found
        '401':
          description: Invalid or expired token
          content:
            application/json:
              examples:
                Expired token:
                  summary: Expired token
                  value:
                    detail: 'Token time expired: Signature has expired.'
                Invalid token:
                  summary: Invalid token
                  value:
                    detail: Invalid token
        '422':
          description: Error - 422
          content:
            application/json:
              examples:
                Validation error:
                  summary: Validation error
                  value:
                    summary: Invalid input
                    detail:
                    - type: parsing
                      loc:
                      - path
                      - query
                      - body
                      msg: invalid input
                      input: '-1'
  /search-law-firms:
    get:
      tags:
      - Law Firms
      summary: Seach Law Firms
      description: 'Searches for law firms.


        - **q**: the query string

        - **page_number**: page number of the results

        - **page_size**:  results per page


        This is a case-insensitive search that will match anywhere within the name of the firm.


        The results will have page and totalCount fields as well as a convenience link via the field nextPage.'
      operationId: seach_law_firms
      security:
      - JwtAccessBearer: []
      parameters:
      - name: q
        in: query
        required: true
        schema:
          type: string
          title: Q
      - name: pageNumber
        in: query
        required: false
        schema:
          type: integer
          default: 1
          title: Pagenumber
      - name: pageSize
        in: query
        required: false
        schema:
          type: integer
          default: 1
          title: Pagesize
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LawFirmSearchResult'
              examples:
                Search Law Firms By Name:
                  summary: Search Law Firms By Name
                  value:
                    totalCount: 4
                    page: 1
                    nextPage: https://api.lexmachina.com/search-law-firms?q=matzger&pageNumber=1&pageSize=2?q=matzger&pageNumber=2&pageSize=2
                    lawFirms:
                    - name: Leland, Parachini, Steinberg, Matzger & Melnick
                      lawFirmId: 1220574
                      url: https://api.lexmachina.com/law-firms/1220574
                    - name: John Matzger
                      lawFirmId: 104638538
                      url: https://api.lexmachina.com/law-firms/104638538
        '422':
          description: Error - 422
          content:
            application/json:
              examples:
                Invalid Page:
                  summary: Invalid Page
                  value:
                    detail: Invalid page.
                Validation error:
                  summary: Validation error
                  value:
                    summary: Invalid input
                    detail:
                    - type: parsing
                      loc:
                      - path
                      - query
                      - body
                      msg: invalid input
                      input: '-1'
        '401':
          description: Invalid or expired token
          content:
            application/json:
              examples:
                Expired token:
                  summary: Expired token
                  value:
                    detail: 'Token time expired: Signature has expired.'
                Invalid token:
                  summary: Invalid token
                  value:
                    detail: Invalid token
        '404':
          description: Not found
          content:
            application/json:
              examples:
                Not found:
                  summary: Not found
                  value:
                    summary: Unknown id
                    detail: Not Found
components:
  schemas:
    LawFirmSearchResult:
      properties:
        totalCount:
          type: integer
          title: Totalcount
        page:
          type: integer
          title: Page
        nextPage:
          anyOf:
          - type: string
          - type: 'null'
          title: Nextpage
        lawFirms:
          items:
            $ref: '#/components/schemas/LawFirmResult'
          type: array
          title: Lawfirms
      additionalProperties: false
      type: object
      required:
      - totalCount
      - page
      - lawFirms
      title: LawFirmSearchResult
    LawFirmResult:
      properties:
        name:
          type: string
          title: Name
        lawFirmId:
          type: integer
          title: Lawfirmid
        url:
          type: string
          title: Url
      additionalProperties: false
      type: object
      required:
      - name
      - lawFirmId
      - url
      title: LawFirmResult
    LawFirmReference:
      properties:
        name:
          type: string
          title: Name
        lawFirmId:
          type: integer
          title: Lawfirmid
        inputId:
          type: integer
          title: Inputid
        url:
          type: string
          title: Url
      additionalProperties: false
      type: object
      required:
      - name
      - lawFirmId
      - inputId
      - url
      title: LawFirmReference
      description: 'Indicates that the Lex Machina law firm id input was has changed,

        the inputId is the ID given that should map to the returned lawFirmId.'
    LawFirmData:
      properties:
        name:
          type: string
          title: Name
        lawFirmId:
          type: integer
          title: Lawfirmid
      additionalProperties: false
      type: object
      required:
      - name
      - lawFirmId
      title: LawFirmData
  securitySchemes:
    JwtAccessBearer:
      type: http
      scheme: bearer