2025-11-07 14:08:11 +08:00
{
"openapi" : "3.0.3" ,
"info" : {
"title" : "LangBot API with API Key Authentication" ,
"description" : "LangBot external service API documentation. These endpoints support API Key authentication \nfor external systems to programmatically access LangBot resources.\n\n**Authentication Methods:**\n- User Token (via `Authorization: Bearer <token>`)\n- API Key (via `X-API-Key: <key>` or `Authorization: Bearer <key>`)\n\nAll endpoints documented here accept BOTH authentication methods.\n" ,
2025-11-10 22:50:10 +08:00
"version" : "4.5.0" ,
2025-11-07 14:08:11 +08:00
"contact" : {
"name" : "LangBot" ,
"url" : "https://langbot.app"
} ,
"license" : {
"name" : "AGPL-3.0" ,
"url" : "https://github.com/langbot-app/LangBot/blob/master/LICENSE"
}
} ,
"servers" : [
{
"url" : "http://localhost:5300" ,
"description" : "Local development server"
}
] ,
"tags" : [
{
"name" : "Models - LLM" ,
"description" : "Large Language Model management operations"
} ,
{
"name" : "Models - Embedding" ,
"description" : "Embedding model management operations"
} ,
{
"name" : "Bots" ,
"description" : "Bot instance management operations"
} ,
{
"name" : "Pipelines" ,
"description" : "Pipeline configuration management operations"
}
] ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"paths" : {
"/api/v1/provider/models/llm" : {
"get" : {
"tags" : [
"Models - LLM"
] ,
"summary" : "List all LLM models" ,
"description" : "Retrieve a list of all configured LLM models" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"responses" : {
"200" : {
"description" : "Successful response" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "object" ,
"properties" : {
"code" : {
"type" : "integer" ,
"example" : 0
} ,
"msg" : {
"type" : "string" ,
"example" : "ok"
} ,
"data" : {
"type" : "object" ,
"properties" : {
"models" : {
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/LLMModel"
}
}
}
}
}
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
}
}
} ,
"post" : {
"tags" : [
"Models - LLM"
] ,
"summary" : "Create a new LLM model" ,
"description" : "Create and configure a new LLM model" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"requestBody" : {
"required" : true ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/LLMModelCreate"
}
}
}
} ,
"responses" : {
"200" : {
"description" : "Model created successfully" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "object" ,
"properties" : {
"code" : {
"type" : "integer" ,
"example" : 0
} ,
"msg" : {
"type" : "string" ,
"example" : "ok"
} ,
"data" : {
"type" : "object" ,
"properties" : {
"uuid" : {
"type" : "string" ,
"format" : "uuid" ,
"example" : "550e8400-e29b-41d4-a716-446655440000"
}
}
}
}
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
} ,
"500" : {
"$ref" : "#/components/responses/InternalServerError"
}
}
}
} ,
"/api/v1/provider/models/llm/{model_uuid}" : {
"get" : {
"tags" : [
"Models - LLM"
] ,
"summary" : "Get a specific LLM model" ,
"description" : "Retrieve details of a specific LLM model by UUID" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"parameters" : [
{
"$ref" : "#/components/parameters/ModelUUID"
}
] ,
"responses" : {
"200" : {
"description" : "Successful response" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "object" ,
"properties" : {
"code" : {
"type" : "integer" ,
"example" : 0
} ,
"msg" : {
"type" : "string" ,
"example" : "ok"
} ,
"data" : {
"type" : "object" ,
"properties" : {
"model" : {
"$ref" : "#/components/schemas/LLMModel"
}
}
}
}
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
} ,
"404" : {
"$ref" : "#/components/responses/NotFoundError"
}
}
} ,
"put" : {
"tags" : [
"Models - LLM"
] ,
"summary" : "Update an LLM model" ,
"description" : "Update the configuration of an existing LLM model" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"parameters" : [
{
"$ref" : "#/components/parameters/ModelUUID"
}
] ,
"requestBody" : {
"required" : true ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/LLMModelUpdate"
}
}
}
} ,
"responses" : {
"200" : {
"description" : "Model updated successfully" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SuccessResponse"
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
} ,
"404" : {
"$ref" : "#/components/responses/NotFoundError"
}
}
} ,
"delete" : {
"tags" : [
"Models - LLM"
] ,
"summary" : "Delete an LLM model" ,
"description" : "Remove an LLM model from the system" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"parameters" : [
{
"$ref" : "#/components/parameters/ModelUUID"
}
] ,
"responses" : {
"200" : {
"description" : "Model deleted successfully" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SuccessResponse"
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
} ,
"404" : {
"$ref" : "#/components/responses/NotFoundError"
}
}
}
} ,
"/api/v1/provider/models/llm/{model_uuid}/test" : {
"post" : {
"tags" : [
"Models - LLM"
] ,
"summary" : "Test an LLM model" ,
"description" : "Test the connectivity and functionality of an LLM model" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"parameters" : [
{
"$ref" : "#/components/parameters/ModelUUID"
}
] ,
"requestBody" : {
"required" : true ,
"content" : {
"application/json" : {
"schema" : {
"type" : "object" ,
"description" : "Model configuration to test"
}
}
}
} ,
"responses" : {
"200" : {
"description" : "Model test successful" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SuccessResponse"
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
} ,
"404" : {
"$ref" : "#/components/responses/NotFoundError"
} ,
"500" : {
"$ref" : "#/components/responses/InternalServerError"
}
}
}
} ,
"/api/v1/provider/models/embedding" : {
"get" : {
"tags" : [
"Models - Embedding"
] ,
"summary" : "List all embedding models" ,
"description" : "Retrieve a list of all configured embedding models" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"responses" : {
"200" : {
"description" : "Successful response" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "object" ,
"properties" : {
"code" : {
"type" : "integer" ,
"example" : 0
} ,
"msg" : {
"type" : "string" ,
"example" : "ok"
} ,
"data" : {
"type" : "object" ,
"properties" : {
"models" : {
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/EmbeddingModel"
}
}
}
}
}
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
}
}
} ,
"post" : {
"tags" : [
"Models - Embedding"
] ,
"summary" : "Create a new embedding model" ,
"description" : "Create and configure a new embedding model" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"requestBody" : {
"required" : true ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmbeddingModelCreate"
}
}
}
} ,
"responses" : {
"200" : {
"description" : "Model created successfully" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "object" ,
"properties" : {
"code" : {
"type" : "integer" ,
"example" : 0
} ,
"msg" : {
"type" : "string" ,
"example" : "ok"
} ,
"data" : {
"type" : "object" ,
"properties" : {
"uuid" : {
"type" : "string" ,
"format" : "uuid"
}
}
}
}
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
}
}
}
} ,
"/api/v1/provider/models/embedding/{model_uuid}" : {
"get" : {
"tags" : [
"Models - Embedding"
] ,
"summary" : "Get a specific embedding model" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"parameters" : [
{
"$ref" : "#/components/parameters/ModelUUID"
}
] ,
"responses" : {
"200" : {
"description" : "Successful response" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "object" ,
"properties" : {
"code" : {
"type" : "integer" ,
"example" : 0
} ,
"msg" : {
"type" : "string" ,
"example" : "ok"
} ,
"data" : {
"type" : "object" ,
"properties" : {
"model" : {
"$ref" : "#/components/schemas/EmbeddingModel"
}
}
}
}
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
} ,
"404" : {
"$ref" : "#/components/responses/NotFoundError"
}
}
} ,
"put" : {
"tags" : [
"Models - Embedding"
] ,
"summary" : "Update an embedding model" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"parameters" : [
{
"$ref" : "#/components/parameters/ModelUUID"
}
] ,
"requestBody" : {
"required" : true ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/EmbeddingModelUpdate"
}
}
}
} ,
"responses" : {
"200" : {
"description" : "Model updated successfully" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SuccessResponse"
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
} ,
"404" : {
"$ref" : "#/components/responses/NotFoundError"
}
}
} ,
"delete" : {
"tags" : [
"Models - Embedding"
] ,
"summary" : "Delete an embedding model" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"parameters" : [
{
"$ref" : "#/components/parameters/ModelUUID"
}
] ,
"responses" : {
"200" : {
"description" : "Model deleted successfully" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SuccessResponse"
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
} ,
"404" : {
"$ref" : "#/components/responses/NotFoundError"
}
}
}
} ,
"/api/v1/provider/models/embedding/{model_uuid}/test" : {
"post" : {
"tags" : [
"Models - Embedding"
] ,
"summary" : "Test an embedding model" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"parameters" : [
{
"$ref" : "#/components/parameters/ModelUUID"
}
] ,
"requestBody" : {
"required" : true ,
"content" : {
"application/json" : {
"schema" : {
"type" : "object"
}
}
}
} ,
"responses" : {
"200" : {
"description" : "Model test successful" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SuccessResponse"
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
} ,
"404" : {
"$ref" : "#/components/responses/NotFoundError"
}
}
}
} ,
"/api/v1/platform/bots" : {
"get" : {
"tags" : [
"Bots"
] ,
"summary" : "List all bots" ,
"description" : "Retrieve a list of all configured bot instances" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"responses" : {
"200" : {
"description" : "Successful response" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "object" ,
"properties" : {
"code" : {
"type" : "integer" ,
"example" : 0
} ,
"msg" : {
"type" : "string" ,
"example" : "ok"
} ,
"data" : {
"type" : "object" ,
"properties" : {
"bots" : {
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/Bot"
}
}
}
}
}
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
}
}
} ,
"post" : {
"tags" : [
"Bots"
] ,
"summary" : "Create a new bot" ,
"description" : "Create and configure a new bot instance" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"requestBody" : {
"required" : true ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/BotCreate"
}
}
}
} ,
"responses" : {
"200" : {
"description" : "Bot created successfully" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "object" ,
"properties" : {
"code" : {
"type" : "integer" ,
"example" : 0
} ,
"msg" : {
"type" : "string" ,
"example" : "ok"
} ,
"data" : {
"type" : "object" ,
"properties" : {
"uuid" : {
"type" : "string" ,
"format" : "uuid"
}
}
}
}
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
}
}
}
} ,
"/api/v1/platform/bots/{bot_uuid}" : {
"get" : {
"tags" : [
"Bots"
] ,
"summary" : "Get a specific bot" ,
"description" : "Retrieve details of a specific bot instance" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"parameters" : [
{
"name" : "bot_uuid" ,
"in" : "path" ,
"required" : true ,
"schema" : {
"type" : "string" ,
"format" : "uuid"
} ,
"description" : "Bot UUID"
}
] ,
"responses" : {
"200" : {
"description" : "Successful response" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "object" ,
"properties" : {
"code" : {
"type" : "integer" ,
"example" : 0
} ,
"msg" : {
"type" : "string" ,
"example" : "ok"
} ,
"data" : {
"type" : "object" ,
"properties" : {
"bot" : {
"$ref" : "#/components/schemas/Bot"
}
}
}
}
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
} ,
"404" : {
"$ref" : "#/components/responses/NotFoundError"
}
}
} ,
"put" : {
"tags" : [
"Bots"
] ,
"summary" : "Update a bot" ,
"description" : "Update the configuration of an existing bot instance" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"parameters" : [
{
"name" : "bot_uuid" ,
"in" : "path" ,
"required" : true ,
"schema" : {
"type" : "string" ,
"format" : "uuid"
}
}
] ,
"requestBody" : {
"required" : true ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/BotUpdate"
}
}
}
} ,
"responses" : {
"200" : {
"description" : "Bot updated successfully" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SuccessResponse"
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
} ,
"404" : {
"$ref" : "#/components/responses/NotFoundError"
}
}
} ,
"delete" : {
"tags" : [
"Bots"
] ,
"summary" : "Delete a bot" ,
"description" : "Remove a bot instance from the system" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"parameters" : [
{
"name" : "bot_uuid" ,
"in" : "path" ,
"required" : true ,
"schema" : {
"type" : "string" ,
"format" : "uuid"
}
}
] ,
"responses" : {
"200" : {
"description" : "Bot deleted successfully" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SuccessResponse"
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
} ,
"404" : {
"$ref" : "#/components/responses/NotFoundError"
}
}
}
} ,
"/api/v1/platform/bots/{bot_uuid}/logs" : {
"post" : {
"tags" : [
"Bots"
] ,
"summary" : "Get bot event logs" ,
"description" : "Retrieve event logs for a specific bot" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"parameters" : [
{
"name" : "bot_uuid" ,
"in" : "path" ,
"required" : true ,
"schema" : {
"type" : "string" ,
"format" : "uuid"
}
}
] ,
"requestBody" : {
"required" : true ,
"content" : {
"application/json" : {
"schema" : {
"type" : "object" ,
"properties" : {
"from_index" : {
"type" : "integer" ,
"default" : -1 ,
"description" : "Starting index for logs (-1 for latest)"
} ,
"max_count" : {
"type" : "integer" ,
"default" : 10 ,
"description" : "Maximum number of logs to retrieve"
}
}
}
}
}
} ,
"responses" : {
"200" : {
"description" : "Successful response" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "object" ,
"properties" : {
"code" : {
"type" : "integer" ,
"example" : 0
} ,
"msg" : {
"type" : "string" ,
"example" : "ok"
} ,
"data" : {
"type" : "object" ,
"properties" : {
"logs" : {
"type" : "array" ,
"items" : {
"type" : "object"
}
} ,
"total_count" : {
"type" : "integer"
}
}
}
}
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
}
}
}
} ,
"/api/v1/pipelines" : {
"get" : {
"tags" : [
"Pipelines"
] ,
"summary" : "List all pipelines" ,
"description" : "Retrieve a list of all configured pipelines" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"parameters" : [
{
"name" : "sort_by" ,
"in" : "query" ,
"schema" : {
"type" : "string" ,
"default" : "created_at"
} ,
"description" : "Field to sort by"
} ,
{
"name" : "sort_order" ,
"in" : "query" ,
"schema" : {
"type" : "string" ,
"enum" : [
"ASC" ,
"DESC"
] ,
"default" : "DESC"
} ,
"description" : "Sort order"
}
] ,
"responses" : {
"200" : {
"description" : "Successful response" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "object" ,
"properties" : {
"code" : {
"type" : "integer" ,
"example" : 0
} ,
"msg" : {
"type" : "string" ,
"example" : "ok"
} ,
"data" : {
"type" : "object" ,
"properties" : {
"pipelines" : {
"type" : "array" ,
"items" : {
"$ref" : "#/components/schemas/Pipeline"
}
}
}
}
}
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
}
}
} ,
"post" : {
"tags" : [
"Pipelines"
] ,
"summary" : "Create a new pipeline" ,
"description" : "Create and configure a new pipeline" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"requestBody" : {
"required" : true ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/PipelineCreate"
}
}
}
} ,
"responses" : {
"200" : {
"description" : "Pipeline created successfully" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "object" ,
"properties" : {
"code" : {
"type" : "integer" ,
"example" : 0
} ,
"msg" : {
"type" : "string" ,
"example" : "ok"
} ,
"data" : {
"type" : "object" ,
"properties" : {
"uuid" : {
"type" : "string" ,
"format" : "uuid"
}
}
}
}
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
}
}
}
} ,
"/api/v1/pipelines/_/metadata" : {
"get" : {
"tags" : [
"Pipelines"
] ,
"summary" : "Get pipeline metadata" ,
"description" : "Retrieve metadata and configuration options for pipelines" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"responses" : {
"200" : {
"description" : "Successful response" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "object" ,
"properties" : {
"code" : {
"type" : "integer" ,
"example" : 0
} ,
"msg" : {
"type" : "string" ,
"example" : "ok"
} ,
"data" : {
"type" : "object" ,
"properties" : {
"configs" : {
"type" : "object"
}
}
}
}
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
}
}
}
} ,
"/api/v1/pipelines/{pipeline_uuid}" : {
"get" : {
"tags" : [
"Pipelines"
] ,
"summary" : "Get a specific pipeline" ,
"description" : "Retrieve details of a specific pipeline" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"parameters" : [
{
"name" : "pipeline_uuid" ,
"in" : "path" ,
"required" : true ,
"schema" : {
"type" : "string" ,
"format" : "uuid"
}
}
] ,
"responses" : {
"200" : {
"description" : "Successful response" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "object" ,
"properties" : {
"code" : {
"type" : "integer" ,
"example" : 0
} ,
"msg" : {
"type" : "string" ,
"example" : "ok"
} ,
"data" : {
"type" : "object" ,
"properties" : {
"pipeline" : {
"$ref" : "#/components/schemas/Pipeline"
}
}
}
}
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
} ,
"404" : {
"$ref" : "#/components/responses/NotFoundError"
}
}
} ,
"put" : {
"tags" : [
"Pipelines"
] ,
"summary" : "Update a pipeline" ,
"description" : "Update the configuration of an existing pipeline" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"parameters" : [
{
"name" : "pipeline_uuid" ,
"in" : "path" ,
"required" : true ,
"schema" : {
"type" : "string" ,
"format" : "uuid"
}
}
] ,
"requestBody" : {
"required" : true ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/PipelineUpdate"
}
}
}
} ,
"responses" : {
"200" : {
"description" : "Pipeline updated successfully" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SuccessResponse"
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
} ,
"404" : {
"$ref" : "#/components/responses/NotFoundError"
}
}
} ,
"delete" : {
"tags" : [
"Pipelines"
] ,
"summary" : "Delete a pipeline" ,
"description" : "Remove a pipeline from the system" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"parameters" : [
{
"name" : "pipeline_uuid" ,
"in" : "path" ,
"required" : true ,
"schema" : {
"type" : "string" ,
"format" : "uuid"
}
}
] ,
"responses" : {
"200" : {
"description" : "Pipeline deleted successfully" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SuccessResponse"
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
} ,
"404" : {
"$ref" : "#/components/responses/NotFoundError"
}
}
}
} ,
"/api/v1/pipelines/{pipeline_uuid}/extensions" : {
"get" : {
"tags" : [
"Pipelines"
] ,
"summary" : "Get pipeline extensions" ,
"description" : "Retrieve extensions and plugins configured for a pipeline" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"parameters" : [
{
"name" : "pipeline_uuid" ,
"in" : "path" ,
"required" : true ,
"schema" : {
"type" : "string" ,
"format" : "uuid"
}
}
] ,
"responses" : {
"200" : {
"description" : "Successful response" ,
"content" : {
"application/json" : {
"schema" : {
"type" : "object" ,
"properties" : {
"code" : {
"type" : "integer" ,
"example" : 0
} ,
"msg" : {
"type" : "string" ,
"example" : "ok"
} ,
"data" : {
"type" : "object"
}
}
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
} ,
"404" : {
"$ref" : "#/components/responses/NotFoundError"
}
}
} ,
"put" : {
"tags" : [
"Pipelines"
] ,
"summary" : "Update pipeline extensions" ,
"description" : "Update the extensions configuration for a pipeline" ,
"security" : [
{
"ApiKeyAuth" : [ ]
} ,
{
"BearerAuth" : [ ]
}
] ,
"parameters" : [
{
"name" : "pipeline_uuid" ,
"in" : "path" ,
"required" : true ,
"schema" : {
"type" : "string" ,
"format" : "uuid"
}
}
] ,
"requestBody" : {
"required" : true ,
"content" : {
"application/json" : {
"schema" : {
"type" : "object"
}
}
}
} ,
"responses" : {
"200" : {
"description" : "Extensions updated successfully" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/SuccessResponse"
}
}
}
} ,
"401" : {
"$ref" : "#/components/responses/UnauthorizedError"
} ,
"404" : {
"$ref" : "#/components/responses/NotFoundError"
}
}
}
}
} ,
"components" : {
"securitySchemes" : {
"ApiKeyAuth" : {
"type" : "apiKey" ,
"in" : "header" ,
"name" : "X-API-Key" ,
"description" : "API Key authentication using X-API-Key header.\nExample: `X-API-Key: lbk_your_api_key_here`\n"
} ,
"BearerAuth" : {
"type" : "http" ,
"scheme" : "bearer" ,
"description" : "Bearer token authentication. Can be either a user JWT token or an API key.\nExample: `Authorization: Bearer <token_or_key>`\n"
}
} ,
"parameters" : {
"ModelUUID" : {
"name" : "model_uuid" ,
"in" : "path" ,
"required" : true ,
"schema" : {
"type" : "string" ,
"format" : "uuid"
} ,
"description" : "Model UUID"
}
} ,
"schemas" : {
"LLMModel" : {
"type" : "object" ,
"properties" : {
"uuid" : {
"type" : "string" ,
"format" : "uuid"
} ,
"name" : {
"type" : "string" ,
"example" : "GPT-4"
} ,
"description" : {
"type" : "string" ,
"example" : "OpenAI GPT-4 model"
} ,
"requester" : {
"type" : "string" ,
"example" : "openai-chat-completions"
} ,
"requester_config" : {
"type" : "object" ,
"properties" : {
"model" : {
"type" : "string" ,
"example" : "gpt-4"
} ,
"args" : {
"type" : "object"
}
}
} ,
"api_keys" : {
"type" : "array" ,
"items" : {
"type" : "object" ,
"properties" : {
"name" : {
"type" : "string"
} ,
"keys" : {
"type" : "array" ,
"items" : {
"type" : "string"
}
}
}
}
} ,
"abilities" : {
"type" : "array" ,
"items" : {
"type" : "string"
} ,
"example" : [
"chat" ,
"vision"
]
} ,
"extra_args" : {
"type" : "object"
} ,
"created_at" : {
"type" : "string" ,
"format" : "date-time"
} ,
"updated_at" : {
"type" : "string" ,
"format" : "date-time"
}
}
} ,
"LLMModelCreate" : {
"type" : "object" ,
"required" : [
"name" ,
"requester" ,
"requester_config" ,
"api_keys"
] ,
"properties" : {
"name" : {
"type" : "string"
} ,
"description" : {
"type" : "string"
} ,
"requester" : {
"type" : "string"
} ,
"requester_config" : {
"type" : "object"
} ,
"api_keys" : {
"type" : "array" ,
"items" : {
"type" : "object"
}
} ,
"abilities" : {
"type" : "array" ,
"items" : {
"type" : "string"
}
} ,
"extra_args" : {
"type" : "object"
}
}
} ,
"LLMModelUpdate" : {
"type" : "object" ,
"properties" : {
"name" : {
"type" : "string"
} ,
"description" : {
"type" : "string"
} ,
"requester_config" : {
"type" : "object"
} ,
"api_keys" : {
"type" : "array" ,
"items" : {
"type" : "object"
}
} ,
"abilities" : {
"type" : "array" ,
"items" : {
"type" : "string"
}
} ,
"extra_args" : {
"type" : "object"
}
}
} ,
"EmbeddingModel" : {
"type" : "object" ,
"properties" : {
"uuid" : {
"type" : "string" ,
"format" : "uuid"
} ,
"name" : {
"type" : "string"
} ,
"description" : {
"type" : "string"
} ,
"requester" : {
"type" : "string"
} ,
"requester_config" : {
"type" : "object"
} ,
"api_keys" : {
"type" : "array" ,
"items" : {
"type" : "object"
}
} ,
"extra_args" : {
"type" : "object"
} ,
"created_at" : {
"type" : "string" ,
"format" : "date-time"
} ,
"updated_at" : {
"type" : "string" ,
"format" : "date-time"
}
}
} ,
"EmbeddingModelCreate" : {
"type" : "object" ,
"required" : [
"name" ,
"requester" ,
"requester_config" ,
"api_keys"
] ,
"properties" : {
"name" : {
"type" : "string"
} ,
"description" : {
"type" : "string"
} ,
"requester" : {
"type" : "string"
} ,
"requester_config" : {
"type" : "object"
} ,
"api_keys" : {
"type" : "array" ,
"items" : {
"type" : "object"
}
} ,
"extra_args" : {
"type" : "object"
}
}
} ,
"EmbeddingModelUpdate" : {
"type" : "object" ,
"properties" : {
"name" : {
"type" : "string"
} ,
"description" : {
"type" : "string"
} ,
"requester_config" : {
"type" : "object"
} ,
"api_keys" : {
"type" : "array" ,
"items" : {
"type" : "object"
}
} ,
"extra_args" : {
"type" : "object"
}
}
} ,
"Bot" : {
"type" : "object" ,
"properties" : {
"uuid" : {
"type" : "string" ,
"format" : "uuid"
} ,
"name" : {
"type" : "string"
} ,
"adapter" : {
"type" : "string" ,
"example" : "telegram"
} ,
"config" : {
"type" : "object"
} ,
"created_at" : {
"type" : "string" ,
"format" : "date-time"
} ,
"updated_at" : {
"type" : "string" ,
"format" : "date-time"
}
}
} ,
"BotCreate" : {
"type" : "object" ,
"required" : [
"name" ,
"adapter" ,
"config"
] ,
"properties" : {
"name" : {
"type" : "string"
} ,
"adapter" : {
"type" : "string"
} ,
"config" : {
"type" : "object"
}
}
} ,
"BotUpdate" : {
"type" : "object" ,
"properties" : {
"name" : {
"type" : "string"
} ,
"config" : {
"type" : "object"
}
}
} ,
"Pipeline" : {
"type" : "object" ,
"properties" : {
"uuid" : {
"type" : "string" ,
"format" : "uuid"
} ,
"name" : {
"type" : "string"
} ,
"config" : {
"type" : "object"
} ,
"is_default" : {
"type" : "boolean"
} ,
"created_at" : {
"type" : "string" ,
"format" : "date-time"
} ,
"updated_at" : {
"type" : "string" ,
"format" : "date-time"
}
}
} ,
"PipelineCreate" : {
"type" : "object" ,
"required" : [
"name" ,
"config"
] ,
"properties" : {
"name" : {
"type" : "string"
} ,
"config" : {
"type" : "object"
}
}
} ,
"PipelineUpdate" : {
"type" : "object" ,
"properties" : {
"name" : {
"type" : "string"
} ,
"config" : {
"type" : "object"
}
}
} ,
"SuccessResponse" : {
"type" : "object" ,
"properties" : {
"code" : {
"type" : "integer" ,
"example" : 0
} ,
"msg" : {
"type" : "string" ,
"example" : "ok"
} ,
"data" : {
"type" : "object" ,
"nullable" : true
}
}
} ,
"ErrorResponse" : {
"type" : "object" ,
"properties" : {
"code" : {
"type" : "integer" ,
"example" : -1
} ,
"msg" : {
"type" : "string" ,
"example" : "Error message"
}
}
}
} ,
"responses" : {
"UnauthorizedError" : {
"description" : "Authentication required or invalid credentials" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
} ,
"examples" : {
"no_auth" : {
"value" : {
"code" : -1 ,
"msg" : "No valid authentication provided (user token or API key required)"
}
} ,
"invalid_key" : {
"value" : {
"code" : -1 ,
"msg" : "Invalid API key"
}
}
}
}
}
} ,
"NotFoundError" : {
"description" : "Resource not found" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
} ,
"example" : {
"code" : -1 ,
"msg" : "Resource not found"
}
}
}
} ,
"InternalServerError" : {
"description" : "Internal server error" ,
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ErrorResponse"
} ,
"example" : {
"code" : -2 ,
"msg" : "Internal server error"
}
}
}
}
}
}
}