Luminance Matters API
The Matters API from Luminance — 22 operation(s) for matters.
The Matters API from Luminance — 22 operation(s) for matters.
openapi: 3.2.0
info:
title: Luminance Matters API
version: '1.0'
description: 'Operations tagged Matters across 3 of this provider''s published API definitions: luminance-api-v1-3-openapi-original.yml, luminance-api-v1-4-openapi-original.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
required: true
schema:
# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/luminance/refs/heads/main/openapi/luminance-matters-api-openapi.yml