Luminance Annotations API
The Annotations API from Luminance — 12 operation(s) for annotations.
The Annotations API from Luminance — 12 operation(s) for annotations.
openapi: 3.2.0
info:
title: Luminance Annotations API
version: '1.0'
description: 'Operations tagged Annotations across 2 of this provider''s published API definitions:
luminance-api-v1-3-openapi-original.yml, luminance-api-v1-4-openapi-original.yml. Each path carries
the servers of the definition it was published in.'
tags:
- name: Annotations
paths:
/annotation_types:
get:
tags:
- Annotations
summary: Get Annotation Types that have been created on your instance as a whole.
parameters:
- $ref: '#/components/parameters/annotationTypeId'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/createdAt'
- $ref: '#/components/parameters/createdBy'
- $ref: '#/components/parameters/annotationType'
- $ref: '#/components/parameters/annotationTypeKey'
- $ref: '#/components/parameters/annotationTypePre-built'
- $ref: '#/components/parameters/annotationTypeName'
- $ref: '#/components/parameters/annotationTypeOptions'
security:
- OAuth2: []
responses:
'200':
$ref: '#/components/responses/annotation_types_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'
/annotation_types/{annotation-type-id}:
get:
tags:
- Annotations
summary: Get information on a specific Annotation Type ID
parameters:
- $ref: '#/components/parameters/annotation-type-id'
security:
- OAuth2: []
responses:
'200':
$ref: '#/components/responses/annotation_types_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:
get:
tags:
- Annotations
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:
- Annotations
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:
- Annotations
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:
- Annotations
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:
- Annotations
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}/documents/{document-id}/annotations:
get:
tags:
- Annotations
summary: Get Information on Annotations for a single Document object
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/document-id'
- $ref: '#/components/parameters/project-id'
- $ref: '#/components/parameters/annotationId'
- $ref: '#/components/parameters/createdAt'
- $ref: '#/components/parameters/createdby'
- $ref: '#/components/parameters/annotationType'
- $ref: '#/components/parameters/annotationRoles'
- $ref: '#/components/parameters/annotationState'
- $ref: '#/components/parameters/annotationContent'
security:
- OAuth2: []
responses:
'200':
$ref: '#/components/responses/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}/folders/{folder-id}/documents/{document-id}/annotations:
get:
tags:
- Annotations
summary: Get Information on Annotations for a single Document object
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/document-id'
- $ref: '#/components/parameters/project-id'
- $ref: '#/components/parameters/folder-id'
- $ref: '#/components/parameters/annotationId'
- $ref: '#/components/parameters/createdAt'
- $ref: '#/components/parameters/createdby'
- $ref: '#/components/parameters/annotationType'
- $ref: '#/components/parameters/annotationRoles'
- $ref: '#/components/parameters/annotationState'
- $ref: '#/components/parameters/annotationContent'
security:
- OAuth2: []
responses:
'200':
$ref: '#/components/responses/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}/tasks/{task-id}/reviews/documents/{document-id}/annotations:
get:
tags:
- Annotations
summary: Get Information on Annotations for a single Document object
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/document-id'
- $ref: '#/components/parameters/project-id'
- $ref: '#/components/parameters/task-id'
- $ref: '#/components/parameters/annotationId'
- $ref: '#/components/parameters/createdAt'
- $ref: '#/components/parameters/createdby'
- $ref: '#/components/parameters/annotationType'
- $ref: '#/components/parameters/annotationRoles'
- $ref: '#/components/parameters/annotationState'
- $ref: '#/components/parameters/annotationContent'
security:
- OAuth2: []
responses:
'200':
$ref: '#/components/responses/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}/documents/{document-id}/annotations/annotationText:
get:
tags:
- Annotations
summary: Get Information on a Single Annotation
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/document-id'
- $ref: '#/components/parameters/project-id'
- $ref: '#/components/parameters/annotationTextId'
security:
- OAuth2: []
responses:
'200':
$ref: '#/components/responses/annotationText_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}/folders/{folder-id}/documents/{document-id}/annotations/annotationText:
get:
tags:
- Annotations
summary: Get Information on a Single Annotation
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/document-id'
- $ref: '#/components/parameters/project-id'
- $ref: '#/components/parameters/folder-id'
- $ref: '#/components/parameters/annotationTextId'
security:
- OAuth2: []
responses:
'200':
$ref: '#/components/responses/annotationText_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}/tasks/{task-id}/reviews/documents/{document-id}/annotations/annotationText:
get:
tags:
- Annotations
summary: Get Information on a Single Annotation
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/document-id'
- $ref: '#/components/parameters/project-id'
- $ref: '#/components/parameters/task-id'
- $ref: '#/components/parameters/annotationTextId'
security:
- OAuth2: []
responses:
'200':
$ref: '#/components/responses/annotationText_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'
/annotation_sources:
get:
tags:
- Annotations
summary: Get information on a particular annotation_source_id. Each annotation_source can be used
to populate values users are able to select from in-platform when interacting with Matters
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/annotationSourceId'
- $ref: '#/components/parameters/createdAt'
- $ref: '#/components/parameters/createdBy'
- $ref: '#/components/parameters/annotationTypeId'
- $ref: '#/components/parameters/projectId'
- $ref: '#/components/parameters/workflowId'
- $ref: '#/components/parameters/annotationSourceRelationId'
- $ref: '#/components/parameters/annotationContent'
- $ref: '#/components/parameters/annotationState'
security:
- OAuth2: []
responses:
'200':
$ref: '#/components/responses/annotation_sources_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:
- Annotations
summary: Create a new annotation_source
requestBody:
description: See schema for options and required information in body of request
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationSourceCreate'
security:
- OAuth2: []
responses:
'200':
$ref: '#/components/responses/annotation_source_create_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'
patch:
tags:
- Annotations
summary: Modify annotation_sources
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/annotationSourceId'
- $ref: '#/components/parameters/createdAt'
- $ref: '#/components/parameters/createdBy'
- $ref: '#/components/parameters/annotationTypeId'
- $ref: '#/components/parameters/projectId'
- $ref: '#/components/parameters/workflowId'
- $ref: '#/components/parameters/annotationSourceRelationId'
- $ref: '#/components/parameters/annotationContent'
- $ref: '#/components/parameters/annotationState'
requestBody:
description: See schema for options and required information in body of request
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationSourcePatch'
security:
- OAuth2: []
responses:
'200':
$ref: '#/components/responses/annotation_source_patch_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'
/annotation_sources/{annotation_source_id}:
get:
tags:
- Annotations
summary: Get information on a particular annotation_source_id. Each annotation_source can be used
to populate values users are able to select from in-platform when interacting with Matters
parameters:
- $ref: '#/components/parameters/annotationSourceId'
security:
- OAuth2: []
responses:
'200':
$ref: '#/components/responses/annotation_sources_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:
- Annotations
summary: Modify annotation_sources
parameters:
- $ref: '#/components/parameters/annotationSourceId'
requestBody:
description: See schema for options and required information in body of request
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationSourcePatch'
security:
- OAuth2: []
responses:
'200':
$ref: '#/components/responses/annotation_source_patch_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'
components:
responses:
'405':
description: Method not allowed (calling api with wrong method)
annotation_types_200:
description: JSON array of annotation type objects available in the instance, or a sinlge JSON annotation
type object if annotation type ID is referenced in the path
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationType'
example:
id: 1
created_at: '2021-10-25T11:58:31.879Z'
created_by: 1
type: entity:datetime
key: contract:effective
pre-built: true
name: Effective Date
options: {}
annotations_200:
description: JSON array of Annotation objects structured in the below schema
content:
application/json:
schema:
$ref: '#/components/schemas/Annotation'
example:
id: 37495390
created_at: '2023-04-19T12:20:39.100Z'
created_by: 4
document_id: 369998
type: entity:party
roles:
- Counter-Party
content:
party: VoicePhone Limited.
raw_text: Voicephone Ltd.
state: active
matter_annotations_200:
description: JSON array of Annotation objects structured in the below schema
content:
application/json:
schema:
$ref: '#/components/schemas/MatterAnnotation'
example:
id: 37495390
created_at: '2023-04-19T12:20:39.100Z'
created_by: 4
matter_id: 7342
annotation_type_id: 347
content:
timestamp: '2027-04-07T00:00:00.000Z'
state: active
annotation_source_create_201:
description: JSON object of an AnnotationsSource after POSTing to create one
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationSource'
example:
id: 56
created_at: '2021-10-25T11:58:31.879Z'
created_by: 1
annotation_type_id: 345
project_id: 2
workflow_id: 3
annotation_source_relation_id: null
content:
type: object
example:
party: VoicePhone Limited
raw_text: Voicephone Ltd.
state: active
annotationText_200:
description: JSON array of clauses (annotation)
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationText'
example:
id: 37225093,
text: Example clause text.
'500':
description: Internal server error
'403':
description: Forbidden - the authenticated user does not have sufficient permissions to perform
this action
annotation_create_200:
description: JSON object of matter annotations after POSTing to create the matter
content:
application/json:
schema:
$ref: '#/components/schemas/annotationId'
example:
version: 1.3.0
api2_version: 1.3.0
product: corporate
'401':
description: Unauthorized - the authentication provided was invalid
'429':
description: Too many requests have been sent to the server over a given time period. Please contact
Luminance's support team.
annotation_source_patch_200:
description: JSON object or array of JSON objects of AnnotationSources after PATCHing to modify
one or more AnnotationSource objects
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationSource'
example:
id: 56
created_at: '2021-10-25T11:58:31.879Z'
created_by: 1
annotation_type_id: 345
project_id: 2
workflow_id: 3
annotation_source_relation_id: null
content:
type: object
example:
party: VoicePhone Limited
raw_text: Voicephone Ltd.
state: active
annotation_sources_200:
description: JSON array of annotationSource objects available in the instance, or a single JSON
annotationSource object if annotationSourceId is referenced in the path
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationSource'
example:
id: 56
created_at: '2021-10-25T11:58:31.879Z'
created_by: 1
annotation_type_id: 345
project_id: 2
workflow_id: 3
annotation_source_relation_id: null
content:
type: object
example:
party: VoicePhone Limited
raw_text: Voicephone Ltd.
state: active
'422':
description: Unprocessable Entity - the request was well formed, but not processable
parameters:
project-id:
name: project-id
in: path
description: Project ID
required: true
schema:
type: integer
format: int32
minimum: 0
annotationSourceRelationId:
name: annotation_source_relation_id
in: query
description: annotation_source_relation_id is not currently an interactable element via the API
required: false
schema:
type: integer
example: 76
minimum: 0
matterAnnotationState:
name: state
in: query
description: State of an Annotation attached to a Matter
required: false
schema:
type: string
enum:
- active
- deleted
annotationTypeName:
name: name
in: query
description: The display name for the annotation in platform
required: false
schema:
type: string
format: string
minimum: 0
matterAnnotationTypeId:
name: id
in: query
description: Unique Annotation Type ID for the Annotation attached to the Matter, can also be queried
via the /annotation_types endpoint
required: false
schema:
type: integer
format: int32
minimum: 0
projectId:
name: id
in: query
description: Unique Project ID
required: false
schema:
type: integer
format: int32
minimum: 0
annotationType:
name: type
in: query
description: Type of data stored by the annotation e.g. 'language'
required: false
schema:
type: string
enum:
- alert
- alias
- contract:state
- contracttype
- definedterm:definition
- definedterm:use
- document:bates
- document:cluster
- document:custodian
- document:duplicationfamily
- document:family
- document:privileged
- document:relation
- document:textinfo
- documenttype
- email:chain
- email:type
- emailaddress
- entity:area
- entity:boolean
- entity:custom
- entity:datetime
- entity:enum
- entity:identifier
- entity:law
- entity:location
- entity:money
- entity:organization
- entity:party
- entity:percent
- entity:person
- entity:signature
- entity:term
- entity:timeperiod
- folder
- fragment:clause
- fragment:cluster
- generic:boolean
- generic:enum
- generic:number
- generic:text
- language
- page
- pagecount
- qa:antivirus
- qa:blankpage
- qa:contentextraction
- qa:emptycontent
- qa:encrypted
- qa:hiddencells
- qa:missingmodel
- qa:ocr
- qa:paragraphing
- qa:partiallyindexed
- qa:render
- qa:restrictedfileformat
- qa:unsupportedfileformat
- redacted
- search
- source:referenceid
- source:signed
- structure:group
- structure:metadata
- structure:pagebreak
- structure:paragraph:joined
- structure:paragraph:split
- structure:section
- title
- user
- usertag
annotationTypeKey:
name: key
in: query
description: Key used to identify the annotation
required: false
schema:
type: string
format: string
annotationTypeId:
name: annotation_type_id
in: query
description: annotationTypeId for a particular MatterAnnotation. Can be queried via the annotation_types
endpoint
required: false
schema:
type: integer
example: 64
minimum: 0
workflowId:
name: id
in: query
description: Unique Workflow ID
required: false
schema:
type: integer
format: int32
minimum: 0
annotationTypeOptions:
name: options
in: query
description: Options associated with the annotation, the options field will display available values
if the type is generic:enum.
required: false
schema:
type: array
items:
type: string
matterAnnotationId:
name: id
in: query
description: Annotation ID of an Annotation attached to a Matter
required: false
schema:
type: integer
format: int32
minimum: 0
matter-id:
name: matter-id
in: path
description: Matter Id
required: true
schema:
type: integer
format: int32
minimum: 0
limit:
name: limit
in: query
description: Maximum number of objects that can be retrieved.
required: false
schema:
type: integer
format: int32
minimum: 0
default: 50
annotationId:
name: id
in: query
description: Unique Annotation ID
required: false
schema:
type: integer
format: int32
minimum: 0
task-id:
name: task-id
in: path
description: Task ID
required: true
schema:
type: integer
format: int32
minimum: 0
createdBy:
name: created_by
in: query
description: User ID of Creator
required: false
schema:
type: integer
format: int32
minimum: 0
example: 4
annotationContent:
name: content
in: query
description: The content of a particular annotation, which will be a value depending on the annotation's
annotationTypeId
required: false
schema:
type: object
properties:
value:
type: string
example: Agreement
document-id:
name: document-id
in: path
description: Document ID
required: true
schema:
type: integer
format: int32
minimum: 0
annotationState:
name: state
in: query
description: State of the annotation
required: false
type: string
enum:
- active
- deleted
folder-id:
name: folder-id
in: path
description: Folder ID
required: true
schema:
type: integer
format: int32
minimum: 0
annotationRoles:
name: roles
in: query
description: There will only ever be a single value in the role field for annotations. This corresponds
to annotationTypeKey available when calling the /annotation_types endpoint
required: false
schema:
type: array
example:
- contract-effective
annotationTextId:
name: id
in: query
required: true
description: This parameter refers to the annotationId you wish to retrieve the underlying text
from the Document on. It should be repeated to return results from multiple annotationIds
schema:
type: integer
format: int32
example: 6238
createdAt:
name: created_at
in: query
description: Time of Creation
required: false
schema:
type: string
format: date-time
minimum: 0
example: '2021-10-25T11:58:31.879Z'
annotationTypePre-built:
name: pre-built
in: query
description: Whether this annotation is reflects an out-of-the-box Luminance concept ("True"), or
the concept has been created in your instance ("False")
required: false
schema:
type: boolean
default: none
annotation-id:
name: annotation-id
in: path
description: Annotation ID
required: true
# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/luminance/refs/heads/main/openapi/luminance-annotations-api-openapi.yml