openapi: 3.1.0 info: title: Llama Stack Specification version: v1 description: >- This is the specification of the Llama Stack that provides a set of endpoints and their corresponding interfaces that are tailored to best leverage Llama Models. **✅ 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. The file upload should be a multipart form request with: - file: The File object (not file name) to be uploaded. - purpose: The intended purpose of the uploaded file. - 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: 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: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/ListOpenaiResponsesRequest' 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 ListToolsResponse. content: application/json: schema: $ref: '#/components/schemas/ListToolsResponse' '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 Tool. content: application/json: schema: $ref: '#/components/schemas/Tool' '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. Searches 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. Params: - anchor, must be "created_at" - 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 ListOpenaiResponsesRequest: type: object properties: after: type: string description: The ID of the last response to return. limit: type: integer description: The number of responses to return. model: type: string description: The model to filter responses by. order: type: string enum: - asc - desc description: >- The order to sort responses by when sorted by created_at ('asc' or 'desc'). additionalProperties: false title: ListOpenaiResponsesRequest 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: oneOf: - type: string - type: object additionalProperties: oneOf: - type: string - type: integer - type: number - type: boolean - type: 'null' - type: array items: oneOf: - type: string - type: integer - type: number - type: boolean - type: 'null' - type: object additionalProperties: oneOf: - type: string - type: integer - type: number - type: boolean - type: 'null' arguments_json: 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: name: type: string description: Name of the tool description: type: string description: >- (Optional) Human-readable description of what the tool does parameters: type: array items: $ref: '#/components/schemas/ToolParameter' description: >- (Optional) List of parameters this tool accepts 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. ToolParameter: type: object properties: name: type: string description: Name of the parameter parameter_type: type: string description: >- Type of the parameter (e.g., string, integer) description: type: string description: >- Human-readable description of what the parameter does required: type: boolean default: true description: >- Whether this parameter is required for tool invocation items: type: object description: >- Type of the elements when parameter_type is array title: type: string description: (Optional) Title of the parameter default: oneOf: - type: 'null' - type: boolean - type: number - type: string - type: array - type: object description: >- (Optional) Default value for the parameter if not provided additionalProperties: false required: - name - parameter_type - description - required title: ToolParameter description: Parameter definition for a tool. 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} Content: {chunk.content} Metadata: {metadata} 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 Tool: 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 default: tool description: Type of resource, always 'tool' toolgroup_id: type: string description: >- ID of the tool group this tool belongs to description: type: string description: >- Human-readable description of what the tool does parameters: type: array items: $ref: '#/components/schemas/ToolParameter' description: List of parameters this tool accepts 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: - identifier - provider_id - type - toolgroup_id - description - parameters title: Tool description: A tool that can be invoked by agents. ListToolsResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/Tool' description: List of tools additionalProperties: false required: - data title: ListToolsResponse description: Response containing a list of tools. 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: 384). 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. ## Responses API The Responses API provides OpenAI-compatible functionality with enhanced capabilities for dynamic, stateful interactions. > **✅ STABLE**: This API is production-ready with backward compatibility guarantees. Recommended for production applications. ### ✅ Supported Tools The Responses API supports the following tool types: - **`web_search`**: Search the web for current information and real-time data - **`file_search`**: Search through uploaded files and vector stores - Supports dynamic `vector_store_ids` per call - Compatible with OpenAI file search patterns - **`function`**: Call custom functions with JSON schema validation - **`mcp_tool`**: Model Context Protocol integration ### ✅ Supported Fields & Features **Core Capabilities:** - **Dynamic Configuration**: Switch models, vector stores, and tools per request without pre-configuration - **Conversation Branching**: Use `previous_response_id` to branch conversations and explore different paths - **Rich Annotations**: Automatic file citations, URL citations, and container file citations - **Status Tracking**: Monitor tool call execution status and handle failures gracefully ### 🚧 Work in Progress - Full real-time response streaming support - `tool_choice` parameter - `max_tool_calls` parameter - Built-in tools (code interpreter, containers API) - Safety & guardrails - `reasoning` capabilities - `service_tier` - `logprobs` - `max_output_tokens` - `metadata` handling - `instructions` - `incomplete_details` - `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: - LLM models: these models generate "raw" and "chat" (conversational) completions. - 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