OpenAPI Specification
openapi: 3.1.0
info:
title: Biolevate Agent Files API
version: 1.0.0
description: Conversational agent jobs
servers:
- url: /
description: Biolevate Server
security:
- TOKEN: []
tags:
- name: Files
description: EliseFile resource management
paths:
/api/core/files:
get:
tags:
- Files
summary: List files in a provider
description: Returns paginated file infos for a provider
operationId: listFiles
parameters:
- name: providerId
in: query
description: Provider ID
required: true
schema:
type: string
- 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:
'403':
description: Access denied
content:
application/json:
schema:
$ref: '#/components/schemas/PageDataEliseFileInfo'
'200':
description: Successfully retrieved files
content:
application/json:
schema:
$ref: '#/components/schemas/PageDataEliseFileInfo'
'404':
description: Provider not found
content:
application/json:
schema:
$ref: '#/components/schemas/PageDataEliseFileInfo'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/PageDataEliseFileInfo'
post:
tags:
- Files
summary: Create a file
description: Creates an EliseFile from an existing provider item and triggers indexation
operationId: createFile
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateFileRequest'
required: true
responses:
'201':
description: File created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/EliseFileInfo'
'400':
description: Invalid request or unsupported file extension
content:
application/json:
schema:
$ref: '#/components/schemas/EliseFileInfo'
'404':
description: File not found in provider
content:
application/json:
schema:
$ref: '#/components/schemas/EliseFileInfo'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/EliseFileInfo'
/api/core/files/{id}/reindex:
post:
tags:
- Files
summary: Reindex a file
description: Forces reindexation of a file. Optionally reparses the document.
operationId: reindexFile
parameters:
- name: id
in: path
description: File ID
required: true
schema:
type: string
- name: reparse
in: query
description: Reparse document content
required: false
schema:
type: boolean
default: false
responses:
'202':
description: Reindexation started
'403':
description: Access denied
'404':
description: File not found
'401':
description: Unauthorized
/api/core/files/{id}/recompute-ontologies:
post:
tags:
- Files
summary: Recompute file ontologies
description: Forces recomputation of ontologies and metadata for a file
operationId: recomputeFileOntologies
parameters:
- name: id
in: path
description: File ID
required: true
schema:
type: string
responses:
'403':
description: Access denied
'202':
description: Ontology recomputation started
'404':
description: File not found
'401':
description: Unauthorized
/api/core/files/{id}:
get:
tags:
- Files
summary: Get a file
description: Returns a file by its ID
operationId: getFile
parameters:
- name: id
in: path
description: File ID
required: true
schema:
type: string
responses:
'403':
description: Access denied
content:
application/json:
schema:
$ref: '#/components/schemas/EliseFileInfo'
'200':
description: Successfully retrieved file
content:
application/json:
schema:
$ref: '#/components/schemas/EliseFileInfo'
'404':
description: File not found
content:
application/json:
schema:
$ref: '#/components/schemas/EliseFileInfo'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/EliseFileInfo'
delete:
tags:
- Files
summary: Delete a file
description: Deletes a file
operationId: deleteFile
parameters:
- name: id
in: path
description: File ID
required: true
schema:
type: string
responses:
'403':
description: Access denied
'204':
description: File deleted successfully
'404':
description: File not found
'401':
description: Unauthorized
/api/core/files/{id}/ontologies:
get:
tags:
- Files
summary: Get file ontologies
description: Returns computed ontologies for a file
operationId: getFileOntologies
parameters:
- name: id
in: path
description: File ID
required: true
schema:
type: string
responses:
'403':
description: Access denied
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/EliseOntology'
'200':
description: Successfully retrieved ontologies
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/EliseOntology'
'404':
description: File not found
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/EliseOntology'
'401':
description: Unauthorized
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/EliseOntology'
components:
schemas:
EliseOntology:
type: object
properties:
conceptId:
$ref: '#/components/schemas/EntityId'
name:
type: string
metas:
type: object
additionalProperties:
$ref: '#/components/schemas/EliseOntologyMeta'
required:
- conceptId
- name
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
ProviderId:
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
PolicyId:
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
UserId:
type: object
properties:
id:
type: string
JsonNode:
type: object
CreateFileRequest:
type: object
description: Request to create EliseFile from provider item
properties:
providerId:
type: string
description: Source provider ID
example: 01a91a21-3136-4094-96da-ded4dce3824f
key:
type: string
description: Full file key (must not end with '/')
example: documents/report.pdf
required:
- key
- providerId
LastMergeJobInfo:
type: object
properties:
id:
type: string
status:
type: string
EliseFileInfo:
type: object
properties:
id:
$ref: '#/components/schemas/FileId'
createdTime:
type: integer
format: int64
owner:
$ref: '#/components/schemas/UserId'
policy:
$ref: '#/components/schemas/PolicyId'
providerId:
$ref: '#/components/schemas/ProviderId'
name:
type: string
path:
type: string
size:
type: integer
format: int64
checksum:
type: string
mediaType:
type: string
extension:
type: string
indexed:
type: boolean
matchComputed:
type: boolean
displayName:
type: string
dbName:
type: string
lastIndexationInfos:
$ref: '#/components/schemas/LibItemIndexationInfos'
ownerFirstName:
type: string
ownerLastName:
type: string
ownerEmail:
type: string
ownerAvatarUrl:
type: string
providerName:
type: string
additionalInfo:
$ref: '#/components/schemas/JsonNode'
description:
type: string
authors:
type: string
title:
type: string
lastMergeJob:
$ref: '#/components/schemas/LastMergeJobInfo'
additionalInfos:
$ref: '#/components/schemas/JsonNode'
writeOnly: true
type:
type: string
enum:
- FILE
- FOLDER
- ELISE_FILE
FileId:
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
EliseOntologyMeta:
type: object
properties:
explanation:
type: string
annotationIds:
type: array
items:
$ref: '#/components/schemas/AnnotationId'
metaName:
type: string
metaValue:
type: object
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
PageDataEliseFileInfo:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/EliseFileInfo'
totalPages:
type: integer
format: int32
totalElements:
type: integer
format: int64
hasNext:
type: boolean
LibItemIndexationInfos:
type: object
properties:
status:
type: string
enum:
- SUCCESS
- FAILED
- ABORTED
- RUNNING
- PENDING
errorMessage:
type: string
errorTraceback:
type: string
securitySchemes:
TOKEN:
type: http
scheme: bearer
bearerFormat: JWT