f7cloud_client/apps/assistant/openapi.json
root 8b6a0139db f7cloud_client
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 22:59:26 +00:00

4811 lines
207 KiB
JSON

{
"openapi": "3.0.3",
"info": {
"title": "assistant",
"version": "0.0.1",
"description": "Process and transform text",
"license": {
"name": "agpl"
}
},
"components": {
"securitySchemes": {
"basic_auth": {
"type": "http",
"scheme": "basic"
},
"bearer_auth": {
"type": "http",
"scheme": "bearer"
}
},
"schemas": {
"ChatAgencyMessage": {
"allOf": [
{
"$ref": "#/components/schemas/ChatMessage"
},
{
"type": "object",
"required": [
"sessionAgencyPendingActions"
],
"properties": {
"sessionAgencyPendingActions": {
"type": "object",
"additionalProperties": {
"type": "object"
}
}
}
}
]
},
"ChatMessage": {
"type": "object",
"required": [
"id",
"session_id",
"role",
"content",
"timestamp",
"attachments",
"ocp_task_id",
"sources"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"session_id": {
"type": "integer",
"format": "int64"
},
"role": {
"type": "string"
},
"content": {
"type": "string"
},
"timestamp": {
"type": "integer",
"format": "int64"
},
"attachments": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"fileId"
],
"properties": {
"type": {
"type": "string"
},
"fileId": {
"type": "integer",
"format": "int64"
}
}
}
},
"ocp_task_id": {
"type": "integer",
"format": "int64"
},
"sources": {
"type": "string"
}
}
},
"ChatSession": {
"type": "object",
"required": [
"id",
"user_id",
"title",
"timestamp",
"agency_conversation_token",
"agency_pending_actions"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"user_id": {
"type": "string"
},
"title": {
"type": "string",
"nullable": true
},
"timestamp": {
"type": "integer",
"format": "int64",
"nullable": true
},
"agency_conversation_token": {
"type": "string",
"nullable": true
},
"agency_pending_actions": {
"type": "string",
"nullable": true
}
}
},
"ChatSessionCheck": {
"type": "object",
"required": [
"messageTaskId",
"titleTaskId",
"sessionTitle",
"sessionAgencyPendingActions"
],
"properties": {
"messageTaskId": {
"type": "integer",
"format": "int64",
"nullable": true
},
"titleTaskId": {
"type": "integer",
"format": "int64",
"nullable": true
},
"sessionTitle": {
"type": "string",
"nullable": true
},
"sessionAgencyPendingActions": {
"type": "object",
"nullable": true,
"additionalProperties": {
"type": "object"
}
}
}
},
"OCSMeta": {
"type": "object",
"required": [
"status",
"statuscode"
],
"properties": {
"status": {
"type": "string"
},
"statuscode": {
"type": "integer"
},
"message": {
"type": "string"
},
"totalitems": {
"type": "string"
},
"itemsperpage": {
"type": "string"
}
}
},
"PublicCapabilities": {
"type": "object",
"required": [
"assistant"
],
"properties": {
"assistant": {
"type": "object",
"required": [
"version"
],
"properties": {
"version": {
"type": "string"
},
"enabled": {
"type": "boolean"
}
}
},
"client_integration": {
"type": "object",
"additionalProperties": {
"type": "object",
"required": [
"version",
"context-menu"
],
"properties": {
"version": {
"type": "number",
"format": "double"
},
"context-menu": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"url",
"method",
"mimetype_filters",
"icon"
],
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string"
},
"method": {
"type": "string"
},
"mimetype_filters": {
"type": "string"
},
"icon": {
"type": "string"
}
}
}
}
}
}
}
}
},
"ShapeDescriptor": {
"type": "object",
"required": [
"name",
"description",
"type"
],
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"TaskProcessingTask": {
"type": "object",
"required": [
"appId",
"completionExpectedAt",
"customId",
"id",
"input",
"lastUpdated",
"output",
"progress",
"status",
"type",
"userId",
"endedAt",
"scheduledAt",
"startedAt"
],
"properties": {
"appId": {
"type": "string"
},
"completionExpectedAt": {
"type": "integer",
"format": "int64",
"nullable": true
},
"customId": {
"type": "string",
"nullable": true
},
"id": {
"type": "integer",
"format": "int64"
},
"input": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "array",
"items": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
},
{
"type": "number"
},
{
"type": "string"
}
]
}
},
"lastUpdated": {
"type": "integer",
"format": "int64"
},
"output": {
"type": "object",
"nullable": true,
"additionalProperties": {
"oneOf": [
{
"type": "array",
"items": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
},
{
"type": "number"
},
{
"type": "string"
}
]
}
},
"progress": {
"type": "number",
"format": "double",
"nullable": true
},
"status": {
"type": "string"
},
"type": {
"type": "string"
},
"userId": {
"type": "string",
"nullable": true
},
"endedAt": {
"type": "integer",
"format": "int64",
"nullable": true
},
"scheduledAt": {
"type": "integer",
"format": "int64",
"nullable": true
},
"startedAt": {
"type": "integer",
"format": "int64",
"nullable": true
}
}
},
"TaskProcessingTaskType": {
"type": "object",
"required": [
"id",
"name",
"description",
"inputShape",
"optionalInputShape",
"outputShape",
"optionalOutputShape",
"priority"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"inputShape": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/ShapeDescriptor"
}
},
"optionalInputShape": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/ShapeDescriptor"
}
},
"outputShape": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/ShapeDescriptor"
}
},
"optionalOutputShape": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/ShapeDescriptor"
}
},
"priority": {
"type": "integer",
"format": "int64"
}
}
}
}
},
"paths": {
"/ocs/v2.php/apps/assistant/api/{apiVersion}/task-types": {
"get": {
"operationId": "assistant_api-get-available-task-types",
"summary": "Get available task types",
"description": "Get all available task types that the assistant can handle.",
"tags": [
"task_management"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "apiVersion",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"v1"
],
"default": "v1"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "Available task types returned",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "object",
"required": [
"types"
],
"properties": {
"types": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskProcessingTaskType"
}
}
}
}
}
}
}
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/api/{apiVersion}/tasks": {
"get": {
"operationId": "assistant_api-get-user-tasks",
"summary": "Get user's tasks",
"description": "Get a list of assistant tasks for the current user.",
"tags": [
"task_management"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "apiVersion",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"v1"
],
"default": "v1"
}
},
{
"name": "taskTypeId",
"in": "query",
"description": "Task type id. If null, tasks of all task types will be retrieved",
"schema": {
"type": "string",
"nullable": true,
"default": null
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "User tasks returned",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "object",
"required": [
"tasks"
],
"properties": {
"tasks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TaskProcessingTask"
}
}
}
}
}
}
}
}
}
}
},
"404": {
"description": "No tasks found",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "string"
}
}
}
}
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/api/{apiVersion}/parse-file": {
"post": {
"operationId": "assistant_api-parse-text-from-file",
"summary": "Extract text from file",
"description": "Parse and extract text content of a file (if the file type is supported)",
"tags": [
"assistant_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"requestBody": {
"required": false,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"filePath": {
"type": "string",
"nullable": true,
"default": null,
"description": "Path of the file to parse in the user's storage"
},
"fileId": {
"type": "integer",
"format": "int64",
"nullable": true,
"default": null,
"description": "Id of the file to parse in the user's storage"
}
}
}
}
}
},
"parameters": [
{
"name": "apiVersion",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"v1"
],
"default": "v1"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "Text parsed from file successfully",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "object",
"required": [
"parsedText"
],
"properties": {
"parsedText": {
"type": "string"
}
}
}
}
}
}
}
}
}
},
"400": {
"description": "Parsing text from file is not possible",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "string"
}
}
}
}
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/api/{apiVersion}/task/{ocpTaskId}/notify": {
"get": {
"operationId": "assistant_api-get-notify-when-ready",
"summary": "Get the notification request for a task when it has finished",
"description": "Does not need bruteforce protection since we respond with success anyways as we don't want to keep the front-end waiting. However, we still use rate limiting to prevent timing attacks.",
"tags": [
"assistant_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "apiVersion",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"v1"
],
"default": "v1"
}
},
{
"name": "ocpTaskId",
"in": "path",
"description": "ID of the target task",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "Task notification request retrieved successfully",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "object",
"required": [
"id",
"ocp_task_id",
"timestamp"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"ocp_task_id": {
"type": "integer",
"format": "int64"
},
"timestamp": {
"type": "integer",
"format": "int64"
}
}
}
}
}
}
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
}
}
},
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
},
"post": {
"operationId": "assistant_api-notify-when-ready",
"summary": "Notify when the task has finished",
"description": "Does not need bruteforce protection since we respond with success anyways as we don't want to keep the front-end waiting. However, we still use rate limiting to prevent timing attacks.",
"tags": [
"assistant_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "apiVersion",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"v1"
],
"default": "v1"
}
},
{
"name": "ocpTaskId",
"in": "path",
"description": "ID of the target task",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "Ready notification enabled successfully",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "string"
}
}
}
}
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
}
}
},
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
},
"delete": {
"operationId": "assistant_api-cancel-notify-when-ready",
"summary": "Cancel an existing notification when a task has finished",
"description": "Does not need bruteforce protection since we respond with success anyways as we don't want to keep the front-end waiting. However, we still use rate limiting to prevent timing attacks.",
"tags": [
"assistant_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "apiVersion",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"v1"
],
"default": "v1"
}
},
{
"name": "ocpTaskId",
"in": "path",
"description": "ID of the target task",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "Ready notification deleted successfully",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "string"
}
}
}
}
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
}
}
},
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/api/{apiVersion}/input-file": {
"post": {
"operationId": "assistant_api-upload-input-file",
"summary": "Upload input file",
"description": "Upload an input file for a task that is being prepared",
"tags": [
"assistant_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"requestBody": {
"required": false,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"filename": {
"type": "string",
"nullable": true,
"default": null,
"description": "The input file name"
}
}
}
}
}
},
"parameters": [
{
"name": "apiVersion",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"v1"
],
"default": "v1"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The input file was uploaded",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "object",
"required": [
"fileId",
"filePath"
],
"properties": {
"fileId": {
"type": "integer",
"format": "int64"
},
"filePath": {
"type": "string"
}
}
}
}
}
}
}
}
}
},
"400": {
"description": "Impossible to upload an input file",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "string"
}
}
}
}
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/api/{apiVersion}/file/{fileId}/display": {
"get": {
"operationId": "assistant_api-display-user-file",
"summary": "Get a file of the current user",
"tags": [
"assistant_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "apiVersion",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"v1"
],
"default": "v1"
}
},
{
"name": "fileId",
"in": "path",
"description": "The ID of the file that is requested",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The file is returned",
"content": {
"*/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "The file was not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "object",
"required": [
"message"
],
"properties": {
"message": {
"type": "string"
}
}
}
}
}
}
}
}
}
},
"500": {
"description": "",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/api/{apiVersion}/file/{fileId}/info": {
"get": {
"operationId": "assistant_api-get-user-file-info",
"summary": "Get user file info",
"description": "Get information about a file of the current user",
"tags": [
"assistant_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "apiVersion",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"v1"
],
"default": "v1"
}
},
{
"name": "fileId",
"in": "path",
"description": "The file ID for which the info is requested",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The file info is returned",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "object",
"required": [
"name",
"path",
"owner",
"size"
],
"properties": {
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"owner": {
"type": "string"
},
"size": {
"type": "integer",
"format": "int64"
}
}
}
}
}
}
}
}
}
},
"404": {
"description": "The file was not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "object",
"required": [
"message"
],
"properties": {
"message": {
"type": "string"
}
}
}
}
}
}
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/api/{apiVersion}/task/{ocpTaskId}/file/{fileId}/share": {
"post": {
"operationId": "assistant_api-share-output-file",
"summary": "Share an output file",
"description": "Save and share a file that was produced by a task",
"tags": [
"assistant_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "apiVersion",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"v1"
],
"default": "v1"
}
},
{
"name": "ocpTaskId",
"in": "path",
"description": "The task ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "fileId",
"in": "path",
"description": "The file ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The file was saved and shared",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "object",
"required": [
"shareToken"
],
"properties": {
"shareToken": {
"type": "string"
}
}
}
}
}
}
}
}
}
},
"404": {
"description": "The file was not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
}
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/api/{apiVersion}/task/{ocpTaskId}/file/{fileId}/save": {
"post": {
"operationId": "assistant_api-save-output-file",
"summary": "Save an output file",
"description": "Save a file that was produced by a task",
"tags": [
"assistant_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "apiVersion",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"v1"
],
"default": "v1"
}
},
{
"name": "ocpTaskId",
"in": "path",
"description": "The task ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "fileId",
"in": "path",
"description": "The file ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The file was saved",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "object",
"required": [
"shareToken"
],
"properties": {
"shareToken": {
"type": "string"
}
}
}
}
}
}
}
}
}
},
"404": {
"description": "The file was not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
}
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/api/{apiVersion}/task/{ocpTaskId}/output-file/{fileId}/preview": {
"get": {
"operationId": "assistant_api-get-output-file-preview",
"summary": "Get task output file preview",
"description": "Generate and get a preview of a task output file",
"tags": [
"assistant_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "apiVersion",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"v1"
],
"default": "v1"
}
},
{
"name": "ocpTaskId",
"in": "path",
"description": "The task ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "fileId",
"in": "path",
"description": "The task output file ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "x",
"in": "query",
"description": "Optional preview width in pixels",
"schema": {
"type": "integer",
"format": "int64",
"nullable": true,
"default": 100
}
},
{
"name": "y",
"in": "query",
"description": "Optional preview height in pixels",
"schema": {
"type": "integer",
"format": "int64",
"nullable": true,
"default": 100
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The file preview has been generated and is returned",
"content": {
"*/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "The output file is not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "string"
}
}
}
}
}
}
}
},
"303": {
"description": "Fallback to the file type icon URL",
"headers": {
"Location": {
"schema": {
"type": "string"
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/api/{apiVersion}/task/{ocpTaskId}/output-file/{fileId}/download": {
"get": {
"operationId": "assistant_api-get-output-file",
"summary": "Get task output file",
"description": "Get a real task output file",
"tags": [
"assistant_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "apiVersion",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"v1"
],
"default": "v1"
}
},
{
"name": "ocpTaskId",
"in": "path",
"description": "The task ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "fileId",
"in": "path",
"description": "The task output file ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The file preview has been generated and is returned",
"content": {
"*/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"description": "The output file is not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "string"
}
}
}
}
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/api/{apiVersion}/file-action/{fileId}/{taskTypeId}": {
"post": {
"operationId": "assistant_api-run-file-action",
"summary": "Run a file action",
"description": "Launch a task to process a file and store the result in a new file in the same directory",
"tags": [
"assistant_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "apiVersion",
"in": "path",
"required": true,
"schema": {
"type": "string",
"enum": [
"v1"
],
"default": "v1"
}
},
{
"name": "fileId",
"in": "path",
"description": "The input file ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "taskTypeId",
"in": "path",
"description": "The task type of the operation to perform",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The task has been scheduled successfully",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "object",
"required": [
"version",
"tooltip"
],
"properties": {
"version": {
"type": "number",
"format": "double"
},
"tooltip": {
"type": "string"
}
}
}
}
}
}
}
}
}
},
"400": {
"description": "There was an issue while scheduling the task",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
}
}
}
}
},
"401": {
"description": "Current user is not logged in",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/chat/new_session": {
"put": {
"operationId": "chattyllm-new-session",
"summary": "Create chat session",
"description": "Create a new chat session, add a system message with user instructions",
"tags": [
"chat_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"timestamp"
],
"properties": {
"timestamp": {
"type": "integer",
"format": "int64",
"description": "The session creation date"
},
"title": {
"type": "string",
"nullable": true,
"default": null,
"description": "The session title"
}
}
}
}
}
},
"parameters": [
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "Chat session has been successfully created",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"session"
],
"properties": {
"session": {
"$ref": "#/components/schemas/ChatSession"
}
}
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
},
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"401": {
"description": "User is either not logged in or not found",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
]
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/chat/update_session": {
"patch": {
"operationId": "chattyllm-update-session-title",
"summary": "Update session title",
"description": "Update the title of a chat session",
"tags": [
"chat_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"sessionId",
"title"
],
"properties": {
"sessionId": {
"type": "integer",
"format": "int64",
"description": "The chat session ID"
},
"title": {
"type": "string",
"description": "The new chat session title"
}
}
}
}
}
},
"parameters": [
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The title has been updated successfully",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
},
"401": {
"description": "Not logged in",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
]
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/chat/delete_session": {
"delete": {
"operationId": "chattyllm-delete-session",
"summary": "Delete a chat session",
"description": "Delete a chat session by ID",
"tags": [
"chat_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "sessionId",
"in": "query",
"description": "The session ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The session has been deleted successfully",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
},
"401": {
"description": "Not logged in",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
]
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/chat/sessions": {
"get": {
"operationId": "chattyllm-get-sessions",
"summary": "Get chat sessions",
"description": "Get all chat sessions for the current user",
"tags": [
"chat_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The session list has been obtained successfully",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChatSession"
}
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
},
"401": {
"description": "Not logged in",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
]
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/chat/new_message": {
"put": {
"operationId": "chattyllm-new-message",
"summary": "Add a message",
"description": "Add a new chat message to the session",
"tags": [
"chat_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"sessionId",
"role",
"content",
"timestamp"
],
"properties": {
"sessionId": {
"type": "integer",
"format": "int64",
"description": "The chat session ID"
},
"role": {
"type": "string",
"description": "Role of the message (human, assistant etc...)"
},
"content": {
"type": "string",
"description": "Content of the message"
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "Date of the message"
},
"attachments": {
"type": "array",
"nullable": true,
"default": null,
"description": "List of attachment objects",
"items": {
"type": "object",
"required": [
"type",
"file_id"
],
"properties": {
"type": {
"type": "string"
},
"file_id": {
"type": "integer",
"format": "int64"
}
}
}
},
"firstHumanMessage": {
"type": "boolean",
"default": false,
"description": "Is it the first human message of the session?"
}
}
}
}
}
},
"parameters": [
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The session list has been obtained successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChatMessage"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
},
"401": {
"description": "Not logged in",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
]
}
}
}
},
"400": {
"description": "Message is malformed",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
},
"404": {
"description": "Session was not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/chat/delete_message": {
"delete": {
"operationId": "chattyllm-delete-message",
"summary": "Delete a message",
"description": "Delete a chat message by ID",
"tags": [
"chat_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "messageId",
"in": "query",
"description": "The message ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "sessionId",
"in": "query",
"description": "The session ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The message has been successfully deleted",
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
},
"401": {
"description": "Not logged in",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
]
}
}
}
},
"404": {
"description": "The session was not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/chat/messages": {
"get": {
"operationId": "chattyllm-get-messages",
"summary": "Get session messages",
"description": "Get chat messages for the session without the system message",
"tags": [
"chat_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "sessionId",
"in": "query",
"description": "The session ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "limit",
"in": "query",
"description": "The max number of messages to return",
"schema": {
"type": "integer",
"format": "int64",
"default": 20
}
},
{
"name": "cursor",
"in": "query",
"description": "The index of the first result to return",
"schema": {
"type": "integer",
"format": "int64",
"default": 0
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The message list has been successfully obtained",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChatMessage"
}
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
},
"401": {
"description": "Not logged in",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
]
}
}
}
},
"404": {
"description": "The session was not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/chat/sessions/{sessionId}/messages/{messageId}": {
"get": {
"operationId": "chattyllm-get-message",
"summary": "Get a message",
"description": "Get a chat message in a session",
"tags": [
"chat_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "sessionId",
"in": "path",
"description": "The session ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "messageId",
"in": "path",
"description": "The message ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The message has been successfully obtained",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChatMessage"
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
},
"401": {
"description": "Not logged in",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
]
}
}
}
},
"404": {
"description": "The session or the message was not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/chat/generate": {
"get": {
"operationId": "chattyllm-generate-for-session",
"summary": "Generate a new assistant message",
"description": "Schedule a task to generate a new message for a session",
"tags": [
"chat_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "sessionId",
"in": "query",
"description": "The session ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "agencyConfirm",
"in": "query",
"description": "Potential agency sensitive actions confirmation (1: accept, 0: reject)",
"schema": {
"type": "integer",
"format": "int64",
"default": 0
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The task has been successfully scheduled",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"taskId"
],
"properties": {
"taskId": {
"type": "integer",
"format": "int64"
}
}
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
},
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"401": {
"description": "Not logged in",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
]
}
}
}
},
"400": {
"description": "Task was not scheduled",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
},
"404": {
"description": "Session was not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/chat/regenerate": {
"get": {
"operationId": "chattyllm-regenerate-for-session",
"summary": "Regenerate response for a message",
"description": "Delete the message with the given message ID and all following ones, then schedule a task to generate a new message for the session",
"tags": [
"chat_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "sessionId",
"in": "query",
"description": "The chat session ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "messageId",
"in": "query",
"description": "The chat message ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The task has been successfully scheduled",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"taskId"
],
"properties": {
"taskId": {
"type": "integer",
"format": "int64"
}
}
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
},
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"401": {
"description": "Not logged in",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
]
}
}
}
},
"400": {
"description": "Task was not scheduled",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
},
"404": {
"description": "Session was not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/chat/check_session": {
"get": {
"operationId": "chattyllm-check-session",
"summary": "Check the status of a session",
"description": "Used by the frontend to determine if it should poll a generation task status.",
"tags": [
"chat_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "sessionId",
"in": "query",
"description": "The chat session ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The session status has been successfully obtained",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChatSessionCheck"
}
}
}
},
"401": {
"description": "Not logged in",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
]
}
}
}
},
"400": {
"description": "Task processing failed, impossible to check the related tasks",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
},
"404": {
"description": "Session was not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
},
"500": {
"description": "",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/chat/check_generation": {
"get": {
"operationId": "chattyllm-check-message-generation-task",
"summary": "Check the status of a generation task. The value of slow_pickup will be set to true if the task is not being picked up.",
"description": "Used by the frontend to poll a generation task status. If the task succeeds, a new message is stored and returned.",
"tags": [
"chat_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "taskId",
"in": "query",
"description": "The message generation task ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "sessionId",
"in": "query",
"description": "The chat session ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The task was successful, a message has been generated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ChatAgencyMessage"
}
}
}
},
"417": {
"description": "The task is still running or has not been picked up yet",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"task_status",
"slow_pickup"
],
"properties": {
"task_status": {
"type": "integer",
"format": "int64"
},
"slow_pickup": {
"type": "boolean"
}
}
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
},
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"401": {
"description": "Not logged in",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
]
}
}
}
},
"400": {
"description": "Task processing failed",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
},
"404": {
"description": "Session was not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/chat/generate_title": {
"get": {
"operationId": "chattyllm-generate-title",
"summary": "Generate a session title",
"description": "Schedule a task to generate a title for a chat session",
"tags": [
"chat_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "sessionId",
"in": "query",
"description": "The chat session ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "The task has been successfully scheduled",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"taskId"
],
"properties": {
"taskId": {
"type": "integer",
"format": "int64"
}
}
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
},
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"401": {
"description": "Not logged in",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
]
}
}
}
},
"400": {
"description": "Task was not scheduled",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
},
"404": {
"description": "Session was not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
}
}
}
},
"/ocs/v2.php/apps/assistant/chat/check_title_generation": {
"get": {
"operationId": "chattyllm-check-title-generation-task",
"summary": "Check the status of a title generation task",
"description": "Used by the frontend to poll a title generation task status. If the task succeeds, the new title is set and returned.",
"tags": [
"chat_api"
],
"security": [
{
"bearer_auth": []
},
{
"basic_auth": []
}
],
"parameters": [
{
"name": "taskId",
"in": "query",
"description": "The title generation task ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "sessionId",
"in": "query",
"description": "The chat session ID",
"required": true,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "OCS-APIRequest",
"in": "header",
"description": "Required to be true for the API request to pass",
"required": true,
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "Title has been successfully generated",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"result"
],
"properties": {
"result": {
"type": "string"
}
}
}
}
}
},
"417": {
"description": "The task is still running or has not been picked up yet",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"task_status"
],
"properties": {
"task_status": {
"type": "integer",
"format": "int64"
}
}
}
}
}
},
"500": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
},
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"401": {
"description": "Not logged in",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"ocs"
],
"properties": {
"ocs": {
"type": "object",
"required": [
"meta",
"data"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/OCSMeta"
},
"data": {}
}
}
}
}
]
}
}
}
},
"400": {
"description": "Task processing failed",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
},
"404": {
"description": "Session was not found",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
}
}
}
}
}
}
}
}
}
},
"tags": []
}