Biolevate Multi-Dimensional Extraction API
Multi-dimensional (entity / schema-based) extraction resource management
Multi-dimensional (entity / schema-based) extraction resource management
openapi: 3.1.0
info:
title: Biolevate Agent Multi-Dimensional Extraction API
version: 1.0.0
description: Conversational agent jobs
servers:
- url: /
description: Biolevate Server
security:
- TOKEN: []
tags:
- name: Multi-Dimensional Extraction
description: Multi-dimensional (entity / schema-based) extraction resource management
paths:
/api/core/multi-dim-extraction/jobs:
get:
tags:
- Multi-Dimensional Extraction
summary: List multi-dimensional extraction jobs
description: Returns a paginated list of multi-dimensional extraction jobs for the current user
operationId: listMDEJobs
parameters:
- name: pageSize
in: query
description: Page size
required: true
schema:
type: integer
format: int32
- name: page
in: query
description: Page number
required: true
schema:
type: integer
format: int32
- name: sortProperty
in: query
description: Sort property
required: false
schema:
type: string
- name: sortOrder
in: query
description: Sort order
required: false
schema:
type: string
responses:
'200':
description: Successfully retrieved jobs
content:
'*/*':
schema:
$ref: '#/components/schemas/PageDataJob'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/PageDataJob'
post:
tags:
- Multi-Dimensional Extraction
summary: Create multi-dimensional extraction job
description: Creates a new entity extraction job using a structured schema (multi-column) on the specified files
operationId: createMDEJob
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateMDERequest'
required: true
responses:
'403':
description: Access denied
content:
'*/*':
schema:
$ref: '#/components/schemas/Job'
'200':
description: Job created successfully
content:
'*/*':
schema:
$ref: '#/components/schemas/Job'
'400':
description: Invalid request
content:
'*/*':
schema:
$ref: '#/components/schemas/Job'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/Job'
/api/core/multi-dim-extraction/jobs/{jobId}:
get:
tags:
- Multi-Dimensional Extraction
summary: Get multi-dimensional extraction job
description: Returns a single multi-dimensional extraction job by its ID
operationId: getMDEJob
parameters:
- name: jobId
in: path
description: The job Id
required: true
schema:
type: string
responses:
'200':
description: Successfully retrieved job
content:
'*/*':
schema:
$ref: '#/components/schemas/Job'
'403':
description: Access denied - not the job owner
content:
'*/*':
schema:
$ref: '#/components/schemas/Job'
'404':
description: Job not found
content:
'*/*':
schema:
$ref: '#/components/schemas/Job'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/Job'
/api/core/multi-dim-extraction/jobs/{jobId}/results:
get:
tags:
- Multi-Dimensional Extraction
summary: Get multi-dimensional extraction job outputs
description: Returns the entity extraction results from the multi-dimensional extraction job
operationId: getMDEJobOutputs
parameters:
- name: jobId
in: path
description: The job Id
required: true
schema:
type: string
responses:
'403':
description: Access denied - not the job owner
content:
'*/*':
schema:
$ref: '#/components/schemas/MDEJobOutputs'
'200':
description: Successfully retrieved outputs
content:
'*/*':
schema:
$ref: '#/components/schemas/MDEJobOutputs'
'404':
description: Job not found
content:
'*/*':
schema:
$ref: '#/components/schemas/MDEJobOutputs'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/MDEJobOutputs'
/api/core/multi-dim-extraction/jobs/{jobId}/inputs:
get:
tags:
- Multi-Dimensional Extraction
summary: Get multi-dimensional extraction job inputs
description: Returns the input files and entity schema used for the multi-dimensional extraction job
operationId: getMDEJobInputs
parameters:
- name: jobId
in: path
description: The job Id
required: true
schema:
type: string
responses:
'403':
description: Access denied - not the job owner
content:
'*/*':
schema:
$ref: '#/components/schemas/MDEJobInputs'
'200':
description: Successfully retrieved inputs
content:
'*/*':
schema:
$ref: '#/components/schemas/MDEJobInputs'
'404':
description: Job not found
content:
'*/*':
schema:
$ref: '#/components/schemas/MDEJobInputs'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/MDEJobInputs'
/api/core/multi-dim-extraction/jobs/{jobId}/annotations:
get:
tags:
- Multi-Dimensional Extraction
summary: Get multi-dimensional extraction job annotations
description: Returns the document annotations generated by the multi-dimensional extraction job
operationId: getMDEJobAnnotations
parameters:
- name: jobId
in: path
description: The job Id
required: true
schema:
type: string
responses:
'403':
description: Access denied - not the job owner
content:
'*/*':
schema:
type: array
items:
$ref: '#/components/schemas/EliseAnnotation'
'200':
description: Successfully retrieved annotations
content:
'*/*':
schema:
type: array
items:
$ref: '#/components/schemas/EliseAnnotation'
'404':
description: Job not found
content:
'*/*':
schema:
type: array
items:
$ref: '#/components/schemas/EliseAnnotation'
'401':
description: Unauthorized
content:
'*/*':
schema:
type: array
items:
$ref: '#/components/schemas/EliseAnnotation'
components:
schemas:
EntityId:
type: object
properties:
id:
type: string
format: uuid
entityType:
type: string
enum:
- POLICY
- PROJECT
- COLLECTION
- PROVIDER
- FILE
- PROCESSOR
- JOB
- PRESET
- EDITABLE_DOCUMENT
- REVIEW
- COLLECTION_DERIVATION
- REVIEW_REQUEST
- MILESTONE
- INSIGHT
- CONCEPT_NOTE
- ANNOTATION
- BIBLIO_SEARCH
- SEARCH_DOWNLOAD
- INSIGHT_CELL_FILTER
- INSIGHT_CELL_SORTING
- INSIGHT_CELL_FORMAT
- INSIGHT_GROUP
- INSIGHTS_TABLE_CONFIG
- INSIGHTS_TABLE_TEMPLATE
- SEARCH_REMOVAL
- COMMENT_THREAD
- COMMENT
- SMART_REVIEW
- RIS_IMPORT_JOB
- FORGE_WORKFLOW
- COLLECTION_VIEW
- SUB_COLLECTION_JOB
- PROJECT_LABEL
- PROJECT_GROUP
EliseEntityColumnInput:
type: object
properties:
key:
type: string
label:
type: string
type:
type: string
enum:
- ENTITY_COLUMN_TYPE_UNSPECIFIED
- ENTITY_COLUMN_TYPE_STRING
- ENTITY_COLUMN_TYPE_INT
- ENTITY_COLUMN_TYPE_FLOAT
- ENTITY_COLUMN_TYPE_BOOL
role:
type: string
enum:
- ENTITY_COLUMN_ROLE_UNSPECIFIED
- ENTITY_COLUMN_ROLE_IDENTIFIER
- ENTITY_COLUMN_ROLE_LABEL
- ENTITY_COLUMN_ROLE_GROUP
- ENTITY_COLUMN_ROLE_TIMEPOINT
- ENTITY_COLUMN_ROLE_VALUE
- ENTITY_COLUMN_ROLE_UNIT
- ENTITY_COLUMN_ROLE_DEFINITION
- ENTITY_COLUMN_ROLE_COMMENT
description:
type: string
allowedValues:
type: array
items:
type: string
isRowKey:
type: boolean
JobLaunchConfig:
type: object
description: Optional job launch behaviour for input files
properties:
skip_unindexed_files:
type: boolean
description: 'When false or omitted, the request is rejected if any input file is not indexed. When true, unindexed files are excluded and the job runs on indexed files only.
'
example: false
Job:
type: object
properties:
jobId:
type: string
status:
type: string
enum:
- SUCCESS
- FAILED
- ABORTED
- RUNNING
- PENDING
taskType:
type: string
createdTime:
type: integer
format: int64
executionTime:
type: number
format: double
errorMessage:
type: string
name:
type: string
archived:
type: boolean
EliseEntityCellResult:
type: object
properties:
columnKey:
type: string
value:
type: object
explanation:
type: string
referenceIds:
type: array
items:
$ref: '#/components/schemas/AnnotationId'
EliseEntitySchemaInput:
type: object
properties:
name:
type: string
description:
type: string
columns:
type: array
items:
$ref: '#/components/schemas/EliseEntityColumnInput'
FilesInput:
type: object
properties:
fileIds:
type: array
items:
type: string
collectionIds:
type: array
items:
type: string
EliseEntityRowResult:
type: object
properties:
cells:
type: array
items:
$ref: '#/components/schemas/EliseEntityCellResult'
explanation:
type: string
referenceIds:
type: array
items:
$ref: '#/components/schemas/AnnotationId'
EliseAnnotation:
type: object
properties:
id:
$ref: '#/components/schemas/AnnotationId'
createdTime:
type: integer
format: int64
owner:
$ref: '#/components/schemas/UserId'
space:
$ref: '#/components/schemas/EntityId'
data:
$ref: '#/components/schemas/EliseAnnotationConfig'
type:
type: string
enum:
- DOCUMENT_STATEMENT
- WEB_STATEMENT
- ENTIRE_DOCUMENT_STATEMENT
- EXTERNAL_DOCUMENT_STATEMENT
- KNOWLEDGE_STATEMENT
- REVIEW_STATEMENT
modifiedTime:
type: integer
format: int64
lastModifier:
$ref: '#/components/schemas/UserId'
status:
type: string
enum:
- VALID
- NOTVALID
UserId:
type: object
properties:
id:
type: string
EliseAnnotationConfig:
type: object
discriminator:
propertyName: type
mapping:
DOCUMENT_STATEMENT: '#/components/schemas/EliseDocumentStatement'
EXTERNAL_DOCUMENT_STATEMENT: '#/components/schemas/EliseExternalDocumentStatement'
WEB_STATEMENT: '#/components/schemas/EliseWebStatement'
KNOWLEDGE_STATEMENT: '#/components/schemas/EliseKnowledgeStatement'
ENTIRE_DOCUMENT_STATEMENT: '#/components/schemas/EliseFullDocumentStatement'
REVIEW_STATEMENT: '#/components/schemas/EliseReviewComment'
properties:
type:
type: string
enum:
- DOCUMENT_STATEMENT
- WEB_STATEMENT
- ENTIRE_DOCUMENT_STATEMENT
- EXTERNAL_DOCUMENT_STATEMENT
- KNOWLEDGE_STATEMENT
- REVIEW_STATEMENT
AnnotationId:
type: object
properties:
id:
type: string
format: uuid
entityType:
type: string
enum:
- POLICY
- PROJECT
- COLLECTION
- PROVIDER
- FILE
- PROCESSOR
- JOB
- PRESET
- EDITABLE_DOCUMENT
- REVIEW
- COLLECTION_DERIVATION
- REVIEW_REQUEST
- MILESTONE
- INSIGHT
- CONCEPT_NOTE
- ANNOTATION
- BIBLIO_SEARCH
- SEARCH_DOWNLOAD
- INSIGHT_CELL_FILTER
- INSIGHT_CELL_SORTING
- INSIGHT_CELL_FORMAT
- INSIGHT_GROUP
- INSIGHTS_TABLE_CONFIG
- INSIGHTS_TABLE_TEMPLATE
- SEARCH_REMOVAL
- COMMENT_THREAD
- COMMENT
- SMART_REVIEW
- RIS_IMPORT_JOB
- FORGE_WORKFLOW
- COLLECTION_VIEW
- SUB_COLLECTION_JOB
- PROJECT_LABEL
- PROJECT_GROUP
EliseEntityExtractionResult:
type: object
properties:
metaId:
type: string
format: uuid
meta:
type: string
schema:
$ref: '#/components/schemas/EliseEntitySchemaInput'
rows:
type: array
items:
$ref: '#/components/schemas/EliseEntityRowResult'
explanation:
type: string
referenceIds:
type: array
items:
$ref: '#/components/schemas/AnnotationId'
MDEJobInputs:
type: object
properties:
files:
$ref: '#/components/schemas/FilesInput'
schema:
$ref: '#/components/schemas/EliseEntitySchemaInput'
MDEJobOutputs:
type: object
properties:
entityExtraction:
$ref: '#/components/schemas/EliseEntityExtractionResult'
PageDataJob:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Job'
totalPages:
type: integer
format: int32
totalElements:
type: integer
format: int64
hasNext:
type: boolean
CreateMDERequest:
type: object
properties:
files:
$ref: '#/components/schemas/FilesInput'
schema:
$ref: '#/components/schemas/EliseEntitySchemaInput'
config:
$ref: '#/components/schemas/JobLaunchConfig'
securitySchemes:
TOKEN:
type: http
scheme: bearer
bearerFormat: JWT