llama-stack-mirror/docs/static/llama-stack-spec.html
2025-10-03 04:57:49 -07:00

12294 lines
502 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>OpenAPI specification</title>
<link href="https://fonts.googleapis.com/css?family=Montserrat:300,400,700|Roboto:300,400,700" rel="stylesheet">
<script type="module" src="https://cdn.jsdelivr.net/npm/@stoplight/elements/web-components.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@stoplight/elements/styles.min.css">
<style>
body {
margin: 0;
padding: 0;
height: 100vh;
}
elements-api {
height: 100%;
}
</style>
</head>
<body>
<elements-api id="openapi-container" router="hash" layout="sidebar" hideExport="true"
hideInternal="true"></elements-api>
<script>
document.addEventListener("DOMContentLoaded", function () {
const spec = {
"openapi": "3.1.0",
"info": {
"title": "Llama Stack Specification",
"version": "v1",
"description": "This is the specification of the Llama Stack that provides\n a set of endpoints and their corresponding interfaces that are tailored to\n best leverage Llama Models.\n\n**✅ STABLE**: Production-ready APIs with backward compatibility guarantees."
},
"servers": [
{
"url": "http://any-hosted-llama-stack.com"
}
],
"paths": {
"/v1/chat/completions": {
"get": {
"responses": {
"200": {
"description": "A ListOpenAIChatCompletionResponse.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListOpenAIChatCompletionResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Inference"
],
"summary": "List all chat completions.",
"description": "List all chat completions.",
"parameters": [
{
"name": "after",
"in": "query",
"description": "The ID of the last chat completion to return.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"description": "The maximum number of chat completions to return.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "model",
"in": "query",
"description": "The model to filter by.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "order",
"in": "query",
"description": "The order to sort the chat completions by: \"asc\" or \"desc\". Defaults to \"desc\".",
"required": false,
"schema": {
"$ref": "#/components/schemas/Order"
}
}
],
"deprecated": false
},
"post": {
"responses": {
"200": {
"description": "An OpenAIChatCompletion.",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/OpenAIChatCompletion"
},
{
"$ref": "#/components/schemas/OpenAIChatCompletionChunk"
}
]
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Inference"
],
"summary": "Generate an OpenAI-compatible chat completion for the given messages using the specified model.",
"description": "Generate an OpenAI-compatible chat completion for the given messages using the specified model.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenaiChatCompletionRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/chat/completions/{completion_id}": {
"get": {
"responses": {
"200": {
"description": "A OpenAICompletionWithInputMessages.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAICompletionWithInputMessages"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Inference"
],
"summary": "Describe a chat completion by its ID.",
"description": "Describe a chat completion by its ID.",
"parameters": [
{
"name": "completion_id",
"in": "path",
"description": "ID of the chat completion.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/completions": {
"post": {
"responses": {
"200": {
"description": "An OpenAICompletion.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAICompletion"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Inference"
],
"summary": "Generate an OpenAI-compatible completion for the given prompt using the specified model.",
"description": "Generate an OpenAI-compatible completion for the given prompt using the specified model.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenaiCompletionRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/embeddings": {
"post": {
"responses": {
"200": {
"description": "An OpenAIEmbeddingsResponse containing the embeddings.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAIEmbeddingsResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Inference"
],
"summary": "Generate OpenAI-compatible embeddings for the given input using the specified model.",
"description": "Generate OpenAI-compatible embeddings for the given input using the specified model.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenaiEmbeddingsRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/files": {
"get": {
"responses": {
"200": {
"description": "An ListOpenAIFileResponse containing the list of files.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListOpenAIFileResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Files"
],
"summary": "Returns a list of files that belong to the user's organization.",
"description": "Returns a list of files that belong to the user's organization.",
"parameters": [
{
"name": "after",
"in": "query",
"description": "A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"description": "A limit on the number of objects to be returned. Limit can range between 1 and 10,000, and the default is 10,000.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "order",
"in": "query",
"description": "Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order.",
"required": false,
"schema": {
"$ref": "#/components/schemas/Order"
}
},
{
"name": "purpose",
"in": "query",
"description": "Only return files with the given purpose.",
"required": false,
"schema": {
"$ref": "#/components/schemas/OpenAIFilePurpose"
}
}
],
"deprecated": false
},
"post": {
"responses": {
"200": {
"description": "An OpenAIFileObject representing the uploaded file.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAIFileObject"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Files"
],
"summary": "Upload a file that can be used across various endpoints.",
"description": "Upload a file that can be used across various endpoints.\nThe file upload should be a multipart form request with:\n- file: The File object (not file name) to be uploaded.\n- purpose: The intended purpose of the uploaded file.\n- expires_after: Optional form values describing expiration for the file.",
"parameters": [],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary"
},
"purpose": {
"$ref": "#/components/schemas/OpenAIFilePurpose"
},
"expires_after": {
"$ref": "#/components/schemas/ExpiresAfter"
}
},
"required": [
"file",
"purpose"
]
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/files/{file_id}": {
"get": {
"responses": {
"200": {
"description": "An OpenAIFileObject containing file information.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAIFileObject"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Files"
],
"summary": "Returns information about a specific file.",
"description": "Returns information about a specific file.",
"parameters": [
{
"name": "file_id",
"in": "path",
"description": "The ID of the file to use for this request.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
},
"delete": {
"responses": {
"200": {
"description": "An OpenAIFileDeleteResponse indicating successful deletion.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAIFileDeleteResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Files"
],
"summary": "Delete a file.",
"description": "Delete a file.",
"parameters": [
{
"name": "file_id",
"in": "path",
"description": "The ID of the file to use for this request.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/files/{file_id}/content": {
"get": {
"responses": {
"200": {
"description": "The raw file content as a binary response.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Response"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Files"
],
"summary": "Returns the contents of the specified file.",
"description": "Returns the contents of the specified file.",
"parameters": [
{
"name": "file_id",
"in": "path",
"description": "The ID of the file to use for this request.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/health": {
"get": {
"responses": {
"200": {
"description": "Health information indicating if the service is operational.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HealthInfo"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Inspect"
],
"summary": "Get the current health status of the service.",
"description": "Get the current health status of the service.",
"parameters": [],
"deprecated": false
}
},
"/v1/inspect/routes": {
"get": {
"responses": {
"200": {
"description": "Response containing information about all available routes.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListRoutesResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Inspect"
],
"summary": "List all available API routes with their methods and implementing providers.",
"description": "List all available API routes with their methods and implementing providers.",
"parameters": [],
"deprecated": false
}
},
"/v1/models": {
"get": {
"responses": {
"200": {
"description": "A ListModelsResponse.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListModelsResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Models"
],
"summary": "List all models.",
"description": "List all models.",
"parameters": [],
"deprecated": false
},
"post": {
"responses": {
"200": {
"description": "A Model.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Model"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Models"
],
"summary": "Register a model.",
"description": "Register a model.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RegisterModelRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/models/{model_id}": {
"get": {
"responses": {
"200": {
"description": "A Model.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Model"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Models"
],
"summary": "Get a model by its identifier.",
"description": "Get a model by its identifier.",
"parameters": [
{
"name": "model_id",
"in": "path",
"description": "The identifier of the model to get.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
},
"delete": {
"responses": {
"200": {
"description": "OK"
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Models"
],
"summary": "Unregister a model.",
"description": "Unregister a model.",
"parameters": [
{
"name": "model_id",
"in": "path",
"description": "The identifier of the model to unregister.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/moderations": {
"post": {
"responses": {
"200": {
"description": "A moderation object.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ModerationObject"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Safety"
],
"summary": "Classifies if text and/or image inputs are potentially harmful.",
"description": "Classifies if text and/or image inputs are potentially harmful.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunModerationRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/prompts": {
"get": {
"responses": {
"200": {
"description": "A ListPromptsResponse containing all prompts.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListPromptsResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Prompts"
],
"summary": "List all prompts.",
"description": "List all prompts.",
"parameters": [],
"deprecated": false
},
"post": {
"responses": {
"200": {
"description": "The created Prompt resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Prompt"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Prompts"
],
"summary": "Create a new prompt.",
"description": "Create a new prompt.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreatePromptRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/prompts/{prompt_id}": {
"get": {
"responses": {
"200": {
"description": "A Prompt resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Prompt"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Prompts"
],
"summary": "Get a prompt by its identifier and optional version.",
"description": "Get a prompt by its identifier and optional version.",
"parameters": [
{
"name": "prompt_id",
"in": "path",
"description": "The identifier of the prompt to get.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "version",
"in": "query",
"description": "The version of the prompt to get (defaults to latest).",
"required": false,
"schema": {
"type": "integer"
}
}
],
"deprecated": false
},
"post": {
"responses": {
"200": {
"description": "The updated Prompt resource with incremented version.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Prompt"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Prompts"
],
"summary": "Update an existing prompt (increments version).",
"description": "Update an existing prompt (increments version).",
"parameters": [
{
"name": "prompt_id",
"in": "path",
"description": "The identifier of the prompt to update.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdatePromptRequest"
}
}
},
"required": true
},
"deprecated": false
},
"delete": {
"responses": {
"200": {
"description": "OK"
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Prompts"
],
"summary": "Delete a prompt.",
"description": "Delete a prompt.",
"parameters": [
{
"name": "prompt_id",
"in": "path",
"description": "The identifier of the prompt to delete.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/prompts/{prompt_id}/set-default-version": {
"post": {
"responses": {
"200": {
"description": "The prompt with the specified version now set as default.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Prompt"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Prompts"
],
"summary": "Set which version of a prompt should be the default in get_prompt (latest).",
"description": "Set which version of a prompt should be the default in get_prompt (latest).",
"parameters": [
{
"name": "prompt_id",
"in": "path",
"description": "The identifier of the prompt.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SetDefaultVersionRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/prompts/{prompt_id}/versions": {
"get": {
"responses": {
"200": {
"description": "A ListPromptsResponse containing all versions of the prompt.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListPromptsResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Prompts"
],
"summary": "List all versions of a specific prompt.",
"description": "List all versions of a specific prompt.",
"parameters": [
{
"name": "prompt_id",
"in": "path",
"description": "The identifier of the prompt to list versions for.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/providers": {
"get": {
"responses": {
"200": {
"description": "A ListProvidersResponse containing information about all providers.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListProvidersResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Providers"
],
"summary": "List all available providers.",
"description": "List all available providers.",
"parameters": [],
"deprecated": false
}
},
"/v1/providers/{provider_id}": {
"get": {
"responses": {
"200": {
"description": "A ProviderInfo object containing the provider's details.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProviderInfo"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Providers"
],
"summary": "Get detailed information about a specific provider.",
"description": "Get detailed information about a specific provider.",
"parameters": [
{
"name": "provider_id",
"in": "path",
"description": "The ID of the provider to inspect.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/responses": {
"get": {
"responses": {
"200": {
"description": "A ListOpenAIResponseObject.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListOpenAIResponseObject"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Agents"
],
"summary": "List all OpenAI responses.",
"description": "List all OpenAI responses.",
"parameters": [
{
"name": "after",
"in": "query",
"description": "The ID of the last response to return.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"description": "The number of responses to return.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "model",
"in": "query",
"description": "The model to filter responses by.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "order",
"in": "query",
"description": "The order to sort responses by when sorted by created_at ('asc' or 'desc').",
"required": false,
"schema": {
"$ref": "#/components/schemas/Order"
}
}
],
"deprecated": false
},
"post": {
"responses": {
"200": {
"description": "An OpenAIResponseObject.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAIResponseObject"
}
},
"text/event-stream": {
"schema": {
"$ref": "#/components/schemas/OpenAIResponseObjectStream"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Agents"
],
"summary": "Create a new OpenAI response.",
"description": "Create a new OpenAI response.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateOpenaiResponseRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/responses/{response_id}": {
"get": {
"responses": {
"200": {
"description": "An OpenAIResponseObject.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAIResponseObject"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Agents"
],
"summary": "Retrieve an OpenAI response by its ID.",
"description": "Retrieve an OpenAI response by its ID.",
"parameters": [
{
"name": "response_id",
"in": "path",
"description": "The ID of the OpenAI response to retrieve.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
},
"delete": {
"responses": {
"200": {
"description": "An OpenAIDeleteResponseObject",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAIDeleteResponseObject"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Agents"
],
"summary": "Delete an OpenAI response by its ID.",
"description": "Delete an OpenAI response by its ID.",
"parameters": [
{
"name": "response_id",
"in": "path",
"description": "The ID of the OpenAI response to delete.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/responses/{response_id}/input_items": {
"get": {
"responses": {
"200": {
"description": "An ListOpenAIResponseInputItem.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListOpenAIResponseInputItem"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Agents"
],
"summary": "List input items for a given OpenAI response.",
"description": "List input items for a given OpenAI response.",
"parameters": [
{
"name": "response_id",
"in": "path",
"description": "The ID of the response to retrieve input items for.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "after",
"in": "query",
"description": "An item ID to list items after, used for pagination.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "before",
"in": "query",
"description": "An item ID to list items before, used for pagination.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "include",
"in": "query",
"description": "Additional fields to include in the response.",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "limit",
"in": "query",
"description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "order",
"in": "query",
"description": "The order to return the input items in. Default is desc.",
"required": false,
"schema": {
"$ref": "#/components/schemas/Order"
}
}
],
"deprecated": false
}
},
"/v1/safety/run-shield": {
"post": {
"responses": {
"200": {
"description": "A RunShieldResponse.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunShieldResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Safety"
],
"summary": "Run a shield.",
"description": "Run a shield.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RunShieldRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/scoring-functions": {
"get": {
"responses": {
"200": {
"description": "A ListScoringFunctionsResponse.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListScoringFunctionsResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"ScoringFunctions"
],
"summary": "List all scoring functions.",
"description": "List all scoring functions.",
"parameters": [],
"deprecated": false
},
"post": {
"responses": {
"200": {
"description": "OK"
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"ScoringFunctions"
],
"summary": "Register a scoring function.",
"description": "Register a scoring function.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RegisterScoringFunctionRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/scoring-functions/{scoring_fn_id}": {
"get": {
"responses": {
"200": {
"description": "A ScoringFn.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScoringFn"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"ScoringFunctions"
],
"summary": "Get a scoring function by its ID.",
"description": "Get a scoring function by its ID.",
"parameters": [
{
"name": "scoring_fn_id",
"in": "path",
"description": "The ID of the scoring function to get.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
},
"delete": {
"responses": {
"200": {
"description": "OK"
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"ScoringFunctions"
],
"summary": "Unregister a scoring function.",
"description": "Unregister a scoring function.",
"parameters": [
{
"name": "scoring_fn_id",
"in": "path",
"description": "The ID of the scoring function to unregister.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/scoring/score": {
"post": {
"responses": {
"200": {
"description": "A ScoreResponse object containing rows and aggregated results.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScoreResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Scoring"
],
"summary": "Score a list of rows.",
"description": "Score a list of rows.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScoreRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/scoring/score-batch": {
"post": {
"responses": {
"200": {
"description": "A ScoreBatchResponse.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScoreBatchResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Scoring"
],
"summary": "Score a batch of rows.",
"description": "Score a batch of rows.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ScoreBatchRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/shields": {
"get": {
"responses": {
"200": {
"description": "A ListShieldsResponse.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListShieldsResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Shields"
],
"summary": "List all shields.",
"description": "List all shields.",
"parameters": [],
"deprecated": false
},
"post": {
"responses": {
"200": {
"description": "A Shield.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Shield"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Shields"
],
"summary": "Register a shield.",
"description": "Register a shield.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RegisterShieldRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/shields/{identifier}": {
"get": {
"responses": {
"200": {
"description": "A Shield.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Shield"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Shields"
],
"summary": "Get a shield by its identifier.",
"description": "Get a shield by its identifier.",
"parameters": [
{
"name": "identifier",
"in": "path",
"description": "The identifier of the shield to get.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
},
"delete": {
"responses": {
"200": {
"description": "OK"
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Shields"
],
"summary": "Unregister a shield.",
"description": "Unregister a shield.",
"parameters": [
{
"name": "identifier",
"in": "path",
"description": "The identifier of the shield to unregister.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/synthetic-data-generation/generate": {
"post": {
"responses": {
"200": {
"description": "Response containing filtered synthetic data samples and optional statistics",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SyntheticDataGenerationResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"SyntheticDataGeneration (Coming Soon)"
],
"summary": "Generate synthetic data based on input dialogs and apply filtering.",
"description": "Generate synthetic data based on input dialogs and apply filtering.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SyntheticDataGenerateRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/telemetry/events": {
"post": {
"responses": {
"200": {
"description": "OK"
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Telemetry"
],
"summary": "Log an event.",
"description": "Log an event.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LogEventRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/tool-runtime/invoke": {
"post": {
"responses": {
"200": {
"description": "A ToolInvocationResult.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ToolInvocationResult"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"ToolRuntime"
],
"summary": "Run a tool with the given arguments.",
"description": "Run a tool with the given arguments.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InvokeToolRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/tool-runtime/list-tools": {
"get": {
"responses": {
"200": {
"description": "A ListToolDefsResponse.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListToolDefsResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"ToolRuntime"
],
"summary": "List all tools in the runtime.",
"description": "List all tools in the runtime.",
"parameters": [
{
"name": "tool_group_id",
"in": "query",
"description": "The ID of the tool group to list tools for.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "mcp_endpoint",
"in": "query",
"description": "The MCP endpoint to use for the tool group.",
"required": false,
"schema": {
"$ref": "#/components/schemas/URL"
}
}
],
"deprecated": false
}
},
"/v1/tool-runtime/rag-tool/insert": {
"post": {
"responses": {
"200": {
"description": "OK"
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"ToolRuntime"
],
"summary": "Index documents so they can be used by the RAG system.",
"description": "Index documents so they can be used by the RAG system.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InsertRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/tool-runtime/rag-tool/query": {
"post": {
"responses": {
"200": {
"description": "RAGQueryResult containing the retrieved content and metadata",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RAGQueryResult"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"ToolRuntime"
],
"summary": "Query the RAG system for context; typically invoked by the agent.",
"description": "Query the RAG system for context; typically invoked by the agent.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/QueryRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/toolgroups": {
"get": {
"responses": {
"200": {
"description": "A ListToolGroupsResponse.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListToolGroupsResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"ToolGroups"
],
"summary": "List tool groups with optional provider.",
"description": "List tool groups with optional provider.",
"parameters": [],
"deprecated": false
},
"post": {
"responses": {
"200": {
"description": "OK"
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"ToolGroups"
],
"summary": "Register a tool group.",
"description": "Register a tool group.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RegisterToolGroupRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/toolgroups/{toolgroup_id}": {
"get": {
"responses": {
"200": {
"description": "A ToolGroup.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ToolGroup"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"ToolGroups"
],
"summary": "Get a tool group by its ID.",
"description": "Get a tool group by its ID.",
"parameters": [
{
"name": "toolgroup_id",
"in": "path",
"description": "The ID of the tool group to get.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
},
"delete": {
"responses": {
"200": {
"description": "OK"
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"ToolGroups"
],
"summary": "Unregister a tool group.",
"description": "Unregister a tool group.",
"parameters": [
{
"name": "toolgroup_id",
"in": "path",
"description": "The ID of the tool group to unregister.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/tools": {
"get": {
"responses": {
"200": {
"description": "A ListToolDefsResponse.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListToolDefsResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"ToolGroups"
],
"summary": "List tools with optional tool group.",
"description": "List tools with optional tool group.",
"parameters": [
{
"name": "toolgroup_id",
"in": "query",
"description": "The ID of the tool group to list tools for.",
"required": false,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/tools/{tool_name}": {
"get": {
"responses": {
"200": {
"description": "A ToolDef.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ToolDef"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"ToolGroups"
],
"summary": "Get a tool by its name.",
"description": "Get a tool by its name.",
"parameters": [
{
"name": "tool_name",
"in": "path",
"description": "The name of the tool to get.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/vector-dbs": {
"get": {
"responses": {
"200": {
"description": "A ListVectorDBsResponse.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListVectorDBsResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorDBs"
],
"summary": "List all vector databases.",
"description": "List all vector databases.",
"parameters": [],
"deprecated": false
},
"post": {
"responses": {
"200": {
"description": "A VectorDB.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VectorDB"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorDBs"
],
"summary": "Register a vector database.",
"description": "Register a vector database.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RegisterVectorDbRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/vector-dbs/{vector_db_id}": {
"get": {
"responses": {
"200": {
"description": "A VectorDB.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VectorDB"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorDBs"
],
"summary": "Get a vector database by its identifier.",
"description": "Get a vector database by its identifier.",
"parameters": [
{
"name": "vector_db_id",
"in": "path",
"description": "The identifier of the vector database to get.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
},
"delete": {
"responses": {
"200": {
"description": "OK"
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorDBs"
],
"summary": "Unregister a vector database.",
"description": "Unregister a vector database.",
"parameters": [
{
"name": "vector_db_id",
"in": "path",
"description": "The identifier of the vector database to unregister.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/vector-io/insert": {
"post": {
"responses": {
"200": {
"description": "OK"
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorIO"
],
"summary": "Insert chunks into a vector database.",
"description": "Insert chunks into a vector database.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InsertChunksRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/vector-io/query": {
"post": {
"responses": {
"200": {
"description": "A QueryChunksResponse.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/QueryChunksResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorIO"
],
"summary": "Query chunks from a vector database.",
"description": "Query chunks from a vector database.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/QueryChunksRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/vector_stores": {
"get": {
"responses": {
"200": {
"description": "A VectorStoreListResponse containing the list of vector stores.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VectorStoreListResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorIO"
],
"summary": "Returns a list of vector stores.",
"description": "Returns a list of vector stores.",
"parameters": [
{
"name": "limit",
"in": "query",
"description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "order",
"in": "query",
"description": "Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "after",
"in": "query",
"description": "A cursor for use in pagination. `after` is an object ID that defines your place in the list.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "before",
"in": "query",
"description": "A cursor for use in pagination. `before` is an object ID that defines your place in the list.",
"required": false,
"schema": {
"type": "string"
}
}
],
"deprecated": false
},
"post": {
"responses": {
"200": {
"description": "A VectorStoreObject representing the created vector store.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VectorStoreObject"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorIO"
],
"summary": "Creates a vector store.",
"description": "Creates a vector store.",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenaiCreateVectorStoreRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/vector_stores/{vector_store_id}": {
"get": {
"responses": {
"200": {
"description": "A VectorStoreObject representing the vector store.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VectorStoreObject"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorIO"
],
"summary": "Retrieves a vector store.",
"description": "Retrieves a vector store.",
"parameters": [
{
"name": "vector_store_id",
"in": "path",
"description": "The ID of the vector store to retrieve.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
},
"post": {
"responses": {
"200": {
"description": "A VectorStoreObject representing the updated vector store.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VectorStoreObject"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorIO"
],
"summary": "Updates a vector store.",
"description": "Updates a vector store.",
"parameters": [
{
"name": "vector_store_id",
"in": "path",
"description": "The ID of the vector store to update.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenaiUpdateVectorStoreRequest"
}
}
},
"required": true
},
"deprecated": false
},
"delete": {
"responses": {
"200": {
"description": "A VectorStoreDeleteResponse indicating the deletion status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VectorStoreDeleteResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorIO"
],
"summary": "Delete a vector store.",
"description": "Delete a vector store.",
"parameters": [
{
"name": "vector_store_id",
"in": "path",
"description": "The ID of the vector store to delete.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/vector_stores/{vector_store_id}/file_batches": {
"post": {
"responses": {
"200": {
"description": "A VectorStoreFileBatchObject representing the created file batch.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VectorStoreFileBatchObject"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorIO"
],
"summary": "Create a vector store file batch.",
"description": "Create a vector store file batch.",
"parameters": [
{
"name": "vector_store_id",
"in": "path",
"description": "The ID of the vector store to create the file batch for.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenaiCreateVectorStoreFileBatchRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}": {
"get": {
"responses": {
"200": {
"description": "A VectorStoreFileBatchObject representing the file batch.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VectorStoreFileBatchObject"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorIO"
],
"summary": "Retrieve a vector store file batch.",
"description": "Retrieve a vector store file batch.",
"parameters": [
{
"name": "batch_id",
"in": "path",
"description": "The ID of the file batch to retrieve.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "vector_store_id",
"in": "path",
"description": "The ID of the vector store containing the file batch.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}/cancel": {
"post": {
"responses": {
"200": {
"description": "A VectorStoreFileBatchObject representing the cancelled file batch.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VectorStoreFileBatchObject"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorIO"
],
"summary": "Cancels a vector store file batch.",
"description": "Cancels a vector store file batch.",
"parameters": [
{
"name": "batch_id",
"in": "path",
"description": "The ID of the file batch to cancel.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "vector_store_id",
"in": "path",
"description": "The ID of the vector store containing the file batch.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}/files": {
"get": {
"responses": {
"200": {
"description": "A VectorStoreFilesListInBatchResponse containing the list of files in the batch.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VectorStoreFilesListInBatchResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorIO"
],
"summary": "Returns a list of vector store files in a batch.",
"description": "Returns a list of vector store files in a batch.",
"parameters": [
{
"name": "batch_id",
"in": "path",
"description": "The ID of the file batch to list files from.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "vector_store_id",
"in": "path",
"description": "The ID of the vector store containing the file batch.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "after",
"in": "query",
"description": "A cursor for use in pagination. `after` is an object ID that defines your place in the list.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "before",
"in": "query",
"description": "A cursor for use in pagination. `before` is an object ID that defines your place in the list.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "filter",
"in": "query",
"description": "Filter by file status. One of in_progress, completed, failed, cancelled.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "order",
"in": "query",
"description": "Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order.",
"required": false,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/vector_stores/{vector_store_id}/files": {
"get": {
"responses": {
"200": {
"description": "A VectorStoreListFilesResponse containing the list of files.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VectorStoreListFilesResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorIO"
],
"summary": "List files in a vector store.",
"description": "List files in a vector store.",
"parameters": [
{
"name": "vector_store_id",
"in": "path",
"description": "The ID of the vector store to list files from.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"description": "(Optional) A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.",
"required": false,
"schema": {
"type": "integer"
}
},
{
"name": "order",
"in": "query",
"description": "(Optional) Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "after",
"in": "query",
"description": "(Optional) A cursor for use in pagination. `after` is an object ID that defines your place in the list.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "before",
"in": "query",
"description": "(Optional) A cursor for use in pagination. `before` is an object ID that defines your place in the list.",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "filter",
"in": "query",
"description": "(Optional) Filter by file status to only return files with the specified status.",
"required": false,
"schema": {
"$ref": "#/components/schemas/VectorStoreFileStatus"
}
}
],
"deprecated": false
},
"post": {
"responses": {
"200": {
"description": "A VectorStoreFileObject representing the attached file.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VectorStoreFileObject"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorIO"
],
"summary": "Attach a file to a vector store.",
"description": "Attach a file to a vector store.",
"parameters": [
{
"name": "vector_store_id",
"in": "path",
"description": "The ID of the vector store to attach the file to.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenaiAttachFileToVectorStoreRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/vector_stores/{vector_store_id}/files/{file_id}": {
"get": {
"responses": {
"200": {
"description": "A VectorStoreFileObject representing the file.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VectorStoreFileObject"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorIO"
],
"summary": "Retrieves a vector store file.",
"description": "Retrieves a vector store file.",
"parameters": [
{
"name": "vector_store_id",
"in": "path",
"description": "The ID of the vector store containing the file to retrieve.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "file_id",
"in": "path",
"description": "The ID of the file to retrieve.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
},
"post": {
"responses": {
"200": {
"description": "A VectorStoreFileObject representing the updated file.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VectorStoreFileObject"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorIO"
],
"summary": "Updates a vector store file.",
"description": "Updates a vector store file.",
"parameters": [
{
"name": "vector_store_id",
"in": "path",
"description": "The ID of the vector store containing the file to update.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "file_id",
"in": "path",
"description": "The ID of the file to update.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenaiUpdateVectorStoreFileRequest"
}
}
},
"required": true
},
"deprecated": false
},
"delete": {
"responses": {
"200": {
"description": "A VectorStoreFileDeleteResponse indicating the deletion status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VectorStoreFileDeleteResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorIO"
],
"summary": "Delete a vector store file.",
"description": "Delete a vector store file.",
"parameters": [
{
"name": "vector_store_id",
"in": "path",
"description": "The ID of the vector store containing the file to delete.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "file_id",
"in": "path",
"description": "The ID of the file to delete.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/vector_stores/{vector_store_id}/files/{file_id}/content": {
"get": {
"responses": {
"200": {
"description": "A list of InterleavedContent representing the file contents.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VectorStoreFileContentsResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorIO"
],
"summary": "Retrieves the contents of a vector store file.",
"description": "Retrieves the contents of a vector store file.",
"parameters": [
{
"name": "vector_store_id",
"in": "path",
"description": "The ID of the vector store containing the file to retrieve.",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "file_id",
"in": "path",
"description": "The ID of the file to retrieve.",
"required": true,
"schema": {
"type": "string"
}
}
],
"deprecated": false
}
},
"/v1/vector_stores/{vector_store_id}/search": {
"post": {
"responses": {
"200": {
"description": "A VectorStoreSearchResponse containing the search results.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VectorStoreSearchResponsePage"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"VectorIO"
],
"summary": "Search for chunks in a vector store.",
"description": "Search for chunks in a vector store.\nSearches a vector store for relevant chunks based on a query and optional file attribute filters.",
"parameters": [
{
"name": "vector_store_id",
"in": "path",
"description": "The ID of the vector store to search.",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenaiSearchVectorStoreRequest"
}
}
},
"required": true
},
"deprecated": false
}
},
"/v1/version": {
"get": {
"responses": {
"200": {
"description": "Version information containing the service version number.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VersionInfo"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest400"
},
"429": {
"$ref": "#/components/responses/TooManyRequests429"
},
"500": {
"$ref": "#/components/responses/InternalServerError500"
},
"default": {
"$ref": "#/components/responses/DefaultError"
}
},
"tags": [
"Inspect"
],
"summary": "Get the version of the service.",
"description": "Get the version of the service.",
"parameters": [],
"deprecated": false
}
}
},
"jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
"components": {
"schemas": {
"Error": {
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status code"
},
"title": {
"type": "string",
"description": "Error title, a short summary of the error which is invariant for an error type"
},
"detail": {
"type": "string",
"description": "Error detail, a longer human-readable description of the error"
},
"instance": {
"type": "string",
"description": "(Optional) A URL which can be used to retrieve more information about the specific occurrence of the error"
}
},
"additionalProperties": false,
"required": [
"status",
"title",
"detail"
],
"title": "Error",
"description": "Error response from the API. Roughly follows RFC 7807."
},
"Order": {
"type": "string",
"enum": [
"asc",
"desc"
],
"title": "Order",
"description": "Sort order for paginated responses."
},
"ListOpenAIChatCompletionResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the chat completion"
},
"choices": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIChoice"
},
"description": "List of choices"
},
"object": {
"type": "string",
"const": "chat.completion",
"default": "chat.completion",
"description": "The object type, which will be \"chat.completion\""
},
"created": {
"type": "integer",
"description": "The Unix timestamp in seconds when the chat completion was created"
},
"model": {
"type": "string",
"description": "The model that was used to generate the chat completion"
},
"input_messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIMessageParam"
}
}
},
"additionalProperties": false,
"required": [
"id",
"choices",
"object",
"created",
"model",
"input_messages"
],
"title": "OpenAICompletionWithInputMessages"
},
"description": "List of chat completion objects with their input messages"
},
"has_more": {
"type": "boolean",
"description": "Whether there are more completions available beyond this list"
},
"first_id": {
"type": "string",
"description": "ID of the first completion in this list"
},
"last_id": {
"type": "string",
"description": "ID of the last completion in this list"
},
"object": {
"type": "string",
"const": "list",
"default": "list",
"description": "Must be \"list\" to identify this as a list response"
}
},
"additionalProperties": false,
"required": [
"data",
"has_more",
"first_id",
"last_id",
"object"
],
"title": "ListOpenAIChatCompletionResponse",
"description": "Response from listing OpenAI-compatible chat completions."
},
"OpenAIAssistantMessageParam": {
"type": "object",
"properties": {
"role": {
"type": "string",
"const": "assistant",
"default": "assistant",
"description": "Must be \"assistant\" to identify this as the model's response"
},
"content": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIChatCompletionContentPartTextParam"
}
}
],
"description": "The content of the model's response"
},
"name": {
"type": "string",
"description": "(Optional) The name of the assistant message participant."
},
"tool_calls": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIChatCompletionToolCall"
},
"description": "List of tool calls. Each tool call is an OpenAIChatCompletionToolCall object."
}
},
"additionalProperties": false,
"required": [
"role"
],
"title": "OpenAIAssistantMessageParam",
"description": "A message containing the model's (assistant) response in an OpenAI-compatible chat completion request."
},
"OpenAIChatCompletionContentPartImageParam": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "image_url",
"default": "image_url",
"description": "Must be \"image_url\" to identify this as image content"
},
"image_url": {
"$ref": "#/components/schemas/OpenAIImageURL",
"description": "Image URL specification and processing details"
}
},
"additionalProperties": false,
"required": [
"type",
"image_url"
],
"title": "OpenAIChatCompletionContentPartImageParam",
"description": "Image content part for OpenAI-compatible chat completion messages."
},
"OpenAIChatCompletionContentPartParam": {
"oneOf": [
{
"$ref": "#/components/schemas/OpenAIChatCompletionContentPartTextParam"
},
{
"$ref": "#/components/schemas/OpenAIChatCompletionContentPartImageParam"
},
{
"$ref": "#/components/schemas/OpenAIFile"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"text": "#/components/schemas/OpenAIChatCompletionContentPartTextParam",
"image_url": "#/components/schemas/OpenAIChatCompletionContentPartImageParam",
"file": "#/components/schemas/OpenAIFile"
}
}
},
"OpenAIChatCompletionContentPartTextParam": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "text",
"default": "text",
"description": "Must be \"text\" to identify this as text content"
},
"text": {
"type": "string",
"description": "The text content of the message"
}
},
"additionalProperties": false,
"required": [
"type",
"text"
],
"title": "OpenAIChatCompletionContentPartTextParam",
"description": "Text content part for OpenAI-compatible chat completion messages."
},
"OpenAIChatCompletionToolCall": {
"type": "object",
"properties": {
"index": {
"type": "integer",
"description": "(Optional) Index of the tool call in the list"
},
"id": {
"type": "string",
"description": "(Optional) Unique identifier for the tool call"
},
"type": {
"type": "string",
"const": "function",
"default": "function",
"description": "Must be \"function\" to identify this as a function call"
},
"function": {
"$ref": "#/components/schemas/OpenAIChatCompletionToolCallFunction",
"description": "(Optional) Function call details"
}
},
"additionalProperties": false,
"required": [
"type"
],
"title": "OpenAIChatCompletionToolCall",
"description": "Tool call specification for OpenAI-compatible chat completion responses."
},
"OpenAIChatCompletionToolCallFunction": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "(Optional) Name of the function to call"
},
"arguments": {
"type": "string",
"description": "(Optional) Arguments to pass to the function as a JSON string"
}
},
"additionalProperties": false,
"title": "OpenAIChatCompletionToolCallFunction",
"description": "Function call details for OpenAI-compatible tool calls."
},
"OpenAIChoice": {
"type": "object",
"properties": {
"message": {
"oneOf": [
{
"$ref": "#/components/schemas/OpenAIUserMessageParam"
},
{
"$ref": "#/components/schemas/OpenAISystemMessageParam"
},
{
"$ref": "#/components/schemas/OpenAIAssistantMessageParam"
},
{
"$ref": "#/components/schemas/OpenAIToolMessageParam"
},
{
"$ref": "#/components/schemas/OpenAIDeveloperMessageParam"
}
],
"discriminator": {
"propertyName": "role",
"mapping": {
"user": "#/components/schemas/OpenAIUserMessageParam",
"system": "#/components/schemas/OpenAISystemMessageParam",
"assistant": "#/components/schemas/OpenAIAssistantMessageParam",
"tool": "#/components/schemas/OpenAIToolMessageParam",
"developer": "#/components/schemas/OpenAIDeveloperMessageParam"
}
},
"description": "The message from the model"
},
"finish_reason": {
"type": "string",
"description": "The reason the model stopped generating"
},
"index": {
"type": "integer",
"description": "The index of the choice"
},
"logprobs": {
"$ref": "#/components/schemas/OpenAIChoiceLogprobs",
"description": "(Optional) The log probabilities for the tokens in the message"
}
},
"additionalProperties": false,
"required": [
"message",
"finish_reason",
"index"
],
"title": "OpenAIChoice",
"description": "A choice from an OpenAI-compatible chat completion response."
},
"OpenAIChoiceLogprobs": {
"type": "object",
"properties": {
"content": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAITokenLogProb"
},
"description": "(Optional) The log probabilities for the tokens in the message"
},
"refusal": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAITokenLogProb"
},
"description": "(Optional) The log probabilities for the tokens in the message"
}
},
"additionalProperties": false,
"title": "OpenAIChoiceLogprobs",
"description": "The log probabilities for the tokens in the message from an OpenAI-compatible chat completion response."
},
"OpenAIDeveloperMessageParam": {
"type": "object",
"properties": {
"role": {
"type": "string",
"const": "developer",
"default": "developer",
"description": "Must be \"developer\" to identify this as a developer message"
},
"content": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIChatCompletionContentPartTextParam"
}
}
],
"description": "The content of the developer message"
},
"name": {
"type": "string",
"description": "(Optional) The name of the developer message participant."
}
},
"additionalProperties": false,
"required": [
"role",
"content"
],
"title": "OpenAIDeveloperMessageParam",
"description": "A message from the developer in an OpenAI-compatible chat completion request."
},
"OpenAIFile": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "file",
"default": "file"
},
"file": {
"$ref": "#/components/schemas/OpenAIFileFile"
}
},
"additionalProperties": false,
"required": [
"type",
"file"
],
"title": "OpenAIFile"
},
"OpenAIFileFile": {
"type": "object",
"properties": {
"file_data": {
"type": "string"
},
"file_id": {
"type": "string"
},
"filename": {
"type": "string"
}
},
"additionalProperties": false,
"title": "OpenAIFileFile"
},
"OpenAIImageURL": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL of the image to include in the message"
},
"detail": {
"type": "string",
"description": "(Optional) Level of detail for image processing. Can be \"low\", \"high\", or \"auto\""
}
},
"additionalProperties": false,
"required": [
"url"
],
"title": "OpenAIImageURL",
"description": "Image URL specification for OpenAI-compatible chat completion messages."
},
"OpenAIMessageParam": {
"oneOf": [
{
"$ref": "#/components/schemas/OpenAIUserMessageParam"
},
{
"$ref": "#/components/schemas/OpenAISystemMessageParam"
},
{
"$ref": "#/components/schemas/OpenAIAssistantMessageParam"
},
{
"$ref": "#/components/schemas/OpenAIToolMessageParam"
},
{
"$ref": "#/components/schemas/OpenAIDeveloperMessageParam"
}
],
"discriminator": {
"propertyName": "role",
"mapping": {
"user": "#/components/schemas/OpenAIUserMessageParam",
"system": "#/components/schemas/OpenAISystemMessageParam",
"assistant": "#/components/schemas/OpenAIAssistantMessageParam",
"tool": "#/components/schemas/OpenAIToolMessageParam",
"developer": "#/components/schemas/OpenAIDeveloperMessageParam"
}
}
},
"OpenAISystemMessageParam": {
"type": "object",
"properties": {
"role": {
"type": "string",
"const": "system",
"default": "system",
"description": "Must be \"system\" to identify this as a system message"
},
"content": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIChatCompletionContentPartTextParam"
}
}
],
"description": "The content of the \"system prompt\". If multiple system messages are provided, they are concatenated. The underlying Llama Stack code may also add other system messages (for example, for formatting tool definitions)."
},
"name": {
"type": "string",
"description": "(Optional) The name of the system message participant."
}
},
"additionalProperties": false,
"required": [
"role",
"content"
],
"title": "OpenAISystemMessageParam",
"description": "A system message providing instructions or context to the model."
},
"OpenAITokenLogProb": {
"type": "object",
"properties": {
"token": {
"type": "string"
},
"bytes": {
"type": "array",
"items": {
"type": "integer"
}
},
"logprob": {
"type": "number"
},
"top_logprobs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAITopLogProb"
}
}
},
"additionalProperties": false,
"required": [
"token",
"logprob",
"top_logprobs"
],
"title": "OpenAITokenLogProb",
"description": "The log probability for a token from an OpenAI-compatible chat completion response."
},
"OpenAIToolMessageParam": {
"type": "object",
"properties": {
"role": {
"type": "string",
"const": "tool",
"default": "tool",
"description": "Must be \"tool\" to identify this as a tool response"
},
"tool_call_id": {
"type": "string",
"description": "Unique identifier for the tool call this response is for"
},
"content": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIChatCompletionContentPartTextParam"
}
}
],
"description": "The response content from the tool"
}
},
"additionalProperties": false,
"required": [
"role",
"tool_call_id",
"content"
],
"title": "OpenAIToolMessageParam",
"description": "A message representing the result of a tool invocation in an OpenAI-compatible chat completion request."
},
"OpenAITopLogProb": {
"type": "object",
"properties": {
"token": {
"type": "string"
},
"bytes": {
"type": "array",
"items": {
"type": "integer"
}
},
"logprob": {
"type": "number"
}
},
"additionalProperties": false,
"required": [
"token",
"logprob"
],
"title": "OpenAITopLogProb",
"description": "The top log probability for a token from an OpenAI-compatible chat completion response."
},
"OpenAIUserMessageParam": {
"type": "object",
"properties": {
"role": {
"type": "string",
"const": "user",
"default": "user",
"description": "Must be \"user\" to identify this as a user message"
},
"content": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIChatCompletionContentPartParam"
}
}
],
"description": "The content of the message, which can include text and other media"
},
"name": {
"type": "string",
"description": "(Optional) The name of the user message participant."
}
},
"additionalProperties": false,
"required": [
"role",
"content"
],
"title": "OpenAIUserMessageParam",
"description": "A message from the user in an OpenAI-compatible chat completion request."
},
"OpenAIJSONSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the schema"
},
"description": {
"type": "string",
"description": "(Optional) Description of the schema"
},
"strict": {
"type": "boolean",
"description": "(Optional) Whether to enforce strict adherence to the schema"
},
"schema": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "(Optional) The JSON schema definition"
}
},
"additionalProperties": false,
"required": [
"name"
],
"title": "OpenAIJSONSchema",
"description": "JSON schema specification for OpenAI-compatible structured response format."
},
"OpenAIResponseFormatJSONObject": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "json_object",
"default": "json_object",
"description": "Must be \"json_object\" to indicate generic JSON object response format"
}
},
"additionalProperties": false,
"required": [
"type"
],
"title": "OpenAIResponseFormatJSONObject",
"description": "JSON object response format for OpenAI-compatible chat completion requests."
},
"OpenAIResponseFormatJSONSchema": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "json_schema",
"default": "json_schema",
"description": "Must be \"json_schema\" to indicate structured JSON response format"
},
"json_schema": {
"$ref": "#/components/schemas/OpenAIJSONSchema",
"description": "The JSON schema specification for the response"
}
},
"additionalProperties": false,
"required": [
"type",
"json_schema"
],
"title": "OpenAIResponseFormatJSONSchema",
"description": "JSON schema response format for OpenAI-compatible chat completion requests."
},
"OpenAIResponseFormatParam": {
"oneOf": [
{
"$ref": "#/components/schemas/OpenAIResponseFormatText"
},
{
"$ref": "#/components/schemas/OpenAIResponseFormatJSONSchema"
},
{
"$ref": "#/components/schemas/OpenAIResponseFormatJSONObject"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"text": "#/components/schemas/OpenAIResponseFormatText",
"json_schema": "#/components/schemas/OpenAIResponseFormatJSONSchema",
"json_object": "#/components/schemas/OpenAIResponseFormatJSONObject"
}
}
},
"OpenAIResponseFormatText": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "text",
"default": "text",
"description": "Must be \"text\" to indicate plain text response format"
}
},
"additionalProperties": false,
"required": [
"type"
],
"title": "OpenAIResponseFormatText",
"description": "Text response format for OpenAI-compatible chat completion requests."
},
"OpenaiChatCompletionRequest": {
"type": "object",
"properties": {
"model": {
"type": "string",
"description": "The identifier of the model to use. The model must be registered with Llama Stack and available via the /models endpoint."
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIMessageParam"
},
"description": "List of messages in the conversation."
},
"frequency_penalty": {
"type": "number",
"description": "(Optional) The penalty for repeated tokens."
},
"function_call": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
}
}
],
"description": "(Optional) The function call to use."
},
"functions": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
}
},
"description": "(Optional) List of functions to use."
},
"logit_bias": {
"type": "object",
"additionalProperties": {
"type": "number"
},
"description": "(Optional) The logit bias to use."
},
"logprobs": {
"type": "boolean",
"description": "(Optional) The log probabilities to use."
},
"max_completion_tokens": {
"type": "integer",
"description": "(Optional) The maximum number of tokens to generate."
},
"max_tokens": {
"type": "integer",
"description": "(Optional) The maximum number of tokens to generate."
},
"n": {
"type": "integer",
"description": "(Optional) The number of completions to generate."
},
"parallel_tool_calls": {
"type": "boolean",
"description": "(Optional) Whether to parallelize tool calls."
},
"presence_penalty": {
"type": "number",
"description": "(Optional) The penalty for repeated tokens."
},
"response_format": {
"$ref": "#/components/schemas/OpenAIResponseFormatParam",
"description": "(Optional) The response format to use."
},
"seed": {
"type": "integer",
"description": "(Optional) The seed to use."
},
"stop": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "(Optional) The stop tokens to use."
},
"stream": {
"type": "boolean",
"description": "(Optional) Whether to stream the response."
},
"stream_options": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "(Optional) The stream options to use."
},
"temperature": {
"type": "number",
"description": "(Optional) The temperature to use."
},
"tool_choice": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
}
}
],
"description": "(Optional) The tool choice to use."
},
"tools": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
}
},
"description": "(Optional) The tools to use."
},
"top_logprobs": {
"type": "integer",
"description": "(Optional) The top log probabilities to use."
},
"top_p": {
"type": "number",
"description": "(Optional) The top p to use."
},
"user": {
"type": "string",
"description": "(Optional) The user to use."
}
},
"additionalProperties": false,
"required": [
"model",
"messages"
],
"title": "OpenaiChatCompletionRequest"
},
"OpenAIChatCompletion": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the chat completion"
},
"choices": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIChoice"
},
"description": "List of choices"
},
"object": {
"type": "string",
"const": "chat.completion",
"default": "chat.completion",
"description": "The object type, which will be \"chat.completion\""
},
"created": {
"type": "integer",
"description": "The Unix timestamp in seconds when the chat completion was created"
},
"model": {
"type": "string",
"description": "The model that was used to generate the chat completion"
}
},
"additionalProperties": false,
"required": [
"id",
"choices",
"object",
"created",
"model"
],
"title": "OpenAIChatCompletion",
"description": "Response from an OpenAI-compatible chat completion request."
},
"OpenAIChatCompletionChunk": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the chat completion"
},
"choices": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIChunkChoice"
},
"description": "List of choices"
},
"object": {
"type": "string",
"const": "chat.completion.chunk",
"default": "chat.completion.chunk",
"description": "The object type, which will be \"chat.completion.chunk\""
},
"created": {
"type": "integer",
"description": "The Unix timestamp in seconds when the chat completion was created"
},
"model": {
"type": "string",
"description": "The model that was used to generate the chat completion"
}
},
"additionalProperties": false,
"required": [
"id",
"choices",
"object",
"created",
"model"
],
"title": "OpenAIChatCompletionChunk",
"description": "Chunk from a streaming response to an OpenAI-compatible chat completion request."
},
"OpenAIChoiceDelta": {
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "(Optional) The content of the delta"
},
"refusal": {
"type": "string",
"description": "(Optional) The refusal of the delta"
},
"role": {
"type": "string",
"description": "(Optional) The role of the delta"
},
"tool_calls": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIChatCompletionToolCall"
},
"description": "(Optional) The tool calls of the delta"
}
},
"additionalProperties": false,
"title": "OpenAIChoiceDelta",
"description": "A delta from an OpenAI-compatible chat completion streaming response."
},
"OpenAIChunkChoice": {
"type": "object",
"properties": {
"delta": {
"$ref": "#/components/schemas/OpenAIChoiceDelta",
"description": "The delta from the chunk"
},
"finish_reason": {
"type": "string",
"description": "The reason the model stopped generating"
},
"index": {
"type": "integer",
"description": "The index of the choice"
},
"logprobs": {
"$ref": "#/components/schemas/OpenAIChoiceLogprobs",
"description": "(Optional) The log probabilities for the tokens in the message"
}
},
"additionalProperties": false,
"required": [
"delta",
"finish_reason",
"index"
],
"title": "OpenAIChunkChoice",
"description": "A chunk choice from an OpenAI-compatible chat completion streaming response."
},
"OpenAICompletionWithInputMessages": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The ID of the chat completion"
},
"choices": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIChoice"
},
"description": "List of choices"
},
"object": {
"type": "string",
"const": "chat.completion",
"default": "chat.completion",
"description": "The object type, which will be \"chat.completion\""
},
"created": {
"type": "integer",
"description": "The Unix timestamp in seconds when the chat completion was created"
},
"model": {
"type": "string",
"description": "The model that was used to generate the chat completion"
},
"input_messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIMessageParam"
}
}
},
"additionalProperties": false,
"required": [
"id",
"choices",
"object",
"created",
"model",
"input_messages"
],
"title": "OpenAICompletionWithInputMessages"
},
"OpenaiCompletionRequest": {
"type": "object",
"properties": {
"model": {
"type": "string",
"description": "The identifier of the model to use. The model must be registered with Llama Stack and available via the /models endpoint."
},
"prompt": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "array",
"items": {
"type": "integer"
}
},
{
"type": "array",
"items": {
"type": "array",
"items": {
"type": "integer"
}
}
}
],
"description": "The prompt to generate a completion for."
},
"best_of": {
"type": "integer",
"description": "(Optional) The number of completions to generate."
},
"echo": {
"type": "boolean",
"description": "(Optional) Whether to echo the prompt."
},
"frequency_penalty": {
"type": "number",
"description": "(Optional) The penalty for repeated tokens."
},
"logit_bias": {
"type": "object",
"additionalProperties": {
"type": "number"
},
"description": "(Optional) The logit bias to use."
},
"logprobs": {
"type": "boolean",
"description": "(Optional) The log probabilities to use."
},
"max_tokens": {
"type": "integer",
"description": "(Optional) The maximum number of tokens to generate."
},
"n": {
"type": "integer",
"description": "(Optional) The number of completions to generate."
},
"presence_penalty": {
"type": "number",
"description": "(Optional) The penalty for repeated tokens."
},
"seed": {
"type": "integer",
"description": "(Optional) The seed to use."
},
"stop": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "(Optional) The stop tokens to use."
},
"stream": {
"type": "boolean",
"description": "(Optional) Whether to stream the response."
},
"stream_options": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "(Optional) The stream options to use."
},
"temperature": {
"type": "number",
"description": "(Optional) The temperature to use."
},
"top_p": {
"type": "number",
"description": "(Optional) The top p to use."
},
"user": {
"type": "string",
"description": "(Optional) The user to use."
},
"guided_choice": {
"type": "array",
"items": {
"type": "string"
}
},
"prompt_logprobs": {
"type": "integer"
},
"suffix": {
"type": "string",
"description": "(Optional) The suffix that should be appended to the completion."
}
},
"additionalProperties": false,
"required": [
"model",
"prompt"
],
"title": "OpenaiCompletionRequest"
},
"OpenAICompletion": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"choices": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAICompletionChoice"
}
},
"created": {
"type": "integer"
},
"model": {
"type": "string"
},
"object": {
"type": "string",
"const": "text_completion",
"default": "text_completion"
}
},
"additionalProperties": false,
"required": [
"id",
"choices",
"created",
"model",
"object"
],
"title": "OpenAICompletion",
"description": "Response from an OpenAI-compatible completion request."
},
"OpenAICompletionChoice": {
"type": "object",
"properties": {
"finish_reason": {
"type": "string"
},
"text": {
"type": "string"
},
"index": {
"type": "integer"
},
"logprobs": {
"$ref": "#/components/schemas/OpenAIChoiceLogprobs"
}
},
"additionalProperties": false,
"required": [
"finish_reason",
"text",
"index"
],
"title": "OpenAICompletionChoice",
"description": "A choice from an OpenAI-compatible completion response."
},
"OpenaiEmbeddingsRequest": {
"type": "object",
"properties": {
"model": {
"type": "string",
"description": "The identifier of the model to use. The model must be an embedding model registered with Llama Stack and available via the /models endpoint."
},
"input": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "Input text to embed, encoded as a string or array of strings. To embed multiple inputs in a single request, pass an array of strings."
},
"encoding_format": {
"type": "string",
"description": "(Optional) The format to return the embeddings in. Can be either \"float\" or \"base64\". Defaults to \"float\"."
},
"dimensions": {
"type": "integer",
"description": "(Optional) The number of dimensions the resulting output embeddings should have. Only supported in text-embedding-3 and later models."
},
"user": {
"type": "string",
"description": "(Optional) A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse."
}
},
"additionalProperties": false,
"required": [
"model",
"input"
],
"title": "OpenaiEmbeddingsRequest"
},
"OpenAIEmbeddingData": {
"type": "object",
"properties": {
"object": {
"type": "string",
"const": "embedding",
"default": "embedding",
"description": "The object type, which will be \"embedding\""
},
"embedding": {
"oneOf": [
{
"type": "array",
"items": {
"type": "number"
}
},
{
"type": "string"
}
],
"description": "The embedding vector as a list of floats (when encoding_format=\"float\") or as a base64-encoded string (when encoding_format=\"base64\")"
},
"index": {
"type": "integer",
"description": "The index of the embedding in the input list"
}
},
"additionalProperties": false,
"required": [
"object",
"embedding",
"index"
],
"title": "OpenAIEmbeddingData",
"description": "A single embedding data object from an OpenAI-compatible embeddings response."
},
"OpenAIEmbeddingUsage": {
"type": "object",
"properties": {
"prompt_tokens": {
"type": "integer",
"description": "The number of tokens in the input"
},
"total_tokens": {
"type": "integer",
"description": "The total number of tokens used"
}
},
"additionalProperties": false,
"required": [
"prompt_tokens",
"total_tokens"
],
"title": "OpenAIEmbeddingUsage",
"description": "Usage information for an OpenAI-compatible embeddings response."
},
"OpenAIEmbeddingsResponse": {
"type": "object",
"properties": {
"object": {
"type": "string",
"const": "list",
"default": "list",
"description": "The object type, which will be \"list\""
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIEmbeddingData"
},
"description": "List of embedding data objects"
},
"model": {
"type": "string",
"description": "The model that was used to generate the embeddings"
},
"usage": {
"$ref": "#/components/schemas/OpenAIEmbeddingUsage",
"description": "Usage information"
}
},
"additionalProperties": false,
"required": [
"object",
"data",
"model",
"usage"
],
"title": "OpenAIEmbeddingsResponse",
"description": "Response from an OpenAI-compatible embeddings request."
},
"OpenAIFilePurpose": {
"type": "string",
"enum": [
"assistants",
"batch"
],
"title": "OpenAIFilePurpose",
"description": "Valid purpose values for OpenAI Files API."
},
"ListOpenAIFileResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIFileObject"
},
"description": "List of file objects"
},
"has_more": {
"type": "boolean",
"description": "Whether there are more files available beyond this page"
},
"first_id": {
"type": "string",
"description": "ID of the first file in the list for pagination"
},
"last_id": {
"type": "string",
"description": "ID of the last file in the list for pagination"
},
"object": {
"type": "string",
"const": "list",
"default": "list",
"description": "The object type, which is always \"list\""
}
},
"additionalProperties": false,
"required": [
"data",
"has_more",
"first_id",
"last_id",
"object"
],
"title": "ListOpenAIFileResponse",
"description": "Response for listing files in OpenAI Files API."
},
"OpenAIFileObject": {
"type": "object",
"properties": {
"object": {
"type": "string",
"const": "file",
"default": "file",
"description": "The object type, which is always \"file\""
},
"id": {
"type": "string",
"description": "The file identifier, which can be referenced in the API endpoints"
},
"bytes": {
"type": "integer",
"description": "The size of the file, in bytes"
},
"created_at": {
"type": "integer",
"description": "The Unix timestamp (in seconds) for when the file was created"
},
"expires_at": {
"type": "integer",
"description": "The Unix timestamp (in seconds) for when the file expires"
},
"filename": {
"type": "string",
"description": "The name of the file"
},
"purpose": {
"type": "string",
"enum": [
"assistants",
"batch"
],
"description": "The intended purpose of the file"
}
},
"additionalProperties": false,
"required": [
"object",
"id",
"bytes",
"created_at",
"expires_at",
"filename",
"purpose"
],
"title": "OpenAIFileObject",
"description": "OpenAI File object as defined in the OpenAI Files API."
},
"ExpiresAfter": {
"type": "object",
"properties": {
"anchor": {
"type": "string",
"const": "created_at"
},
"seconds": {
"type": "integer"
}
},
"additionalProperties": false,
"required": [
"anchor",
"seconds"
],
"title": "ExpiresAfter",
"description": "Control expiration of uploaded files.\nParams:\n - anchor, must be \"created_at\"\n - seconds, must be int between 3600 and 2592000 (1 hour to 30 days)"
},
"OpenAIFileDeleteResponse": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The file identifier that was deleted"
},
"object": {
"type": "string",
"const": "file",
"default": "file",
"description": "The object type, which is always \"file\""
},
"deleted": {
"type": "boolean",
"description": "Whether the file was successfully deleted"
}
},
"additionalProperties": false,
"required": [
"id",
"object",
"deleted"
],
"title": "OpenAIFileDeleteResponse",
"description": "Response for deleting a file in OpenAI Files API."
},
"Response": {
"type": "object",
"title": "Response"
},
"HealthInfo": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"OK",
"Error",
"Not Implemented"
],
"description": "Current health status of the service"
}
},
"additionalProperties": false,
"required": [
"status"
],
"title": "HealthInfo",
"description": "Health status information for the service."
},
"RouteInfo": {
"type": "object",
"properties": {
"route": {
"type": "string",
"description": "The API endpoint path"
},
"method": {
"type": "string",
"description": "HTTP method for the route"
},
"provider_types": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of provider types that implement this route"
}
},
"additionalProperties": false,
"required": [
"route",
"method",
"provider_types"
],
"title": "RouteInfo",
"description": "Information about an API route including its path, method, and implementing providers."
},
"ListRoutesResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RouteInfo"
},
"description": "List of available route information objects"
}
},
"additionalProperties": false,
"required": [
"data"
],
"title": "ListRoutesResponse",
"description": "Response containing a list of all available API routes."
},
"Model": {
"type": "object",
"properties": {
"identifier": {
"type": "string",
"description": "Unique identifier for this resource in llama stack"
},
"provider_resource_id": {
"type": "string",
"description": "Unique identifier for this resource in the provider"
},
"provider_id": {
"type": "string",
"description": "ID of the provider that owns this resource"
},
"type": {
"type": "string",
"enum": [
"model",
"shield",
"vector_db",
"dataset",
"scoring_function",
"benchmark",
"tool",
"tool_group",
"prompt"
],
"const": "model",
"default": "model",
"description": "The resource type, always 'model' for model resources"
},
"metadata": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "Any additional metadata for this model"
},
"model_type": {
"$ref": "#/components/schemas/ModelType",
"default": "llm",
"description": "The type of model (LLM or embedding model)"
}
},
"additionalProperties": false,
"required": [
"identifier",
"provider_id",
"type",
"metadata",
"model_type"
],
"title": "Model",
"description": "A model resource representing an AI model registered in Llama Stack."
},
"ModelType": {
"type": "string",
"enum": [
"llm",
"embedding"
],
"title": "ModelType",
"description": "Enumeration of supported model types in Llama Stack."
},
"ListModelsResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Model"
}
}
},
"additionalProperties": false,
"required": [
"data"
],
"title": "ListModelsResponse"
},
"RegisterModelRequest": {
"type": "object",
"properties": {
"model_id": {
"type": "string",
"description": "The identifier of the model to register."
},
"provider_model_id": {
"type": "string",
"description": "The identifier of the model in the provider."
},
"provider_id": {
"type": "string",
"description": "The identifier of the provider."
},
"metadata": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "Any additional metadata for this model."
},
"model_type": {
"$ref": "#/components/schemas/ModelType",
"description": "The type of model to register."
}
},
"additionalProperties": false,
"required": [
"model_id"
],
"title": "RegisterModelRequest"
},
"RunModerationRequest": {
"type": "object",
"properties": {
"input": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "Input (or inputs) to classify. Can be a single string, an array of strings, or an array of multi-modal input objects similar to other models."
},
"model": {
"type": "string",
"description": "The content moderation model you would like to use."
}
},
"additionalProperties": false,
"required": [
"input",
"model"
],
"title": "RunModerationRequest"
},
"ModerationObject": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier for the moderation request."
},
"model": {
"type": "string",
"description": "The model used to generate the moderation results."
},
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ModerationObjectResults"
},
"description": "A list of moderation objects"
}
},
"additionalProperties": false,
"required": [
"id",
"model",
"results"
],
"title": "ModerationObject",
"description": "A moderation object."
},
"ModerationObjectResults": {
"type": "object",
"properties": {
"flagged": {
"type": "boolean",
"description": "Whether any of the below categories are flagged."
},
"categories": {
"type": "object",
"additionalProperties": {
"type": "boolean"
},
"description": "A list of the categories, and whether they are flagged or not."
},
"category_applied_input_types": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
},
"description": "A list of the categories along with the input type(s) that the score applies to."
},
"category_scores": {
"type": "object",
"additionalProperties": {
"type": "number"
},
"description": "A list of the categories along with their scores as predicted by model."
},
"user_message": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
}
}
},
"additionalProperties": false,
"required": [
"flagged",
"metadata"
],
"title": "ModerationObjectResults",
"description": "A moderation object."
},
"Prompt": {
"type": "object",
"properties": {
"prompt": {
"type": "string",
"description": "The system prompt text with variable placeholders. Variables are only supported when using the Responses API."
},
"version": {
"type": "integer",
"description": "Version (integer starting at 1, incremented on save)"
},
"prompt_id": {
"type": "string",
"description": "Unique identifier formatted as 'pmpt_<48-digit-hash>'"
},
"variables": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of prompt variable names that can be used in the prompt template"
},
"is_default": {
"type": "boolean",
"default": false,
"description": "Boolean indicating whether this version is the default version for this prompt"
}
},
"additionalProperties": false,
"required": [
"version",
"prompt_id",
"variables",
"is_default"
],
"title": "Prompt",
"description": "A prompt resource representing a stored OpenAI Compatible prompt template in Llama Stack."
},
"ListPromptsResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Prompt"
}
}
},
"additionalProperties": false,
"required": [
"data"
],
"title": "ListPromptsResponse",
"description": "Response model to list prompts."
},
"CreatePromptRequest": {
"type": "object",
"properties": {
"prompt": {
"type": "string",
"description": "The prompt text content with variable placeholders."
},
"variables": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of variable names that can be used in the prompt template."
}
},
"additionalProperties": false,
"required": [
"prompt"
],
"title": "CreatePromptRequest"
},
"UpdatePromptRequest": {
"type": "object",
"properties": {
"prompt": {
"type": "string",
"description": "The updated prompt text content."
},
"version": {
"type": "integer",
"description": "The current version of the prompt being updated."
},
"variables": {
"type": "array",
"items": {
"type": "string"
},
"description": "Updated list of variable names that can be used in the prompt template."
},
"set_as_default": {
"type": "boolean",
"description": "Set the new version as the default (default=True)."
}
},
"additionalProperties": false,
"required": [
"prompt",
"version",
"set_as_default"
],
"title": "UpdatePromptRequest"
},
"SetDefaultVersionRequest": {
"type": "object",
"properties": {
"version": {
"type": "integer",
"description": "The version to set as default."
}
},
"additionalProperties": false,
"required": [
"version"
],
"title": "SetDefaultVersionRequest"
},
"ProviderInfo": {
"type": "object",
"properties": {
"api": {
"type": "string",
"description": "The API name this provider implements"
},
"provider_id": {
"type": "string",
"description": "Unique identifier for the provider"
},
"provider_type": {
"type": "string",
"description": "The type of provider implementation"
},
"config": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "Configuration parameters for the provider"
},
"health": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "Current health status of the provider"
}
},
"additionalProperties": false,
"required": [
"api",
"provider_id",
"provider_type",
"config",
"health"
],
"title": "ProviderInfo",
"description": "Information about a registered provider including its configuration and health status."
},
"ListProvidersResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProviderInfo"
},
"description": "List of provider information objects"
}
},
"additionalProperties": false,
"required": [
"data"
],
"title": "ListProvidersResponse",
"description": "Response containing a list of all available providers."
},
"ListOpenAIResponseObject": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIResponseObjectWithInput"
},
"description": "List of response objects with their input context"
},
"has_more": {
"type": "boolean",
"description": "Whether there are more results available beyond this page"
},
"first_id": {
"type": "string",
"description": "Identifier of the first item in this page"
},
"last_id": {
"type": "string",
"description": "Identifier of the last item in this page"
},
"object": {
"type": "string",
"const": "list",
"default": "list",
"description": "Object type identifier, always \"list\""
}
},
"additionalProperties": false,
"required": [
"data",
"has_more",
"first_id",
"last_id",
"object"
],
"title": "ListOpenAIResponseObject",
"description": "Paginated list of OpenAI response objects with navigation metadata."
},
"OpenAIResponseAnnotationCitation": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "url_citation",
"default": "url_citation",
"description": "Annotation type identifier, always \"url_citation\""
},
"end_index": {
"type": "integer",
"description": "End position of the citation span in the content"
},
"start_index": {
"type": "integer",
"description": "Start position of the citation span in the content"
},
"title": {
"type": "string",
"description": "Title of the referenced web resource"
},
"url": {
"type": "string",
"description": "URL of the referenced web resource"
}
},
"additionalProperties": false,
"required": [
"type",
"end_index",
"start_index",
"title",
"url"
],
"title": "OpenAIResponseAnnotationCitation",
"description": "URL citation annotation for referencing external web resources."
},
"OpenAIResponseAnnotationContainerFileCitation": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "container_file_citation",
"default": "container_file_citation"
},
"container_id": {
"type": "string"
},
"end_index": {
"type": "integer"
},
"file_id": {
"type": "string"
},
"filename": {
"type": "string"
},
"start_index": {
"type": "integer"
}
},
"additionalProperties": false,
"required": [
"type",
"container_id",
"end_index",
"file_id",
"filename",
"start_index"
],
"title": "OpenAIResponseAnnotationContainerFileCitation"
},
"OpenAIResponseAnnotationFileCitation": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "file_citation",
"default": "file_citation",
"description": "Annotation type identifier, always \"file_citation\""
},
"file_id": {
"type": "string",
"description": "Unique identifier of the referenced file"
},
"filename": {
"type": "string",
"description": "Name of the referenced file"
},
"index": {
"type": "integer",
"description": "Position index of the citation within the content"
}
},
"additionalProperties": false,
"required": [
"type",
"file_id",
"filename",
"index"
],
"title": "OpenAIResponseAnnotationFileCitation",
"description": "File citation annotation for referencing specific files in response content."
},
"OpenAIResponseAnnotationFilePath": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "file_path",
"default": "file_path"
},
"file_id": {
"type": "string"
},
"index": {
"type": "integer"
}
},
"additionalProperties": false,
"required": [
"type",
"file_id",
"index"
],
"title": "OpenAIResponseAnnotationFilePath"
},
"OpenAIResponseAnnotations": {
"oneOf": [
{
"$ref": "#/components/schemas/OpenAIResponseAnnotationFileCitation"
},
{
"$ref": "#/components/schemas/OpenAIResponseAnnotationCitation"
},
{
"$ref": "#/components/schemas/OpenAIResponseAnnotationContainerFileCitation"
},
{
"$ref": "#/components/schemas/OpenAIResponseAnnotationFilePath"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"file_citation": "#/components/schemas/OpenAIResponseAnnotationFileCitation",
"url_citation": "#/components/schemas/OpenAIResponseAnnotationCitation",
"container_file_citation": "#/components/schemas/OpenAIResponseAnnotationContainerFileCitation",
"file_path": "#/components/schemas/OpenAIResponseAnnotationFilePath"
}
}
},
"OpenAIResponseError": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error code identifying the type of failure"
},
"message": {
"type": "string",
"description": "Human-readable error message describing the failure"
}
},
"additionalProperties": false,
"required": [
"code",
"message"
],
"title": "OpenAIResponseError",
"description": "Error details for failed OpenAI response requests."
},
"OpenAIResponseInput": {
"oneOf": [
{
"$ref": "#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall"
},
{
"$ref": "#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall"
},
{
"$ref": "#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall"
},
{
"$ref": "#/components/schemas/OpenAIResponseInputFunctionToolCallOutput"
},
{
"$ref": "#/components/schemas/OpenAIResponseMCPApprovalRequest"
},
{
"$ref": "#/components/schemas/OpenAIResponseMCPApprovalResponse"
},
{
"$ref": "#/components/schemas/OpenAIResponseMessage"
}
]
},
"OpenAIResponseInputFunctionToolCallOutput": {
"type": "object",
"properties": {
"call_id": {
"type": "string"
},
"output": {
"type": "string"
},
"type": {
"type": "string",
"const": "function_call_output",
"default": "function_call_output"
},
"id": {
"type": "string"
},
"status": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"call_id",
"output",
"type"
],
"title": "OpenAIResponseInputFunctionToolCallOutput",
"description": "This represents the output of a function call that gets passed back to the model."
},
"OpenAIResponseInputMessageContent": {
"oneOf": [
{
"$ref": "#/components/schemas/OpenAIResponseInputMessageContentText"
},
{
"$ref": "#/components/schemas/OpenAIResponseInputMessageContentImage"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"input_text": "#/components/schemas/OpenAIResponseInputMessageContentText",
"input_image": "#/components/schemas/OpenAIResponseInputMessageContentImage"
}
}
},
"OpenAIResponseInputMessageContentImage": {
"type": "object",
"properties": {
"detail": {
"oneOf": [
{
"type": "string",
"const": "low"
},
{
"type": "string",
"const": "high"
},
{
"type": "string",
"const": "auto"
}
],
"default": "auto",
"description": "Level of detail for image processing, can be \"low\", \"high\", or \"auto\""
},
"type": {
"type": "string",
"const": "input_image",
"default": "input_image",
"description": "Content type identifier, always \"input_image\""
},
"image_url": {
"type": "string",
"description": "(Optional) URL of the image content"
}
},
"additionalProperties": false,
"required": [
"detail",
"type"
],
"title": "OpenAIResponseInputMessageContentImage",
"description": "Image content for input messages in OpenAI response format."
},
"OpenAIResponseInputMessageContentText": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "The text content of the input message"
},
"type": {
"type": "string",
"const": "input_text",
"default": "input_text",
"description": "Content type identifier, always \"input_text\""
}
},
"additionalProperties": false,
"required": [
"text",
"type"
],
"title": "OpenAIResponseInputMessageContentText",
"description": "Text content for input messages in OpenAI response format."
},
"OpenAIResponseMCPApprovalRequest": {
"type": "object",
"properties": {
"arguments": {
"type": "string"
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"server_label": {
"type": "string"
},
"type": {
"type": "string",
"const": "mcp_approval_request",
"default": "mcp_approval_request"
}
},
"additionalProperties": false,
"required": [
"arguments",
"id",
"name",
"server_label",
"type"
],
"title": "OpenAIResponseMCPApprovalRequest",
"description": "A request for human approval of a tool invocation."
},
"OpenAIResponseMCPApprovalResponse": {
"type": "object",
"properties": {
"approval_request_id": {
"type": "string"
},
"approve": {
"type": "boolean"
},
"type": {
"type": "string",
"const": "mcp_approval_response",
"default": "mcp_approval_response"
},
"id": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"approval_request_id",
"approve",
"type"
],
"title": "OpenAIResponseMCPApprovalResponse",
"description": "A response to an MCP approval request."
},
"OpenAIResponseMessage": {
"type": "object",
"properties": {
"content": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIResponseInputMessageContent"
}
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIResponseOutputMessageContent"
}
}
]
},
"role": {
"oneOf": [
{
"type": "string",
"const": "system"
},
{
"type": "string",
"const": "developer"
},
{
"type": "string",
"const": "user"
},
{
"type": "string",
"const": "assistant"
}
]
},
"type": {
"type": "string",
"const": "message",
"default": "message"
},
"id": {
"type": "string"
},
"status": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"content",
"role",
"type"
],
"title": "OpenAIResponseMessage",
"description": "Corresponds to the various Message types in the Responses API. They are all under one type because the Responses API gives them all the same \"type\" value, and there is no way to tell them apart in certain scenarios."
},
"OpenAIResponseObjectWithInput": {
"type": "object",
"properties": {
"created_at": {
"type": "integer",
"description": "Unix timestamp when the response was created"
},
"error": {
"$ref": "#/components/schemas/OpenAIResponseError",
"description": "(Optional) Error details if the response generation failed"
},
"id": {
"type": "string",
"description": "Unique identifier for this response"
},
"model": {
"type": "string",
"description": "Model identifier used for generation"
},
"object": {
"type": "string",
"const": "response",
"default": "response",
"description": "Object type identifier, always \"response\""
},
"output": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIResponseOutput"
},
"description": "List of generated output items (messages, tool calls, etc.)"
},
"parallel_tool_calls": {
"type": "boolean",
"default": false,
"description": "Whether tool calls can be executed in parallel"
},
"previous_response_id": {
"type": "string",
"description": "(Optional) ID of the previous response in a conversation"
},
"status": {
"type": "string",
"description": "Current status of the response generation"
},
"temperature": {
"type": "number",
"description": "(Optional) Sampling temperature used for generation"
},
"text": {
"$ref": "#/components/schemas/OpenAIResponseText",
"description": "Text formatting configuration for the response"
},
"top_p": {
"type": "number",
"description": "(Optional) Nucleus sampling parameter used for generation"
},
"truncation": {
"type": "string",
"description": "(Optional) Truncation strategy applied to the response"
},
"input": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIResponseInput"
},
"description": "List of input items that led to this response"
}
},
"additionalProperties": false,
"required": [
"created_at",
"id",
"model",
"object",
"output",
"parallel_tool_calls",
"status",
"text",
"input"
],
"title": "OpenAIResponseObjectWithInput",
"description": "OpenAI response object extended with input context information."
},
"OpenAIResponseOutput": {
"oneOf": [
{
"$ref": "#/components/schemas/OpenAIResponseMessage"
},
{
"$ref": "#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall"
},
{
"$ref": "#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall"
},
{
"$ref": "#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall"
},
{
"$ref": "#/components/schemas/OpenAIResponseOutputMessageMCPCall"
},
{
"$ref": "#/components/schemas/OpenAIResponseOutputMessageMCPListTools"
},
{
"$ref": "#/components/schemas/OpenAIResponseMCPApprovalRequest"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"message": "#/components/schemas/OpenAIResponseMessage",
"web_search_call": "#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall",
"file_search_call": "#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall",
"function_call": "#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall",
"mcp_call": "#/components/schemas/OpenAIResponseOutputMessageMCPCall",
"mcp_list_tools": "#/components/schemas/OpenAIResponseOutputMessageMCPListTools",
"mcp_approval_request": "#/components/schemas/OpenAIResponseMCPApprovalRequest"
}
}
},
"OpenAIResponseOutputMessageContent": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"type": {
"type": "string",
"const": "output_text",
"default": "output_text"
},
"annotations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIResponseAnnotations"
}
}
},
"additionalProperties": false,
"required": [
"text",
"type",
"annotations"
],
"title": "OpenAIResponseOutputMessageContentOutputText"
},
"OpenAIResponseOutputMessageFileSearchToolCall": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for this tool call"
},
"queries": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of search queries executed"
},
"status": {
"type": "string",
"description": "Current status of the file search operation"
},
"type": {
"type": "string",
"const": "file_search_call",
"default": "file_search_call",
"description": "Tool call type identifier, always \"file_search_call\""
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"attributes": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "(Optional) Key-value attributes associated with the file"
},
"file_id": {
"type": "string",
"description": "Unique identifier of the file containing the result"
},
"filename": {
"type": "string",
"description": "Name of the file containing the result"
},
"score": {
"type": "number",
"description": "Relevance score for this search result (between 0 and 1)"
},
"text": {
"type": "string",
"description": "Text content of the search result"
}
},
"additionalProperties": false,
"required": [
"attributes",
"file_id",
"filename",
"score",
"text"
],
"title": "OpenAIResponseOutputMessageFileSearchToolCallResults",
"description": "Search results returned by the file search operation."
},
"description": "(Optional) Search results returned by the file search operation"
}
},
"additionalProperties": false,
"required": [
"id",
"queries",
"status",
"type"
],
"title": "OpenAIResponseOutputMessageFileSearchToolCall",
"description": "File search tool call output message for OpenAI responses."
},
"OpenAIResponseOutputMessageFunctionToolCall": {
"type": "object",
"properties": {
"call_id": {
"type": "string",
"description": "Unique identifier for the function call"
},
"name": {
"type": "string",
"description": "Name of the function being called"
},
"arguments": {
"type": "string",
"description": "JSON string containing the function arguments"
},
"type": {
"type": "string",
"const": "function_call",
"default": "function_call",
"description": "Tool call type identifier, always \"function_call\""
},
"id": {
"type": "string",
"description": "(Optional) Additional identifier for the tool call"
},
"status": {
"type": "string",
"description": "(Optional) Current status of the function call execution"
}
},
"additionalProperties": false,
"required": [
"call_id",
"name",
"arguments",
"type"
],
"title": "OpenAIResponseOutputMessageFunctionToolCall",
"description": "Function tool call output message for OpenAI responses."
},
"OpenAIResponseOutputMessageMCPCall": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for this MCP call"
},
"type": {
"type": "string",
"const": "mcp_call",
"default": "mcp_call",
"description": "Tool call type identifier, always \"mcp_call\""
},
"arguments": {
"type": "string",
"description": "JSON string containing the MCP call arguments"
},
"name": {
"type": "string",
"description": "Name of the MCP method being called"
},
"server_label": {
"type": "string",
"description": "Label identifying the MCP server handling the call"
},
"error": {
"type": "string",
"description": "(Optional) Error message if the MCP call failed"
},
"output": {
"type": "string",
"description": "(Optional) Output result from the successful MCP call"
}
},
"additionalProperties": false,
"required": [
"id",
"type",
"arguments",
"name",
"server_label"
],
"title": "OpenAIResponseOutputMessageMCPCall",
"description": "Model Context Protocol (MCP) call output message for OpenAI responses."
},
"OpenAIResponseOutputMessageMCPListTools": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for this MCP list tools operation"
},
"type": {
"type": "string",
"const": "mcp_list_tools",
"default": "mcp_list_tools",
"description": "Tool call type identifier, always \"mcp_list_tools\""
},
"server_label": {
"type": "string",
"description": "Label identifying the MCP server providing the tools"
},
"tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"input_schema": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "JSON schema defining the tool's input parameters"
},
"name": {
"type": "string",
"description": "Name of the tool"
},
"description": {
"type": "string",
"description": "(Optional) Description of what the tool does"
}
},
"additionalProperties": false,
"required": [
"input_schema",
"name"
],
"title": "MCPListToolsTool",
"description": "Tool definition returned by MCP list tools operation."
},
"description": "List of available tools provided by the MCP server"
}
},
"additionalProperties": false,
"required": [
"id",
"type",
"server_label",
"tools"
],
"title": "OpenAIResponseOutputMessageMCPListTools",
"description": "MCP list tools output message containing available tools from an MCP server."
},
"OpenAIResponseOutputMessageWebSearchToolCall": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for this tool call"
},
"status": {
"type": "string",
"description": "Current status of the web search operation"
},
"type": {
"type": "string",
"const": "web_search_call",
"default": "web_search_call",
"description": "Tool call type identifier, always \"web_search_call\""
}
},
"additionalProperties": false,
"required": [
"id",
"status",
"type"
],
"title": "OpenAIResponseOutputMessageWebSearchToolCall",
"description": "Web search tool call output message for OpenAI responses."
},
"OpenAIResponseText": {
"type": "object",
"properties": {
"format": {
"type": "object",
"properties": {
"type": {
"oneOf": [
{
"type": "string",
"const": "text"
},
{
"type": "string",
"const": "json_schema"
},
{
"type": "string",
"const": "json_object"
}
],
"description": "Must be \"text\", \"json_schema\", or \"json_object\" to identify the format type"
},
"name": {
"type": "string",
"description": "The name of the response format. Only used for json_schema."
},
"schema": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "The JSON schema the response should conform to. In a Python SDK, this is often a `pydantic` model. Only used for json_schema."
},
"description": {
"type": "string",
"description": "(Optional) A description of the response format. Only used for json_schema."
},
"strict": {
"type": "boolean",
"description": "(Optional) Whether to strictly enforce the JSON schema. If true, the response must match the schema exactly. Only used for json_schema."
}
},
"additionalProperties": false,
"required": [
"type"
],
"description": "(Optional) Text format configuration specifying output format requirements"
}
},
"additionalProperties": false,
"title": "OpenAIResponseText",
"description": "Text response configuration for OpenAI responses."
},
"OpenAIResponseInputTool": {
"oneOf": [
{
"$ref": "#/components/schemas/OpenAIResponseInputToolWebSearch"
},
{
"$ref": "#/components/schemas/OpenAIResponseInputToolFileSearch"
},
{
"$ref": "#/components/schemas/OpenAIResponseInputToolFunction"
},
{
"$ref": "#/components/schemas/OpenAIResponseInputToolMCP"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"web_search": "#/components/schemas/OpenAIResponseInputToolWebSearch",
"file_search": "#/components/schemas/OpenAIResponseInputToolFileSearch",
"function": "#/components/schemas/OpenAIResponseInputToolFunction",
"mcp": "#/components/schemas/OpenAIResponseInputToolMCP"
}
}
},
"OpenAIResponseInputToolFileSearch": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "file_search",
"default": "file_search",
"description": "Tool type identifier, always \"file_search\""
},
"vector_store_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of vector store identifiers to search within"
},
"filters": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "(Optional) Additional filters to apply to the search"
},
"max_num_results": {
"type": "integer",
"default": 10,
"description": "(Optional) Maximum number of search results to return (1-50)"
},
"ranking_options": {
"type": "object",
"properties": {
"ranker": {
"type": "string",
"description": "(Optional) Name of the ranking algorithm to use"
},
"score_threshold": {
"type": "number",
"default": 0.0,
"description": "(Optional) Minimum relevance score threshold for results"
}
},
"additionalProperties": false,
"description": "(Optional) Options for ranking and scoring search results"
}
},
"additionalProperties": false,
"required": [
"type",
"vector_store_ids"
],
"title": "OpenAIResponseInputToolFileSearch",
"description": "File search tool configuration for OpenAI response inputs."
},
"OpenAIResponseInputToolFunction": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "function",
"default": "function",
"description": "Tool type identifier, always \"function\""
},
"name": {
"type": "string",
"description": "Name of the function that can be called"
},
"description": {
"type": "string",
"description": "(Optional) Description of what the function does"
},
"parameters": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "(Optional) JSON schema defining the function's parameters"
},
"strict": {
"type": "boolean",
"description": "(Optional) Whether to enforce strict parameter validation"
}
},
"additionalProperties": false,
"required": [
"type",
"name"
],
"title": "OpenAIResponseInputToolFunction",
"description": "Function tool configuration for OpenAI response inputs."
},
"OpenAIResponseInputToolMCP": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "mcp",
"default": "mcp",
"description": "Tool type identifier, always \"mcp\""
},
"server_label": {
"type": "string",
"description": "Label to identify this MCP server"
},
"server_url": {
"type": "string",
"description": "URL endpoint of the MCP server"
},
"headers": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "(Optional) HTTP headers to include when connecting to the server"
},
"require_approval": {
"oneOf": [
{
"type": "string",
"const": "always"
},
{
"type": "string",
"const": "never"
},
{
"type": "object",
"properties": {
"always": {
"type": "array",
"items": {
"type": "string"
},
"description": "(Optional) List of tool names that always require approval"
},
"never": {
"type": "array",
"items": {
"type": "string"
},
"description": "(Optional) List of tool names that never require approval"
}
},
"additionalProperties": false,
"title": "ApprovalFilter",
"description": "Filter configuration for MCP tool approval requirements."
}
],
"default": "never",
"description": "Approval requirement for tool calls (\"always\", \"never\", or filter)"
},
"allowed_tools": {
"oneOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "object",
"properties": {
"tool_names": {
"type": "array",
"items": {
"type": "string"
},
"description": "(Optional) List of specific tool names that are allowed"
}
},
"additionalProperties": false,
"title": "AllowedToolsFilter",
"description": "Filter configuration for restricting which MCP tools can be used."
}
],
"description": "(Optional) Restriction on which tools can be used from this server"
}
},
"additionalProperties": false,
"required": [
"type",
"server_label",
"server_url",
"require_approval"
],
"title": "OpenAIResponseInputToolMCP",
"description": "Model Context Protocol (MCP) tool configuration for OpenAI response inputs."
},
"OpenAIResponseInputToolWebSearch": {
"type": "object",
"properties": {
"type": {
"oneOf": [
{
"type": "string",
"const": "web_search"
},
{
"type": "string",
"const": "web_search_preview"
},
{
"type": "string",
"const": "web_search_preview_2025_03_11"
}
],
"default": "web_search",
"description": "Web search tool type variant to use"
},
"search_context_size": {
"type": "string",
"default": "medium",
"description": "(Optional) Size of search context, must be \"low\", \"medium\", or \"high\""
}
},
"additionalProperties": false,
"required": [
"type"
],
"title": "OpenAIResponseInputToolWebSearch",
"description": "Web search tool configuration for OpenAI response inputs."
},
"CreateOpenaiResponseRequest": {
"type": "object",
"properties": {
"input": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIResponseInput"
}
}
],
"description": "Input message(s) to create the response."
},
"model": {
"type": "string",
"description": "The underlying LLM used for completions."
},
"instructions": {
"type": "string"
},
"previous_response_id": {
"type": "string",
"description": "(Optional) if specified, the new response will be a continuation of the previous response. This can be used to easily fork-off new responses from existing responses."
},
"store": {
"type": "boolean"
},
"stream": {
"type": "boolean"
},
"temperature": {
"type": "number"
},
"text": {
"$ref": "#/components/schemas/OpenAIResponseText"
},
"tools": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIResponseInputTool"
}
},
"include": {
"type": "array",
"items": {
"type": "string"
},
"description": "(Optional) Additional fields to include in the response."
},
"max_infer_iters": {
"type": "integer"
}
},
"additionalProperties": false,
"required": [
"input",
"model"
],
"title": "CreateOpenaiResponseRequest"
},
"OpenAIResponseObject": {
"type": "object",
"properties": {
"created_at": {
"type": "integer",
"description": "Unix timestamp when the response was created"
},
"error": {
"$ref": "#/components/schemas/OpenAIResponseError",
"description": "(Optional) Error details if the response generation failed"
},
"id": {
"type": "string",
"description": "Unique identifier for this response"
},
"model": {
"type": "string",
"description": "Model identifier used for generation"
},
"object": {
"type": "string",
"const": "response",
"default": "response",
"description": "Object type identifier, always \"response\""
},
"output": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIResponseOutput"
},
"description": "List of generated output items (messages, tool calls, etc.)"
},
"parallel_tool_calls": {
"type": "boolean",
"default": false,
"description": "Whether tool calls can be executed in parallel"
},
"previous_response_id": {
"type": "string",
"description": "(Optional) ID of the previous response in a conversation"
},
"status": {
"type": "string",
"description": "Current status of the response generation"
},
"temperature": {
"type": "number",
"description": "(Optional) Sampling temperature used for generation"
},
"text": {
"$ref": "#/components/schemas/OpenAIResponseText",
"description": "Text formatting configuration for the response"
},
"top_p": {
"type": "number",
"description": "(Optional) Nucleus sampling parameter used for generation"
},
"truncation": {
"type": "string",
"description": "(Optional) Truncation strategy applied to the response"
}
},
"additionalProperties": false,
"required": [
"created_at",
"id",
"model",
"object",
"output",
"parallel_tool_calls",
"status",
"text"
],
"title": "OpenAIResponseObject",
"description": "Complete OpenAI response object containing generation results and metadata."
},
"OpenAIResponseContentPartOutputText": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "output_text",
"default": "output_text"
},
"text": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"type",
"text"
],
"title": "OpenAIResponseContentPartOutputText"
},
"OpenAIResponseContentPartRefusal": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "refusal",
"default": "refusal"
},
"refusal": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"type",
"refusal"
],
"title": "OpenAIResponseContentPartRefusal"
},
"OpenAIResponseObjectStream": {
"oneOf": [
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseCreated"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemAdded"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemDone"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDelta"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDone"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallInProgress"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallSearching"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallCompleted"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsInProgress"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsFailed"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsCompleted"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallArgumentsDone"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallInProgress"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallFailed"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallCompleted"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseContentPartAdded"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseContentPartDone"
},
{
"$ref": "#/components/schemas/OpenAIResponseObjectStreamResponseCompleted"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"response.created": "#/components/schemas/OpenAIResponseObjectStreamResponseCreated",
"response.output_item.added": "#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemAdded",
"response.output_item.done": "#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemDone",
"response.output_text.delta": "#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDelta",
"response.output_text.done": "#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDone",
"response.function_call_arguments.delta": "#/components/schemas/OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta",
"response.function_call_arguments.done": "#/components/schemas/OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone",
"response.web_search_call.in_progress": "#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallInProgress",
"response.web_search_call.searching": "#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallSearching",
"response.web_search_call.completed": "#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallCompleted",
"response.mcp_list_tools.in_progress": "#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsInProgress",
"response.mcp_list_tools.failed": "#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsFailed",
"response.mcp_list_tools.completed": "#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsCompleted",
"response.mcp_call.arguments.delta": "#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta",
"response.mcp_call.arguments.done": "#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallArgumentsDone",
"response.mcp_call.in_progress": "#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallInProgress",
"response.mcp_call.failed": "#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallFailed",
"response.mcp_call.completed": "#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallCompleted",
"response.content_part.added": "#/components/schemas/OpenAIResponseObjectStreamResponseContentPartAdded",
"response.content_part.done": "#/components/schemas/OpenAIResponseObjectStreamResponseContentPartDone",
"response.completed": "#/components/schemas/OpenAIResponseObjectStreamResponseCompleted"
}
}
},
"OpenAIResponseObjectStreamResponseCompleted": {
"type": "object",
"properties": {
"response": {
"$ref": "#/components/schemas/OpenAIResponseObject",
"description": "The completed response object"
},
"type": {
"type": "string",
"const": "response.completed",
"default": "response.completed",
"description": "Event type identifier, always \"response.completed\""
}
},
"additionalProperties": false,
"required": [
"response",
"type"
],
"title": "OpenAIResponseObjectStreamResponseCompleted",
"description": "Streaming event indicating a response has been completed."
},
"OpenAIResponseObjectStreamResponseContentPartAdded": {
"type": "object",
"properties": {
"response_id": {
"type": "string",
"description": "Unique identifier of the response containing this content"
},
"item_id": {
"type": "string",
"description": "Unique identifier of the output item containing this content part"
},
"part": {
"oneOf": [
{
"$ref": "#/components/schemas/OpenAIResponseContentPartOutputText"
},
{
"$ref": "#/components/schemas/OpenAIResponseContentPartRefusal"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"output_text": "#/components/schemas/OpenAIResponseContentPartOutputText",
"refusal": "#/components/schemas/OpenAIResponseContentPartRefusal"
}
},
"description": "The content part that was added"
},
"sequence_number": {
"type": "integer",
"description": "Sequential number for ordering streaming events"
},
"type": {
"type": "string",
"const": "response.content_part.added",
"default": "response.content_part.added",
"description": "Event type identifier, always \"response.content_part.added\""
}
},
"additionalProperties": false,
"required": [
"response_id",
"item_id",
"part",
"sequence_number",
"type"
],
"title": "OpenAIResponseObjectStreamResponseContentPartAdded",
"description": "Streaming event for when a new content part is added to a response item."
},
"OpenAIResponseObjectStreamResponseContentPartDone": {
"type": "object",
"properties": {
"response_id": {
"type": "string",
"description": "Unique identifier of the response containing this content"
},
"item_id": {
"type": "string",
"description": "Unique identifier of the output item containing this content part"
},
"part": {
"oneOf": [
{
"$ref": "#/components/schemas/OpenAIResponseContentPartOutputText"
},
{
"$ref": "#/components/schemas/OpenAIResponseContentPartRefusal"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"output_text": "#/components/schemas/OpenAIResponseContentPartOutputText",
"refusal": "#/components/schemas/OpenAIResponseContentPartRefusal"
}
},
"description": "The completed content part"
},
"sequence_number": {
"type": "integer",
"description": "Sequential number for ordering streaming events"
},
"type": {
"type": "string",
"const": "response.content_part.done",
"default": "response.content_part.done",
"description": "Event type identifier, always \"response.content_part.done\""
}
},
"additionalProperties": false,
"required": [
"response_id",
"item_id",
"part",
"sequence_number",
"type"
],
"title": "OpenAIResponseObjectStreamResponseContentPartDone",
"description": "Streaming event for when a content part is completed."
},
"OpenAIResponseObjectStreamResponseCreated": {
"type": "object",
"properties": {
"response": {
"$ref": "#/components/schemas/OpenAIResponseObject",
"description": "The newly created response object"
},
"type": {
"type": "string",
"const": "response.created",
"default": "response.created",
"description": "Event type identifier, always \"response.created\""
}
},
"additionalProperties": false,
"required": [
"response",
"type"
],
"title": "OpenAIResponseObjectStreamResponseCreated",
"description": "Streaming event indicating a new response has been created."
},
"OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta": {
"type": "object",
"properties": {
"delta": {
"type": "string",
"description": "Incremental function call arguments being added"
},
"item_id": {
"type": "string",
"description": "Unique identifier of the function call being updated"
},
"output_index": {
"type": "integer",
"description": "Index position of the item in the output list"
},
"sequence_number": {
"type": "integer",
"description": "Sequential number for ordering streaming events"
},
"type": {
"type": "string",
"const": "response.function_call_arguments.delta",
"default": "response.function_call_arguments.delta",
"description": "Event type identifier, always \"response.function_call_arguments.delta\""
}
},
"additionalProperties": false,
"required": [
"delta",
"item_id",
"output_index",
"sequence_number",
"type"
],
"title": "OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta",
"description": "Streaming event for incremental function call argument updates."
},
"OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone": {
"type": "object",
"properties": {
"arguments": {
"type": "string",
"description": "Final complete arguments JSON string for the function call"
},
"item_id": {
"type": "string",
"description": "Unique identifier of the completed function call"
},
"output_index": {
"type": "integer",
"description": "Index position of the item in the output list"
},
"sequence_number": {
"type": "integer",
"description": "Sequential number for ordering streaming events"
},
"type": {
"type": "string",
"const": "response.function_call_arguments.done",
"default": "response.function_call_arguments.done",
"description": "Event type identifier, always \"response.function_call_arguments.done\""
}
},
"additionalProperties": false,
"required": [
"arguments",
"item_id",
"output_index",
"sequence_number",
"type"
],
"title": "OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone",
"description": "Streaming event for when function call arguments are completed."
},
"OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta": {
"type": "object",
"properties": {
"delta": {
"type": "string"
},
"item_id": {
"type": "string"
},
"output_index": {
"type": "integer"
},
"sequence_number": {
"type": "integer"
},
"type": {
"type": "string",
"const": "response.mcp_call.arguments.delta",
"default": "response.mcp_call.arguments.delta"
}
},
"additionalProperties": false,
"required": [
"delta",
"item_id",
"output_index",
"sequence_number",
"type"
],
"title": "OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta"
},
"OpenAIResponseObjectStreamResponseMcpCallArgumentsDone": {
"type": "object",
"properties": {
"arguments": {
"type": "string"
},
"item_id": {
"type": "string"
},
"output_index": {
"type": "integer"
},
"sequence_number": {
"type": "integer"
},
"type": {
"type": "string",
"const": "response.mcp_call.arguments.done",
"default": "response.mcp_call.arguments.done"
}
},
"additionalProperties": false,
"required": [
"arguments",
"item_id",
"output_index",
"sequence_number",
"type"
],
"title": "OpenAIResponseObjectStreamResponseMcpCallArgumentsDone"
},
"OpenAIResponseObjectStreamResponseMcpCallCompleted": {
"type": "object",
"properties": {
"sequence_number": {
"type": "integer",
"description": "Sequential number for ordering streaming events"
},
"type": {
"type": "string",
"const": "response.mcp_call.completed",
"default": "response.mcp_call.completed",
"description": "Event type identifier, always \"response.mcp_call.completed\""
}
},
"additionalProperties": false,
"required": [
"sequence_number",
"type"
],
"title": "OpenAIResponseObjectStreamResponseMcpCallCompleted",
"description": "Streaming event for completed MCP calls."
},
"OpenAIResponseObjectStreamResponseMcpCallFailed": {
"type": "object",
"properties": {
"sequence_number": {
"type": "integer",
"description": "Sequential number for ordering streaming events"
},
"type": {
"type": "string",
"const": "response.mcp_call.failed",
"default": "response.mcp_call.failed",
"description": "Event type identifier, always \"response.mcp_call.failed\""
}
},
"additionalProperties": false,
"required": [
"sequence_number",
"type"
],
"title": "OpenAIResponseObjectStreamResponseMcpCallFailed",
"description": "Streaming event for failed MCP calls."
},
"OpenAIResponseObjectStreamResponseMcpCallInProgress": {
"type": "object",
"properties": {
"item_id": {
"type": "string",
"description": "Unique identifier of the MCP call"
},
"output_index": {
"type": "integer",
"description": "Index position of the item in the output list"
},
"sequence_number": {
"type": "integer",
"description": "Sequential number for ordering streaming events"
},
"type": {
"type": "string",
"const": "response.mcp_call.in_progress",
"default": "response.mcp_call.in_progress",
"description": "Event type identifier, always \"response.mcp_call.in_progress\""
}
},
"additionalProperties": false,
"required": [
"item_id",
"output_index",
"sequence_number",
"type"
],
"title": "OpenAIResponseObjectStreamResponseMcpCallInProgress",
"description": "Streaming event for MCP calls in progress."
},
"OpenAIResponseObjectStreamResponseMcpListToolsCompleted": {
"type": "object",
"properties": {
"sequence_number": {
"type": "integer"
},
"type": {
"type": "string",
"const": "response.mcp_list_tools.completed",
"default": "response.mcp_list_tools.completed"
}
},
"additionalProperties": false,
"required": [
"sequence_number",
"type"
],
"title": "OpenAIResponseObjectStreamResponseMcpListToolsCompleted"
},
"OpenAIResponseObjectStreamResponseMcpListToolsFailed": {
"type": "object",
"properties": {
"sequence_number": {
"type": "integer"
},
"type": {
"type": "string",
"const": "response.mcp_list_tools.failed",
"default": "response.mcp_list_tools.failed"
}
},
"additionalProperties": false,
"required": [
"sequence_number",
"type"
],
"title": "OpenAIResponseObjectStreamResponseMcpListToolsFailed"
},
"OpenAIResponseObjectStreamResponseMcpListToolsInProgress": {
"type": "object",
"properties": {
"sequence_number": {
"type": "integer"
},
"type": {
"type": "string",
"const": "response.mcp_list_tools.in_progress",
"default": "response.mcp_list_tools.in_progress"
}
},
"additionalProperties": false,
"required": [
"sequence_number",
"type"
],
"title": "OpenAIResponseObjectStreamResponseMcpListToolsInProgress"
},
"OpenAIResponseObjectStreamResponseOutputItemAdded": {
"type": "object",
"properties": {
"response_id": {
"type": "string",
"description": "Unique identifier of the response containing this output"
},
"item": {
"oneOf": [
{
"$ref": "#/components/schemas/OpenAIResponseMessage"
},
{
"$ref": "#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall"
},
{
"$ref": "#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall"
},
{
"$ref": "#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall"
},
{
"$ref": "#/components/schemas/OpenAIResponseOutputMessageMCPCall"
},
{
"$ref": "#/components/schemas/OpenAIResponseOutputMessageMCPListTools"
},
{
"$ref": "#/components/schemas/OpenAIResponseMCPApprovalRequest"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"message": "#/components/schemas/OpenAIResponseMessage",
"web_search_call": "#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall",
"file_search_call": "#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall",
"function_call": "#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall",
"mcp_call": "#/components/schemas/OpenAIResponseOutputMessageMCPCall",
"mcp_list_tools": "#/components/schemas/OpenAIResponseOutputMessageMCPListTools",
"mcp_approval_request": "#/components/schemas/OpenAIResponseMCPApprovalRequest"
}
},
"description": "The output item that was added (message, tool call, etc.)"
},
"output_index": {
"type": "integer",
"description": "Index position of this item in the output list"
},
"sequence_number": {
"type": "integer",
"description": "Sequential number for ordering streaming events"
},
"type": {
"type": "string",
"const": "response.output_item.added",
"default": "response.output_item.added",
"description": "Event type identifier, always \"response.output_item.added\""
}
},
"additionalProperties": false,
"required": [
"response_id",
"item",
"output_index",
"sequence_number",
"type"
],
"title": "OpenAIResponseObjectStreamResponseOutputItemAdded",
"description": "Streaming event for when a new output item is added to the response."
},
"OpenAIResponseObjectStreamResponseOutputItemDone": {
"type": "object",
"properties": {
"response_id": {
"type": "string",
"description": "Unique identifier of the response containing this output"
},
"item": {
"oneOf": [
{
"$ref": "#/components/schemas/OpenAIResponseMessage"
},
{
"$ref": "#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall"
},
{
"$ref": "#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall"
},
{
"$ref": "#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall"
},
{
"$ref": "#/components/schemas/OpenAIResponseOutputMessageMCPCall"
},
{
"$ref": "#/components/schemas/OpenAIResponseOutputMessageMCPListTools"
},
{
"$ref": "#/components/schemas/OpenAIResponseMCPApprovalRequest"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"message": "#/components/schemas/OpenAIResponseMessage",
"web_search_call": "#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall",
"file_search_call": "#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall",
"function_call": "#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall",
"mcp_call": "#/components/schemas/OpenAIResponseOutputMessageMCPCall",
"mcp_list_tools": "#/components/schemas/OpenAIResponseOutputMessageMCPListTools",
"mcp_approval_request": "#/components/schemas/OpenAIResponseMCPApprovalRequest"
}
},
"description": "The completed output item (message, tool call, etc.)"
},
"output_index": {
"type": "integer",
"description": "Index position of this item in the output list"
},
"sequence_number": {
"type": "integer",
"description": "Sequential number for ordering streaming events"
},
"type": {
"type": "string",
"const": "response.output_item.done",
"default": "response.output_item.done",
"description": "Event type identifier, always \"response.output_item.done\""
}
},
"additionalProperties": false,
"required": [
"response_id",
"item",
"output_index",
"sequence_number",
"type"
],
"title": "OpenAIResponseObjectStreamResponseOutputItemDone",
"description": "Streaming event for when an output item is completed."
},
"OpenAIResponseObjectStreamResponseOutputTextDelta": {
"type": "object",
"properties": {
"content_index": {
"type": "integer",
"description": "Index position within the text content"
},
"delta": {
"type": "string",
"description": "Incremental text content being added"
},
"item_id": {
"type": "string",
"description": "Unique identifier of the output item being updated"
},
"output_index": {
"type": "integer",
"description": "Index position of the item in the output list"
},
"sequence_number": {
"type": "integer",
"description": "Sequential number for ordering streaming events"
},
"type": {
"type": "string",
"const": "response.output_text.delta",
"default": "response.output_text.delta",
"description": "Event type identifier, always \"response.output_text.delta\""
}
},
"additionalProperties": false,
"required": [
"content_index",
"delta",
"item_id",
"output_index",
"sequence_number",
"type"
],
"title": "OpenAIResponseObjectStreamResponseOutputTextDelta",
"description": "Streaming event for incremental text content updates."
},
"OpenAIResponseObjectStreamResponseOutputTextDone": {
"type": "object",
"properties": {
"content_index": {
"type": "integer",
"description": "Index position within the text content"
},
"text": {
"type": "string",
"description": "Final complete text content of the output item"
},
"item_id": {
"type": "string",
"description": "Unique identifier of the completed output item"
},
"output_index": {
"type": "integer",
"description": "Index position of the item in the output list"
},
"sequence_number": {
"type": "integer",
"description": "Sequential number for ordering streaming events"
},
"type": {
"type": "string",
"const": "response.output_text.done",
"default": "response.output_text.done",
"description": "Event type identifier, always \"response.output_text.done\""
}
},
"additionalProperties": false,
"required": [
"content_index",
"text",
"item_id",
"output_index",
"sequence_number",
"type"
],
"title": "OpenAIResponseObjectStreamResponseOutputTextDone",
"description": "Streaming event for when text output is completed."
},
"OpenAIResponseObjectStreamResponseWebSearchCallCompleted": {
"type": "object",
"properties": {
"item_id": {
"type": "string",
"description": "Unique identifier of the completed web search call"
},
"output_index": {
"type": "integer",
"description": "Index position of the item in the output list"
},
"sequence_number": {
"type": "integer",
"description": "Sequential number for ordering streaming events"
},
"type": {
"type": "string",
"const": "response.web_search_call.completed",
"default": "response.web_search_call.completed",
"description": "Event type identifier, always \"response.web_search_call.completed\""
}
},
"additionalProperties": false,
"required": [
"item_id",
"output_index",
"sequence_number",
"type"
],
"title": "OpenAIResponseObjectStreamResponseWebSearchCallCompleted",
"description": "Streaming event for completed web search calls."
},
"OpenAIResponseObjectStreamResponseWebSearchCallInProgress": {
"type": "object",
"properties": {
"item_id": {
"type": "string",
"description": "Unique identifier of the web search call"
},
"output_index": {
"type": "integer",
"description": "Index position of the item in the output list"
},
"sequence_number": {
"type": "integer",
"description": "Sequential number for ordering streaming events"
},
"type": {
"type": "string",
"const": "response.web_search_call.in_progress",
"default": "response.web_search_call.in_progress",
"description": "Event type identifier, always \"response.web_search_call.in_progress\""
}
},
"additionalProperties": false,
"required": [
"item_id",
"output_index",
"sequence_number",
"type"
],
"title": "OpenAIResponseObjectStreamResponseWebSearchCallInProgress",
"description": "Streaming event for web search calls in progress."
},
"OpenAIResponseObjectStreamResponseWebSearchCallSearching": {
"type": "object",
"properties": {
"item_id": {
"type": "string"
},
"output_index": {
"type": "integer"
},
"sequence_number": {
"type": "integer"
},
"type": {
"type": "string",
"const": "response.web_search_call.searching",
"default": "response.web_search_call.searching"
}
},
"additionalProperties": false,
"required": [
"item_id",
"output_index",
"sequence_number",
"type"
],
"title": "OpenAIResponseObjectStreamResponseWebSearchCallSearching"
},
"OpenAIDeleteResponseObject": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the deleted response"
},
"object": {
"type": "string",
"const": "response",
"default": "response",
"description": "Object type identifier, always \"response\""
},
"deleted": {
"type": "boolean",
"default": true,
"description": "Deletion confirmation flag, always True"
}
},
"additionalProperties": false,
"required": [
"id",
"object",
"deleted"
],
"title": "OpenAIDeleteResponseObject",
"description": "Response object confirming deletion of an OpenAI response."
},
"ListOpenAIResponseInputItem": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAIResponseInput"
},
"description": "List of input items"
},
"object": {
"type": "string",
"const": "list",
"default": "list",
"description": "Object type identifier, always \"list\""
}
},
"additionalProperties": false,
"required": [
"data",
"object"
],
"title": "ListOpenAIResponseInputItem",
"description": "List container for OpenAI response input items."
},
"CompletionMessage": {
"type": "object",
"properties": {
"role": {
"type": "string",
"const": "assistant",
"default": "assistant",
"description": "Must be \"assistant\" to identify this as the model's response"
},
"content": {
"$ref": "#/components/schemas/InterleavedContent",
"description": "The content of the model's response"
},
"stop_reason": {
"type": "string",
"enum": [
"end_of_turn",
"end_of_message",
"out_of_tokens"
],
"description": "Reason why the model stopped generating. Options are: - `StopReason.end_of_turn`: The model finished generating the entire response. - `StopReason.end_of_message`: The model finished generating but generated a partial response -- usually, a tool call. The user may call the tool and continue the conversation with the tool's response. - `StopReason.out_of_tokens`: The model ran out of token budget."
},
"tool_calls": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ToolCall"
},
"description": "List of tool calls. Each tool call is a ToolCall object."
}
},
"additionalProperties": false,
"required": [
"role",
"content",
"stop_reason"
],
"title": "CompletionMessage",
"description": "A message containing the model's (assistant) response in a chat conversation."
},
"ImageContentItem": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "image",
"default": "image",
"description": "Discriminator type of the content item. Always \"image\""
},
"image": {
"type": "object",
"properties": {
"url": {
"$ref": "#/components/schemas/URL",
"description": "A URL of the image or data URL in the format of data:image/{type};base64,{data}. Note that URL could have length limits."
},
"data": {
"type": "string",
"contentEncoding": "base64",
"description": "base64 encoded image data as string"
}
},
"additionalProperties": false,
"description": "Image as a base64 encoded string or an URL"
}
},
"additionalProperties": false,
"required": [
"type",
"image"
],
"title": "ImageContentItem",
"description": "A image content item"
},
"InterleavedContent": {
"oneOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/InterleavedContentItem"
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/InterleavedContentItem"
}
}
]
},
"InterleavedContentItem": {
"oneOf": [
{
"$ref": "#/components/schemas/ImageContentItem"
},
{
"$ref": "#/components/schemas/TextContentItem"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"image": "#/components/schemas/ImageContentItem",
"text": "#/components/schemas/TextContentItem"
}
}
},
"Message": {
"oneOf": [
{
"$ref": "#/components/schemas/UserMessage"
},
{
"$ref": "#/components/schemas/SystemMessage"
},
{
"$ref": "#/components/schemas/ToolResponseMessage"
},
{
"$ref": "#/components/schemas/CompletionMessage"
}
],
"discriminator": {
"propertyName": "role",
"mapping": {
"user": "#/components/schemas/UserMessage",
"system": "#/components/schemas/SystemMessage",
"tool": "#/components/schemas/ToolResponseMessage",
"assistant": "#/components/schemas/CompletionMessage"
}
}
},
"SystemMessage": {
"type": "object",
"properties": {
"role": {
"type": "string",
"const": "system",
"default": "system",
"description": "Must be \"system\" to identify this as a system message"
},
"content": {
"$ref": "#/components/schemas/InterleavedContent",
"description": "The content of the \"system prompt\". If multiple system messages are provided, they are concatenated. The underlying Llama Stack code may also add other system messages (for example, for formatting tool definitions)."
}
},
"additionalProperties": false,
"required": [
"role",
"content"
],
"title": "SystemMessage",
"description": "A system message providing instructions or context to the model."
},
"TextContentItem": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "text",
"default": "text",
"description": "Discriminator type of the content item. Always \"text\""
},
"text": {
"type": "string",
"description": "Text content"
}
},
"additionalProperties": false,
"required": [
"type",
"text"
],
"title": "TextContentItem",
"description": "A text content item"
},
"ToolCall": {
"type": "object",
"properties": {
"call_id": {
"type": "string"
},
"tool_name": {
"oneOf": [
{
"type": "string",
"enum": [
"brave_search",
"wolfram_alpha",
"photogen",
"code_interpreter"
],
"title": "BuiltinTool"
},
{
"type": "string"
}
]
},
"arguments": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"call_id",
"tool_name",
"arguments"
],
"title": "ToolCall"
},
"ToolResponseMessage": {
"type": "object",
"properties": {
"role": {
"type": "string",
"const": "tool",
"default": "tool",
"description": "Must be \"tool\" to identify this as a tool response"
},
"call_id": {
"type": "string",
"description": "Unique identifier for the tool call this response is for"
},
"content": {
"$ref": "#/components/schemas/InterleavedContent",
"description": "The response content from the tool"
}
},
"additionalProperties": false,
"required": [
"role",
"call_id",
"content"
],
"title": "ToolResponseMessage",
"description": "A message representing the result of a tool invocation."
},
"URL": {
"type": "object",
"properties": {
"uri": {
"type": "string",
"description": "The URL string pointing to the resource"
}
},
"additionalProperties": false,
"required": [
"uri"
],
"title": "URL",
"description": "A URL reference to external content."
},
"UserMessage": {
"type": "object",
"properties": {
"role": {
"type": "string",
"const": "user",
"default": "user",
"description": "Must be \"user\" to identify this as a user message"
},
"content": {
"$ref": "#/components/schemas/InterleavedContent",
"description": "The content of the message, which can include text and other media"
},
"context": {
"$ref": "#/components/schemas/InterleavedContent",
"description": "(Optional) This field is used internally by Llama Stack to pass RAG context. This field may be removed in the API in the future."
}
},
"additionalProperties": false,
"required": [
"role",
"content"
],
"title": "UserMessage",
"description": "A message from the user in a chat conversation."
},
"RunShieldRequest": {
"type": "object",
"properties": {
"shield_id": {
"type": "string",
"description": "The identifier of the shield to run."
},
"messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Message"
},
"description": "The messages to run the shield on."
},
"params": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "The parameters of the shield."
}
},
"additionalProperties": false,
"required": [
"shield_id",
"messages",
"params"
],
"title": "RunShieldRequest"
},
"RunShieldResponse": {
"type": "object",
"properties": {
"violation": {
"$ref": "#/components/schemas/SafetyViolation",
"description": "(Optional) Safety violation detected by the shield, if any"
}
},
"additionalProperties": false,
"title": "RunShieldResponse",
"description": "Response from running a safety shield."
},
"SafetyViolation": {
"type": "object",
"properties": {
"violation_level": {
"$ref": "#/components/schemas/ViolationLevel",
"description": "Severity level of the violation"
},
"user_message": {
"type": "string",
"description": "(Optional) Message to convey to the user about the violation"
},
"metadata": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "Additional metadata including specific violation codes for debugging and telemetry"
}
},
"additionalProperties": false,
"required": [
"violation_level",
"metadata"
],
"title": "SafetyViolation",
"description": "Details of a safety violation detected by content moderation."
},
"ViolationLevel": {
"type": "string",
"enum": [
"info",
"warn",
"error"
],
"title": "ViolationLevel",
"description": "Severity level of a safety violation."
},
"AgentTurnInputType": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "agent_turn_input",
"default": "agent_turn_input",
"description": "Discriminator type. Always \"agent_turn_input\""
}
},
"additionalProperties": false,
"required": [
"type"
],
"title": "AgentTurnInputType",
"description": "Parameter type for agent turn input."
},
"AggregationFunctionType": {
"type": "string",
"enum": [
"average",
"weighted_average",
"median",
"categorical_count",
"accuracy"
],
"title": "AggregationFunctionType",
"description": "Types of aggregation functions for scoring results."
},
"ArrayType": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "array",
"default": "array",
"description": "Discriminator type. Always \"array\""
}
},
"additionalProperties": false,
"required": [
"type"
],
"title": "ArrayType",
"description": "Parameter type for array values."
},
"BasicScoringFnParams": {
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/ScoringFnParamsType",
"const": "basic",
"default": "basic",
"description": "The type of scoring function parameters, always basic"
},
"aggregation_functions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AggregationFunctionType"
},
"description": "Aggregation functions to apply to the scores of each row"
}
},
"additionalProperties": false,
"required": [
"type",
"aggregation_functions"
],
"title": "BasicScoringFnParams",
"description": "Parameters for basic scoring function configuration."
},
"BooleanType": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "boolean",
"default": "boolean",
"description": "Discriminator type. Always \"boolean\""
}
},
"additionalProperties": false,
"required": [
"type"
],
"title": "BooleanType",
"description": "Parameter type for boolean values."
},
"ChatCompletionInputType": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "chat_completion_input",
"default": "chat_completion_input",
"description": "Discriminator type. Always \"chat_completion_input\""
}
},
"additionalProperties": false,
"required": [
"type"
],
"title": "ChatCompletionInputType",
"description": "Parameter type for chat completion input."
},
"CompletionInputType": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "completion_input",
"default": "completion_input",
"description": "Discriminator type. Always \"completion_input\""
}
},
"additionalProperties": false,
"required": [
"type"
],
"title": "CompletionInputType",
"description": "Parameter type for completion input."
},
"JsonType": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "json",
"default": "json",
"description": "Discriminator type. Always \"json\""
}
},
"additionalProperties": false,
"required": [
"type"
],
"title": "JsonType",
"description": "Parameter type for JSON values."
},
"LLMAsJudgeScoringFnParams": {
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/ScoringFnParamsType",
"const": "llm_as_judge",
"default": "llm_as_judge",
"description": "The type of scoring function parameters, always llm_as_judge"
},
"judge_model": {
"type": "string",
"description": "Identifier of the LLM model to use as a judge for scoring"
},
"prompt_template": {
"type": "string",
"description": "(Optional) Custom prompt template for the judge model"
},
"judge_score_regexes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Regexes to extract the answer from generated response"
},
"aggregation_functions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AggregationFunctionType"
},
"description": "Aggregation functions to apply to the scores of each row"
}
},
"additionalProperties": false,
"required": [
"type",
"judge_model",
"judge_score_regexes",
"aggregation_functions"
],
"title": "LLMAsJudgeScoringFnParams",
"description": "Parameters for LLM-as-judge scoring function configuration."
},
"NumberType": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "number",
"default": "number",
"description": "Discriminator type. Always \"number\""
}
},
"additionalProperties": false,
"required": [
"type"
],
"title": "NumberType",
"description": "Parameter type for numeric values."
},
"ObjectType": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "object",
"default": "object",
"description": "Discriminator type. Always \"object\""
}
},
"additionalProperties": false,
"required": [
"type"
],
"title": "ObjectType",
"description": "Parameter type for object values."
},
"RegexParserScoringFnParams": {
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/ScoringFnParamsType",
"const": "regex_parser",
"default": "regex_parser",
"description": "The type of scoring function parameters, always regex_parser"
},
"parsing_regexes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Regex to extract the answer from generated response"
},
"aggregation_functions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AggregationFunctionType"
},
"description": "Aggregation functions to apply to the scores of each row"
}
},
"additionalProperties": false,
"required": [
"type",
"parsing_regexes",
"aggregation_functions"
],
"title": "RegexParserScoringFnParams",
"description": "Parameters for regex parser scoring function configuration."
},
"ScoringFn": {
"type": "object",
"properties": {
"identifier": {
"type": "string"
},
"provider_resource_id": {
"type": "string"
},
"provider_id": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"model",
"shield",
"vector_db",
"dataset",
"scoring_function",
"benchmark",
"tool",
"tool_group",
"prompt"
],
"const": "scoring_function",
"default": "scoring_function",
"description": "The resource type, always scoring_function"
},
"description": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
}
},
"return_type": {
"oneOf": [
{
"$ref": "#/components/schemas/StringType"
},
{
"$ref": "#/components/schemas/NumberType"
},
{
"$ref": "#/components/schemas/BooleanType"
},
{
"$ref": "#/components/schemas/ArrayType"
},
{
"$ref": "#/components/schemas/ObjectType"
},
{
"$ref": "#/components/schemas/JsonType"
},
{
"$ref": "#/components/schemas/UnionType"
},
{
"$ref": "#/components/schemas/ChatCompletionInputType"
},
{
"$ref": "#/components/schemas/CompletionInputType"
},
{
"$ref": "#/components/schemas/AgentTurnInputType"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"string": "#/components/schemas/StringType",
"number": "#/components/schemas/NumberType",
"boolean": "#/components/schemas/BooleanType",
"array": "#/components/schemas/ArrayType",
"object": "#/components/schemas/ObjectType",
"json": "#/components/schemas/JsonType",
"union": "#/components/schemas/UnionType",
"chat_completion_input": "#/components/schemas/ChatCompletionInputType",
"completion_input": "#/components/schemas/CompletionInputType",
"agent_turn_input": "#/components/schemas/AgentTurnInputType"
}
}
},
"params": {
"$ref": "#/components/schemas/ScoringFnParams"
}
},
"additionalProperties": false,
"required": [
"identifier",
"provider_id",
"type",
"metadata",
"return_type"
],
"title": "ScoringFn",
"description": "A scoring function resource for evaluating model outputs."
},
"ScoringFnParams": {
"oneOf": [
{
"$ref": "#/components/schemas/LLMAsJudgeScoringFnParams"
},
{
"$ref": "#/components/schemas/RegexParserScoringFnParams"
},
{
"$ref": "#/components/schemas/BasicScoringFnParams"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"llm_as_judge": "#/components/schemas/LLMAsJudgeScoringFnParams",
"regex_parser": "#/components/schemas/RegexParserScoringFnParams",
"basic": "#/components/schemas/BasicScoringFnParams"
}
}
},
"ScoringFnParamsType": {
"type": "string",
"enum": [
"llm_as_judge",
"regex_parser",
"basic"
],
"title": "ScoringFnParamsType",
"description": "Types of scoring function parameter configurations."
},
"StringType": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "string",
"default": "string",
"description": "Discriminator type. Always \"string\""
}
},
"additionalProperties": false,
"required": [
"type"
],
"title": "StringType",
"description": "Parameter type for string values."
},
"UnionType": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "union",
"default": "union",
"description": "Discriminator type. Always \"union\""
}
},
"additionalProperties": false,
"required": [
"type"
],
"title": "UnionType",
"description": "Parameter type for union values."
},
"ListScoringFunctionsResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ScoringFn"
}
}
},
"additionalProperties": false,
"required": [
"data"
],
"title": "ListScoringFunctionsResponse"
},
"ParamType": {
"oneOf": [
{
"$ref": "#/components/schemas/StringType"
},
{
"$ref": "#/components/schemas/NumberType"
},
{
"$ref": "#/components/schemas/BooleanType"
},
{
"$ref": "#/components/schemas/ArrayType"
},
{
"$ref": "#/components/schemas/ObjectType"
},
{
"$ref": "#/components/schemas/JsonType"
},
{
"$ref": "#/components/schemas/UnionType"
},
{
"$ref": "#/components/schemas/ChatCompletionInputType"
},
{
"$ref": "#/components/schemas/CompletionInputType"
},
{
"$ref": "#/components/schemas/AgentTurnInputType"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"string": "#/components/schemas/StringType",
"number": "#/components/schemas/NumberType",
"boolean": "#/components/schemas/BooleanType",
"array": "#/components/schemas/ArrayType",
"object": "#/components/schemas/ObjectType",
"json": "#/components/schemas/JsonType",
"union": "#/components/schemas/UnionType",
"chat_completion_input": "#/components/schemas/ChatCompletionInputType",
"completion_input": "#/components/schemas/CompletionInputType",
"agent_turn_input": "#/components/schemas/AgentTurnInputType"
}
}
},
"RegisterScoringFunctionRequest": {
"type": "object",
"properties": {
"scoring_fn_id": {
"type": "string",
"description": "The ID of the scoring function to register."
},
"description": {
"type": "string",
"description": "The description of the scoring function."
},
"return_type": {
"$ref": "#/components/schemas/ParamType",
"description": "The return type of the scoring function."
},
"provider_scoring_fn_id": {
"type": "string",
"description": "The ID of the provider scoring function to use for the scoring function."
},
"provider_id": {
"type": "string",
"description": "The ID of the provider to use for the scoring function."
},
"params": {
"$ref": "#/components/schemas/ScoringFnParams",
"description": "The parameters for the scoring function for benchmark eval, these can be overridden for app eval."
}
},
"additionalProperties": false,
"required": [
"scoring_fn_id",
"description",
"return_type"
],
"title": "RegisterScoringFunctionRequest"
},
"ScoreRequest": {
"type": "object",
"properties": {
"input_rows": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
}
},
"description": "The rows to score."
},
"scoring_functions": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"$ref": "#/components/schemas/ScoringFnParams"
},
{
"type": "null"
}
]
},
"description": "The scoring functions to use for the scoring."
}
},
"additionalProperties": false,
"required": [
"input_rows",
"scoring_functions"
],
"title": "ScoreRequest"
},
"ScoreResponse": {
"type": "object",
"properties": {
"results": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/ScoringResult"
},
"description": "A map of scoring function name to ScoringResult."
}
},
"additionalProperties": false,
"required": [
"results"
],
"title": "ScoreResponse",
"description": "The response from scoring."
},
"ScoringResult": {
"type": "object",
"properties": {
"score_rows": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
}
},
"description": "The scoring result for each row. Each row is a map of column name to value."
},
"aggregated_results": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "Map of metric name to aggregated value"
}
},
"additionalProperties": false,
"required": [
"score_rows",
"aggregated_results"
],
"title": "ScoringResult",
"description": "A scoring result for a single row."
},
"ScoreBatchRequest": {
"type": "object",
"properties": {
"dataset_id": {
"type": "string",
"description": "The ID of the dataset to score."
},
"scoring_functions": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"$ref": "#/components/schemas/ScoringFnParams"
},
{
"type": "null"
}
]
},
"description": "The scoring functions to use for the scoring."
},
"save_results_dataset": {
"type": "boolean",
"description": "Whether to save the results to a dataset."
}
},
"additionalProperties": false,
"required": [
"dataset_id",
"scoring_functions",
"save_results_dataset"
],
"title": "ScoreBatchRequest"
},
"ScoreBatchResponse": {
"type": "object",
"properties": {
"dataset_id": {
"type": "string",
"description": "(Optional) The identifier of the dataset that was scored"
},
"results": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/ScoringResult"
},
"description": "A map of scoring function name to ScoringResult"
}
},
"additionalProperties": false,
"required": [
"results"
],
"title": "ScoreBatchResponse",
"description": "Response from batch scoring operations on datasets."
},
"Shield": {
"type": "object",
"properties": {
"identifier": {
"type": "string"
},
"provider_resource_id": {
"type": "string"
},
"provider_id": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"model",
"shield",
"vector_db",
"dataset",
"scoring_function",
"benchmark",
"tool",
"tool_group",
"prompt"
],
"const": "shield",
"default": "shield",
"description": "The resource type, always shield"
},
"params": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "(Optional) Configuration parameters for the shield"
}
},
"additionalProperties": false,
"required": [
"identifier",
"provider_id",
"type"
],
"title": "Shield",
"description": "A safety shield resource that can be used to check content."
},
"ListShieldsResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Shield"
}
}
},
"additionalProperties": false,
"required": [
"data"
],
"title": "ListShieldsResponse"
},
"RegisterShieldRequest": {
"type": "object",
"properties": {
"shield_id": {
"type": "string",
"description": "The identifier of the shield to register."
},
"provider_shield_id": {
"type": "string",
"description": "The identifier of the shield in the provider."
},
"provider_id": {
"type": "string",
"description": "The identifier of the provider."
},
"params": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "The parameters of the shield."
}
},
"additionalProperties": false,
"required": [
"shield_id"
],
"title": "RegisterShieldRequest"
},
"SyntheticDataGenerateRequest": {
"type": "object",
"properties": {
"dialogs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Message"
},
"description": "List of conversation messages to use as input for synthetic data generation"
},
"filtering_function": {
"type": "string",
"enum": [
"none",
"random",
"top_k",
"top_p",
"top_k_top_p",
"sigmoid"
],
"description": "Type of filtering to apply to generated synthetic data samples"
},
"model": {
"type": "string",
"description": "(Optional) The identifier of the model to use. The model must be registered with Llama Stack and available via the /models endpoint"
}
},
"additionalProperties": false,
"required": [
"dialogs",
"filtering_function"
],
"title": "SyntheticDataGenerateRequest"
},
"SyntheticDataGenerationResponse": {
"type": "object",
"properties": {
"synthetic_data": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
}
},
"description": "List of generated synthetic data samples that passed the filtering criteria"
},
"statistics": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "(Optional) Statistical information about the generation process and filtering results"
}
},
"additionalProperties": false,
"required": [
"synthetic_data"
],
"title": "SyntheticDataGenerationResponse",
"description": "Response from the synthetic data generation. Batch of (prompt, response, score) tuples that pass the threshold."
},
"Event": {
"oneOf": [
{
"$ref": "#/components/schemas/UnstructuredLogEvent"
},
{
"$ref": "#/components/schemas/MetricEvent"
},
{
"$ref": "#/components/schemas/StructuredLogEvent"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"unstructured_log": "#/components/schemas/UnstructuredLogEvent",
"metric": "#/components/schemas/MetricEvent",
"structured_log": "#/components/schemas/StructuredLogEvent"
}
}
},
"EventType": {
"type": "string",
"enum": [
"unstructured_log",
"structured_log",
"metric"
],
"title": "EventType",
"description": "The type of telemetry event being logged."
},
"LogSeverity": {
"type": "string",
"enum": [
"verbose",
"debug",
"info",
"warn",
"error",
"critical"
],
"title": "LogSeverity",
"description": "The severity level of a log message."
},
"MetricEvent": {
"type": "object",
"properties": {
"trace_id": {
"type": "string",
"description": "Unique identifier for the trace this event belongs to"
},
"span_id": {
"type": "string",
"description": "Unique identifier for the span this event belongs to"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the event occurred"
},
"attributes": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"description": "(Optional) Key-value pairs containing additional metadata about the event"
},
"type": {
"$ref": "#/components/schemas/EventType",
"const": "metric",
"default": "metric",
"description": "Event type identifier set to METRIC"
},
"metric": {
"type": "string",
"description": "The name of the metric being measured"
},
"value": {
"oneOf": [
{
"type": "integer"
},
{
"type": "number"
}
],
"description": "The numeric value of the metric measurement"
},
"unit": {
"type": "string",
"description": "The unit of measurement for the metric value"
}
},
"additionalProperties": false,
"required": [
"trace_id",
"span_id",
"timestamp",
"type",
"metric",
"value",
"unit"
],
"title": "MetricEvent",
"description": "A metric event containing a measured value."
},
"SpanEndPayload": {
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/StructuredLogType",
"const": "span_end",
"default": "span_end",
"description": "Payload type identifier set to SPAN_END"
},
"status": {
"$ref": "#/components/schemas/SpanStatus",
"description": "The final status of the span indicating success or failure"
}
},
"additionalProperties": false,
"required": [
"type",
"status"
],
"title": "SpanEndPayload",
"description": "Payload for a span end event."
},
"SpanStartPayload": {
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/StructuredLogType",
"const": "span_start",
"default": "span_start",
"description": "Payload type identifier set to SPAN_START"
},
"name": {
"type": "string",
"description": "Human-readable name describing the operation this span represents"
},
"parent_span_id": {
"type": "string",
"description": "(Optional) Unique identifier for the parent span, if this is a child span"
}
},
"additionalProperties": false,
"required": [
"type",
"name"
],
"title": "SpanStartPayload",
"description": "Payload for a span start event."
},
"SpanStatus": {
"type": "string",
"enum": [
"ok",
"error"
],
"title": "SpanStatus",
"description": "The status of a span indicating whether it completed successfully or with an error."
},
"StructuredLogEvent": {
"type": "object",
"properties": {
"trace_id": {
"type": "string",
"description": "Unique identifier for the trace this event belongs to"
},
"span_id": {
"type": "string",
"description": "Unique identifier for the span this event belongs to"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the event occurred"
},
"attributes": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"description": "(Optional) Key-value pairs containing additional metadata about the event"
},
"type": {
"$ref": "#/components/schemas/EventType",
"const": "structured_log",
"default": "structured_log",
"description": "Event type identifier set to STRUCTURED_LOG"
},
"payload": {
"oneOf": [
{
"$ref": "#/components/schemas/SpanStartPayload"
},
{
"$ref": "#/components/schemas/SpanEndPayload"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"span_start": "#/components/schemas/SpanStartPayload",
"span_end": "#/components/schemas/SpanEndPayload"
}
},
"description": "The structured payload data for the log event"
}
},
"additionalProperties": false,
"required": [
"trace_id",
"span_id",
"timestamp",
"type",
"payload"
],
"title": "StructuredLogEvent",
"description": "A structured log event containing typed payload data."
},
"StructuredLogType": {
"type": "string",
"enum": [
"span_start",
"span_end"
],
"title": "StructuredLogType",
"description": "The type of structured log event payload."
},
"UnstructuredLogEvent": {
"type": "object",
"properties": {
"trace_id": {
"type": "string",
"description": "Unique identifier for the trace this event belongs to"
},
"span_id": {
"type": "string",
"description": "Unique identifier for the span this event belongs to"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the event occurred"
},
"attributes": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"description": "(Optional) Key-value pairs containing additional metadata about the event"
},
"type": {
"$ref": "#/components/schemas/EventType",
"const": "unstructured_log",
"default": "unstructured_log",
"description": "Event type identifier set to UNSTRUCTURED_LOG"
},
"message": {
"type": "string",
"description": "The log message text"
},
"severity": {
"$ref": "#/components/schemas/LogSeverity",
"description": "The severity level of the log message"
}
},
"additionalProperties": false,
"required": [
"trace_id",
"span_id",
"timestamp",
"type",
"message",
"severity"
],
"title": "UnstructuredLogEvent",
"description": "An unstructured log event containing a simple text message."
},
"LogEventRequest": {
"type": "object",
"properties": {
"event": {
"$ref": "#/components/schemas/Event",
"description": "The event to log."
},
"ttl_seconds": {
"type": "integer",
"description": "The time to live of the event."
}
},
"additionalProperties": false,
"required": [
"event",
"ttl_seconds"
],
"title": "LogEventRequest"
},
"InvokeToolRequest": {
"type": "object",
"properties": {
"tool_name": {
"type": "string",
"description": "The name of the tool to invoke."
},
"kwargs": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "A dictionary of arguments to pass to the tool."
}
},
"additionalProperties": false,
"required": [
"tool_name",
"kwargs"
],
"title": "InvokeToolRequest"
},
"ToolInvocationResult": {
"type": "object",
"properties": {
"content": {
"$ref": "#/components/schemas/InterleavedContent",
"description": "(Optional) The output content from the tool execution"
},
"error_message": {
"type": "string",
"description": "(Optional) Error message if the tool execution failed"
},
"error_code": {
"type": "integer",
"description": "(Optional) Numeric error code if the tool execution failed"
},
"metadata": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "(Optional) Additional metadata about the tool execution"
}
},
"additionalProperties": false,
"title": "ToolInvocationResult",
"description": "Result of a tool invocation."
},
"ToolDef": {
"type": "object",
"properties": {
"toolgroup_id": {
"type": "string",
"description": "(Optional) ID of the tool group this tool belongs to"
},
"name": {
"type": "string",
"description": "Name of the tool"
},
"description": {
"type": "string",
"description": "(Optional) Human-readable description of what the tool does"
},
"input_schema": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "(Optional) JSON Schema for tool inputs (MCP inputSchema)"
},
"output_schema": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "(Optional) JSON Schema for tool outputs (MCP outputSchema)"
},
"metadata": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "(Optional) Additional metadata about the tool"
}
},
"additionalProperties": false,
"required": [
"name"
],
"title": "ToolDef",
"description": "Tool definition used in runtime contexts."
},
"ListToolDefsResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ToolDef"
},
"description": "List of tool definitions"
}
},
"additionalProperties": false,
"required": [
"data"
],
"title": "ListToolDefsResponse",
"description": "Response containing a list of tool definitions."
},
"RAGDocument": {
"type": "object",
"properties": {
"document_id": {
"type": "string",
"description": "The unique identifier for the document."
},
"content": {
"oneOf": [
{
"type": "string"
},
{
"$ref": "#/components/schemas/InterleavedContentItem"
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/InterleavedContentItem"
}
},
{
"$ref": "#/components/schemas/URL"
}
],
"description": "The content of the document."
},
"mime_type": {
"type": "string",
"description": "The MIME type of the document."
},
"metadata": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "Additional metadata for the document."
}
},
"additionalProperties": false,
"required": [
"document_id",
"content",
"metadata"
],
"title": "RAGDocument",
"description": "A document to be used for document ingestion in the RAG Tool."
},
"InsertRequest": {
"type": "object",
"properties": {
"documents": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RAGDocument"
},
"description": "List of documents to index in the RAG system"
},
"vector_db_id": {
"type": "string",
"description": "ID of the vector database to store the document embeddings"
},
"chunk_size_in_tokens": {
"type": "integer",
"description": "(Optional) Size in tokens for document chunking during indexing"
}
},
"additionalProperties": false,
"required": [
"documents",
"vector_db_id",
"chunk_size_in_tokens"
],
"title": "InsertRequest"
},
"DefaultRAGQueryGeneratorConfig": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "default",
"default": "default",
"description": "Type of query generator, always 'default'"
},
"separator": {
"type": "string",
"default": " ",
"description": "String separator used to join query terms"
}
},
"additionalProperties": false,
"required": [
"type",
"separator"
],
"title": "DefaultRAGQueryGeneratorConfig",
"description": "Configuration for the default RAG query generator."
},
"LLMRAGQueryGeneratorConfig": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "llm",
"default": "llm",
"description": "Type of query generator, always 'llm'"
},
"model": {
"type": "string",
"description": "Name of the language model to use for query generation"
},
"template": {
"type": "string",
"description": "Template string for formatting the query generation prompt"
}
},
"additionalProperties": false,
"required": [
"type",
"model",
"template"
],
"title": "LLMRAGQueryGeneratorConfig",
"description": "Configuration for the LLM-based RAG query generator."
},
"RAGQueryConfig": {
"type": "object",
"properties": {
"query_generator_config": {
"oneOf": [
{
"$ref": "#/components/schemas/DefaultRAGQueryGeneratorConfig"
},
{
"$ref": "#/components/schemas/LLMRAGQueryGeneratorConfig"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"default": "#/components/schemas/DefaultRAGQueryGeneratorConfig",
"llm": "#/components/schemas/LLMRAGQueryGeneratorConfig"
}
},
"description": "Configuration for the query generator."
},
"max_tokens_in_context": {
"type": "integer",
"default": 4096,
"description": "Maximum number of tokens in the context."
},
"max_chunks": {
"type": "integer",
"default": 5,
"description": "Maximum number of chunks to retrieve."
},
"chunk_template": {
"type": "string",
"default": "Result {index}\nContent: {chunk.content}\nMetadata: {metadata}\n",
"description": "Template for formatting each retrieved chunk in the context. Available placeholders: {index} (1-based chunk ordinal), {chunk.content} (chunk content string), {metadata} (chunk metadata dict). Default: \"Result {index}\\nContent: {chunk.content}\\nMetadata: {metadata}\\n\""
},
"mode": {
"$ref": "#/components/schemas/RAGSearchMode",
"default": "vector",
"description": "Search mode for retrieval—either \"vector\", \"keyword\", or \"hybrid\". Default \"vector\"."
},
"ranker": {
"$ref": "#/components/schemas/Ranker",
"description": "Configuration for the ranker to use in hybrid search. Defaults to RRF ranker."
}
},
"additionalProperties": false,
"required": [
"query_generator_config",
"max_tokens_in_context",
"max_chunks",
"chunk_template"
],
"title": "RAGQueryConfig",
"description": "Configuration for the RAG query generation."
},
"RAGSearchMode": {
"type": "string",
"enum": [
"vector",
"keyword",
"hybrid"
],
"title": "RAGSearchMode",
"description": "Search modes for RAG query retrieval: - VECTOR: Uses vector similarity search for semantic matching - KEYWORD: Uses keyword-based search for exact matching - HYBRID: Combines both vector and keyword search for better results"
},
"RRFRanker": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "rrf",
"default": "rrf",
"description": "The type of ranker, always \"rrf\""
},
"impact_factor": {
"type": "number",
"default": 60.0,
"description": "The impact factor for RRF scoring. Higher values give more weight to higher-ranked results. Must be greater than 0"
}
},
"additionalProperties": false,
"required": [
"type",
"impact_factor"
],
"title": "RRFRanker",
"description": "Reciprocal Rank Fusion (RRF) ranker configuration."
},
"Ranker": {
"oneOf": [
{
"$ref": "#/components/schemas/RRFRanker"
},
{
"$ref": "#/components/schemas/WeightedRanker"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"rrf": "#/components/schemas/RRFRanker",
"weighted": "#/components/schemas/WeightedRanker"
}
}
},
"WeightedRanker": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "weighted",
"default": "weighted",
"description": "The type of ranker, always \"weighted\""
},
"alpha": {
"type": "number",
"default": 0.5,
"description": "Weight factor between 0 and 1. 0 means only use keyword scores, 1 means only use vector scores, values in between blend both scores."
}
},
"additionalProperties": false,
"required": [
"type",
"alpha"
],
"title": "WeightedRanker",
"description": "Weighted ranker configuration that combines vector and keyword scores."
},
"QueryRequest": {
"type": "object",
"properties": {
"content": {
"$ref": "#/components/schemas/InterleavedContent",
"description": "The query content to search for in the indexed documents"
},
"vector_db_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of vector database IDs to search within"
},
"query_config": {
"$ref": "#/components/schemas/RAGQueryConfig",
"description": "(Optional) Configuration parameters for the query operation"
}
},
"additionalProperties": false,
"required": [
"content",
"vector_db_ids"
],
"title": "QueryRequest"
},
"RAGQueryResult": {
"type": "object",
"properties": {
"content": {
"$ref": "#/components/schemas/InterleavedContent",
"description": "(Optional) The retrieved content from the query"
},
"metadata": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "Additional metadata about the query result"
}
},
"additionalProperties": false,
"required": [
"metadata"
],
"title": "RAGQueryResult",
"description": "Result of a RAG query containing retrieved content and metadata."
},
"ToolGroup": {
"type": "object",
"properties": {
"identifier": {
"type": "string"
},
"provider_resource_id": {
"type": "string"
},
"provider_id": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"model",
"shield",
"vector_db",
"dataset",
"scoring_function",
"benchmark",
"tool",
"tool_group",
"prompt"
],
"const": "tool_group",
"default": "tool_group",
"description": "Type of resource, always 'tool_group'"
},
"mcp_endpoint": {
"$ref": "#/components/schemas/URL",
"description": "(Optional) Model Context Protocol endpoint for remote tools"
},
"args": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "(Optional) Additional arguments for the tool group"
}
},
"additionalProperties": false,
"required": [
"identifier",
"provider_id",
"type"
],
"title": "ToolGroup",
"description": "A group of related tools managed together."
},
"ListToolGroupsResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ToolGroup"
},
"description": "List of tool groups"
}
},
"additionalProperties": false,
"required": [
"data"
],
"title": "ListToolGroupsResponse",
"description": "Response containing a list of tool groups."
},
"RegisterToolGroupRequest": {
"type": "object",
"properties": {
"toolgroup_id": {
"type": "string",
"description": "The ID of the tool group to register."
},
"provider_id": {
"type": "string",
"description": "The ID of the provider to use for the tool group."
},
"mcp_endpoint": {
"$ref": "#/components/schemas/URL",
"description": "The MCP endpoint to use for the tool group."
},
"args": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "A dictionary of arguments to pass to the tool group."
}
},
"additionalProperties": false,
"required": [
"toolgroup_id",
"provider_id"
],
"title": "RegisterToolGroupRequest"
},
"VectorDB": {
"type": "object",
"properties": {
"identifier": {
"type": "string"
},
"provider_resource_id": {
"type": "string"
},
"provider_id": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"model",
"shield",
"vector_db",
"dataset",
"scoring_function",
"benchmark",
"tool",
"tool_group",
"prompt"
],
"const": "vector_db",
"default": "vector_db",
"description": "Type of resource, always 'vector_db' for vector databases"
},
"embedding_model": {
"type": "string",
"description": "Name of the embedding model to use for vector generation"
},
"embedding_dimension": {
"type": "integer",
"description": "Dimension of the embedding vectors"
},
"vector_db_name": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"identifier",
"provider_id",
"type",
"embedding_model",
"embedding_dimension"
],
"title": "VectorDB",
"description": "Vector database resource for storing and querying vector embeddings."
},
"ListVectorDBsResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VectorDB"
},
"description": "List of vector databases"
}
},
"additionalProperties": false,
"required": [
"data"
],
"title": "ListVectorDBsResponse",
"description": "Response from listing vector databases."
},
"RegisterVectorDbRequest": {
"type": "object",
"properties": {
"vector_db_id": {
"type": "string",
"description": "The identifier of the vector database to register."
},
"embedding_model": {
"type": "string",
"description": "The embedding model to use."
},
"embedding_dimension": {
"type": "integer",
"description": "The dimension of the embedding model."
},
"provider_id": {
"type": "string",
"description": "The identifier of the provider."
},
"vector_db_name": {
"type": "string",
"description": "The name of the vector database."
},
"provider_vector_db_id": {
"type": "string",
"description": "The identifier of the vector database in the provider."
}
},
"additionalProperties": false,
"required": [
"vector_db_id",
"embedding_model"
],
"title": "RegisterVectorDbRequest"
},
"Chunk": {
"type": "object",
"properties": {
"content": {
"$ref": "#/components/schemas/InterleavedContent",
"description": "The content of the chunk, which can be interleaved text, images, or other types."
},
"metadata": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "Metadata associated with the chunk that will be used in the model context during inference."
},
"embedding": {
"type": "array",
"items": {
"type": "number"
},
"description": "Optional embedding for the chunk. If not provided, it will be computed later."
},
"stored_chunk_id": {
"type": "string",
"description": "The chunk ID that is stored in the vector database. Used for backend functionality."
},
"chunk_metadata": {
"$ref": "#/components/schemas/ChunkMetadata",
"description": "Metadata for the chunk that will NOT be used in the context during inference. The `chunk_metadata` is required backend functionality."
}
},
"additionalProperties": false,
"required": [
"content",
"metadata"
],
"title": "Chunk",
"description": "A chunk of content that can be inserted into a vector database."
},
"ChunkMetadata": {
"type": "object",
"properties": {
"chunk_id": {
"type": "string",
"description": "The ID of the chunk. If not set, it will be generated based on the document ID and content."
},
"document_id": {
"type": "string",
"description": "The ID of the document this chunk belongs to."
},
"source": {
"type": "string",
"description": "The source of the content, such as a URL, file path, or other identifier."
},
"created_timestamp": {
"type": "integer",
"description": "An optional timestamp indicating when the chunk was created."
},
"updated_timestamp": {
"type": "integer",
"description": "An optional timestamp indicating when the chunk was last updated."
},
"chunk_window": {
"type": "string",
"description": "The window of the chunk, which can be used to group related chunks together."
},
"chunk_tokenizer": {
"type": "string",
"description": "The tokenizer used to create the chunk. Default is Tiktoken."
},
"chunk_embedding_model": {
"type": "string",
"description": "The embedding model used to create the chunk's embedding."
},
"chunk_embedding_dimension": {
"type": "integer",
"description": "The dimension of the embedding vector for the chunk."
},
"content_token_count": {
"type": "integer",
"description": "The number of tokens in the content of the chunk."
},
"metadata_token_count": {
"type": "integer",
"description": "The number of tokens in the metadata of the chunk."
}
},
"additionalProperties": false,
"title": "ChunkMetadata",
"description": "`ChunkMetadata` is backend metadata for a `Chunk` that is used to store additional information about the chunk that will not be used in the context during inference, but is required for backend functionality. The `ChunkMetadata` is set during chunk creation in `MemoryToolRuntimeImpl().insert()`and is not expected to change after. Use `Chunk.metadata` for metadata that will be used in the context during inference."
},
"InsertChunksRequest": {
"type": "object",
"properties": {
"vector_db_id": {
"type": "string",
"description": "The identifier of the vector database to insert the chunks into."
},
"chunks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Chunk"
},
"description": "The chunks to insert. Each `Chunk` should contain content which can be interleaved text, images, or other types. `metadata`: `dict[str, Any]` and `embedding`: `List[float]` are optional. If `metadata` is provided, you configure how Llama Stack formats the chunk during generation. If `embedding` is not provided, it will be computed later."
},
"ttl_seconds": {
"type": "integer",
"description": "The time to live of the chunks."
}
},
"additionalProperties": false,
"required": [
"vector_db_id",
"chunks"
],
"title": "InsertChunksRequest"
},
"QueryChunksRequest": {
"type": "object",
"properties": {
"vector_db_id": {
"type": "string",
"description": "The identifier of the vector database to query."
},
"query": {
"$ref": "#/components/schemas/InterleavedContent",
"description": "The query to search for."
},
"params": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "The parameters of the query."
}
},
"additionalProperties": false,
"required": [
"vector_db_id",
"query"
],
"title": "QueryChunksRequest"
},
"QueryChunksResponse": {
"type": "object",
"properties": {
"chunks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Chunk"
},
"description": "List of content chunks returned from the query"
},
"scores": {
"type": "array",
"items": {
"type": "number"
},
"description": "Relevance scores corresponding to each returned chunk"
}
},
"additionalProperties": false,
"required": [
"chunks",
"scores"
],
"title": "QueryChunksResponse",
"description": "Response from querying chunks in a vector database."
},
"VectorStoreFileCounts": {
"type": "object",
"properties": {
"completed": {
"type": "integer",
"description": "Number of files that have been successfully processed"
},
"cancelled": {
"type": "integer",
"description": "Number of files that had their processing cancelled"
},
"failed": {
"type": "integer",
"description": "Number of files that failed to process"
},
"in_progress": {
"type": "integer",
"description": "Number of files currently being processed"
},
"total": {
"type": "integer",
"description": "Total number of files in the vector store"
}
},
"additionalProperties": false,
"required": [
"completed",
"cancelled",
"failed",
"in_progress",
"total"
],
"title": "VectorStoreFileCounts",
"description": "File processing status counts for a vector store."
},
"VectorStoreListResponse": {
"type": "object",
"properties": {
"object": {
"type": "string",
"default": "list",
"description": "Object type identifier, always \"list\""
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VectorStoreObject"
},
"description": "List of vector store objects"
},
"first_id": {
"type": "string",
"description": "(Optional) ID of the first vector store in the list for pagination"
},
"last_id": {
"type": "string",
"description": "(Optional) ID of the last vector store in the list for pagination"
},
"has_more": {
"type": "boolean",
"default": false,
"description": "Whether there are more vector stores available beyond this page"
}
},
"additionalProperties": false,
"required": [
"object",
"data",
"has_more"
],
"title": "VectorStoreListResponse",
"description": "Response from listing vector stores."
},
"VectorStoreObject": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the vector store"
},
"object": {
"type": "string",
"default": "vector_store",
"description": "Object type identifier, always \"vector_store\""
},
"created_at": {
"type": "integer",
"description": "Timestamp when the vector store was created"
},
"name": {
"type": "string",
"description": "(Optional) Name of the vector store"
},
"usage_bytes": {
"type": "integer",
"default": 0,
"description": "Storage space used by the vector store in bytes"
},
"file_counts": {
"$ref": "#/components/schemas/VectorStoreFileCounts",
"description": "File processing status counts for the vector store"
},
"status": {
"type": "string",
"default": "completed",
"description": "Current status of the vector store"
},
"expires_after": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "(Optional) Expiration policy for the vector store"
},
"expires_at": {
"type": "integer",
"description": "(Optional) Timestamp when the vector store will expire"
},
"last_active_at": {
"type": "integer",
"description": "(Optional) Timestamp of last activity on the vector store"
},
"metadata": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "Set of key-value pairs that can be attached to the vector store"
}
},
"additionalProperties": false,
"required": [
"id",
"object",
"created_at",
"usage_bytes",
"file_counts",
"status",
"metadata"
],
"title": "VectorStoreObject",
"description": "OpenAI Vector Store object."
},
"OpenaiCreateVectorStoreRequest": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "A name for the vector store."
},
"file_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of File IDs that the vector store should use. Useful for tools like `file_search` that can access files."
},
"expires_after": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "The expiration policy for a vector store."
},
"chunking_strategy": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "The chunking strategy used to chunk the file(s). If not set, will use the `auto` strategy."
},
"metadata": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "Set of 16 key-value pairs that can be attached to an object."
},
"embedding_model": {
"type": "string",
"description": "The embedding model to use for this vector store."
},
"embedding_dimension": {
"type": "integer",
"description": "The dimension of the embedding vectors (default: 768)."
},
"provider_id": {
"type": "string",
"description": "The ID of the provider to use for this vector store."
}
},
"additionalProperties": false,
"title": "OpenaiCreateVectorStoreRequest"
},
"OpenaiUpdateVectorStoreRequest": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the vector store."
},
"expires_after": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "The expiration policy for a vector store."
},
"metadata": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "Set of 16 key-value pairs that can be attached to an object."
}
},
"additionalProperties": false,
"title": "OpenaiUpdateVectorStoreRequest"
},
"VectorStoreDeleteResponse": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the deleted vector store"
},
"object": {
"type": "string",
"default": "vector_store.deleted",
"description": "Object type identifier for the deletion response"
},
"deleted": {
"type": "boolean",
"default": true,
"description": "Whether the deletion operation was successful"
}
},
"additionalProperties": false,
"required": [
"id",
"object",
"deleted"
],
"title": "VectorStoreDeleteResponse",
"description": "Response from deleting a vector store."
},
"VectorStoreChunkingStrategy": {
"oneOf": [
{
"$ref": "#/components/schemas/VectorStoreChunkingStrategyAuto"
},
{
"$ref": "#/components/schemas/VectorStoreChunkingStrategyStatic"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"auto": "#/components/schemas/VectorStoreChunkingStrategyAuto",
"static": "#/components/schemas/VectorStoreChunkingStrategyStatic"
}
}
},
"VectorStoreChunkingStrategyAuto": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "auto",
"default": "auto",
"description": "Strategy type, always \"auto\" for automatic chunking"
}
},
"additionalProperties": false,
"required": [
"type"
],
"title": "VectorStoreChunkingStrategyAuto",
"description": "Automatic chunking strategy for vector store files."
},
"VectorStoreChunkingStrategyStatic": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "static",
"default": "static",
"description": "Strategy type, always \"static\" for static chunking"
},
"static": {
"$ref": "#/components/schemas/VectorStoreChunkingStrategyStaticConfig",
"description": "Configuration parameters for the static chunking strategy"
}
},
"additionalProperties": false,
"required": [
"type",
"static"
],
"title": "VectorStoreChunkingStrategyStatic",
"description": "Static chunking strategy with configurable parameters."
},
"VectorStoreChunkingStrategyStaticConfig": {
"type": "object",
"properties": {
"chunk_overlap_tokens": {
"type": "integer",
"default": 400,
"description": "Number of tokens to overlap between adjacent chunks"
},
"max_chunk_size_tokens": {
"type": "integer",
"default": 800,
"description": "Maximum number of tokens per chunk, must be between 100 and 4096"
}
},
"additionalProperties": false,
"required": [
"chunk_overlap_tokens",
"max_chunk_size_tokens"
],
"title": "VectorStoreChunkingStrategyStaticConfig",
"description": "Configuration for static chunking strategy."
},
"OpenaiCreateVectorStoreFileBatchRequest": {
"type": "object",
"properties": {
"file_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of File IDs that the vector store should use."
},
"attributes": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "(Optional) Key-value attributes to store with the files."
},
"chunking_strategy": {
"$ref": "#/components/schemas/VectorStoreChunkingStrategy",
"description": "(Optional) The chunking strategy used to chunk the file(s). Defaults to auto."
}
},
"additionalProperties": false,
"required": [
"file_ids"
],
"title": "OpenaiCreateVectorStoreFileBatchRequest"
},
"VectorStoreFileBatchObject": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the file batch"
},
"object": {
"type": "string",
"default": "vector_store.file_batch",
"description": "Object type identifier, always \"vector_store.file_batch\""
},
"created_at": {
"type": "integer",
"description": "Timestamp when the file batch was created"
},
"vector_store_id": {
"type": "string",
"description": "ID of the vector store containing the file batch"
},
"status": {
"$ref": "#/components/schemas/VectorStoreFileStatus",
"description": "Current processing status of the file batch"
},
"file_counts": {
"$ref": "#/components/schemas/VectorStoreFileCounts",
"description": "File processing status counts for the batch"
}
},
"additionalProperties": false,
"required": [
"id",
"object",
"created_at",
"vector_store_id",
"status",
"file_counts"
],
"title": "VectorStoreFileBatchObject",
"description": "OpenAI Vector Store File Batch object."
},
"VectorStoreFileStatus": {
"oneOf": [
{
"type": "string",
"const": "completed"
},
{
"type": "string",
"const": "in_progress"
},
{
"type": "string",
"const": "cancelled"
},
{
"type": "string",
"const": "failed"
}
]
},
"VectorStoreFileLastError": {
"type": "object",
"properties": {
"code": {
"oneOf": [
{
"type": "string",
"const": "server_error"
},
{
"type": "string",
"const": "rate_limit_exceeded"
}
],
"description": "Error code indicating the type of failure"
},
"message": {
"type": "string",
"description": "Human-readable error message describing the failure"
}
},
"additionalProperties": false,
"required": [
"code",
"message"
],
"title": "VectorStoreFileLastError",
"description": "Error information for failed vector store file processing."
},
"VectorStoreFileObject": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the file"
},
"object": {
"type": "string",
"default": "vector_store.file",
"description": "Object type identifier, always \"vector_store.file\""
},
"attributes": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "Key-value attributes associated with the file"
},
"chunking_strategy": {
"oneOf": [
{
"$ref": "#/components/schemas/VectorStoreChunkingStrategyAuto"
},
{
"$ref": "#/components/schemas/VectorStoreChunkingStrategyStatic"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"auto": "#/components/schemas/VectorStoreChunkingStrategyAuto",
"static": "#/components/schemas/VectorStoreChunkingStrategyStatic"
}
},
"description": "Strategy used for splitting the file into chunks"
},
"created_at": {
"type": "integer",
"description": "Timestamp when the file was added to the vector store"
},
"last_error": {
"$ref": "#/components/schemas/VectorStoreFileLastError",
"description": "(Optional) Error information if file processing failed"
},
"status": {
"$ref": "#/components/schemas/VectorStoreFileStatus",
"description": "Current processing status of the file"
},
"usage_bytes": {
"type": "integer",
"default": 0,
"description": "Storage space used by this file in bytes"
},
"vector_store_id": {
"type": "string",
"description": "ID of the vector store containing this file"
}
},
"additionalProperties": false,
"required": [
"id",
"object",
"attributes",
"chunking_strategy",
"created_at",
"status",
"usage_bytes",
"vector_store_id"
],
"title": "VectorStoreFileObject",
"description": "OpenAI Vector Store File object."
},
"VectorStoreFilesListInBatchResponse": {
"type": "object",
"properties": {
"object": {
"type": "string",
"default": "list",
"description": "Object type identifier, always \"list\""
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VectorStoreFileObject"
},
"description": "List of vector store file objects in the batch"
},
"first_id": {
"type": "string",
"description": "(Optional) ID of the first file in the list for pagination"
},
"last_id": {
"type": "string",
"description": "(Optional) ID of the last file in the list for pagination"
},
"has_more": {
"type": "boolean",
"default": false,
"description": "Whether there are more files available beyond this page"
}
},
"additionalProperties": false,
"required": [
"object",
"data",
"has_more"
],
"title": "VectorStoreFilesListInBatchResponse",
"description": "Response from listing files in a vector store file batch."
},
"VectorStoreListFilesResponse": {
"type": "object",
"properties": {
"object": {
"type": "string",
"default": "list",
"description": "Object type identifier, always \"list\""
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VectorStoreFileObject"
},
"description": "List of vector store file objects"
},
"first_id": {
"type": "string",
"description": "(Optional) ID of the first file in the list for pagination"
},
"last_id": {
"type": "string",
"description": "(Optional) ID of the last file in the list for pagination"
},
"has_more": {
"type": "boolean",
"default": false,
"description": "Whether there are more files available beyond this page"
}
},
"additionalProperties": false,
"required": [
"object",
"data",
"has_more"
],
"title": "VectorStoreListFilesResponse",
"description": "Response from listing files in a vector store."
},
"OpenaiAttachFileToVectorStoreRequest": {
"type": "object",
"properties": {
"file_id": {
"type": "string",
"description": "The ID of the file to attach to the vector store."
},
"attributes": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "The key-value attributes stored with the file, which can be used for filtering."
},
"chunking_strategy": {
"$ref": "#/components/schemas/VectorStoreChunkingStrategy",
"description": "The chunking strategy to use for the file."
}
},
"additionalProperties": false,
"required": [
"file_id"
],
"title": "OpenaiAttachFileToVectorStoreRequest"
},
"OpenaiUpdateVectorStoreFileRequest": {
"type": "object",
"properties": {
"attributes": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "The updated key-value attributes to store with the file."
}
},
"additionalProperties": false,
"required": [
"attributes"
],
"title": "OpenaiUpdateVectorStoreFileRequest"
},
"VectorStoreFileDeleteResponse": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the deleted file"
},
"object": {
"type": "string",
"default": "vector_store.file.deleted",
"description": "Object type identifier for the deletion response"
},
"deleted": {
"type": "boolean",
"default": true,
"description": "Whether the deletion operation was successful"
}
},
"additionalProperties": false,
"required": [
"id",
"object",
"deleted"
],
"title": "VectorStoreFileDeleteResponse",
"description": "Response from deleting a vector store file."
},
"VectorStoreContent": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "text",
"description": "Content type, currently only \"text\" is supported"
},
"text": {
"type": "string",
"description": "The actual text content"
}
},
"additionalProperties": false,
"required": [
"type",
"text"
],
"title": "VectorStoreContent",
"description": "Content item from a vector store file or search result."
},
"VectorStoreFileContentsResponse": {
"type": "object",
"properties": {
"file_id": {
"type": "string",
"description": "Unique identifier for the file"
},
"filename": {
"type": "string",
"description": "Name of the file"
},
"attributes": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "Key-value attributes associated with the file"
},
"content": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VectorStoreContent"
},
"description": "List of content items from the file"
}
},
"additionalProperties": false,
"required": [
"file_id",
"filename",
"attributes",
"content"
],
"title": "VectorStoreFileContentsResponse",
"description": "Response from retrieving the contents of a vector store file."
},
"OpenaiSearchVectorStoreRequest": {
"type": "object",
"properties": {
"query": {
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "The query string or array for performing the search."
},
"filters": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "null"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string"
},
{
"type": "array"
},
{
"type": "object"
}
]
},
"description": "Filters based on file attributes to narrow the search results."
},
"max_num_results": {
"type": "integer",
"description": "Maximum number of results to return (1 to 50 inclusive, default 10)."
},
"ranking_options": {
"type": "object",
"properties": {
"ranker": {
"type": "string",
"description": "(Optional) Name of the ranking algorithm to use"
},
"score_threshold": {
"type": "number",
"default": 0.0,
"description": "(Optional) Minimum relevance score threshold for results"
}
},
"additionalProperties": false,
"description": "Ranking options for fine-tuning the search results."
},
"rewrite_query": {
"type": "boolean",
"description": "Whether to rewrite the natural language query for vector search (default false)"
},
"search_mode": {
"type": "string",
"description": "The search mode to use - \"keyword\", \"vector\", or \"hybrid\" (default \"vector\")"
}
},
"additionalProperties": false,
"required": [
"query"
],
"title": "OpenaiSearchVectorStoreRequest"
},
"VectorStoreSearchResponse": {
"type": "object",
"properties": {
"file_id": {
"type": "string",
"description": "Unique identifier of the file containing the result"
},
"filename": {
"type": "string",
"description": "Name of the file containing the result"
},
"score": {
"type": "number",
"description": "Relevance score for this search result"
},
"attributes": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
},
"description": "(Optional) Key-value attributes associated with the file"
},
"content": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VectorStoreContent"
},
"description": "List of content items matching the search query"
}
},
"additionalProperties": false,
"required": [
"file_id",
"filename",
"score",
"content"
],
"title": "VectorStoreSearchResponse",
"description": "Response from searching a vector store."
},
"VectorStoreSearchResponsePage": {
"type": "object",
"properties": {
"object": {
"type": "string",
"default": "vector_store.search_results.page",
"description": "Object type identifier for the search results page"
},
"search_query": {
"type": "string",
"description": "The original search query that was executed"
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VectorStoreSearchResponse"
},
"description": "List of search result objects"
},
"has_more": {
"type": "boolean",
"default": false,
"description": "Whether there are more results available beyond this page"
},
"next_page": {
"type": "string",
"description": "(Optional) Token for retrieving the next page of results"
}
},
"additionalProperties": false,
"required": [
"object",
"search_query",
"data",
"has_more"
],
"title": "VectorStoreSearchResponsePage",
"description": "Paginated response from searching a vector store."
},
"VersionInfo": {
"type": "object",
"properties": {
"version": {
"type": "string",
"description": "Version number of the service"
}
},
"additionalProperties": false,
"required": [
"version"
],
"title": "VersionInfo",
"description": "Version information for the service."
}
},
"responses": {
"BadRequest400": {
"description": "The request was invalid or malformed",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
},
"example": {
"status": 400,
"title": "Bad Request",
"detail": "The request was invalid or malformed"
}
}
}
},
"TooManyRequests429": {
"description": "The client has sent too many requests in a given amount of time",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
},
"example": {
"status": 429,
"title": "Too Many Requests",
"detail": "You have exceeded the rate limit. Please try again later."
}
}
}
},
"InternalServerError500": {
"description": "The server encountered an unexpected error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
},
"example": {
"status": 500,
"title": "Internal Server Error",
"detail": "An unexpected error occurred. Our team has been notified."
}
}
}
},
"DefaultError": {
"description": "An unexpected error occurred",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
},
"example": {
"status": 0,
"title": "Error",
"detail": "An unexpected error occurred"
}
}
}
}
}
},
"security": [
{
"Default": []
}
],
"tags": [
{
"name": "Agents",
"description": "APIs for creating and interacting with agentic systems.\n\n## Responses API\n\nThe Responses API provides OpenAI-compatible functionality with enhanced capabilities for dynamic, stateful interactions.\n\n> **✅ STABLE**: This API is production-ready with backward compatibility guarantees. Recommended for production applications.\n\n### ✅ Supported Tools\n\nThe Responses API supports the following tool types:\n\n- **`web_search`**: Search the web for current information and real-time data\n- **`file_search`**: Search through uploaded files and vector stores\n - Supports dynamic `vector_store_ids` per call\n - Compatible with OpenAI file search patterns\n- **`function`**: Call custom functions with JSON schema validation\n- **`mcp_tool`**: Model Context Protocol integration\n\n### ✅ Supported Fields & Features\n\n**Core Capabilities:**\n- **Dynamic Configuration**: Switch models, vector stores, and tools per request without pre-configuration\n- **Conversation Branching**: Use `previous_response_id` to branch conversations and explore different paths\n- **Rich Annotations**: Automatic file citations, URL citations, and container file citations\n- **Status Tracking**: Monitor tool call execution status and handle failures gracefully\n\n### 🚧 Work in Progress\n\n- Full real-time response streaming support\n- `tool_choice` parameter\n- `max_tool_calls` parameter\n- Built-in tools (code interpreter, containers API)\n- Safety & guardrails\n- `reasoning` capabilities\n- `service_tier`\n- `logprobs`\n- `max_output_tokens`\n- `metadata` handling\n- `instructions`\n- `incomplete_details`\n- `background`",
"x-displayName": "Agents"
},
{
"name": "Files",
"description": ""
},
{
"name": "Inference",
"description": "This API provides the raw interface to the underlying models. Two kinds of models are supported:\n- LLM models: these models generate \"raw\" and \"chat\" (conversational) completions.\n- Embedding models: these models generate embeddings to be used for semantic search.",
"x-displayName": "Llama Stack Inference API for generating completions, chat completions, and embeddings."
},
{
"name": "Inspect",
"description": ""
},
{
"name": "Models",
"description": ""
},
{
"name": "Prompts",
"description": "",
"x-displayName": "Protocol for prompt management operations."
},
{
"name": "Providers",
"description": "",
"x-displayName": "Providers API for inspecting, listing, and modifying providers and their configurations."
},
{
"name": "Safety",
"description": ""
},
{
"name": "Scoring",
"description": ""
},
{
"name": "ScoringFunctions",
"description": ""
},
{
"name": "Shields",
"description": ""
},
{
"name": "SyntheticDataGeneration (Coming Soon)",
"description": ""
},
{
"name": "Telemetry",
"description": ""
},
{
"name": "ToolGroups",
"description": ""
},
{
"name": "ToolRuntime",
"description": ""
},
{
"name": "VectorDBs",
"description": ""
},
{
"name": "VectorIO",
"description": ""
}
],
"x-tagGroups": [
{
"name": "Operations",
"tags": [
"Agents",
"Files",
"Inference",
"Inspect",
"Models",
"Prompts",
"Providers",
"Safety",
"Scoring",
"ScoringFunctions",
"Shields",
"SyntheticDataGeneration (Coming Soon)",
"Telemetry",
"ToolGroups",
"ToolRuntime",
"VectorDBs",
"VectorIO"
]
}
]
};
const element = document.getElementById("openapi-container");
element.apiDescriptionDocument = spec;
if (spec.info && spec.info.title) {
document.title = spec.info.title;
}
});
</script>
</body>
</html>