LawVu Matters API

The Matters API from LawVu — 11 operation(s) for matters.

OpenAPI Specification

lawvu-matters-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: LawVu Account Auth Matters API
  description: Apis for account related resources (authentication, profiles, organisation details etc)
  version: '1.0'
servers:
- url: https://api-sandbox.lawvu.com/account-apis
  description: Sandbox API
- url: https://api.lawvu.com/account-apis
  description: Production API
tags:
- name: Matters
paths:
  /v2/matters:
    get:
      tags:
      - Matters
      summary: Get matters
      description: Retrieve a list of matters
      operationId: get-v2-matters
      parameters:
      - name: $filter
        in: query
        description: Filter the results using OData filter syntax
        schema:
          type: string
      - name: $orderby
        in: query
        description: Order the results using OData orderby syntax
        schema:
          type: string
      - name: $skip
        in: query
        description: Skip the specified number of results
        schema:
          type: integer
      - name: $top
        in: query
        description: Limit the number of results returned
        schema:
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MatterCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpValidationProblemDetails'
              example:
                detail: The request was invalid and could not be processed
                errors:
                  Name: Operation 'gt' is not supported for 'Name'
                instance: /matters
                operationId: 7edb5d62-f5bf-463b-9410-cdd8b3293d89
                status: 400
                title: Invalid request
                type: https://api-docs.lawvu.com/errors/invalid_request
    post:
      tags:
      - Matters
      summary: Create matter
      description: Creates a matter based on the provided matter type.
      operationId: post-v2-matters
      requestBody:
        content:
          application/json:
            schema:
              required:
              - type
              allOf:
              - $ref: '#/components/schemas/CreateMatter'
      responses:
        '201':
          description: Created
          headers:
            Location:
              description: Location to retrieve the created matter
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedMatter'
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpValidationProblemDetails'
              example:
                detail: The request was invalid and could not be processed
                errors:
                  Name: Required
                instance: /matters
                operationId: 7edb5d62-f5bf-463b-9410-cdd8b3293d89
                status: 400
                title: Invalid request
                type: https://api-docs.lawvu.com/errors/invalid_request
        '409':
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
              example:
                detail: The request could not be processed due to a conflict
                errors:
                  ExternalId: Is already in use
                instance: /matters
                operationId: 7edb5d62-f5bf-463b-9410-cdd8b3293d89
                status: 409
                title: Conflict
                type: https://api-docs.lawvu.com/errors/conflict
  /v2/matters/{matterId}:
    get:
      tags:
      - Matters
      summary: Get matter
      description: Retrieve a matter by its identifier
      operationId: get-v2-matters-matterid
      parameters:
      - name: matterId
        in: path
        description: The system identifier for the matter
        required: true
        schema:
          type: integer
          description: The system identifier for the matter
          format: int32
          example: 1056
        example: 1056
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Matter'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
              example:
                detail: The requested resource could not be found
                instance: /matters/1056
                operationId: 7edb5d62-f5bf-463b-9410-cdd8b3293d89
                status: 404
                title: Resource not found
                type: https://api-docs.lawvu.com/errors/resource_not_found
    patch:
      tags:
      - Matters
      summary: Update matter
      description: Updates a matters details
      operationId: patch-v2-matters-matterid
      parameters:
      - name: matterId
        in: path
        description: The system identifier for the matter
        required: true
        schema:
          type: integer
          description: The system identifier for the matter
          format: int32
          example: 1056
        example: 1056
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/UpdateMatter'
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpValidationProblemDetails'
              example:
                detail: The request was invalid and could not be processed
                errors:
                  Name: Required
                instance: /matters/1056
                operationId: 7edb5d62-f5bf-463b-9410-cdd8b3293d89
                status: 400
                title: Invalid request
                type: https://api-docs.lawvu.com/errors/invalid_request
        '403':
          description: Forbidden
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
              example:
                detail: You do not have permission to update this matter
                instance: /matters/1056
                operationId: 7edb5d62-f5bf-463b-9410-cdd8b3293d89
                status: 403
                title: Forbidden
                type: https://api-docs.lawvu.com/errors/forbidden
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
              example:
                detail: The requested resource could not be found
                instance: /matters/1056
                operationId: 7edb5d62-f5bf-463b-9410-cdd8b3293d89
                status: 404
                title: Resource not found
                type: https://api-docs.lawvu.com/errors/resource_not_found
        '409':
          description: Conflict
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
              example:
                detail: The request could not be processed due to a conflict
                errors:
                  ExternalId: Is already in use
                instance: /matters/1056
                operationId: 7edb5d62-f5bf-463b-9410-cdd8b3293d89
                status: 409
                title: Conflict
                type: https://api-docs.lawvu.com/errors/conflict
  /v2/matters/{matterId}/files/{fileId}:
    get:
      tags:
      - Matters
      summary: Get matter file
      description: Retrieve information about a file on a matter
      operationId: get-v2-matters-matterid-files-fileid
      parameters:
      - name: matterId
        in: path
        description: The system identifier for the matter
        required: true
        schema:
          type: integer
          description: The system identifier for the matter
          format: int32
          example: 1056
        example: 1056
      - name: fileId
        in: path
        description: The system identifier for the file
        required: true
        schema:
          type: integer
          description: The system identifier for the file
          format: int32
          example: 9456
        example: 9456
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/File'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
              example:
                detail: The requested resource could not be found
                instance: /matters/1056/files/9456
                operationId: 7edb5d62-f5bf-463b-9410-cdd8b3293d89
                status: 404
                title: Resource not found
                type: https://api-docs.lawvu.com/errors/resource_not_found
  /v2/matterTypes:
    get:
      tags:
      - Matters
      summary: Get matter types
      description: Retrieve a list of matter types
      operationId: get-v2-mattertypes
      parameters:
      - name: $skip
        in: query
        description: Specifies the number of items to skip
        schema:
          type: integer
          description: Specifies the number of items to skip
          format: int32
          default: 0
      - name: $top
        in: query
        description: Specifies the maximum number of items to return
        schema:
          type: integer
          description: Specifies the maximum number of items to return
          format: int32
          default: 25
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MatterTypeCollectionResponse'
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpValidationProblemDetails'
              example:
                detail: The request was invalid and could not be processed
                instance: /matterTypes/
                operationId: 7edb5d62-f5bf-463b-9410-cdd8b3293d89
                status: 400
                title: Invalid request
                type: https://api-docs.lawvu.com/errors/invalid_request
  /v1/matters/quickfind:
    get:
      tags:
      - Matters
      summary: Find matters
      description: Quickly find and filter matters
      operationId: get-v1-matters-quickfind
      parameters:
      - name: term
        in: query
        description: A term to search matters by
        schema:
          type: string
      - name: includeRestricted
        in: query
        description: 'Include restricted matters in the search<p>Default: False</p>'
        schema:
          type: boolean
          default: false
      - name: take
        in: query
        description: 'The number of matters to return (maximum: 100, default: 20)'
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/QuickFindMatterArray'
            application/json:
              schema:
                $ref: '#/components/schemas/QuickFindMatterArray'
            text/json:
              schema:
                $ref: '#/components/schemas/QuickFindMatterArray'
  /v1/matters/recent:
    get:
      tags:
      - Matters
      summary: Recent  matters
      description: Returns recently viewed (ref:take) matters for the user
      operationId: get-v1-matters-recent
      parameters:
      - name: take
        in: query
        description: 'The maximum number of recently viewed matters to return<p>Default: 5</p>'
        schema:
          type: integer
          format: int32
          default: 5
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/RecentMatterArray'
              example:
              - id: 95
                name: My Matter
                matterNumber: LV1234-0012
                lastActivityDateUtc: '2023-12-15T20:30:00Z'
                organisationId: 1234
                managerId: C7541186-26CE-4C6C-ABFF-37FE3EF57F88
                ownerId: 08FD1ED1-627E-4CB9-8388-731227584D21
              - id: 789
                name: Another Matter
                matterNumber: LV1234-0099
                lastActivityDateUtc: '2024-01-12T10:00:00Z'
                organisationId: 1234
                managerId: null
                ownerId: BE17D7D6-721A-4F6D-B081-CAABB6D8F5B9
              - id: 684
                name: Different Matter
                matterNumber: LV1234-0054
                lastActivityDateUtc: '2023-12-10T15:30:00Z'
                organisationId: 1234
                managerId: C7541186-26CE-4C6C-ABFF-37FE3EF57F88
                ownerId: BE17D7D6-721A-4F6D-B081-CAABB6D8F5B9
            application/json:
              schema:
                $ref: '#/components/schemas/RecentMatterArray'
              example:
              - id: 95
                name: My Matter
                matterNumber: LV1234-0012
                lastActivityDateUtc: '2023-12-15T20:30:00Z'
                organisationId: 1234
                managerId: C7541186-26CE-4C6C-ABFF-37FE3EF57F88
                ownerId: 08FD1ED1-627E-4CB9-8388-731227584D21
              - id: 789
                name: Another Matter
                matterNumber: LV1234-0099
                lastActivityDateUtc: '2024-01-12T10:00:00Z'
                organisationId: 1234
                managerId: null
                ownerId: BE17D7D6-721A-4F6D-B081-CAABB6D8F5B9
              - id: 684
                name: Different Matter
                matterNumber: LV1234-0054
                lastActivityDateUtc: '2023-12-10T15:30:00Z'
                organisationId: 1234
                managerId: C7541186-26CE-4C6C-ABFF-37FE3EF57F88
                ownerId: BE17D7D6-721A-4F6D-B081-CAABB6D8F5B9
            text/json:
              schema:
                $ref: '#/components/schemas/RecentMatterArray'
              example:
              - id: 95
                name: My Matter
                matterNumber: LV1234-0012
                lastActivityDateUtc: '2023-12-15T20:30:00Z'
                organisationId: 1234
                managerId: C7541186-26CE-4C6C-ABFF-37FE3EF57F88
                ownerId: 08FD1ED1-627E-4CB9-8388-731227584D21
              - id: 789
                name: Another Matter
                matterNumber: LV1234-0099
                lastActivityDateUtc: '2024-01-12T10:00:00Z'
                organisationId: 1234
                managerId: null
                ownerId: BE17D7D6-721A-4F6D-B081-CAABB6D8F5B9
              - id: 684
                name: Different Matter
                matterNumber: LV1234-0054
                lastActivityDateUtc: '2023-12-10T15:30:00Z'
                organisationId: 1234
                managerId: C7541186-26CE-4C6C-ABFF-37FE3EF57F88
                ownerId: BE17D7D6-721A-4F6D-B081-CAABB6D8F5B9
  /v1/matters:
    post:
      tags:
      - Matters
      summary: Create matter
      description: Creates a new matter with the supplied values
      operationId: post-v1-matters
      requestBody:
        description: ''
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/CreateMatter_2'
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMatter_2'
          text/json:
            schema:
              $ref: '#/components/schemas/CreateMatter_2'
          application/*+json:
            schema:
              $ref: '#/components/schemas/CreateMatter_2'
        required: true
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                type: integer
                format: int32
            application/json:
              schema:
                type: integer
                format: int32
            text/json:
              schema:
                type: integer
                format: int32
    get:
      tags:
      - Matters
      summary: Get matters
      description: "Gets matters filtered by single or multiple fields.\r\n<br /> \r\n_To filter by one field_: \"filtering.field\", \"filtering.operator\" and \"filtering.value\" parameters must be filled.\r\n<br /> \r\n_To filter by multiple fields_: \"filtering.logic\" and \"filtering.filters\" parameters must be filled."
      operationId: get-v1-matters
      parameters:
      - name: skip
        in: query
        description: The number of matters to skip (used for paging)
        schema:
          type: integer
          format: int32
      - name: fields
        in: query
        description: Fields to include in the response
        schema:
          type: array
          items:
            type: string
      - name: filtering.logic
        in: query
        description: Gets or sets the filtering logic for filters. Value by default is 'and'
        schema:
          enum:
          - and
          - or
          type: string
      - name: filtering.filters
        in: query
        description: "Array of filters object (optional)\r\n<br /> \r\n_Object Properties_:\r\n<br /> \r\n* _Field_: field to filter by\r\n<br /> \r\n* _Operator_: operator used to filter by\r\n<br /> \r\n* _Value_: value to filter by"
        schema:
          $ref: '#/components/schemas/FilteringArray'
      - name: filtering.field
        in: query
        description: Field to filter by (optional)
        schema:
          type: string
      - name: filtering.operator
        in: query
        description: Operator used for filtering (optional)
        schema:
          enum:
          - eq
          - neq
          - lt
          - lte
          - gt
          - gte
          - startswith
          - endswith
          - contains
          - doesnotcon
          - isnull
          type: string
      - name: filtering.value
        in: query
        description: Value to filter by (optional)
        schema:
          type: string
      - name: sorting.direction
        in: query
        description: Set the sorting direction
        schema:
          enum:
          - asc
          - desc
          type: string
      - name: sorting.field
        in: query
        description: Set the sorting fields
        schema:
          type: string
      - name: take
        in: query
        description: 'The maximum number of matters to return<p>Default: 50</p>'
        schema:
          type: integer
          format: int32
          default: 50
      - name: context
        in: query
        description: 'Controls the scope of matters returned by this operation<p>Default: Personal</p><p>Options:</p><ul><li>All - Returns all matters regardless of whether the authenticated user is a member. Requires the authenticated user to be a member of the Matter Administrators security group</li><li>Personal - Returns matters which the authenticated user is a member of. Equivalent to the "My matters" view in LawVu</li><li>Intake - Returns all matters in the Intake queue. Requires the authenticated user to have the ''Manage intake'' permission</li><li>Teams - Returns all matters that are accessible by teams that the authenticated user is a member of</li><li>Restricted - Returns restricted matters. Requires the authenticated user to be an Organization Administrator</li></ul>'
        schema:
          enum:
          - All
          - Personal
          - Intake
          - Teams
          - Restricted
          type: string
          description: <p>Options:</p><ul><li>All - Returns all matters regardless of whether the authenticated user is a member. Requires the authenticated user to be a member of the Matter Administrators security group</li><li>Personal - Returns matters which the authenticated user is a member of. Equivalent to the "My matters" view in LawVu</li><li>Intake - Returns all matters in the Intake queue. Requires the authenticated user to have the 'Manage intake' permission</li><li>Teams - Returns all matters that are accessible by teams that the authenticated user is a member of</li><li>Restricted - Returns restricted matters. Requires the authenticated user to be an Organization Administrator</li></ul>
          default: Personal
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ObjectDataSourceResultModel'
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectDataSourceResultModel'
            text/json:
              schema:
                $ref: '#/components/schemas/ObjectDataSourceResultModel'
  /v1/matters/{matterId}:
    get:
      tags:
      - Matters
      summary: Get matter
      description: 'Gets the details of the selected matter (ref: matterId)'
      operationId: get-v1-matters-matterid
      parameters:
      - name: matterId
        in: path
        description: The Id of the matter (e.g. 1234)
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/Matter_2'
            application/json:
              schema:
                $ref: '#/components/schemas/Matter_2'
            text/json:
              schema:
                $ref: '#/components/schemas/Matter_2'
    patch:
      tags:
      - Matters
      summary: Update matter
      operationId: patch-v1-matters-matterid
      parameters:
      - name: matterId
        in: path
        description: The Id of the matter
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        description: The update request (in jsonpatch format)
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/OperationArray'
          application/json:
            schema:
              $ref: '#/components/schemas/OperationArray'
          text/json:
            schema:
              $ref: '#/components/schemas/OperationArray'
          application/*+json:
            schema:
              $ref: '#/components/schemas/OperationArray'
      responses:
        '200':
          description: Success
  /v1/matters/{matterId}/users:
    post:
      tags:
      - Matters
      summary: Add user to a matter
      description: Adds a user to the matter (as owner, manager or regular matter member)
      operationId: post-v1-matters-matterid-users
      parameters:
      - name: matterId
        in: path
        description: The Id of the matter
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        description: Details about how to assign the user to the matter
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/AssignMatterUser'
          application/json:
            schema:
              $ref: '#/components/schemas/AssignMatterUser'
          text/json:
            schema:
              $ref: '#/components/schemas/AssignMatterUser'
          application/*+json:
            schema:
              $ref: '#/components/schemas/AssignMatterUser'
        required: true
      responses:
        '200':
          description: Success
    get:
      tags:
      - Matters
      summary: Get matter users
      description: Returns the users that are assigned to the matter
      operationId: get-v1-matters-matterid-users
      parameters:
      - name: matterId
        in: path
        description: The matter id
        required: true
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The number of results to skip
        schema:
          type: integer
          format: int32
      - name: filtering.field
        in: query
        description: Field to filter by (optional)
        schema:
          type: string
      - name: filtering.operator
        in: query
        description: Operator used for filtering (optional)
        schema:
          enum:
          - eq
          - neq
          - lt
          - lte
          - gt
          - gte
          - startswith
          - endswith
          - contains
          - doesnotcon
          - isnull
          type: string
      - name: filtering.value
        in: query
        description: Value to filter by (optional)
        schema:
          type: string
      - name: sorting.direction
        in: query
        description: Set the sorting direction
        schema:
          enum:
          - asc
          - desc
          type: string
      - name: sorting.field
        in: query
        description: Set the sorting fields
        schema:
          type: string
      - name: take
        in: query
        description: 'The maximum number of matter users to return<p>Default: 50</p>'
        schema:
          type: integer
          format: int32
          default: 50
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/MatterUserDataSourceResult'
            application/json:
              schema:
                $ref: '#/components/schemas/MatterUserDataSourceResult'
            text/json:
              schema:
                $ref: '#/components/schemas/MatterUserDataSourceResult'
  /v1/matters/externalid/{externalId}:
    get:
      tags:
      - Matters
      summary: ExternalId lookup
      operationId: get-v1-matters-externalid-externalid
      parameters:
      - name: externalId
        in: path
        description: The externalId to lookup
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ExternalIdLookupModel'
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalIdLookupModel'
            text/json:
              schema:
                $ref: '#/components/schemas/ExternalIdLookupModel'
  /v1/matters/{matterId}/fields:
    get:
      tags:
      - Matters
      summary: Get matter fields
      description: Get matter fields by matter id
      operationId: get-v1-matters-matterid-fields
      parameters:
      - name: matterId
        in: path
        description: The Id of the matter
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/MatterFieldData'
              example:
                detailFields:
                  schema:
                    properties:
                      field_1:
                        fieldId: 1
                        title: An example field name
                        description: Example field description
                        lawvuType: 7
                        isReadOnly: false
                        type: boolean
                        label: ''
                    order:
                    - field_1
                    required:
                    - field_1
                  model:
                    field_1: true
                coreFields:
                  schema: null
                  model: null
            application/json:
              schema:
                $ref: '#/components/schemas/MatterFieldData'
              example:
                detailFields:
                  schema:
                    properties:
                      field_1:
                        fieldId: 1
                        title: An example field name
                        description: Example field description
                        lawvuType: 7
                        isReadOnly: false
                        type: boolean
                        label: ''
                    order:
                    - field_1
                    required:
                    - field_1
                  model:
                    field_1: true
                coreFields:
                  schema: null
                  model: null
            text/json:
              schema:
                $ref: '#/components/schemas/MatterFieldData'
              example:
                detailFields:
                  schema:
                    properties:
                      field_1:
                        fieldId: 1
                        title: An example field name
                        description: Example field description
                        lawvuType: 7
                        isReadOnly: false
                        type: boolean
                        label: ''
                    order:
                    - field_1
                    required:
                    - field_1
                  model:
                    field_1: true
                coreFields:
                  schema: null
                  model: null
    patch:
      tags:
      - Matters
      summary: Update fields
      operationId: patch-v1-matters-matterid-fields
      parameters:
      - name: matterId
        in: path
        description: The Id of the matter
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        description: The update request (in jsonpatch format)
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/OperationArray'
            examples:
              string field:
                value:
                  value: new value
                  path: /field_string
                  op: replace
              number field:
                value:
                  value: 123
                  path: /field_number
                  op: replace
              date field:
                value:
                  value: '2022-03-03'
                  path: /field_date
                  op: replace
              boolean field:
                value:
                  value: true
                  path: /field_bool
                  op: replace
              object field:
                value:
                  value:
                    id: object_id
                  path: /field_object
                  op: replace
              array field:
                value:
                  value:
                  - 1
                  - 2
                  - 3
                  path: /field_array
                  op: replace
              group field:
                value:
                  value: string under a group
                  path: /group1/field_string
                  op: replace
              nested group field:
                value:
                  value: string under multiple groups
                  path: /group1/group2/group3/field_string
                  op: replace
          application/json:
            schema:
              $ref: '#/components/schemas/OperationArray'
            examples:
              string field:
                value:
                  value: new value
                  path: /field_string
                  op: replace
              number field:
                value:
                  value: 123
                  path: /field_number
                  op: replace
              date field:
                value:
                  value: '2022-03-03'
                  path: /field_date
                  op: replace
              boolean field:
                val

# --- truncated at 32 KB (69 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lawvu/refs/heads/main/openapi/lawvu-matters-api-openapi.yml