Luminance Matters API

The Matters API from Luminance — 22 operation(s) for matters.

Operations 41

GET /projects/{project-id}/matters Get the matter objects in a particular project
POST /projects/{project-id}/matters Create a New Matter
PATCH /projects/{project-id}/matters Patch information on Matter objects
GET /projects/{project-id}/matters/{matter-id} Get the matter object with a particular matterId in a particular project
PATCH /projects/{project-id}/matters/{matter-id} Patch information on a single Matter object
POST /projects/{project-id}/matters/create Create a New Matter with required matter tags and/or optional matter tags configured for the project. These can be mandatory if configured for the project.
GET /projects/{project-id}/matters/{matter-id}/versions Get the matter versions for a matter in a particular project including a record of current and previous drafts and current attachments to the matter
GET /projects/{project-id}/matters/{matter-id}/versions/{matter-version-id}/assignable_users Gets a list of user names and IDs which can be assigned to a matter version
PATCH /projects/{project-id}/matters/{matter-id}/versions/{matter-version-id}/assign Assigns an available user to the matter version
POST /projects/{project-id}/matters/{matter-id}/versions/add_attachment Creates a new matter version of type attachment to a matter containing the specified document ID
GET /projects/{project-id}/matters/{matter-id}/annotations Get an array of JSON object Annotations added to a matter
POST /projects/{project-id}/matters/{matter-id}/annotations Create an annotation on a matter
PATCH /projects/{project-id}/matters/{matter-id}/annotations Patch the content of multiple matter annotations to a different value
GET /projects/{project-id}/matters/{matter-id}/annotations/{annotation-id} Get an array of JSON object Annotations added to a matter
PATCH /projects/{project-id}/matters/{matter-id}/annotations/{annotation-id} Patch the content of a particular matter annotation to a different value
GET /projects/{project-id}/matters/{matter-id}/relations Get the matter all the matters a matter is related to
GET /api2/projects/{project_id}/matters List matters
POST /api2/projects/{project_id}/matters Create matter (alternate to matters/create)
PATCH /api2/projects/{project_id}/matters Update matters by filter
DELETE /api2/projects/{project_id}/matters Delete matters by filter
POST /api2/projects/{project_id}/matters/create Create matter (and optional annotations and version)
GET /api2/projects/{project_id}/matters/{matter_id} Get matter
PATCH /api2/projects/{project_id}/matters/{matter_id} Update matter
DELETE /api2/projects/{project_id}/matters/{matter_id} Delete matter
GET /api2/projects/{project_id}/matters/{matter_id}/annotations List matter annotations
POST /api2/projects/{project_id}/matters/{matter_id}/annotations Create matter annotation
PATCH /api2/projects/{project_id}/matters/{matter_id}/annotations Update matter annotations by filter
DELETE /api2/projects/{project_id}/matters/{matter_id}/annotations Delete matter annotations by filter
GET /api2/projects/{project_id}/matters/{matter_id}/annotations/{annotation_id} Get matter annotation
PATCH /api2/projects/{project_id}/matters/{matter_id}/annotations/{annotation_id} Update matter annotation
DELETE /api2/projects/{project_id}/matters/{matter_id}/annotations/{annotation_id} Delete matter annotation
GET /api2/projects/{project_id}/matters/{matter_id}/relations List matter relations
POST /api2/projects/{project_id}/matters/{matter_id}/relations Create relation
DELETE /api2/projects/{project_id}/matters/{matter_id}/relations Delete relations by filter
GET /api2/projects/{project_id}/matters/{matter_id}/relations/{relation_id} Get relation
DELETE /api2/projects/{project_id}/matters/{matter_id}/relations/{relation_id} Delete relation
GET /api2/projects/{project_id}/matters/{matter_id}/events List matter events
GET /api2/projects/{project_id}/matters/{matter_id}/versions List matter versions
GET /api2/projects/{project_id}/matters/{matter_id}/versions/{version_id}/assignable_users List assignable users for version
PATCH /api2/projects/{project_id}/matters/{matter_id}/versions/{version_id}/assign Assign a version to a user
POST /api2/projects/{project_id}/matters/{matter_id}/versions/add_attachment Add a document as attachment to matter

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/luminance-matters-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

luminance-matters-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Luminance Matters API
  version: '1.0'
  description: 'Operations tagged Matters across 4 of this provider''s published API definitions: luminance-api-v1-3-openapi-original.yml, luminance-api-v1-4-openapi-original.yml, luminance-matters-api-openapi.yml, luminance-public-api-v2-openapi-original.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://{moniker}.app.luminance.com
  description: Your Luminance instance
  variables:
    moniker:
      default: your-instance
      description: Instance moniker (e.g. acme)
tags:
- name: Matters
paths:
  /projects/{project-id}/matters:
    get:
      tags:
      - Matters
      summary: Get the matter objects in a particular project
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/project-id'
      - $ref: '#/components/parameters/matterId'
      - $ref: '#/components/parameters/createdAt'
      - $ref: '#/components/parameters/createdBy'
      - $ref: '#/components/parameters/matterName'
      - $ref: '#/components/parameters/matterState'
      - $ref: '#/components/parameters/matterInfo'
      security:
      - OAuth2: []
      responses:
        '200':
          $ref: '#/components/responses/matters_200'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '405':
          $ref: '#/components/responses/405'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
    post:
      tags:
      - Matters
      summary: Create a New Matter
      parameters:
      - $ref: '#/components/parameters/project-id'
      requestBody:
        description: The only value which needs to be passed in is a matterName. See the documents/upload endpoints for information on how to upload a document to that matter. The matter will not be visible in the user interface until this is complete.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  required: true
                  type: string
                  example: New Matter Name
      security:
      - OAuth2: []
      responses:
        '200':
          $ref: '#/components/responses/matters_200'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '405':
          $ref: '#/components/responses/405'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
    patch:
      tags:
      - Matters
      summary: Patch information on Matter objects
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/project-id'
      - $ref: '#/components/parameters/matterId'
      - $ref: '#/components/parameters/createdAt'
      - $ref: '#/components/parameters/createdBy'
      - $ref: '#/components/parameters/matterName'
      - $ref: '#/components/parameters/matterState'
      - $ref: '#/components/parameters/matterInfo'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MatterPatch'
      security:
      - OAuth2: []
      responses:
        '200':
          $ref: '#/components/responses/matters_200'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '405':
          $ref: '#/components/responses/405'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
  /projects/{project-id}/matters/{matter-id}:
    get:
      tags:
      - Matters
      summary: Get the matter object with a particular matterId in a particular project
      parameters:
      - $ref: '#/components/parameters/project-id'
      - $ref: '#/components/parameters/matter-id'
      - $ref: '#/components/parameters/createdAt'
      - $ref: '#/components/parameters/createdBy'
      - $ref: '#/components/parameters/matterName'
      - $ref: '#/components/parameters/matterState'
      - $ref: '#/components/parameters/matterInfo'
      security:
      - OAuth2: []
      responses:
        '200':
          $ref: '#/components/responses/matters_200'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '405':
          $ref: '#/components/responses/405'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
    patch:
      tags:
      - Matters
      summary: Patch information on a single Matter object
      parameters:
      - $ref: '#/components/parameters/project-id'
      - $ref: '#/components/parameters/matter-id'
      - $ref: '#/components/parameters/createdAt'
      - $ref: '#/components/parameters/createdBy'
      - $ref: '#/components/parameters/matterName'
      - $ref: '#/components/parameters/matterState'
      - $ref: '#/components/parameters/matterInfo'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MatterPatch'
      security:
      - OAuth2: []
      responses:
        '200':
          $ref: '#/components/responses/matters_200'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '405':
          $ref: '#/components/responses/405'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
  /projects/{project-id}/matters/create:
    post:
      tags:
      - Matters
      summary: Create a New Matter with required matter tags and/or optional matter tags configured for the project. These can be mandatory if configured for the project.
      parameters:
      - $ref: '#/components/parameters/project-id'
      requestBody:
        description: The value which need to be passed in is a matterName plus an object with any required matter annotations (see below schema). See the documents/upload endpoints for information on how to upload a document to that matter. The matter will not be visible in the user interface until this is complete.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  required: true
                  type: string
                  example: New Matter Name
                required_matter_annotations:
                  required: true
                  type: array
                  items:
                    type: object
                  description: Each item in the array represents a single Annotation which needs to be added to the Matter on creation.
                  properties:
                    $ref: '#/components/parameters/MatterAnnotationArrayObject'
                  example:
                    annotation_type_id: 347
                    content:
                      name: London
                      country: GB
      security:
      - OAuth2: []
      responses:
        '200':
          $ref: '#/components/responses/matters_200'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '405':
          $ref: '#/components/responses/405'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
  /projects/{project-id}/matters/{matter-id}/versions:
    get:
      tags:
      - Matters
      summary: Get the matter versions for a matter in a particular project including a record of current and previous drafts and current attachments to the matter
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/matterVersionId'
      - $ref: '#/components/parameters/createdAt'
      - $ref: '#/components/parameters/createdBy'
      - $ref: '#/components/parameters/matter-id'
      - $ref: '#/components/parameters/documentId'
      - $ref: '#/components/parameters/matterVersionType'
      - $ref: '#/components/parameters/matterVersionState'
      - $ref: '#/components/parameters/matterVersionAssignedTo'
      - $ref: '#/components/parameters/matterVersionAssignedAt'
      - $ref: '#/components/parameters/matterVersionName'
      - $ref: '#/components/parameters/matterVersionInfo'
      security:
      - OAuth2: []
      responses:
        '200':
          $ref: '#/components/responses/matter_versions_200'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '405':
          $ref: '#/components/responses/405'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
  /projects/{project-id}/matters/{matter-id}/versions/{matter-version-id}/assignable_users:
    get:
      tags:
      - Matters
      summary: Gets a list of user names and IDs which can be assigned to a matter version
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/userName'
      - $ref: '#/components/parameters/userId'
      - $ref: '#/components/parameters/matter-id'
      - $ref: '#/components/parameters/project-id'
      - $ref: '#/components/parameters/matter-version-id'
      security:
      - OAuth2: []
      responses:
        '200':
          $ref: '#/components/responses/matter_version_assignable_users_200'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '405':
          $ref: '#/components/responses/405'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
  /projects/{project-id}/matters/{matter-id}/versions/{matter-version-id}/assign:
    patch:
      parameters:
      - $ref: '#/components/parameters/matter-id'
      - $ref: '#/components/parameters/project-id'
      - $ref: '#/components/parameters/matter-version-id'
      tags:
      - Matters
      summary: Assigns an available user to the matter version
      requestBody:
        description: Please use the /projects/{project-id}/matters/{matter-id}/versions/{matter-version-id}/assignable_users endpoint to find out which userIds can be assigned to a particular matter version
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                user_id:
                  type: integer
                  example: 4
            example:
              user_id: 4
      security:
      - OAuth2: []
      responses:
        '201':
          $ref: '#/components/responses/matter_version_assignable_users_201'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '405':
          $ref: '#/components/responses/405'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
  /projects/{project-id}/matters/{matter-id}/versions/add_attachment:
    post:
      tags:
      - Matters
      summary: Creates a new matter version of type attachment to a matter containing the specified document ID
      parameters:
      - $ref: '#/components/parameters/matter-id'
      - $ref: '#/components/parameters/project-id'
      requestBody:
        description: Send the document_id of the document, which must be in the same project as the matter, that you wish to add as an attachment to the matter
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                document_id:
                  type: integer
                  example: 67
              required:
              - document_id
      minimum: 0
      security:
      - OAuth2: []
      responses:
        '201':
          $ref: '#/components/responses/matter_version_add_attachment_200'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '405':
          $ref: '#/components/responses/405'
        '500':
          $ref: '#/components/responses/500'
  /projects/{project-id}/matters/{matter-id}/annotations:
    get:
      tags:
      - Matters
      summary: Get an array of JSON object Annotations added to a matter
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/matter-id'
      - $ref: '#/components/parameters/project-id'
      - $ref: '#/components/parameters/matterAnnotationId'
      - $ref: '#/components/parameters/createdAt'
      - $ref: '#/components/parameters/createdBy'
      - $ref: '#/components/parameters/matterAnnotationTypeId'
      - $ref: '#/components/parameters/annotationContent'
      - $ref: '#/components/parameters/annotationState'
      security:
      - OAuth2: []
      responses:
        '200':
          $ref: '#/components/responses/matter_annotations_200'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '405':
          $ref: '#/components/responses/405'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
    post:
      tags:
      - Matters
      summary: Create an annotation on a matter
      parameters:
      - $ref: '#/components/parameters/matter-id'
      - $ref: '#/components/parameters/project-id'
      requestBody:
        required: true
        content:
          application/json:
            description: Define the annotationTypeId and the annotationContent for it. The content including required property names and data types of an annotation may vary depending on the annotationTypeId
            schema:
              type: object
              properties:
                annotation_type_id:
                  type: integer
                  example: 367
                content:
                  type: object
                  properties:
                    value:
                      type: string
                      example: Agreement
            example:
              annotation_type_id: 344
              content:
                value: Agreement
      security:
      - OAuth2: []
      responses:
        '200':
          $ref: '#/components/responses/annotation_create_200'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '405':
          $ref: '#/components/responses/405'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
    patch:
      tags:
      - Matters
      summary: Patch the content of multiple matter annotations to a different value
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/project-id'
      - $ref: '#/components/parameters/matter-id'
      - $ref: '#/components/parameters/matterAnnotationId'
      - $ref: '#/components/parameters/createdAt'
      - $ref: '#/components/parameters/createdBy'
      - $ref: '#/components/parameters/annotationTypeId'
      - $ref: '#/components/parameters/annotationContent'
      - $ref: '#/components/parameters/matterAnnotationState'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MatterAnnotationPatch'
      security:
      - OAuth2: []
      responses:
        '200':
          $ref: '#/components/responses/matter_annotations_200'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '405':
          $ref: '#/components/responses/405'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
  /projects/{project-id}/matters/{matter-id}/annotations/{annotation-id}:
    get:
      tags:
      - Matters
      summary: Get an array of JSON object Annotations added to a matter
      parameters:
      - $ref: '#/components/parameters/matter-id'
      - $ref: '#/components/parameters/project-id'
      - $ref: '#/components/parameters/annotation-id'
      security:
      - OAuth2: []
      responses:
        '200':
          $ref: '#/components/responses/matter_annotations_200'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '405':
          $ref: '#/components/responses/405'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
    patch:
      tags:
      - Matters
      summary: Patch the content of a particular matter annotation to a different value
      parameters:
      - $ref: '#/components/parameters/project-id'
      - $ref: '#/components/parameters/matter-id'
      - $ref: '#/components/parameters/annotation-id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MatterAnnotationPatch'
      security:
      - OAuth2: []
      responses:
        '200':
          $ref: '#/components/responses/matter_annotations_200'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '405':
          $ref: '#/components/responses/405'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
  /projects/{project-id}/matters/{matter-id}/relations:
    get:
      tags:
      - Matters
      summary: Get the matter all the matters a matter is related to
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/matter-id'
      - $ref: '#/components/parameters/matterRelationId'
      - $ref: '#/components/parameters/createdAt'
      - $ref: '#/components/parameters/createdBy'
      - $ref: '#/components/parameters/sourceId'
      - $ref: '#/components/parameters/targetId'
      security:
      - OAuth2: []
      responses:
        '200':
          $ref: '#/components/responses/matter_relations_200'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '405':
          $ref: '#/components/responses/405'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
  /api2/projects/{project_id}/matters:
    servers:
    - url: https://{moniker}.app.luminance.com
      description: Your Luminance instance
      variables:
        moniker:
          default: your-instance
          description: Instance moniker (e.g. acme)
    get:
      tags:
      - Matters
      summary: List matters
      parameters:
      - $ref: '#/components/parameters/projectId'
      - in: query
        name: id
        schema:
          type: integer
      - in: query
        name: name
        schema:
          type: string
      - in: query
        name: state
        schema:
          type: string
      - in: query
        name: info
        schema:
          type: string
        description: Filter by matter info (hidden in UI)
      - in: query
        name: limit
        schema:
          type: integer
          minimum: 1
      - in: query
        name: offset
        schema:
          type: integer
          minimum: 0
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Matter'
              example:
              - id: 1
                created_at: '2024-01-15T12:00:00.000Z'
                created_by: 1
                workflow_id: 1
                project_id: 1
                name: Joe Bloggs
                state: active
                info: {}
                pretty_id: MAT-001
      security:
      - bearerAuth: []
    post:
      tags:
      - Matters
      summary: Create matter (alternate to matters/create)
      parameters:
      - $ref: '#/components/parameters/projectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                state:
                  type: string
                info:
                  type: object
      responses:
        '201':
          description: Created
        '422':
          description: Validation error
      security:
      - bearerAuth: []
    patch:
      tags:
      - Matters
      summary: Update matters by filter
      parameters:
      - $ref: '#/components/parameters/projectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                state:
                  type: string
                info:
                  type: object
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                id: 1
                created_at: '2024-01-15T12:00:00.000Z'
                created_by: 1
                workflow_id: 1
                project_id: 1
                name: Joe Bloggs
                state: active
                info: {}
                pretty_id: MAT-001
      security:
      - bearerAuth: []
    delete:
      tags:
      - Matters
      summary: Delete matters by filter
      parameters:
      - $ref: '#/components/parameters/projectId'
      responses:
        '204':
          description: No Content
      security:
      - bearerAuth: []
  /api2/projects/{project_id}/matters/create:
    servers:
    - url: https://{moniker}.app.luminance.com
      description: Your Luminance instance
      variables:
        moniker:
          default: your-instance
          description: Instance moniker (e.g. acme)
    post:
      tags:
      - Matters
      summary: Create matter (and optional annotations and version)
      parameters:
      - $ref: '#/components/parameters/projectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                state:
                  type: string
                info:
                  type: object
                workflow_id:
                  type: integer
                create_version:
                  type: boolean
                required_matter_annotations:
                  type: array
                  items:
                    type: object
                    properties:
                      annotation_type_id:
                        type: integer
                      content:
                        type: object
                generate_document:
                  type: object
                  properties:
                    document_template_id:
                      type: integer
                    data:
                      type: object
              required:
              - name
      responses:
        '201':
          description: Created
        '422':
          description: Validation error
      security:
      - bearerAuth: []
  /api2/projects/{project_id}/matters/{matter_id}:
    servers:
    - url: https://{moniker}.app.luminance.com
      description: Your Luminance instance
      variables:
        moniker:
          default: your-instance
          description: Instance moniker (e.g. acme)
    get:
      tags:
      - Matters
      summary: Get matter
      parameters:
      - $ref: '#/components/parameters/projectId'
      - in: path
        name: matter_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Matter'
              example:
                id: 1
                created_at: '2024-01-15T12:00:00.000Z'
                created_by: 1
                workflow_id: 1
                project_id: 1
                name: Joe Bloggs
                state: active
                info: {}
                pretty_id: MAT-001
        '404':
          description: Not found
      security:
      - bearerAuth: []
    patch:
      tags:
      - Matters
      summary: Update matter
      parameters:
      - $ref: '#/components/parameters/projectId'
      - in: path
        name: matter_id
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                state:
                  type: string
                info:
                  type: object
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                id: 1
                created_at: '2024-01-15T12:00:00.000Z'
                created_by: 1
                workflow_id: 1
                project_id: 1
                name: Joe Bloggs
                state: active
                info: {}
                pretty_id: MAT-001
      security:
      - bearerAuth: []
    delete:
      tags:
      - Matters
      summary: Delete matter
      parameters:
      - $ref: '#/components/parameters/projectId'
      - in: path
        name: matter_id
        required: true
        schema:
          type: integer
      responses:
        '204':
          description: No Content
      security:
      - bearerAuth: []
  /api2/projects/{project_id}/matters/{matter_id}/annotations:
    servers:
    - url: https://{moniker}.app.luminance.com
      description: Your Luminance instance
      variables:
        moniker:
          default: your-instance
          description: Instance moniker (e.g. acme)
    get:
      tags:
      - Matters
      summary: List matter annotations
      parameters:
      - $ref: '#/components/parameters/projectId'
      - in: path
        name: matter_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                id: 1
                created_at: '2024-01-15T12:00:00.000Z'
                created_by: 1
                matter_id: 1
                annotation_type_id: 1
                content: Sample text
                state: active
      security:
      - bearerAuth: []
    post:
      tags:
      - Matters
      summary: Create matter annotation
      parameters:
      - $ref: '#/components/parameters/projectId'
      - in: path
        name: matter_id
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                group_id:
                  type: integer
                annotation_type_id:
                  type: integer
                content:
                  type: object
                state:
                  type: string
      responses:
        '201':
          description: Created
      security:
      - bearerAuth: []
    patch:
      tags:
      - Matters
      summary: Update matter annotations by filter
      parameters:
      - $ref: '#/components/parameters/projectId'
      - in: path
        name: matter_id
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                id: 1
                created_at: '2024-01-15T12:00:00.000Z'
                created_by: 1
                matter_id: 1
                annotation_type_id: 1
                content: Sample text
                state: active
      security:
      - bearerAuth: []
    delete:
      tags:
      - Matters
      summary: Delete matter annotations by filter
      parameters:
      - $ref: '#/components/parameters/projectId'
      - in: path
        name: matter_id
        required: true
        schema:
          type: integer
      responses:
        '204':
          description: No Content
      security:
      - bearerAuth: []
  /api2/projects/{project_id}/matters/{matter_id}/annotations/{annotation_id}:
    servers:
    - url: https://{moniker}.app.luminance.com
      description: Your Luminance instance
      variables:
        moniker:
          default: your-instance
          description: Instance moniker (e.g. acme)
    get:
      tags:
      - Matters
      summary: Get matter annotation
      parameters:
      - $ref: '#/components/parameters/projectId'
      - in: path
        name: matter_id
        required: true
        schema:
          type: integer
      - in: path
        name: annotation_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                id: 1
                created_at: '2024-01-15T12:00:00.000Z'
                created_by: 1
                matter_id: 1
                annotation_type_id: 1
                content: Sample text
                state: active
      security:
      - bearerAuth: []
    patch:
      tags:
      - Matters
      summary: Update matter annotation
      parameters:
      - $ref: '#/components/parameters/projectId'
      - in: path
        name: matter_id
        required: true
        schema:
          type: integer
      - in: path
        name: annotation_id
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
              example:
                id: 1
                created_at: '2024-01-15T12:00:00.000Z'
                created_by: 1
                matter_id: 1
                annotation_type_id: 1
                content: Sample text
                state: active
      security:
      - bearerAuth: []
    delete:
      tags:
      - Matters
      summary: Delete matter annotation
      parameters:
      - $ref: '#/components/parameters/projectId'
      - in: path
        name: matter_id
        required: true
        schema:
          type: integer
      - in: path
        name: annotation_id
    

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