diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index c60440173a..c31a394062 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -42,7 +42,6 @@ repos:
hooks:
- id: ruff
args: [ --fix ]
- exclude: ^(src/llama_stack_api/strong_typing/.*)$
- id: ruff-format
- repo: https://github.com/adamchainz/blacken-docs
@@ -106,16 +105,16 @@ repos:
language: python
pass_filenames: false
require_serial: true
- files: ^src/llama_stack/providers/.*$
+ files: ^src/llama_stack/providers/.*$|^scripts/run_openapi_generator.sh$
- id: openapi-codegen
name: API Spec Codegen
additional_dependencies:
- uv==0.7.8
- entry: sh -c './scripts/uv-run-with-index.sh run ./docs/openapi_generator/run_openapi_generator.sh > /dev/null'
+ entry: sh -c './scripts/uv-run-with-index.sh run scripts/run_openapi_generator.sh'
language: python
pass_filenames: false
require_serial: true
- files: ^src/llama_stack/apis/|^docs/openapi_generator/
+ files: ^src/llama_stack_api/.*$
- id: check-workflows-use-hashes
name: Check GitHub Actions use SHA-pinned actions
entry: ./scripts/check-workflows-use-hashes.sh
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index d843328294..ba6c2eaf2d 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -231,7 +231,7 @@ npm run serve
If you modify or add new API endpoints, update the API documentation accordingly. You can do this by running the following command:
```bash
-uv run ./docs/openapi_generator/run_openapi_generator.sh
+uv run ./scripts/run_openapi_generator.sh
```
The generated API schema will be available in `docs/static/`. Make sure to review the changes before committing.
diff --git a/client-sdks/stainless/README.md b/client-sdks/stainless/README.md
index 5551e90d50..73e7082d4a 100644
--- a/client-sdks/stainless/README.md
+++ b/client-sdks/stainless/README.md
@@ -5,4 +5,4 @@ These are the source-of-truth configuration files used to generate the Stainless
A small side note: notice the `.yml` suffixes since Stainless uses that suffix typically for its configuration files.
-These files go hand-in-hand. As of now, only the `openapi.yml` file is automatically generated using the `run_openapi_generator.sh` script.
+These files go hand-in-hand. As of now, only the `openapi.yml` file is automatically generated using the `scripts/run_openapi_generator.sh` script.
diff --git a/client-sdks/stainless/config.yml b/client-sdks/stainless/config.yml
index c61b53654d..9b26114fe0 100644
--- a/client-sdks/stainless/config.yml
+++ b/client-sdks/stainless/config.yml
@@ -115,9 +115,6 @@ resources:
sampling_params: SamplingParams
scoring_result: ScoringResult
system_message: SystemMessage
- query_result: RAGQueryResult
- document: RAGDocument
- query_config: RAGQueryConfig
toolgroups:
models:
tool_group: ToolGroup
@@ -143,11 +140,6 @@ resources:
endpoint: get /v1/tool-runtime/list-tools
paginated: false
invoke_tool: post /v1/tool-runtime/invoke
- subresources:
- rag_tool:
- methods:
- insert: post /v1/tool-runtime/rag-tool/insert
- query: post /v1/tool-runtime/rag-tool/query
responses:
models:
@@ -173,6 +165,7 @@ resources:
list:
type: http
endpoint: get /v1/responses/{response_id}/input_items
+ paginated: false
prompts:
models:
@@ -220,6 +213,9 @@ resources:
create:
type: http
endpoint: post /v1/conversations/{conversation_id}/items
+ delete:
+ type: http
+ endpoint: delete /v1/conversations/{conversation_id}/items/{item_id}
inspect:
models:
@@ -252,6 +248,7 @@ resources:
list:
type: http
endpoint: get /v1/chat/completions
+ paginated: false
retrieve:
type: http
endpoint: get /v1/chat/completions/{completion_id}
@@ -375,6 +372,7 @@ resources:
endpoint: get /v1/scoring-functions
paginated: false
register: post /v1/scoring-functions
+ unregister: delete /v1/scoring-functions/{scoring_fn_id}
models:
scoring_fn: ScoringFn
scoring_fn_params: ScoringFnParams
@@ -392,6 +390,13 @@ resources:
list_files_response: ListOpenAIFileResponse
delete_file_response: OpenAIFileDeleteResponse
+ batches:
+ methods:
+ create: post /v1/batches
+ list: get /v1/batches
+ retrieve: get /v1/batches/{batch_id}
+ cancel: post /v1/batches/{batch_id}/cancel
+
alpha:
subresources:
inference:
@@ -423,6 +428,7 @@ resources:
endpoint: get /v1alpha/eval/benchmarks
paginated: false
register: post /v1alpha/eval/benchmarks
+ unregister: delete /v1alpha/eval/benchmarks/{benchmark_id}
models:
benchmark: Benchmark
list_benchmarks_response: ListBenchmarksResponse
@@ -519,7 +525,7 @@ readme:
params: &ref_0 {}
headline:
type: request
- endpoint: post /v1/models
+ endpoint: get /v1/models
params: *ref_0
pagination:
type: request
diff --git a/client-sdks/stainless/openapi.yml b/client-sdks/stainless/openapi.yml
index d0813de4d8..ff86e30e10 100644
--- a/client-sdks/stainless/openapi.yml
+++ b/client-sdks/stainless/openapi.yml
@@ -1,19 +1,18 @@
openapi: 3.1.0
info:
- title: >-
- Llama Stack Specification - Stable & Experimental APIs
- version: v1
- description: >-
+ title: Llama Stack Specification - Stable & Experimental APIs
+ 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.
+ a set of endpoints and their corresponding interfaces that are
+ tailored to
+ best leverage Llama Models.
- **🔗 COMBINED**: This specification includes both stable production-ready APIs
- and experimental pre-release APIs. Use stable APIs for production deployments
- and experimental APIs for testing new features.
+ **🔗 COMBINED**: This specification includes both stable production-ready APIs
+ and experimental pre-release APIs. Use stable APIs for production deployments
+ and experimental APIs for testing new features.
+ version: v1
servers:
- - url: http://any-hosted-llama-stack.com
+- url: http://any-hosted-llama-stack.com
paths:
/v1/batches:
get:
@@ -26,34 +25,37 @@ paths:
$ref: '#/components/schemas/ListBatchesResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Batches
- summary: List all batches for the current user.
+ - Batches
+ summary: List Batches
description: List all batches for the current user.
+ operationId: list_batches_v1_batches_get
parameters:
- - name: after
- in: query
- description: >-
- A cursor for pagination; returns batches after this batch ID.
- required: false
- schema:
- type: string
- - name: limit
- in: query
- description: >-
- Number of batches to return (default 20, max 100).
- required: true
- schema:
- type: integer
- deprecated: false
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: limit
+ in: query
+ required: false
+ schema:
+ type: integer
+ default: 20
+ title: Limit
post:
responses:
'200':
@@ -64,28 +66,27 @@ paths:
$ref: '#/components/schemas/Batch'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Batches
- summary: >-
- Create a new batch for processing multiple API requests.
- description: >-
- Create a new batch for processing multiple API requests.
- parameters: []
+ - Batches
+ summary: Create Batch
+ description: Create a new batch for processing multiple API requests.
+ operationId: create_batch_v1_batches_post
requestBody:
+ required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBatchRequest'
- required: true
- deprecated: false
/v1/batches/{batch_id}:
get:
responses:
@@ -96,29 +97,29 @@ paths:
schema:
$ref: '#/components/schemas/Batch'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Batches
- summary: >-
- Retrieve information about a specific batch.
- description: >-
- Retrieve information about a specific batch.
+ - Batches
+ summary: Retrieve Batch
+ description: Retrieve information about a specific batch.
+ operationId: retrieve_batch_v1_batches__batch_id__get
parameters:
- - name: batch_id
- in: path
- description: The ID of the batch to retrieve.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: batch_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: batch_id'
/v1/batches/{batch_id}/cancel:
post:
responses:
@@ -129,27 +130,29 @@ paths:
schema:
$ref: '#/components/schemas/Batch'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Batches
- summary: Cancel a batch that is in progress.
+ - Batches
+ summary: Cancel Batch
description: Cancel a batch that is in progress.
+ operationId: cancel_batch_v1_batches__batch_id__cancel_post
parameters:
- - name: batch_id
- in: path
- description: The ID of the batch to cancel.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: batch_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: batch_id'
/v1/chat/completions:
get:
responses:
@@ -161,48 +164,56 @@ paths:
$ref: '#/components/schemas/ListOpenAIChatCompletionResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Inference
- summary: List chat completions.
+ - Inference
+ summary: List Chat Completions
description: List chat completions.
+ operationId: list_chat_completions_v1_chat_completions_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 20
+ title: Limit
+ - name: model
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Model
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - $ref: '#/components/schemas/Order'
+ - type: 'null'
+ default: desc
+ title: Order
post:
responses:
'200':
@@ -210,35 +221,36 @@ paths:
content:
application/json:
schema:
- oneOf:
- - $ref: '#/components/schemas/OpenAIChatCompletion'
- - $ref: '#/components/schemas/OpenAIChatCompletionChunk'
+ $ref: '#/components/schemas/OpenAIChatCompletion'
+ text/event-stream:
+ schema:
+ $ref: '#/components/schemas/OpenAIChatCompletionChunk'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Inference
- summary: Create chat completions.
- description: >-
+ - Inference
+ summary: Openai Chat Completion
+ description: |-
Create chat completions.
- Generate an OpenAI-compatible chat completion for the given messages using
- the specified model.
- parameters: []
+ Generate an OpenAI-compatible chat completion for the given messages using the specified model.
+ operationId: openai_chat_completion_v1_chat_completions_post
requestBody:
+ required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAIChatCompletionRequestWithExtraBody'
- required: true
- deprecated: false
/v1/chat/completions/{completion_id}:
get:
responses:
@@ -249,30 +261,32 @@ paths:
schema:
$ref: '#/components/schemas/OpenAICompletionWithInputMessages'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Inference
- summary: Get chat completion.
- description: >-
+ - Inference
+ summary: Get Chat Completion
+ description: |-
Get chat completion.
Describe a chat completion by its ID.
+ operationId: get_chat_completion_v1_chat_completions__completion_id__get
parameters:
- - name: completion_id
- in: path
- description: ID of the chat completion.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: completion_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: completion_id'
/v1/completions:
post:
responses:
@@ -283,31 +297,31 @@ paths:
schema:
$ref: '#/components/schemas/OpenAICompletion'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Inference
- summary: Create completion.
- description: >-
+ - Inference
+ summary: Openai Completion
+ description: |-
Create completion.
- Generate an OpenAI-compatible completion for the given prompt using the specified
- model.
- parameters: []
+ Generate an OpenAI-compatible completion for the given prompt using the specified model.
+ operationId: openai_completion_v1_completions_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAICompletionRequestWithExtraBody'
required: true
- deprecated: false
/v1/conversations:
post:
responses:
@@ -318,30 +332,31 @@ paths:
schema:
$ref: '#/components/schemas/Conversation'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Conversations
- summary: Create a conversation.
- description: >-
+ - Conversations
+ summary: Create Conversation
+ description: |-
Create a conversation.
Create a conversation.
- parameters: []
+ operationId: create_conversation_v1_conversations_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateConversationRequest'
required: true
- deprecated: false
/v1/conversations/{conversation_id}:
get:
responses:
@@ -352,30 +367,32 @@ paths:
schema:
$ref: '#/components/schemas/Conversation'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Conversations
- summary: Retrieve a conversation.
- description: >-
+ - Conversations
+ summary: Get Conversation
+ description: |-
Retrieve a conversation.
Get a conversation with the given ID.
+ operationId: get_conversation_v1_conversations__conversation_id__get
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
post:
responses:
'200':
@@ -385,36 +402,38 @@ paths:
schema:
$ref: '#/components/schemas/Conversation'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Conversations
- summary: Update a conversation.
- description: >-
+ - Conversations
+ summary: Update Conversation
+ description: |-
Update a conversation.
Update a conversation's metadata with the given ID.
+ operationId: update_conversation_v1_conversations__conversation_id__post
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateConversationRequest'
required: true
- deprecated: false
delete:
responses:
'200':
@@ -424,30 +443,32 @@ paths:
schema:
$ref: '#/components/schemas/ConversationDeletedResource'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Conversations
- summary: Delete a conversation.
- description: >-
+ - Conversations
+ summary: Openai Delete Conversation
+ description: |-
Delete a conversation.
Delete a conversation with the given ID.
+ operationId: openai_delete_conversation_v1_conversations__conversation_id__delete
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
/v1/conversations/{conversation_id}/items:
get:
responses:
@@ -459,73 +480,68 @@ paths:
$ref: '#/components/schemas/ConversationItemList'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Conversations
- summary: List items.
- description: >-
+ - Conversations
+ summary: List Items
+ description: |-
List items.
List items in the conversation.
+ operationId: list_items_v1_conversations__conversation_id__items_get
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
- - name: after
- in: query
- description: >-
- An item ID to list items after, used in pagination.
- required: false
- schema:
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ title: Limit
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - enum:
+ - asc
+ - desc
type: string
- - name: include
- in: query
- description: >-
- Specify additional output data to include in the response.
- required: false
- schema:
- type: array
+ - type: 'null'
+ title: Order
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
+ - name: include
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: array
items:
- type: string
- enum:
- - web_search_call.action.sources
- - code_interpreter_call.outputs
- - computer_call_output.output.image_url
- - file_search_call.results
- - message.input_image.image_url
- - message.output_text.logprobs
- - reasoning.encrypted_content
- title: ConversationItemInclude
- description: >-
- Specify additional output data to include in the model response.
- - name: limit
- in: query
- description: >-
- A limit on the number of objects to be returned (1-100, default 20).
- required: false
- schema:
- type: integer
- - name: order
- in: query
- description: >-
- The order to return items in (asc or desc, default desc).
- required: false
- schema:
- type: string
- enum:
- - asc
- - desc
- deprecated: false
+ $ref: '#/components/schemas/ConversationItemInclude'
+ - type: 'null'
+ title: Include
post:
responses:
'200':
@@ -536,35 +552,37 @@ paths:
$ref: '#/components/schemas/ConversationItemList'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Conversations
- summary: Create items.
- description: >-
+ - Conversations
+ summary: Add Items
+ description: |-
Create items.
Create items in the conversation.
+ operationId: add_items_v1_conversations__conversation_id__items_post
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
requestBody:
+ required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddItemsRequest'
- required: true
- deprecated: false
/v1/conversations/{conversation_id}/items/{item_id}:
get:
responses:
@@ -573,38 +591,40 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ConversationItem'
+ $ref: '#/components/schemas/OpenAIResponseMessage'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Conversations
- summary: Retrieve an item.
- description: >-
+ - Conversations
+ summary: Retrieve
+ description: |-
Retrieve an item.
Retrieve a conversation item.
+ operationId: retrieve_v1_conversations__conversation_id__items__item_id__get
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
- - name: item_id
- in: path
- description: The item identifier.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
+ - name: item_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: item_id'
delete:
responses:
'200':
@@ -614,365 +634,352 @@ paths:
schema:
$ref: '#/components/schemas/ConversationItemDeletedResource'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Conversations
- summary: Delete an item.
- description: >-
+ - Conversations
+ summary: Openai Delete Conversation Item
+ description: |-
Delete an item.
Delete a conversation item.
+ operationId: openai_delete_conversation_item_v1_conversations__conversation_id__items__item_id__delete
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
- - name: item_id
- in: path
- description: The item identifier.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
+ - name: item_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: item_id'
/v1/embeddings:
post:
responses:
'200':
- description: >-
- An OpenAIEmbeddingsResponse containing the embeddings.
+ description: An OpenAIEmbeddingsResponse containing the embeddings.
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAIEmbeddingsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Inference
- summary: Create embeddings.
- description: >-
+ - Inference
+ summary: Openai Embeddings
+ description: |-
Create embeddings.
- Generate OpenAI-compatible embeddings for the given input using the specified
- model.
- parameters: []
+ Generate OpenAI-compatible embeddings for the given input using the specified model.
+ operationId: openai_embeddings_v1_embeddings_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAIEmbeddingsRequestWithExtraBody'
required: true
- deprecated: false
/v1/files:
get:
responses:
'200':
- description: >-
- An ListOpenAIFileResponse containing the list of files.
+ description: An ListOpenAIFileResponse containing the list of files.
content:
application/json:
schema:
$ref: '#/components/schemas/ListOpenAIFileResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Files
- summary: List files.
- description: >-
+ - Files
+ summary: Openai List Files
+ description: |-
List files.
Returns a list of files that belong to the user's organization.
+ operationId: openai_list_files_v1_files_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 10000
+ title: Limit
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - $ref: '#/components/schemas/Order'
+ - type: 'null'
+ default: desc
+ title: Order
+ - name: purpose
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIFilePurpose'
+ - type: 'null'
+ title: Purpose
post:
responses:
'200':
- description: >-
- An OpenAIFileObject representing the uploaded file.
+ description: An OpenAIFileObject representing the uploaded file.
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAIFileObject'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Files
- summary: Upload file.
- description: >-
+ - Files
+ summary: Openai Upload File
+ description: |-
Upload file.
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: []
+ operationId: openai_upload_file_v1_files_post
requestBody:
+ required: true
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
+ $ref: '#/components/schemas/Body_openai_upload_file_v1_files_post'
/v1/files/{file_id}:
get:
responses:
'200':
- description: >-
- An OpenAIFileObject containing file information.
+ description: An OpenAIFileObject containing file information.
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAIFileObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Files
- summary: Retrieve file.
- description: >-
+ - Files
+ summary: Openai Retrieve File
+ description: |-
Retrieve file.
Returns information about a specific file.
+ operationId: openai_retrieve_file_v1_files__file_id__get
parameters:
- - name: file_id
- in: path
- description: >-
- The ID of the file to use for this request.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
delete:
responses:
'200':
- description: >-
- An OpenAIFileDeleteResponse indicating successful deletion.
+ description: An OpenAIFileDeleteResponse indicating successful deletion.
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAIFileDeleteResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Files
- summary: Delete file.
+ - Files
+ summary: Openai Delete File
description: Delete file.
+ operationId: openai_delete_file_v1_files__file_id__delete
parameters:
- - name: file_id
- in: path
- description: >-
- The ID of the file to use for this request.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
/v1/files/{file_id}/content:
get:
responses:
'200':
- description: >-
- The raw file content as a binary response.
+ description: The raw file content as a binary response.
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Files
- summary: Retrieve file content.
- description: >-
+ - Files
+ summary: Openai Retrieve File Content
+ description: |-
Retrieve file content.
Returns the contents of the specified file.
+ operationId: openai_retrieve_file_content_v1_files__file_id__content_get
parameters:
- - name: file_id
- in: path
- description: >-
- The ID of the file to use for this request.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
/v1/health:
get:
responses:
'200':
- description: >-
- Health information indicating if the service is operational.
+ description: Health information indicating if the service is operational.
content:
application/json:
schema:
$ref: '#/components/schemas/HealthInfo'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Inspect
- summary: Get health status.
- description: >-
+ - Inspect
+ summary: Health
+ description: |-
Get health status.
Get the current health status of the service.
- parameters: []
- deprecated: false
+ operationId: health_v1_health_get
/v1/inspect/routes:
get:
responses:
'200':
- description: >-
- Response containing information about all available routes.
+ description: Response containing information about all available routes.
content:
application/json:
schema:
$ref: '#/components/schemas/ListRoutesResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Inspect
- summary: List routes.
- description: >-
+ - Inspect
+ summary: List Routes
+ description: |-
List routes.
List all available API routes with their methods and implementing providers.
+ operationId: list_routes_v1_inspect_routes_get
parameters:
- - name: api_filter
- in: query
- description: >-
- Optional filter to control which routes are returned. Can be an API level
- ('v1', 'v1alpha', 'v1beta') to show non-deprecated routes at that level,
- or 'deprecated' to show deprecated routes across all levels. If not specified,
- returns all non-deprecated routes.
- required: false
- schema:
+ - name: api_filter
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - enum:
+ - v1
+ - v1alpha
+ - v1beta
+ - deprecated
type: string
- enum:
- - v1
- - v1alpha
- - v1beta
- - deprecated
- deprecated: false
+ - type: 'null'
+ title: Api Filter
/v1/models:
get:
responses:
@@ -983,21 +990,22 @@ paths:
schema:
$ref: '#/components/schemas/OpenAIListModelsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Models
- summary: List models using the OpenAI API.
+ - Models
+ summary: Openai List Models
description: List models using the OpenAI API.
- parameters: []
- deprecated: false
+ operationId: openai_list_models_v1_models_get
post:
responses:
'200':
@@ -1007,23 +1015,25 @@ paths:
schema:
$ref: '#/components/schemas/Model'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Models
- summary: Register model.
- description: >-
+ - Models
+ summary: Register Model
+ description: |-
Register model.
Register a model.
- parameters: []
+ operationId: register_model_v1_models_post
requestBody:
content:
application/json:
@@ -1041,59 +1051,63 @@ paths:
schema:
$ref: '#/components/schemas/Model'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Models
- summary: Get model.
- description: >-
+ - Models
+ summary: Get Model
+ description: |-
Get model.
Get a model by its identifier.
+ operationId: get_model_v1_models__model_id__get
parameters:
- - name: model_id
- in: path
- description: The identifier of the model to get.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: model_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: model_id'
delete:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - Models
- summary: Unregister model.
- description: >-
+ - Models
+ summary: Unregister Model
+ description: |-
Unregister model.
Unregister a model.
+ operationId: unregister_model_v1_models__model_id__delete
parameters:
- - name: model_id
- in: path
- description: >-
- The identifier of the model to unregister.
- required: true
- schema:
- type: string
+ - name: model_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: model_id'
deprecated: true
/v1/moderations:
post:
@@ -1105,56 +1119,57 @@ paths:
schema:
$ref: '#/components/schemas/ModerationObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Safety
- summary: Create moderation.
- description: >-
+ - Safety
+ summary: Run Moderation
+ description: |-
Create moderation.
Classifies if text and/or image inputs are potentially harmful.
- parameters: []
+ operationId: run_moderation_v1_moderations_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RunModerationRequest'
required: true
- deprecated: false
/v1/prompts:
get:
responses:
'200':
- description: >-
- A ListPromptsResponse containing all prompts.
+ description: A ListPromptsResponse containing all prompts.
content:
application/json:
schema:
$ref: '#/components/schemas/ListPromptsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Prompts
- summary: List all prompts.
+ - Prompts
+ summary: List Prompts
description: List all prompts.
- parameters: []
- deprecated: false
+ operationId: list_prompts_v1_prompts_get
post:
responses:
'200':
@@ -1164,30 +1179,31 @@ paths:
schema:
$ref: '#/components/schemas/Prompt'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Prompts
- summary: Create prompt.
- description: >-
+ - Prompts
+ summary: Create Prompt
+ description: |-
Create prompt.
Create a new prompt.
- parameters: []
+ operationId: create_prompt_v1_prompts_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePromptRequest'
required: true
- deprecated: false
/v1/prompts/{prompt_id}:
get:
responses:
@@ -1199,246 +1215,254 @@ paths:
$ref: '#/components/schemas/Prompt'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Prompts
- summary: Get prompt.
- description: >-
+ - Prompts
+ summary: Get Prompt
+ description: |-
Get prompt.
Get a prompt by its identifier and optional version.
+ operationId: get_prompt_v1_prompts__prompt_id__get
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
+ - name: version
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ title: Version
+ - name: prompt_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: prompt_id'
post:
responses:
'200':
- description: >-
- The updated Prompt resource with incremented version.
+ description: The updated Prompt resource with incremented version.
content:
application/json:
schema:
$ref: '#/components/schemas/Prompt'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Prompts
- summary: Update prompt.
- description: >-
+ - Prompts
+ summary: Update Prompt
+ description: |-
Update prompt.
Update an existing prompt (increments version).
+ operationId: update_prompt_v1_prompts__prompt_id__post
parameters:
- - name: prompt_id
- in: path
- description: The identifier of the prompt to update.
- required: true
- schema:
- type: string
+ - name: prompt_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: prompt_id'
requestBody:
+ required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePromptRequest'
- required: true
- deprecated: false
delete:
responses:
- '200':
- description: OK
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
+ '204':
+ description: Successful Response
tags:
- - Prompts
- summary: Delete prompt.
- description: >-
+ - Prompts
+ summary: Delete Prompt
+ description: |-
Delete prompt.
Delete a prompt.
+ operationId: delete_prompt_v1_prompts__prompt_id__delete
parameters:
- - name: prompt_id
- in: path
- description: The identifier of the prompt to delete.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: prompt_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: prompt_id'
/v1/prompts/{prompt_id}/set-default-version:
post:
responses:
'200':
- description: >-
- The prompt with the specified version now set as default.
+ description: The prompt with the specified version now set as default.
content:
application/json:
schema:
$ref: '#/components/schemas/Prompt'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Prompts
- summary: Set prompt version.
- description: >-
+ - Prompts
+ summary: Set Default Version
+ description: |-
Set prompt version.
Set which version of a prompt should be the default in get_prompt (latest).
+ operationId: set_default_version_v1_prompts__prompt_id__set_default_version_post
parameters:
- - name: prompt_id
- in: path
- description: The identifier of the prompt.
- required: true
- schema:
- type: string
+ - name: prompt_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: prompt_id'
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.
+ description: A ListPromptsResponse containing all versions of the prompt.
content:
application/json:
schema:
$ref: '#/components/schemas/ListPromptsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Prompts
- summary: List prompt versions.
- description: >-
+ - Prompts
+ summary: List Prompt Versions
+ description: |-
List prompt versions.
List all versions of a specific prompt.
+ operationId: list_prompt_versions_v1_prompts__prompt_id__versions_get
parameters:
- - name: prompt_id
- in: path
- description: >-
- The identifier of the prompt to list versions for.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: prompt_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: prompt_id'
/v1/providers:
get:
responses:
'200':
- description: >-
- A ListProvidersResponse containing information about all providers.
+ description: A ListProvidersResponse containing information about all providers.
content:
application/json:
schema:
$ref: '#/components/schemas/ListProvidersResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Providers
- summary: List providers.
- description: >-
+ - Providers
+ summary: List Providers
+ description: |-
List providers.
List all available providers.
- parameters: []
- deprecated: false
+ operationId: list_providers_v1_providers_get
/v1/providers/{provider_id}:
get:
responses:
'200':
- description: >-
- A ProviderInfo object containing the provider's details.
+ description: A ProviderInfo object containing the provider's details.
content:
application/json:
schema:
$ref: '#/components/schemas/ProviderInfo'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Providers
- summary: Get provider.
- description: >-
+ - Providers
+ summary: Inspect Provider
+ description: |-
Get provider.
Get detailed information about a specific provider.
+ operationId: inspect_provider_v1_providers__provider_id__get
parameters:
- - name: provider_id
- in: path
- description: The ID of the provider to inspect.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: provider_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: provider_id'
/v1/responses:
get:
responses:
@@ -1450,45 +1474,56 @@ paths:
$ref: '#/components/schemas/ListOpenAIResponseObject'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Agents
- summary: List all responses.
+ - Agents
+ summary: List Openai Responses
description: List all responses.
+ operationId: list_openai_responses_v1_responses_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 50
+ title: Limit
+ - name: model
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Model
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - $ref: '#/components/schemas/Order'
+ - type: 'null'
+ default: desc
+ title: Order
post:
responses:
'200':
@@ -1502,38 +1537,51 @@ paths:
$ref: '#/components/schemas/OpenAIResponseObjectStream'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Agents
- summary: Create a model response.
+ - Agents
+ summary: Create Openai Response
description: Create a model response.
- parameters: []
+ operationId: create_openai_response_v1_responses_post
requestBody:
+ required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOpenaiResponseRequest'
- required: true
- deprecated: false
- x-llama-stack-extra-body-params:
- - name: guardrails
- schema:
- type: array
- items:
- oneOf:
+ x-llama-stack-extra-body-params:
+ guardrails:
+ $defs:
+ ResponseGuardrailSpec:
+ description: |-
+ Specification for a guardrail to apply during response generation.
+
+ :param type: The type/identifier of the guardrail.
+ properties:
+ type:
+ title: Type
+ type: string
+ required:
+ - type
+ title: ResponseGuardrailSpec
+ type: object
+ anyOf:
+ - items:
+ anyOf:
- type: string
- $ref: '#/components/schemas/ResponseGuardrailSpec'
- description: >-
- List of guardrails to apply during response generation. Guardrails provide
- safety and content moderation.
- required: false
+ type: array
+ - type: 'null'
+ description: List of guardrails to apply during response generation. Guardrails provide safety and content moderation.
/v1/responses/{response_id}:
get:
responses:
@@ -1544,28 +1592,29 @@ paths:
schema:
$ref: '#/components/schemas/OpenAIResponseObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Agents
- summary: Get a model response.
+ - Agents
+ summary: Get Openai Response
description: Get a model response.
+ operationId: get_openai_response_v1_responses__response_id__get
parameters:
- - name: response_id
- in: path
- description: >-
- The ID of the OpenAI response to retrieve.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: response_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: response_id'
delete:
responses:
'200':
@@ -1575,27 +1624,29 @@ paths:
schema:
$ref: '#/components/schemas/OpenAIDeleteResponseObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Agents
- summary: Delete a response.
+ - Agents
+ summary: Delete Openai Response
description: Delete a response.
+ operationId: delete_openai_response_v1_responses__response_id__delete
parameters:
- - name: response_id
- in: path
- description: The ID of the OpenAI response to delete.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: response_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: response_id'
/v1/responses/{response_id}/input_items:
get:
responses:
@@ -1607,65 +1658,72 @@ paths:
$ref: '#/components/schemas/ListOpenAIResponseInputItem'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Agents
- summary: List input items.
+ - Agents
+ summary: List Openai Response Input Items
description: List input items.
+ operationId: list_openai_response_input_items_v1_responses__response_id__input_items_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: before
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Before
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 20
+ title: Limit
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - $ref: '#/components/schemas/Order'
+ - type: 'null'
+ default: desc
+ title: Order
+ - name: response_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: response_id'
+ - name: include
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - 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
+ - type: 'null'
+ title: Include
/v1/safety/run-shield:
post:
responses:
@@ -1676,30 +1734,31 @@ paths:
schema:
$ref: '#/components/schemas/RunShieldResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Safety
- summary: Run shield.
- description: >-
+ - Safety
+ summary: Run Shield
+ description: |-
Run shield.
Run a shield.
- parameters: []
+ operationId: run_shield_v1_safety_run_shield_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RunShieldRequest'
required: true
- deprecated: false
/v1/scoring-functions:
get:
responses:
@@ -1710,45 +1769,48 @@ paths:
schema:
$ref: '#/components/schemas/ListScoringFunctionsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - ScoringFunctions
- summary: List all scoring functions.
+ - Scoring Functions
+ summary: List Scoring Functions
description: List all scoring functions.
- parameters: []
- deprecated: false
+ operationId: list_scoring_functions_v1_scoring_functions_get
post:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - ScoringFunctions
- summary: Register a scoring function.
+ - Scoring Functions
+ summary: Register Scoring Function
description: Register a scoring function.
- parameters: []
+ operationId: register_scoring_function_v1_scoring_functions_post
requestBody:
content:
application/json:
schema:
- $ref: '#/components/schemas/RegisterScoringFunctionRequest'
+ $ref: '#/components/schemas/RegisterScoringFunctionRequestLoose'
required: true
deprecated: true
/v1/scoring-functions/{scoring_fn_id}:
@@ -1761,86 +1823,90 @@ paths:
schema:
$ref: '#/components/schemas/ScoringFn'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - ScoringFunctions
- summary: Get a scoring function by its ID.
+ - Scoring Functions
+ summary: Get Scoring Function
description: Get a scoring function by its ID.
+ operationId: get_scoring_function_v1_scoring_functions__scoring_fn_id__get
parameters:
- - name: scoring_fn_id
- in: path
- description: The ID of the scoring function to get.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: scoring_fn_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: scoring_fn_id'
delete:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - ScoringFunctions
- summary: Unregister a scoring function.
+ - Scoring Functions
+ summary: Unregister Scoring Function
description: Unregister a scoring function.
+ operationId: unregister_scoring_function_v1_scoring_functions__scoring_fn_id__delete
parameters:
- - name: scoring_fn_id
- in: path
- description: >-
- The ID of the scoring function to unregister.
- required: true
- schema:
- type: string
+ - name: scoring_fn_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: scoring_fn_id'
deprecated: true
/v1/scoring/score:
post:
responses:
'200':
- description: >-
- A ScoreResponse object containing rows and aggregated results.
+ description: A ScoreResponse object containing rows and aggregated results.
content:
application/json:
schema:
$ref: '#/components/schemas/ScoreResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Scoring
- summary: Score a list of rows.
+ - Scoring
+ summary: Score
description: Score a list of rows.
- parameters: []
+ operationId: score_v1_scoring_score_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScoreRequest'
required: true
- deprecated: false
/v1/scoring/score-batch:
post:
responses:
@@ -1851,27 +1917,28 @@ paths:
schema:
$ref: '#/components/schemas/ScoreBatchResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Scoring
- summary: Score a batch of rows.
+ - Scoring
+ summary: Score Batch
description: Score a batch of rows.
- parameters: []
+ operationId: score_batch_v1_scoring_score_batch_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScoreBatchRequest'
required: true
- deprecated: false
/v1/shields:
get:
responses:
@@ -1882,21 +1949,22 @@ paths:
schema:
$ref: '#/components/schemas/ListShieldsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Shields
- summary: List all shields.
+ - Shields
+ summary: List Shields
description: List all shields.
- parameters: []
- deprecated: false
+ operationId: list_shields_v1_shields_get
post:
responses:
'200':
@@ -1906,20 +1974,22 @@ paths:
schema:
$ref: '#/components/schemas/Shield'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Shields
- summary: Register a shield.
+ - Shields
+ summary: Register Shield
description: Register a shield.
- parameters: []
+ operationId: register_shield_v1_shields_post
requestBody:
content:
application/json:
@@ -1937,53 +2007,57 @@ paths:
schema:
$ref: '#/components/schemas/Shield'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Shields
- summary: Get a shield by its identifier.
+ - Shields
+ summary: Get Shield
description: Get a shield by its identifier.
+ operationId: get_shield_v1_shields__identifier__get
parameters:
- - name: identifier
- in: path
- description: The identifier of the shield to get.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: identifier
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: identifier'
delete:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - Shields
- summary: Unregister a shield.
+ - Shields
+ summary: Unregister Shield
description: Unregister a shield.
+ operationId: unregister_shield_v1_shields__identifier__delete
parameters:
- - name: identifier
- in: path
- description: >-
- The identifier of the shield to unregister.
- required: true
- schema:
- type: string
+ - name: identifier
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: identifier'
deprecated: true
/v1/tool-runtime/invoke:
post:
@@ -1995,27 +2069,28 @@ paths:
schema:
$ref: '#/components/schemas/ToolInvocationResult'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - ToolRuntime
- summary: Run a tool with the given arguments.
+ - Tool Runtime
+ summary: Invoke Tool
description: Run a tool with the given arguments.
- parameters: []
+ operationId: invoke_tool_v1_tool_runtime_invoke_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InvokeToolRequest'
required: true
- deprecated: false
/v1/tool-runtime/list-tools:
get:
responses:
@@ -2027,41 +2102,46 @@ paths:
$ref: '#/components/schemas/ListToolDefsResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - ToolRuntime
- summary: List all tools in the runtime.
+ - Tool Runtime
+ summary: List Runtime Tools
description: List all tools in the runtime.
+ operationId: list_runtime_tools_v1_tool_runtime_list_tools_get
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'
- - name: authorization
- in: query
- description: >-
- (Optional) OAuth access token for authenticating with the MCP server.
- required: false
- schema:
- type: string
- deprecated: false
+ - name: authorization
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Authorization
+ - name: tool_group_id
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Tool Group Id
+ - name: mcp_endpoint
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ - type: 'null'
+ title: Mcp Endpoint
/v1/toolgroups:
get:
responses:
@@ -2072,40 +2152,43 @@ paths:
schema:
$ref: '#/components/schemas/ListToolGroupsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - ToolGroups
- summary: List tool groups with optional provider.
+ - Tool Groups
+ summary: List Tool Groups
description: List tool groups with optional provider.
- parameters: []
- deprecated: false
+ operationId: list_tool_groups_v1_toolgroups_get
post:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - ToolGroups
- summary: Register a tool group.
+ - Tool Groups
+ summary: Register Tool Group
description: Register a tool group.
- parameters: []
+ operationId: register_tool_group_v1_toolgroups_post
requestBody:
content:
application/json:
@@ -2123,52 +2206,57 @@ paths:
schema:
$ref: '#/components/schemas/ToolGroup'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - ToolGroups
- summary: Get a tool group by its ID.
+ - Tool Groups
+ summary: Get Tool Group
description: Get a tool group by its ID.
+ operationId: get_tool_group_v1_toolgroups__toolgroup_id__get
parameters:
- - name: toolgroup_id
- in: path
- description: The ID of the tool group to get.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: toolgroup_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: toolgroup_id'
delete:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - ToolGroups
- summary: Unregister a tool group.
+ - Tool Groups
+ summary: Unregister Toolgroup
description: Unregister a tool group.
+ operationId: unregister_toolgroup_v1_toolgroups__toolgroup_id__delete
parameters:
- - name: toolgroup_id
- in: path
- description: The ID of the tool group to unregister.
- required: true
- schema:
- type: string
+ - name: toolgroup_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: toolgroup_id'
deprecated: true
/v1/tools:
get:
@@ -2181,27 +2269,30 @@ paths:
$ref: '#/components/schemas/ListToolDefsResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - ToolGroups
- summary: List tools with optional tool group.
+ - Tool Groups
+ summary: List Tools
description: List tools with optional tool group.
+ operationId: list_tools_v1_tools_get
parameters:
- - name: toolgroup_id
- in: query
- description: >-
- The ID of the tool group to list tools for.
- required: false
- schema:
- type: string
- deprecated: false
+ - name: toolgroup_id
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Toolgroup Id
/v1/tools/{tool_name}:
get:
responses:
@@ -2212,54 +2303,57 @@ paths:
schema:
$ref: '#/components/schemas/ToolDef'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - ToolGroups
- summary: Get a tool by its name.
+ - Tool Groups
+ summary: Get Tool
description: Get a tool by its name.
+ operationId: get_tool_v1_tools__tool_name__get
parameters:
- - name: tool_name
- in: path
- description: The name of the tool to get.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: tool_name
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: tool_name'
/v1/vector-io/insert:
post:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - VectorIO
- summary: Insert chunks into a vector database.
+ - Vector Io
+ summary: Insert Chunks
description: Insert chunks into a vector database.
- parameters: []
+ operationId: insert_chunks_v1_vector_io_insert_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InsertChunksRequest'
required: true
- deprecated: false
/v1/vector-io/query:
post:
responses:
@@ -2270,815 +2364,829 @@ paths:
schema:
$ref: '#/components/schemas/QueryChunksResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Query chunks from a vector database.
+ - Vector Io
+ summary: Query Chunks
description: Query chunks from a vector database.
- parameters: []
+ operationId: query_chunks_v1_vector_io_query_post
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.
+ description: A VectorStoreListResponse containing the list of vector stores.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreListResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - VectorIO
- summary: Returns a list of vector stores.
+ - Vector Io
+ summary: Openai List Vector Stores
description: Returns a list of vector stores.
+ operationId: openai_list_vector_stores_v1_vector_stores_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: before
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Before
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 20
+ title: Limit
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: desc
+ title: Order
post:
responses:
'200':
- description: >-
- A VectorStoreObject representing the created vector store.
+ description: A VectorStoreObject representing the created vector store.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreObject'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - VectorIO
- summary: Creates a vector store.
- description: >-
+ - Vector Io
+ summary: Openai Create Vector Store
+ description: |-
Creates a vector store.
Generate an OpenAI-compatible vector store with the given parameters.
- parameters: []
+ operationId: openai_create_vector_store_v1_vector_stores_post
requestBody:
+ required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAICreateVectorStoreRequestWithExtraBody'
- required: true
- deprecated: false
/v1/vector_stores/{vector_store_id}:
get:
responses:
'200':
- description: >-
- A VectorStoreObject representing the vector store.
+ description: A VectorStoreObject representing the vector store.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Retrieves a vector store.
+ - Vector Io
+ summary: Openai Retrieve Vector Store
description: Retrieves a vector store.
+ operationId: openai_retrieve_vector_store_v1_vector_stores__vector_store_id__get
parameters:
- - name: vector_store_id
- in: path
- description: The ID of the vector store to retrieve.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
post:
responses:
'200':
- description: >-
- A VectorStoreObject representing the updated vector store.
+ description: A VectorStoreObject representing the updated vector store.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Updates a vector store.
+ - Vector Io
+ summary: Openai Update Vector Store
description: Updates a vector store.
+ operationId: openai_update_vector_store_v1_vector_stores__vector_store_id__post
parameters:
- - name: vector_store_id
- in: path
- description: The ID of the vector store to update.
- required: true
- schema:
- type: string
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OpenaiUpdateVectorStoreRequest'
required: true
- deprecated: false
delete:
responses:
'200':
- description: >-
- A VectorStoreDeleteResponse indicating the deletion status.
+ description: A VectorStoreDeleteResponse indicating the deletion status.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreDeleteResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Delete a vector store.
+ - Vector Io
+ summary: Openai Delete Vector Store
description: Delete a vector store.
+ operationId: openai_delete_vector_store_v1_vector_stores__vector_store_id__delete
parameters:
- - name: vector_store_id
- in: path
- description: The ID of the vector store to delete.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
/v1/vector_stores/{vector_store_id}/file_batches:
post:
responses:
'200':
- description: >-
- A VectorStoreFileBatchObject representing the created file batch.
+ description: A VectorStoreFileBatchObject representing the created file batch.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileBatchObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Create a vector store file batch.
- description: >-
+ - Vector Io
+ summary: Openai Create Vector Store File Batch
+ description: |-
Create a vector store file batch.
- Generate an OpenAI-compatible vector store file batch for the given vector
- store.
+ Generate an OpenAI-compatible vector store file batch for the given vector store.
+ operationId: openai_create_vector_store_file_batch_v1_vector_stores__vector_store_id__file_batches_post
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
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAICreateVectorStoreFileBatchRequestWithExtraBody'
required: true
- deprecated: false
/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}:
get:
responses:
'200':
- description: >-
- A VectorStoreFileBatchObject representing the file batch.
+ description: A VectorStoreFileBatchObject representing the file batch.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileBatchObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Retrieve a vector store file batch.
+ - Vector Io
+ summary: Openai Retrieve Vector Store File Batch
description: Retrieve a vector store file batch.
+ operationId: openai_retrieve_vector_store_file_batch_v1_vector_stores__vector_store_id__file_batches__batch_id__get
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
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: batch_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: batch_id'
/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}/cancel:
post:
responses:
'200':
- description: >-
- A VectorStoreFileBatchObject representing the cancelled file batch.
+ description: A VectorStoreFileBatchObject representing the cancelled file batch.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileBatchObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Cancels a vector store file batch.
+ - Vector Io
+ summary: Openai Cancel Vector Store File Batch
description: Cancels a vector store file batch.
+ operationId: openai_cancel_vector_store_file_batch_v1_vector_stores__vector_store_id__file_batches__batch_id__cancel_post
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
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: batch_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: batch_id'
/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.
+ description: A VectorStoreFilesListInBatchResponse containing the list of files in the batch.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFilesListInBatchResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - VectorIO
- summary: >-
- Returns a list of vector store files in a batch.
- description: >-
- Returns a list of vector store files in a batch.
+ - Vector Io
+ summary: Openai List Files In Vector Store File Batch
+ description: Returns a list of vector store files in a batch.
+ operationId: openai_list_files_in_vector_store_file_batch_v1_vector_stores__vector_store_id__file_batches__batch_id__files_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: before
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Before
+ - name: filter
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Filter
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 20
+ title: Limit
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: desc
+ title: Order
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: batch_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: batch_id'
/v1/vector_stores/{vector_store_id}/files:
get:
responses:
'200':
- description: >-
- A VectorStoreListFilesResponse containing the list of files.
+ description: A VectorStoreListFilesResponse containing the list of files.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreListFilesResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - VectorIO
- summary: List files in a vector store.
+ - Vector Io
+ summary: Openai List Files In Vector Store
description: List files in a vector store.
+ operationId: openai_list_files_in_vector_store_v1_vector_stores__vector_store_id__files_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: before
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Before
+ - name: filter
+ in: query
+ required: false
+ schema:
+ title: Filter
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - cancelled
+ - failed
+ default: completed
+ nullable: true
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 20
+ title: Limit
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: desc
+ title: Order
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
post:
responses:
'200':
- description: >-
- A VectorStoreFileObject representing the attached file.
+ description: A VectorStoreFileObject representing the attached file.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileObject'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - VectorIO
- summary: Attach a file to a vector store.
+ - Vector Io
+ summary: Openai Attach File To Vector Store
description: Attach a file to a vector store.
+ operationId: openai_attach_file_to_vector_store_v1_vector_stores__vector_store_id__files_post
parameters:
- - name: vector_store_id
- in: path
- description: >-
- The ID of the vector store to attach the file to.
- required: true
- schema:
- type: string
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
requestBody:
+ required: true
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.
+ description: A VectorStoreFileObject representing the file.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Retrieves a vector store file.
+ - Vector Io
+ summary: Openai Retrieve Vector Store File
description: Retrieves a vector store file.
+ operationId: openai_retrieve_vector_store_file_v1_vector_stores__vector_store_id__files__file_id__get
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
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
post:
responses:
'200':
- description: >-
- A VectorStoreFileObject representing the updated file.
+ description: A VectorStoreFileObject representing the updated file.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Updates a vector store file.
+ - Vector Io
+ summary: Openai Update Vector Store File
description: Updates a vector store file.
+ operationId: openai_update_vector_store_file_v1_vector_stores__vector_store_id__files__file_id__post
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
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OpenaiUpdateVectorStoreFileRequest'
required: true
- deprecated: false
delete:
responses:
'200':
- description: >-
- A VectorStoreFileDeleteResponse indicating the deletion status.
+ description: A VectorStoreFileDeleteResponse indicating the deletion status.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileDeleteResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Delete a vector store file.
+ - Vector Io
+ summary: Openai Delete Vector Store File
description: Delete a vector store file.
+ operationId: openai_delete_vector_store_file_v1_vector_stores__vector_store_id__files__file_id__delete
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
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
/v1/vector_stores/{vector_store_id}/files/{file_id}/content:
get:
responses:
'200':
- description: >-
- File contents, optionally with embeddings and metadata based on query
- parameters.
+ description: File contents, optionally with embeddings and metadata based on query parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileContentResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - VectorIO
- summary: >-
- Retrieves the contents of a vector store file.
- description: >-
- Retrieves the contents of a vector store file.
+ - Vector Io
+ summary: Openai Retrieve Vector Store File Contents
+ description: Retrieves the contents of a vector store file.
+ operationId: openai_retrieve_vector_store_file_contents_v1_vector_stores__vector_store_id__files__file_id__content_get
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
- - name: include_embeddings
- in: query
- description: >-
- Whether to include embedding vectors in the response.
- required: false
- schema:
- $ref: '#/components/schemas/bool'
- - name: include_metadata
- in: query
- description: >-
- Whether to include chunk metadata in the response.
- required: false
- schema:
- $ref: '#/components/schemas/bool'
- deprecated: false
+ - name: include_embeddings
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ title: Include Embeddings
+ - name: include_metadata
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ title: Include Metadata
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
/v1/vector_stores/{vector_store_id}/search:
post:
responses:
'200':
- description: >-
- A VectorStoreSearchResponse containing the search results.
+ description: A VectorStoreSearchResponse containing the search results.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreSearchResponsePage'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Search for chunks in a vector store.
- description: >-
+ - Vector Io
+ summary: Openai Search 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.
+ Searches a vector store for relevant chunks based on a query and optional file attribute filters.
+ operationId: openai_search_vector_store_v1_vector_stores__vector_store_id__search_post
parameters:
- - name: vector_store_id
- in: path
- description: The ID of the vector store to search.
- required: true
- schema:
- type: string
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
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.
+ description: Version information containing the service version number.
content:
application/json:
schema:
$ref: '#/components/schemas/VersionInfo'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Inspect
- summary: Get version.
- description: >-
+ - Inspect
+ summary: Version
+ description: |-
Get version.
Get the version of the service.
- parameters: []
- deprecated: false
+ operationId: version_v1_version_get
/v1beta/datasetio/append-rows/{dataset_id}:
post:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - DatasetIO
- summary: Append rows to a dataset.
+ - Datasetio
+ summary: Append Rows
description: Append rows to a dataset.
+ operationId: append_rows_v1beta_datasetio_append_rows__dataset_id__post
parameters:
- - name: dataset_id
- in: path
- description: >-
- The ID of the dataset to append the rows to.
- required: true
- schema:
- type: string
+ - name: dataset_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: dataset_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AppendRowsRequest'
required: true
- deprecated: false
/v1beta/datasetio/iterrows/{dataset_id}:
get:
responses:
@@ -3090,55 +3198,53 @@ paths:
$ref: '#/components/schemas/PaginatedResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - DatasetIO
- summary: >-
- Get a paginated list of rows from a dataset.
- description: >-
+ - Datasetio
+ summary: Iterrows
+ description: |-
Get a paginated list of rows from a dataset.
Uses offset-based pagination where:
-
- start_index: The starting index (0-based). If None, starts from beginning.
-
- limit: Number of items to return. If None or -1, returns all items.
-
The response includes:
-
- data: List of items for the current page.
-
- has_more: Whether there are more items available after this set.
+ operationId: iterrows_v1beta_datasetio_iterrows__dataset_id__get
parameters:
- - name: dataset_id
- in: path
- description: >-
- The ID of the dataset to get the rows from.
- required: true
- schema:
- type: string
- - name: start_index
- in: query
- description: >-
- Index into dataset for the first row to get. Get all rows if None.
- required: false
- schema:
- type: integer
- - name: limit
- in: query
- description: The number of rows to get.
- required: false
- schema:
- type: integer
- deprecated: false
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ title: Limit
+ - name: start_index
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ title: Start Index
+ - name: dataset_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: dataset_id'
/v1beta/datasets:
get:
responses:
@@ -3149,21 +3255,22 @@ paths:
schema:
$ref: '#/components/schemas/ListDatasetsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Datasets
- summary: List all datasets.
+ - Datasets
+ summary: List Datasets
description: List all datasets.
- parameters: []
- deprecated: false
+ operationId: list_datasets_v1beta_datasets_get
post:
responses:
'200':
@@ -3173,25 +3280,27 @@ paths:
schema:
$ref: '#/components/schemas/Dataset'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Datasets
- summary: Register a new dataset.
+ - Datasets
+ summary: Register Dataset
description: Register a new dataset.
- parameters: []
+ operationId: register_dataset_v1beta_datasets_post
requestBody:
content:
application/json:
schema:
- $ref: '#/components/schemas/RegisterDatasetRequest'
+ $ref: '#/components/schemas/RegisterDatasetRequestLoose'
required: true
deprecated: true
/v1beta/datasets/{dataset_id}:
@@ -3204,52 +3313,57 @@ paths:
schema:
$ref: '#/components/schemas/Dataset'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Datasets
- summary: Get a dataset by its ID.
+ - Datasets
+ summary: Get Dataset
description: Get a dataset by its ID.
+ operationId: get_dataset_v1beta_datasets__dataset_id__get
parameters:
- - name: dataset_id
- in: path
- description: The ID of the dataset to get.
- required: true
- schema:
- type: string
- deprecated: false
- delete:
+ - name: dataset_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: dataset_id'
+ delete:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - Datasets
- summary: Unregister a dataset by its ID.
+ - Datasets
+ summary: Unregister Dataset
description: Unregister a dataset by its ID.
+ operationId: unregister_dataset_v1beta_datasets__dataset_id__delete
parameters:
- - name: dataset_id
- in: path
- description: The ID of the dataset to unregister.
- required: true
- schema:
- type: string
+ - name: dataset_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: dataset_id'
deprecated: true
/v1alpha/eval/benchmarks:
get:
@@ -3261,40 +3375,43 @@ paths:
schema:
$ref: '#/components/schemas/ListBenchmarksResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Benchmarks
- summary: List all benchmarks.
+ - Benchmarks
+ summary: List Benchmarks
description: List all benchmarks.
- parameters: []
- deprecated: false
+ operationId: list_benchmarks_v1alpha_eval_benchmarks_get
post:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - Benchmarks
- summary: Register a benchmark.
+ - Benchmarks
+ summary: Register Benchmark
description: Register a benchmark.
- parameters: []
+ operationId: register_benchmark_v1alpha_eval_benchmarks_post
requestBody:
content:
application/json:
@@ -3312,131 +3429,136 @@ paths:
schema:
$ref: '#/components/schemas/Benchmark'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Benchmarks
- summary: Get a benchmark by its ID.
+ - Benchmarks
+ summary: Get Benchmark
description: Get a benchmark by its ID.
+ operationId: get_benchmark_v1alpha_eval_benchmarks__benchmark_id__get
parameters:
- - name: benchmark_id
- in: path
- description: The ID of the benchmark to get.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
delete:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - Benchmarks
- summary: Unregister a benchmark.
+ - Benchmarks
+ summary: Unregister Benchmark
description: Unregister a benchmark.
+ operationId: unregister_benchmark_v1alpha_eval_benchmarks__benchmark_id__delete
parameters:
- - name: benchmark_id
- in: path
- description: The ID of the benchmark to unregister.
- required: true
- schema:
- type: string
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
deprecated: true
/v1alpha/eval/benchmarks/{benchmark_id}/evaluations:
post:
responses:
'200':
- description: >-
- EvaluateResponse object containing generations and scores.
+ description: EvaluateResponse object containing generations and scores.
content:
application/json:
schema:
$ref: '#/components/schemas/EvaluateResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Eval
- summary: Evaluate a list of rows on a benchmark.
+ - Eval
+ summary: Evaluate Rows
description: Evaluate a list of rows on a benchmark.
+ operationId: evaluate_rows_v1alpha_eval_benchmarks__benchmark_id__evaluations_post
parameters:
- - name: benchmark_id
- in: path
- description: >-
- The ID of the benchmark to run the evaluation on.
- required: true
- schema:
- type: string
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EvaluateRowsRequest'
required: true
- deprecated: false
/v1alpha/eval/benchmarks/{benchmark_id}/jobs:
post:
responses:
'200':
- description: >-
- The job that was created to run the evaluation.
+ description: The job that was created to run the evaluation.
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Eval
- summary: Run an evaluation on a benchmark.
+ - Eval
+ summary: Run Eval
description: Run an evaluation on a benchmark.
+ operationId: run_eval_v1alpha_eval_benchmarks__benchmark_id__jobs_post
parameters:
- - name: benchmark_id
- in: path
- description: >-
- The ID of the benchmark to run the evaluation on.
- required: true
- schema:
- type: string
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
requestBody:
content:
application/json:
schema:
- $ref: '#/components/schemas/RunEvalRequest'
+ $ref: '#/components/schemas/BenchmarkConfig'
required: true
- deprecated: false
/v1alpha/eval/benchmarks/{benchmark_id}/jobs/{job_id}:
get:
responses:
@@ -3447,67 +3569,69 @@ paths:
schema:
$ref: '#/components/schemas/Job'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Eval
- summary: Get the status of a job.
+ - Eval
+ summary: Job Status
description: Get the status of a job.
+ operationId: job_status_v1alpha_eval_benchmarks__benchmark_id__jobs__job_id__get
parameters:
- - name: benchmark_id
- in: path
- description: >-
- The ID of the benchmark to run the evaluation on.
- required: true
- schema:
- type: string
- - name: job_id
- in: path
- description: The ID of the job to get the status of.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
+ - name: job_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: job_id'
delete:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - Eval
- summary: Cancel a job.
+ - Eval
+ summary: Job Cancel
description: Cancel a job.
+ operationId: job_cancel_v1alpha_eval_benchmarks__benchmark_id__jobs__job_id__delete
parameters:
- - name: benchmark_id
- in: path
- description: >-
- The ID of the benchmark to run the evaluation on.
- required: true
- schema:
- type: string
- - name: job_id
- in: path
- description: The ID of the job to cancel.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
+ - name: job_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: job_id'
/v1alpha/eval/benchmarks/{benchmark_id}/jobs/{job_id}/result:
get:
responses:
@@ -3518,68 +3642,67 @@ paths:
schema:
$ref: '#/components/schemas/EvaluateResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Eval
- summary: Get the result of a job.
+ - Eval
+ summary: Job Result
description: Get the result of a job.
+ operationId: job_result_v1alpha_eval_benchmarks__benchmark_id__jobs__job_id__result_get
parameters:
- - name: benchmark_id
- in: path
- description: >-
- The ID of the benchmark to run the evaluation on.
- required: true
- schema:
- type: string
- - name: job_id
- in: path
- description: The ID of the job to get the result of.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
+ - name: job_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: job_id'
/v1alpha/inference/rerank:
post:
responses:
'200':
- description: >-
- RerankResponse with indices sorted by relevance score (descending).
+ description: RerankResponse with indices sorted by relevance score (descending).
content:
application/json:
schema:
$ref: '#/components/schemas/RerankResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Inference
- summary: >-
- Rerank a list of documents based on their relevance to a query.
- description: >-
- Rerank a list of documents based on their relevance to a query.
- parameters: []
+ - Inference
+ summary: Rerank
+ description: Rerank a list of documents based on their relevance to a query.
+ operationId: rerank_v1alpha_inference_rerank_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RerankRequest'
required: true
- deprecated: false
/v1alpha/post-training/job/artifacts:
get:
responses:
@@ -3591,54 +3714,56 @@ paths:
$ref: '#/components/schemas/PostTrainingJobArtifactsResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - PostTraining (Coming Soon)
- summary: Get the artifacts of a training job.
+ - Post Training
+ summary: Get Training Job Artifacts
description: Get the artifacts of a training job.
+ operationId: get_training_job_artifacts_v1alpha_post_training_job_artifacts_get
parameters:
- - name: job_uuid
- in: query
- description: >-
- The UUID of the job to get the artifacts of.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: job_uuid
+ in: query
+ required: true
+ schema:
+ type: string
+ title: Job Uuid
/v1alpha/post-training/job/cancel:
post:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - PostTraining (Coming Soon)
- summary: Cancel a training job.
+ - Post Training
+ summary: Cancel Training Job
description: Cancel a training job.
- parameters: []
+ operationId: cancel_training_job_v1alpha_post_training_job_cancel_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CancelTrainingJobRequest'
required: true
- deprecated: false
/v1alpha/post-training/job/status:
get:
responses:
@@ -3650,27 +3775,28 @@ paths:
$ref: '#/components/schemas/PostTrainingJobStatusResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - PostTraining (Coming Soon)
- summary: Get the status of a training job.
+ - Post Training
+ summary: Get Training Job Status
description: Get the status of a training job.
+ operationId: get_training_job_status_v1alpha_post_training_job_status_get
parameters:
- - name: job_uuid
- in: query
- description: >-
- The UUID of the job to get the status of.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: job_uuid
+ in: query
+ required: true
+ schema:
+ type: string
+ title: Job Uuid
/v1alpha/post-training/jobs:
get:
responses:
@@ -3681,21 +3807,22 @@ paths:
schema:
$ref: '#/components/schemas/ListPostTrainingJobsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - PostTraining (Coming Soon)
- summary: Get all training jobs.
+ - Post Training
+ summary: Get Training Jobs
description: Get all training jobs.
- parameters: []
- deprecated: false
+ operationId: get_training_jobs_v1alpha_post_training_jobs_get
/v1alpha/post-training/preference-optimize:
post:
responses:
@@ -3706,27 +3833,28 @@ paths:
schema:
$ref: '#/components/schemas/PostTrainingJob'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - PostTraining (Coming Soon)
- summary: Run preference optimization of a model.
+ - Post Training
+ summary: Preference Optimize
description: Run preference optimization of a model.
- parameters: []
+ operationId: preference_optimize_v1alpha_post_training_preference_optimize_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PreferenceOptimizeRequest'
required: true
- deprecated: false
/v1alpha/post-training/supervised-fine-tune:
post:
responses:
@@ -3737,1473 +3865,1277 @@ paths:
schema:
$ref: '#/components/schemas/PostTrainingJob'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - PostTraining (Coming Soon)
- summary: Run supervised fine-tuning of a model.
+ - Post Training
+ summary: Supervised Fine Tune
description: Run supervised fine-tuning of a model.
- parameters: []
+ operationId: supervised_fine_tune_v1alpha_post_training_supervised_fine_tune_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SupervisedFineTuneRequest'
required: true
- deprecated: false
-jsonSchemaDialect: >-
- https://json-schema.org/draft/2020-12/schema
components:
schemas:
Error:
- type: object
+ description: Error response from the API. Roughly follows RFC 7807.
properties:
status:
+ title: Status
type: integer
- description: HTTP status code
title:
+ title: Title
type: string
- description: >-
- Error title, a short summary of the error which is invariant for an error
- type
detail:
+ title: 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
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ required:
+ - status
+ - title
+ - detail
title: Error
- description: >-
- Error response from the API. Roughly follows RFC 7807.
- ListBatchesResponse:
type: object
+ ListBatchesResponse:
properties:
object:
type: string
const: list
+ title: Object
default: list
data:
- type: array
items:
- type: object
- properties:
- id:
- type: string
- completion_window:
- type: string
- created_at:
- type: integer
- endpoint:
- type: string
- input_file_id:
- type: string
- object:
- type: string
- const: batch
- status:
- type: string
- enum:
- - validating
- - failed
- - in_progress
- - finalizing
- - completed
- - expired
- - cancelling
- - cancelled
- cancelled_at:
- type: integer
- cancelling_at:
- type: integer
- completed_at:
- type: integer
- error_file_id:
- type: string
- errors:
- type: object
- properties:
- data:
- type: array
- items:
- type: object
- properties:
- code:
- type: string
- line:
- type: integer
- message:
- type: string
- param:
- type: string
- additionalProperties: false
- title: BatchError
- object:
- type: string
- additionalProperties: false
- title: Errors
- expired_at:
- type: integer
- expires_at:
- type: integer
- failed_at:
- type: integer
- finalizing_at:
- type: integer
- in_progress_at:
- type: integer
- metadata:
- type: object
- additionalProperties:
- type: string
- model:
- type: string
- output_file_id:
- type: string
- request_counts:
- type: object
- properties:
- completed:
- type: integer
- failed:
- type: integer
- total:
- type: integer
- additionalProperties: false
- required:
- - completed
- - failed
- - total
- title: BatchRequestCounts
- usage:
- type: object
- properties:
- input_tokens:
- type: integer
- input_tokens_details:
- type: object
- properties:
- cached_tokens:
- type: integer
- additionalProperties: false
- required:
- - cached_tokens
- title: InputTokensDetails
- output_tokens:
- type: integer
- output_tokens_details:
- type: object
- properties:
- reasoning_tokens:
- type: integer
- additionalProperties: false
- required:
- - reasoning_tokens
- title: OutputTokensDetails
- total_tokens:
- type: integer
- additionalProperties: false
- required:
- - input_tokens
- - input_tokens_details
- - output_tokens
- - output_tokens_details
- - total_tokens
- title: BatchUsage
- additionalProperties: false
- required:
- - id
- - completion_window
- - created_at
- - endpoint
- - input_file_id
- - object
- - status
- title: Batch
+ $ref: '#/components/schemas/Batch'
+ type: array
+ title: Data
+ description: List of batch objects
first_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: ID of the first batch in the list
last_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: ID of the last batch in the list
has_more:
type: boolean
+ title: Has More
+ description: Whether there are more batches available
default: false
- additionalProperties: false
+ type: object
required:
- - object
- - data
- - has_more
+ - data
title: ListBatchesResponse
- description: >-
- Response containing a list of batch objects.
+ description: Response containing a list of batch objects.
CreateBatchRequest:
- type: object
properties:
input_file_id:
type: string
- description: >-
- The ID of an uploaded file containing requests for the batch.
+ title: Input File Id
endpoint:
type: string
- description: >-
- The endpoint to be used for all requests in the batch.
+ title: Endpoint
completion_window:
type: string
const: 24h
- description: >-
- The time window within which the batch should be processed.
+ title: Completion Window
metadata:
- type: object
- additionalProperties:
- type: string
- description: Optional metadata for the batch.
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - type: 'null'
idempotency_key:
- type: string
- description: >-
- Optional idempotency key. When provided, enables idempotent behavior.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - input_file_id
- - endpoint
- - completion_window
+ - input_file_id
+ - endpoint
+ - completion_window
title: CreateBatchRequest
Batch:
- type: object
properties:
id:
type: string
+ title: Id
completion_window:
type: string
+ title: Completion Window
created_at:
type: integer
+ title: Created At
endpoint:
type: string
+ title: Endpoint
input_file_id:
type: string
+ title: Input File Id
object:
type: string
const: batch
+ title: Object
status:
type: string
enum:
- - validating
- - failed
- - in_progress
- - finalizing
- - completed
- - expired
- - cancelling
- - cancelled
+ - validating
+ - failed
+ - in_progress
+ - finalizing
+ - completed
+ - expired
+ - cancelling
+ - cancelled
+ title: Status
cancelled_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
cancelling_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
completed_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
error_file_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
errors:
- type: object
- properties:
- data:
- type: array
- items:
- type: object
- properties:
- code:
- type: string
- line:
- type: integer
- message:
- type: string
- param:
- type: string
- additionalProperties: false
- title: BatchError
- object:
- type: string
- additionalProperties: false
+ anyOf:
+ - $ref: '#/components/schemas/Errors'
+ title: Errors
+ - type: 'null'
title: Errors
expired_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
expires_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
failed_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
finalizing_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
in_progress_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
metadata:
- type: object
- additionalProperties:
- type: string
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - type: 'null'
model:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
output_file_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
request_counts:
- type: object
- properties:
- completed:
- type: integer
- failed:
- type: integer
- total:
- type: integer
- additionalProperties: false
- required:
- - completed
- - failed
- - total
+ anyOf:
+ - $ref: '#/components/schemas/BatchRequestCounts'
+ title: BatchRequestCounts
+ - type: 'null'
title: BatchRequestCounts
usage:
- type: object
- properties:
- input_tokens:
- type: integer
- input_tokens_details:
- type: object
- properties:
- cached_tokens:
- type: integer
- additionalProperties: false
- required:
- - cached_tokens
- title: InputTokensDetails
- output_tokens:
- type: integer
- output_tokens_details:
- type: object
- properties:
- reasoning_tokens:
- type: integer
- additionalProperties: false
- required:
- - reasoning_tokens
- title: OutputTokensDetails
- total_tokens:
- type: integer
- additionalProperties: false
- required:
- - input_tokens
- - input_tokens_details
- - output_tokens
- - output_tokens_details
- - total_tokens
+ anyOf:
+ - $ref: '#/components/schemas/BatchUsage'
+ title: BatchUsage
+ - type: 'null'
title: BatchUsage
- additionalProperties: false
- required:
- - id
- - completion_window
- - created_at
- - endpoint
- - input_file_id
- - object
- - status
+ additionalProperties: true
+ type: object
+ required:
+ - id
+ - completion_window
+ - created_at
+ - endpoint
+ - input_file_id
+ - object
+ - status
title: Batch
Order:
type: string
enum:
- - asc
- - desc
+ - 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
- usage:
- $ref: '#/components/schemas/OpenAIChatCompletionUsage'
- description: >-
- Token usage information for the 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
+ $ref: '#/components/schemas/OpenAICompletionWithInputMessages'
+ type: array
+ title: Data
has_more:
type: boolean
- description: >-
- Whether there are more completions available beyond this list
+ title: Has More
first_id:
type: string
- description: ID of the first completion in this list
+ title: First Id
last_id:
type: string
- description: ID of the last completion in this list
+ title: Last Id
object:
type: string
const: list
+ title: Object
default: list
- description: >-
- Must be "list" to identify this as a list response
- additionalProperties: false
- required:
- - data
- - has_more
- - first_id
- - last_id
- - object
+ type: object
+ required:
+ - data
+ - has_more
+ - first_id
+ - last_id
title: ListOpenAIChatCompletionResponse
- description: >-
- Response from listing OpenAI-compatible chat completions.
+ description: Response from listing OpenAI-compatible chat completions.
OpenAIAssistantMessageParam:
- type: object
+ description: A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
properties:
role:
- type: string
const: assistant
default: assistant
- description: >-
- Must be "assistant" to identify this as the model's response
+ title: Role
+ type: string
content:
- oneOf:
- - type: string
- - type: array
- items:
- $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
- description: The content of the model's response
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ - type: 'null'
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ nullable: true
name:
- type: string
- description: >-
- (Optional) The name of the assistant message participant.
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
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
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
+ nullable: true
title: OpenAIAssistantMessageParam
- description: >-
- A message containing the model's (assistant) response in an OpenAI-compatible
- chat completion request.
- "OpenAIChatCompletionContentPartImageParam":
type: object
+ OpenAIChatCompletionContentPartImageParam:
properties:
type:
type: string
const: image_url
+ title: Type
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.
+ type: object
+ required:
+ - 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'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
OpenAIChatCompletionContentPartTextParam:
- type: object
properties:
type:
type: string
const: text
+ title: Type
default: text
- description: >-
- Must be "text" to identify this as text content
text:
type: string
- description: The text content of the message
- additionalProperties: false
+ title: Text
+ type: object
required:
- - type
- - text
+ - text
title: OpenAIChatCompletionContentPartTextParam
- description: >-
- Text content part for OpenAI-compatible chat completion messages.
+ 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
+ anyOf:
+ - type: integer
+ - type: 'null'
id:
- type: string
- description: >-
- (Optional) Unique identifier for the tool call
+ anyOf:
+ - type: string
+ - type: 'null'
type:
type: string
const: function
+ title: Type
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
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionToolCallFunction'
+ title: OpenAIChatCompletionToolCallFunction
+ - type: 'null'
+ title: OpenAIChatCompletionToolCallFunction
+ type: object
title: OpenAIChatCompletionToolCall
- description: >-
- Tool call specification for OpenAI-compatible chat completion responses.
+ 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
+ anyOf:
+ - type: string
+ - type: 'null'
arguments:
- type: string
- description: >-
- (Optional) Arguments to pass to the function as a JSON string
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
title: OpenAIChatCompletionToolCallFunction
- description: >-
- Function call details for OpenAI-compatible tool calls.
+ description: Function call details for OpenAI-compatible tool calls.
OpenAIChatCompletionUsage:
- type: object
properties:
prompt_tokens:
type: integer
- description: Number of tokens in the prompt
+ title: Prompt Tokens
completion_tokens:
type: integer
- description: Number of tokens in the completion
+ title: Completion Tokens
total_tokens:
type: integer
- description: Total tokens used (prompt + completion)
+ title: Total Tokens
prompt_tokens_details:
- type: object
- properties:
- cached_tokens:
- type: integer
- description: Number of tokens retrieved from cache
- additionalProperties: false
- title: >-
- OpenAIChatCompletionUsagePromptTokensDetails
- description: >-
- Token details for prompt tokens in OpenAI chat completion usage.
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsagePromptTokensDetails'
+ title: OpenAIChatCompletionUsagePromptTokensDetails
+ - type: 'null'
+ title: OpenAIChatCompletionUsagePromptTokensDetails
completion_tokens_details:
- type: object
- properties:
- reasoning_tokens:
- type: integer
- description: >-
- Number of tokens used for reasoning (o1/o3 models)
- additionalProperties: false
- title: >-
- OpenAIChatCompletionUsageCompletionTokensDetails
- description: >-
- Token details for output tokens in OpenAI chat completion usage.
- additionalProperties: false
- required:
- - prompt_tokens
- - completion_tokens
- - total_tokens
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsageCompletionTokensDetails'
+ title: OpenAIChatCompletionUsageCompletionTokensDetails
+ - type: 'null'
+ title: OpenAIChatCompletionUsageCompletionTokensDetails
+ type: object
+ required:
+ - prompt_tokens
+ - completion_tokens
+ - total_tokens
title: OpenAIChatCompletionUsage
- description: >-
- Usage information for OpenAI chat completion.
+ description: Usage information for OpenAI chat completion.
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'
+ - $ref: '#/components/schemas/OpenAIUserMessageParam-Output'
+ title: OpenAIUserMessageParam-Output
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ title: OpenAIAssistantMessageParam-Output
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ title: OpenAIUserMessageParam-Output | ... (5 variants)
discriminator:
propertyName: role
mapping:
- user: '#/components/schemas/OpenAIUserMessageParam'
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
system: '#/components/schemas/OpenAISystemMessageParam'
- assistant: '#/components/schemas/OpenAIAssistantMessageParam'
tool: '#/components/schemas/OpenAIToolMessageParam'
- developer: '#/components/schemas/OpenAIDeveloperMessageParam'
- description: The message from the model
+ user: '#/components/schemas/OpenAIUserMessageParam-Output'
finish_reason:
type: string
- description: The reason the model stopped generating
+ title: Finish Reason
index:
type: integer
- description: The index of the choice
+ title: Index
logprobs:
- $ref: '#/components/schemas/OpenAIChoiceLogprobs'
- description: >-
- (Optional) The log probabilities for the tokens in the message
- additionalProperties: false
- required:
- - message
- - finish_reason
- - index
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChoiceLogprobs'
+ title: OpenAIChoiceLogprobs
+ - type: 'null'
+ title: OpenAIChoiceLogprobs
+ type: object
+ required:
+ - message
+ - finish_reason
+ - index
title: OpenAIChoice
- description: >-
- A choice from an OpenAI-compatible chat completion response.
+ 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
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAITokenLogProb'
+ type: array
+ - type: 'null'
refusal:
- type: array
- items:
- $ref: '#/components/schemas/OpenAITokenLogProb'
- description: >-
- (Optional) The log probabilities for the tokens in the message
- additionalProperties: false
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAITokenLogProb'
+ type: array
+ - type: 'null'
+ type: object
title: OpenAIChoiceLogprobs
- description: >-
- The log probabilities for the tokens in the message from an OpenAI-compatible
- chat completion response.
+ 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
+ title: Role
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
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
name:
- type: string
- description: >-
- (Optional) The name of the developer message participant.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - role
- - content
+ - content
title: OpenAIDeveloperMessageParam
- description: >-
- A message from the developer in an OpenAI-compatible chat completion request.
+ description: A message from the developer in an OpenAI-compatible chat completion request.
OpenAIFile:
- type: object
properties:
type:
type: string
const: file
+ title: Type
default: file
file:
$ref: '#/components/schemas/OpenAIFileFile'
- additionalProperties: false
+ type: object
required:
- - type
- - file
+ - file
title: OpenAIFile
OpenAIFileFile:
- type: object
properties:
file_data:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
file_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
filename:
- type: string
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
title: OpenAIFileFile
OpenAIImageURL:
- type: object
properties:
url:
type: string
- description: >-
- URL of the image to include in the message
+ title: Url
detail:
- type: string
- description: >-
- (Optional) Level of detail for image processing. Can be "low", "high",
- or "auto"
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - url
+ - url
title: OpenAIImageURL
- description: >-
- Image URL specification for OpenAI-compatible chat completion messages.
+ 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'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam'
+ propertyName: role
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam'
+ title: OpenAIUserMessageParam
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam'
+ title: OpenAIAssistantMessageParam
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ title: OpenAIUserMessageParam | ... (5 variants)
OpenAISystemMessageParam:
- type: object
properties:
role:
type: string
const: system
+ title: Role
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).
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
name:
- type: string
- description: >-
- (Optional) The name of the system message participant.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - role
- - content
+ - content
title: OpenAISystemMessageParam
- description: >-
- A system message providing instructions or context to the model.
+ description: A system message providing instructions or context to the model.
OpenAITokenLogProb:
- type: object
properties:
token:
type: string
+ title: Token
bytes:
- type: array
- items:
- type: integer
+ anyOf:
+ - items:
+ type: integer
+ type: array
+ - type: 'null'
logprob:
type: number
+ title: Logprob
top_logprobs:
- type: array
items:
$ref: '#/components/schemas/OpenAITopLogProb'
- additionalProperties: false
+ type: array
+ title: Top Logprobs
+ type: object
required:
- - token
- - logprob
- - top_logprobs
+ - token
+ - logprob
+ - top_logprobs
title: OpenAITokenLogProb
- description: >-
- The log probability for a token from an OpenAI-compatible chat completion
- response.
+ description: |-
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
OpenAIToolMessageParam:
- type: object
properties:
role:
type: string
const: tool
+ title: Role
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
+ title: Tool Call Id
content:
- oneOf:
- - type: string
- - type: array
- items:
- $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
- description: The response content from the tool
- additionalProperties: false
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ type: object
required:
- - role
- - tool_call_id
- - content
+ - tool_call_id
+ - content
title: OpenAIToolMessageParam
- description: >-
- A message representing the result of a tool invocation in an OpenAI-compatible
- chat completion request.
+ description: A message representing the result of a tool invocation in an OpenAI-compatible chat completion request.
OpenAITopLogProb:
- type: object
properties:
token:
type: string
+ title: Token
bytes:
- type: array
- items:
- type: integer
+ anyOf:
+ - items:
+ type: integer
+ type: array
+ - type: 'null'
logprob:
type: number
- additionalProperties: false
+ title: Logprob
+ type: object
required:
- - token
- - logprob
+ - token
+ - logprob
title: OpenAITopLogProb
- description: >-
- The top log probability for a token from an OpenAI-compatible chat completion
- response.
+ description: |-
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
OpenAIUserMessageParam:
- type: object
+ description: A message from the user in an OpenAI-compatible chat completion request.
properties:
role:
- type: string
const: user
default: user
- description: >-
- Must be "user" to identify this as a user message
+ title: Role
+ type: string
content:
- oneOf:
- - type: string
- - type: array
- items:
- $ref: '#/components/schemas/OpenAIChatCompletionContentPartParam'
- description: >-
- The content of the message, which can include text and other media
+ anyOf:
+ - type: string
+ - items:
+ discriminator:
+ mapping:
+ file: '#/components/schemas/OpenAIFile'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ title: string | list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
name:
- type: string
- description: >-
- (Optional) The name of the user message participant.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
required:
- - role
- - content
+ - content
title: OpenAIUserMessageParam
- description: >-
- A message from the user in an OpenAI-compatible chat completion request.
- OpenAIJSONSchema:
type: object
+ OpenAIJSONSchema:
properties:
name:
type: string
- description: Name of the schema
+ title: Name
description:
- type: string
- description: (Optional) Description of the schema
+ anyOf:
+ - type: string
+ - type: 'null'
strict:
- type: boolean
- description: >-
- (Optional) Whether to enforce strict adherence to the schema
+ anyOf:
+ - type: boolean
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
title: OpenAIJSONSchema
- description: >-
- JSON schema specification for OpenAI-compatible structured response format.
+ description: JSON schema specification for OpenAI-compatible structured response format.
OpenAIResponseFormatJSONObject:
- type: object
properties:
type:
type: string
const: json_object
+ title: Type
default: json_object
- description: >-
- Must be "json_object" to indicate generic JSON object response format
- additionalProperties: false
- required:
- - type
+ type: object
title: OpenAIResponseFormatJSONObject
- description: >-
- JSON object response format for OpenAI-compatible chat completion requests.
+ description: JSON object response format for OpenAI-compatible chat completion requests.
OpenAIResponseFormatJSONSchema:
- type: object
properties:
type:
type: string
const: json_schema
+ title: Type
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
+ type: object
required:
- - type
- - json_schema
+ - json_schema
title: OpenAIResponseFormatJSONSchema
- description: >-
- JSON schema response format for OpenAI-compatible chat completion requests.
+ 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'
+ json_schema: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ text: '#/components/schemas/OpenAIResponseFormatText'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseFormatText'
+ title: OpenAIResponseFormatText
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ title: OpenAIResponseFormatJSONSchema
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONObject'
+ title: OpenAIResponseFormatJSONObject
+ title: OpenAIResponseFormatText | OpenAIResponseFormatJSONSchema | OpenAIResponseFormatJSONObject
OpenAIResponseFormatText:
- type: object
properties:
type:
type: string
const: text
+ title: Type
default: text
- description: >-
- Must be "text" to indicate plain text response format
- additionalProperties: false
- required:
- - type
+ type: object
title: OpenAIResponseFormatText
- description: >-
- Text response format for OpenAI-compatible chat completion requests.
+ description: Text response format for OpenAI-compatible chat completion requests.
OpenAIChatCompletionRequestWithExtraBody:
- 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.
+ title: Model
messages:
- type: array
items:
- $ref: '#/components/schemas/OpenAIMessageParam'
- description: List of messages in the conversation.
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam-Input'
+ title: OpenAIUserMessageParam-Input
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam-Input'
+ title: OpenAIAssistantMessageParam-Input
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ discriminator:
+ propertyName: role
+ mapping:
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam-Input'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam-Input'
+ title: OpenAIUserMessageParam-Input | ... (5 variants)
+ type: array
+ minItems: 1
+ title: Messages
frequency_penalty:
- type: number
- description: >-
- (Optional) The penalty for repeated tokens.
+ anyOf:
+ - type: number
+ - type: 'null'
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:
+ anyOf:
+ - type: string
+ - additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: (Optional) List of functions to use.
+ - type: 'null'
+ title: string | object
+ functions:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
logit_bias:
- type: object
- additionalProperties:
- type: number
- description: (Optional) The logit bias to use.
+ anyOf:
+ - additionalProperties:
+ type: number
+ type: object
+ - type: 'null'
logprobs:
- type: boolean
- description: (Optional) The log probabilities to use.
+ anyOf:
+ - type: boolean
+ - type: 'null'
max_completion_tokens:
- type: integer
- description: >-
- (Optional) The maximum number of tokens to generate.
+ anyOf:
+ - type: integer
+ - type: 'null'
max_tokens:
- type: integer
- description: >-
- (Optional) The maximum number of tokens to generate.
+ anyOf:
+ - type: integer
+ - type: 'null'
n:
- type: integer
- description: >-
- (Optional) The number of completions to generate.
+ anyOf:
+ - type: integer
+ - type: 'null'
parallel_tool_calls:
- type: boolean
- description: >-
- (Optional) Whether to parallelize tool calls.
+ anyOf:
+ - type: boolean
+ - type: 'null'
presence_penalty:
- type: number
- description: >-
- (Optional) The penalty for repeated tokens.
+ anyOf:
+ - type: number
+ - type: 'null'
response_format:
- $ref: '#/components/schemas/OpenAIResponseFormatParam'
- description: (Optional) The response format to use.
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseFormatText'
+ title: OpenAIResponseFormatText
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ title: OpenAIResponseFormatJSONSchema
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONObject'
+ title: OpenAIResponseFormatJSONObject
+ discriminator:
+ propertyName: type
+ mapping:
+ json_object: '#/components/schemas/OpenAIResponseFormatJSONObject'
+ json_schema: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ text: '#/components/schemas/OpenAIResponseFormatText'
+ title: OpenAIResponseFormatText | OpenAIResponseFormatJSONSchema | OpenAIResponseFormatJSONObject
+ - type: 'null'
+ title: Response Format
seed:
- type: integer
- description: (Optional) The seed to use.
+ anyOf:
+ - type: integer
+ - type: 'null'
stop:
- oneOf:
- - type: string
- - type: array
- items:
- type: string
- description: (Optional) The stop tokens to use.
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - type: 'null'
+ title: string | list[string]
stream:
- type: boolean
- description: >-
- (Optional) Whether to stream the response.
+ anyOf:
+ - type: boolean
+ - type: 'null'
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.
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
temperature:
- type: number
- description: (Optional) The temperature to use.
+ anyOf:
+ - type: number
+ - type: 'null'
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:
+ anyOf:
+ - type: string
+ - additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: (Optional) The tools to use.
+ - type: 'null'
+ title: string | object
+ tools:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
top_logprobs:
- type: integer
- description: >-
- (Optional) The top log probabilities to use.
+ anyOf:
+ - type: integer
+ - type: 'null'
top_p:
- type: number
- description: (Optional) The top p to use.
+ anyOf:
+ - type: number
+ - type: 'null'
user:
- type: string
- description: (Optional) The user to use.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
required:
- - model
- - messages
+ - model
+ - messages
title: OpenAIChatCompletionRequestWithExtraBody
- description: >-
- Request parameters for OpenAI-compatible chat completion endpoint.
+ description: Request parameters for OpenAI-compatible chat completion endpoint.
OpenAIChatCompletion:
- type: object
properties:
id:
type: string
- description: The ID of the chat completion
+ title: Id
choices:
- type: array
items:
$ref: '#/components/schemas/OpenAIChoice'
- description: List of choices
+ type: array
+ title: Choices
object:
type: string
const: chat.completion
+ title: Object
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
+ title: Created
model:
type: string
- description: >-
- The model that was used to generate the chat completion
+ title: Model
usage:
- $ref: '#/components/schemas/OpenAIChatCompletionUsage'
- description: >-
- Token usage information for the completion
- additionalProperties: false
- required:
- - id
- - choices
- - object
- - created
- - model
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsage'
+ title: OpenAIChatCompletionUsage
+ - type: 'null'
+ title: OpenAIChatCompletionUsage
+ type: object
+ required:
+ - id
+ - choices
+ - created
+ - model
title: OpenAIChatCompletion
- description: >-
- Response from an OpenAI-compatible chat completion request.
+ description: Response from an OpenAI-compatible chat completion request.
OpenAIChatCompletionChunk:
- type: object
+ description: Chunk from a streaming response to an OpenAI-compatible chat completion request.
properties:
id:
+ title: Id
type: string
- description: The ID of the chat completion
choices:
- type: array
items:
$ref: '#/components/schemas/OpenAIChunkChoice'
- description: List of choices
+ title: Choices
+ type: array
object:
- type: string
const: chat.completion.chunk
default: chat.completion.chunk
- description: >-
- The object type, which will be "chat.completion.chunk"
+ title: Object
+ type: string
created:
+ title: Created
type: integer
- description: >-
- The Unix timestamp in seconds when the chat completion was created
model:
+ title: Model
type: string
- description: >-
- The model that was used to generate the chat completion
usage:
- $ref: '#/components/schemas/OpenAIChatCompletionUsage'
- description: >-
- Token usage information (typically included in final chunk with stream_options)
- additionalProperties: false
- required:
- - id
- - choices
- - object
- - created
- - model
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsage'
+ title: OpenAIChatCompletionUsage
+ - type: 'null'
+ nullable: true
+ title: OpenAIChatCompletionUsage
+ required:
+ - id
+ - choices
+ - created
+ - model
title: OpenAIChatCompletionChunk
- description: >-
- Chunk from a streaming response to an OpenAI-compatible chat completion request.
- OpenAIChoiceDelta:
type: object
+ OpenAIChoiceDelta:
+ description: A delta from an OpenAI-compatible chat completion streaming response.
properties:
content:
- type: string
- description: (Optional) The content of the delta
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
refusal:
- type: string
- description: (Optional) The refusal of the delta
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
role:
- type: string
- description: (Optional) The role of the delta
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
tool_calls:
- type: array
- items:
- $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
- description: (Optional) The tool calls of the delta
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
+ nullable: true
reasoning_content:
- type: string
- description: >-
- (Optional) The reasoning content from the model (non-standard, for o1/o3
- models)
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
title: OpenAIChoiceDelta
- description: >-
- A delta from an OpenAI-compatible chat completion streaming response.
- OpenAIChunkChoice:
type: object
+ OpenAIChunkChoice:
+ description: A chunk choice from an OpenAI-compatible chat completion streaming response.
properties:
delta:
$ref: '#/components/schemas/OpenAIChoiceDelta'
- description: The delta from the chunk
finish_reason:
+ title: Finish Reason
type: string
- description: The reason the model stopped generating
index:
+ title: 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
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChoiceLogprobs'
+ title: OpenAIChoiceLogprobs
+ - type: 'null'
+ nullable: true
+ title: OpenAIChoiceLogprobs
+ required:
+ - delta
+ - finish_reason
+ - index
title: OpenAIChunkChoice
- description: >-
- A chunk choice from an OpenAI-compatible chat completion streaming response.
- OpenAICompletionWithInputMessages:
type: object
+ OpenAICompletionWithInputMessages:
properties:
id:
type: string
- description: The ID of the chat completion
+ title: Id
choices:
- type: array
items:
$ref: '#/components/schemas/OpenAIChoice'
- description: List of choices
+ type: array
+ title: Choices
object:
type: string
const: chat.completion
+ title: Object
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
+ title: Created
model:
type: string
- description: >-
- The model that was used to generate the chat completion
+ title: Model
usage:
- $ref: '#/components/schemas/OpenAIChatCompletionUsage'
- description: >-
- Token usage information for the completion
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsage'
+ title: OpenAIChatCompletionUsage
+ - type: 'null'
+ title: OpenAIChatCompletionUsage
input_messages:
- type: array
items:
- $ref: '#/components/schemas/OpenAIMessageParam'
- additionalProperties: false
- required:
- - id
- - choices
- - object
- - created
- - model
- - input_messages
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam-Output'
+ title: OpenAIUserMessageParam-Output
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ title: OpenAIAssistantMessageParam-Output
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ discriminator:
+ propertyName: role
+ mapping:
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam-Output'
+ title: OpenAIUserMessageParam-Output | ... (5 variants)
+ type: array
+ title: Input Messages
+ type: object
+ required:
+ - id
+ - choices
+ - created
+ - model
+ - input_messages
title: OpenAICompletionWithInputMessages
OpenAICompletionRequestWithExtraBody:
- 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.
+ title: Model
prompt:
- oneOf:
- - type: string
- - type: array
- items:
- type: string
- - type: array
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - items:
+ type: integer
+ type: array
+ title: list[integer]
+ - items:
items:
type: integer
- - type: array
- items:
- type: array
- items:
- type: integer
- description: The prompt to generate a completion for.
+ type: array
+ type: array
+ title: list[array]
+ title: string | ... (4 variants)
best_of:
- type: integer
- description: >-
- (Optional) The number of completions to generate.
+ anyOf:
+ - type: integer
+ - type: 'null'
echo:
- type: boolean
- description: (Optional) Whether to echo the prompt.
+ anyOf:
+ - type: boolean
+ - type: 'null'
frequency_penalty:
- type: number
- description: >-
- (Optional) The penalty for repeated tokens.
+ anyOf:
+ - type: number
+ - type: 'null'
logit_bias:
- type: object
- additionalProperties:
- type: number
- description: (Optional) The logit bias to use.
+ anyOf:
+ - additionalProperties:
+ type: number
+ type: object
+ - type: 'null'
logprobs:
- type: boolean
- description: (Optional) The log probabilities to use.
+ anyOf:
+ - type: boolean
+ - type: 'null'
max_tokens:
- type: integer
- description: >-
- (Optional) The maximum number of tokens to generate.
+ anyOf:
+ - type: integer
+ - type: 'null'
n:
- type: integer
- description: >-
- (Optional) The number of completions to generate.
+ anyOf:
+ - type: integer
+ - type: 'null'
presence_penalty:
- type: number
- description: >-
- (Optional) The penalty for repeated tokens.
+ anyOf:
+ - type: number
+ - type: 'null'
seed:
- type: integer
- description: (Optional) The seed to use.
+ anyOf:
+ - type: integer
+ - type: 'null'
stop:
- oneOf:
- - type: string
- - type: array
- items:
- type: string
- description: (Optional) The stop tokens to use.
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - type: 'null'
+ title: string | list[string]
stream:
- type: boolean
- description: >-
- (Optional) Whether to stream the response.
+ anyOf:
+ - type: boolean
+ - type: 'null'
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.
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
temperature:
- type: number
- description: (Optional) The temperature to use.
+ anyOf:
+ - type: number
+ - type: 'null'
top_p:
- type: number
- description: (Optional) The top p to use.
+ anyOf:
+ - type: number
+ - type: 'null'
user:
- type: string
- description: (Optional) The user to use.
+ anyOf:
+ - type: string
+ - type: 'null'
suffix:
- type: string
- description: >-
- (Optional) The suffix that should be appended to the completion.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
required:
- - model
- - prompt
+ - model
+ - prompt
title: OpenAICompletionRequestWithExtraBody
- description: >-
- Request parameters for OpenAI-compatible completion endpoint.
+ description: Request parameters for OpenAI-compatible completion endpoint.
OpenAICompletion:
- type: object
properties:
id:
type: string
+ title: Id
choices:
- type: array
items:
$ref: '#/components/schemas/OpenAICompletionChoice'
+ type: array
+ title: Choices
created:
type: integer
+ title: Created
model:
type: string
+ title: Model
object:
type: string
const: text_completion
+ title: Object
default: text_completion
- additionalProperties: false
+ type: object
required:
- - id
- - choices
- - created
- - model
- - object
+ - id
+ - choices
+ - created
+ - model
title: OpenAICompletion
- description: >-
+ description: |-
Response from an OpenAI-compatible completion request.
+
+ :id: The ID of the completion
+ :choices: List of choices
+ :created: The Unix timestamp in seconds when the completion was created
+ :model: The model that was used to generate the completion
+ :object: The object type, which will be "text_completion"
OpenAICompletionChoice:
- type: object
properties:
finish_reason:
type: string
+ title: Finish Reason
text:
type: string
+ title: Text
index:
type: integer
+ title: Index
logprobs:
- $ref: '#/components/schemas/OpenAIChoiceLogprobs'
- additionalProperties: false
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChoiceLogprobs'
+ title: OpenAIChoiceLogprobs
+ - type: 'null'
+ title: OpenAIChoiceLogprobs
+ type: object
required:
- - finish_reason
- - text
- - index
+ - finish_reason
+ - text
+ - index
title: OpenAICompletionChoice
- description: >-
+ description: |-
A choice from an OpenAI-compatible completion response.
+
+ :finish_reason: The reason the model stopped generating
+ :text: The text of the choice
+ :index: The index of the choice
+ :logprobs: (Optional) The log probabilities for the tokens in the choice
ConversationItem:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseMessage'
- - $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/OpenAIResponseOutputMessageMCPCall'
- - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
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'
function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
@@ -5211,6858 +5143,8365 @@ components:
mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ title: OpenAIResponseMessage | ... (9 variants)
OpenAIResponseAnnotationCitation:
- type: object
properties:
type:
type: string
const: url_citation
+ title: Type
default: url_citation
- description: >-
- Annotation type identifier, always "url_citation"
end_index:
type: integer
- description: >-
- End position of the citation span in the content
+ title: End Index
start_index:
type: integer
- description: >-
- Start position of the citation span in the content
+ title: Start Index
title:
type: string
- description: Title of the referenced web resource
+ title: Title
url:
type: string
- description: URL of the referenced web resource
- additionalProperties: false
+ title: Url
+ type: object
required:
- - type
- - end_index
- - start_index
- - title
- - url
+ - end_index
+ - start_index
+ - title
+ - url
title: OpenAIResponseAnnotationCitation
- description: >-
- URL citation annotation for referencing external web resources.
- "OpenAIResponseAnnotationContainerFileCitation":
- type: object
+ description: URL citation annotation for referencing external web resources.
+ OpenAIResponseAnnotationContainerFileCitation:
properties:
type:
type: string
const: container_file_citation
+ title: Type
default: container_file_citation
container_id:
type: string
+ title: Container Id
end_index:
type: integer
+ title: End Index
file_id:
type: string
+ title: File Id
filename:
type: string
+ title: Filename
start_index:
type: integer
- additionalProperties: false
+ title: Start Index
+ type: object
required:
- - type
- - container_id
- - end_index
- - file_id
- - filename
- - start_index
- title: >-
- OpenAIResponseAnnotationContainerFileCitation
+ - container_id
+ - end_index
+ - file_id
+ - filename
+ - start_index
+ title: OpenAIResponseAnnotationContainerFileCitation
OpenAIResponseAnnotationFileCitation:
- type: object
properties:
type:
type: string
const: file_citation
+ title: Type
default: file_citation
- description: >-
- Annotation type identifier, always "file_citation"
file_id:
type: string
- description: Unique identifier of the referenced file
+ title: File Id
filename:
type: string
- description: Name of the referenced file
+ title: Filename
index:
type: integer
- description: >-
- Position index of the citation within the content
- additionalProperties: false
+ title: Index
+ type: object
required:
- - type
- - file_id
- - filename
- - index
+ - file_id
+ - filename
+ - index
title: OpenAIResponseAnnotationFileCitation
- description: >-
- File citation annotation for referencing specific files in response content.
+ description: File citation annotation for referencing specific files in response content.
OpenAIResponseAnnotationFilePath:
- type: object
properties:
type:
type: string
const: file_path
+ title: Type
default: file_path
file_id:
type: string
+ title: File Id
index:
type: integer
- additionalProperties: false
+ title: Index
+ type: object
required:
- - type
- - file_id
- - index
+ - 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_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
OpenAIResponseContentPartRefusal:
- type: object
properties:
type:
type: string
const: refusal
+ title: Type
default: refusal
- description: >-
- Content part type identifier, always "refusal"
refusal:
type: string
- description: Refusal text supplied by the model
- additionalProperties: false
+ title: Refusal
+ type: object
required:
- - type
- - refusal
+ - refusal
title: OpenAIResponseContentPartRefusal
- description: >-
- Refusal content within a streamed response part.
- "OpenAIResponseInputFunctionToolCallOutput":
- type: object
+ description: Refusal content within a streamed response part.
+ OpenAIResponseInputFunctionToolCallOutput:
properties:
call_id:
type: string
+ title: Call Id
output:
type: string
+ title: Output
type:
type: string
const: function_call_output
+ title: Type
default: function_call_output
id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
status:
- type: string
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - call_id
- - output
- - type
- title: >-
- OpenAIResponseInputFunctionToolCallOutput
- description: >-
- This represents the output of a function call that gets passed back to the
- model.
+ - call_id
+ - output
+ 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'
- - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
discriminator:
- propertyName: type
mapping:
- input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
- input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
OpenAIResponseInputMessageContentFile:
- type: object
properties:
type:
type: string
const: input_file
+ title: Type
default: input_file
- description: >-
- The type of the input item. Always `input_file`.
file_data:
- type: string
- description: >-
- The data of the file to be sent to the model.
+ anyOf:
+ - type: string
+ - type: 'null'
file_id:
- type: string
- description: >-
- (Optional) The ID of the file to be sent to the model.
+ anyOf:
+ - type: string
+ - type: 'null'
file_url:
- type: string
- description: >-
- The URL of the file to be sent to the model.
+ anyOf:
+ - type: string
+ - type: 'null'
filename:
- type: string
- description: >-
- The name of the file to be sent to the model.
- additionalProperties: false
- required:
- - type
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
title: OpenAIResponseInputMessageContentFile
- description: >-
- File content for input messages in OpenAI response format.
+ description: File content for input messages in OpenAI response format.
OpenAIResponseInputMessageContentImage:
- type: object
properties:
detail:
- oneOf:
- - type: string
- const: low
- - type: string
- const: high
- - type: string
- const: auto
+ title: Detail
default: auto
- description: >-
- Level of detail for image processing, can be "low", "high", or "auto"
+ type: string
+ enum:
+ - low
+ - high
+ - auto
type:
type: string
const: input_image
+ title: Type
default: input_image
- description: >-
- Content type identifier, always "input_image"
file_id:
- type: string
- description: >-
- (Optional) The ID of the file to be sent to the model.
+ anyOf:
+ - type: string
+ - type: 'null'
image_url:
- type: string
- description: (Optional) URL of the image content
- additionalProperties: false
- required:
- - detail
- - type
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
title: OpenAIResponseInputMessageContentImage
- description: >-
- Image content for input messages in OpenAI response format.
+ 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
+ title: Text
type:
type: string
const: input_text
+ title: Type
default: input_text
- description: >-
- Content type identifier, always "input_text"
- additionalProperties: false
+ type: object
required:
- - text
- - type
+ - text
title: OpenAIResponseInputMessageContentText
- description: >-
- Text content for input messages in OpenAI response format.
+ description: Text content for input messages in OpenAI response format.
OpenAIResponseMCPApprovalRequest:
- type: object
properties:
arguments:
type: string
+ title: Arguments
id:
type: string
+ title: Id
name:
type: string
+ title: Name
server_label:
type: string
+ title: Server Label
type:
type: string
const: mcp_approval_request
+ title: Type
default: mcp_approval_request
- additionalProperties: false
+ type: object
required:
- - arguments
- - id
- - name
- - server_label
- - type
+ - arguments
+ - id
+ - name
+ - server_label
title: OpenAIResponseMCPApprovalRequest
- description: >-
- A request for human approval of a tool invocation.
+ description: A request for human approval of a tool invocation.
OpenAIResponseMCPApprovalResponse:
- type: object
properties:
approval_request_id:
type: string
+ title: Approval Request Id
approve:
type: boolean
+ title: Approve
type:
type: string
const: mcp_approval_response
+ title: Type
default: mcp_approval_response
id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
reason:
- type: string
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - approval_request_id
- - approve
- - type
+ - approval_request_id
+ - approve
title: OpenAIResponseMCPApprovalResponse
description: A response to an MCP approval request.
OpenAIResponseMessage:
- type: object
+ 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.
properties:
content:
- oneOf:
- - type: string
- - type: array
- items:
- $ref: '#/components/schemas/OpenAIResponseInputMessageContent'
- - type: array
- items:
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContent'
+ anyOf:
+ - type: string
+ - items:
+ discriminator:
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ type: array
+ title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
+ - items:
+ discriminator:
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ title: OpenAIResponseOutputMessageContentOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
+ type: array
+ title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
role:
- oneOf:
- - type: string
- const: system
- - type: string
- const: developer
- - type: string
- const: user
- - type: string
- const: assistant
- type:
+ title: Role
type: string
+ enum:
+ - system
+ - developer
+ - user
+ - assistant
+ default: system
+ type:
const: message
default: message
- id:
+ title: Type
type: string
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
status:
- type: string
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
required:
- - content
- - role
- - type
+ - content
+ - role
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.
+ type: object
OpenAIResponseOutputMessageContent:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
- - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
discriminator:
- propertyName: type
mapping:
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
- "OpenAIResponseOutputMessageContentOutputText":
- type: object
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ title: OpenAIResponseOutputMessageContentOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
+ OpenAIResponseOutputMessageContentOutputText:
properties:
text:
type: string
+ title: Text
type:
type: string
const: output_text
+ title: Type
default: output_text
annotations:
- type: array
items:
- $ref: '#/components/schemas/OpenAIResponseAnnotations'
- additionalProperties: false
- required:
- - text
- - type
- - annotations
- title: >-
- OpenAIResponseOutputMessageContentOutputText
- "OpenAIResponseOutputMessageFileSearchToolCall":
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ discriminator:
+ propertyName: type
+ mapping:
+ container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
+ type: array
+ title: Annotations
type: object
+ required:
+ - text
+ title: OpenAIResponseOutputMessageContentOutputText
+ OpenAIResponseOutputMessageFileSearchToolCall:
properties:
id:
type: string
- description: Unique identifier for this tool call
+ title: Id
queries:
- type: array
items:
type: string
- description: List of search queries executed
+ type: array
+ title: Queries
status:
type: string
- description: >-
- Current status of the file search operation
+ title: Status
type:
type: string
const: file_search_call
+ title: Type
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":
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCallResults'
+ type: array
+ - type: 'null'
type: object
+ required:
+ - id
+ - queries
+ - status
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ description: File search tool call output message for OpenAI responses.
+ OpenAIResponseOutputMessageFunctionToolCall:
properties:
call_id:
type: string
- description: Unique identifier for the function call
+ title: Call Id
name:
type: string
- description: Name of the function being called
+ title: Name
arguments:
type: string
- description: >-
- JSON string containing the function arguments
+ title: Arguments
type:
type: string
const: function_call
+ title: Type
default: function_call
- description: >-
- Tool call type identifier, always "function_call"
id:
- type: string
- description: >-
- (Optional) Additional identifier for the tool call
+ anyOf:
+ - type: string
+ - type: 'null'
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:
+ anyOf:
+ - type: string
+ - type: 'null'
type: object
+ required:
+ - call_id
+ - name
+ - arguments
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ description: Function tool call output message for OpenAI responses.
+ OpenAIResponseOutputMessageMCPCall:
properties:
id:
type: string
- description: Unique identifier for this MCP call
+ title: Id
type:
type: string
const: mcp_call
+ title: Type
default: mcp_call
- description: >-
- Tool call type identifier, always "mcp_call"
arguments:
type: string
- description: >-
- JSON string containing the MCP call arguments
+ title: Arguments
name:
type: string
- description: Name of the MCP method being called
+ title: Name
server_label:
type: string
- description: >-
- Label identifying the MCP server handling the call
+ title: Server Label
error:
- type: string
- description: >-
- (Optional) Error message if the MCP call failed
+ anyOf:
+ - type: string
+ - type: 'null'
output:
- type: string
- description: >-
- (Optional) Output result from the successful MCP call
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - id
- - type
- - arguments
- - name
- - server_label
+ - id
+ - arguments
+ - name
+ - server_label
title: OpenAIResponseOutputMessageMCPCall
- description: >-
- Model Context Protocol (MCP) call output message for OpenAI responses.
+ 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
+ title: Id
type:
type: string
const: mcp_list_tools
+ title: Type
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
+ title: Server Label
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":
+ $ref: '#/components/schemas/MCPListToolsTool'
+ type: array
+ title: Tools
type: object
+ required:
+ - id
+ - server_label
+ - tools
+ title: OpenAIResponseOutputMessageMCPListTools
+ description: MCP list tools output message containing available tools from an MCP server.
+ OpenAIResponseOutputMessageWebSearchToolCall:
properties:
id:
type: string
- description: Unique identifier for this tool call
+ title: Id
status:
type: string
- description: >-
- Current status of the web search operation
+ title: Status
type:
type: string
const: web_search_call
+ title: Type
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.
- CreateConversationRequest:
type: object
+ required:
+ - id
+ - status
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ description: Web search tool call output message for OpenAI responses.
+ CreateConversationRequest:
properties:
items:
- type: array
- items:
- $ref: '#/components/schemas/ConversationItem'
- description: >-
- Initial items to include in the conversation context.
+ anyOf:
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Input'
+ title: OpenAIResponseMessage-Input
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Input'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Input | ... (9 variants)
+ type: array
+ - type: 'null'
metadata:
- type: object
- additionalProperties:
- type: string
- description: >-
- Set of key-value pairs that can be attached to an object.
- additionalProperties: false
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - type: 'null'
+ type: object
title: CreateConversationRequest
Conversation:
- type: object
properties:
id:
type: string
+ title: Id
+ description: The unique ID of the conversation.
object:
type: string
const: conversation
+ title: Object
+ description: The object type, which is always conversation.
default: conversation
created_at:
type: integer
+ title: Created At
+ description: The time at which the conversation was created, measured in seconds since the Unix epoch.
metadata:
- type: object
- additionalProperties:
- type: string
- items:
- type: array
- items:
+ anyOf:
+ - additionalProperties:
+ type: string
type: object
- title: dict
- description: >-
- dict() -> new empty dictionary dict(mapping) -> new dictionary initialized
- from a mapping object's (key, value) pairs dict(iterable) -> new
- dictionary initialized as if via: d = {} for k, v in iterable: d[k]
- = v dict(**kwargs) -> new dictionary initialized with the name=value
- pairs in the keyword argument list. For example: dict(one=1, two=2)
- additionalProperties: false
- required:
- - id
- - object
- - created_at
+ - type: 'null'
+ description: Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard.
+ items:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
+ description: Initial items to include in the conversation context. You may add up to 20 items at a time.
+ type: object
+ required:
+ - id
+ - created_at
title: Conversation
description: OpenAI-compatible conversation object.
UpdateConversationRequest:
- type: object
properties:
metadata:
- type: object
additionalProperties:
type: string
- description: >-
- Set of key-value pairs that can be attached to an object.
- additionalProperties: false
+ type: object
+ title: Metadata
+ type: object
required:
- - metadata
+ - metadata
title: UpdateConversationRequest
ConversationDeletedResource:
- type: object
properties:
id:
type: string
+ title: Id
+ description: The deleted conversation identifier
object:
type: string
+ title: Object
+ description: Object type
default: conversation.deleted
deleted:
type: boolean
+ title: Deleted
+ description: Whether the object was deleted
default: true
- additionalProperties: false
+ type: object
required:
- - id
- - object
- - deleted
+ - id
title: ConversationDeletedResource
description: Response for deleted conversation.
ConversationItemList:
- type: object
properties:
object:
type: string
+ title: Object
+ description: Object type
default: list
data:
- type: array
items:
- $ref: '#/components/schemas/ConversationItem'
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (9 variants)
+ type: array
+ title: Data
+ description: List of conversation items
first_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: The ID of the first item in the list
last_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: The ID of the last item in the list
has_more:
type: boolean
+ title: Has More
+ description: Whether there are more items available
default: false
- additionalProperties: false
+ type: object
required:
- - object
- - data
- - has_more
+ - data
title: ConversationItemList
- description: >-
- List of conversation items with pagination.
+ description: List of conversation items with pagination.
AddItemsRequest:
- type: object
properties:
items:
- type: array
items:
- $ref: '#/components/schemas/ConversationItem'
- description: >-
- Items to include in the conversation context.
- additionalProperties: false
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Input'
+ title: OpenAIResponseMessage-Input
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Input'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Input | ... (9 variants)
+ type: array
+ title: Items
+ type: object
required:
- - items
+ - items
title: AddItemsRequest
ConversationItemDeletedResource:
- type: object
properties:
id:
type: string
+ title: Id
+ description: The deleted item identifier
object:
type: string
+ title: Object
+ description: Object type
default: conversation.item.deleted
deleted:
type: boolean
+ title: Deleted
+ description: Whether the object was deleted
default: true
- additionalProperties: false
+ type: object
required:
- - id
- - object
- - deleted
+ - id
title: ConversationItemDeletedResource
description: Response for deleted conversation item.
OpenAIEmbeddingsRequestWithExtraBody:
- 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.
+ title: Model
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.
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ title: string | list[string]
encoding_format:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
default: float
- 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.
+ anyOf:
+ - type: integer
+ - type: 'null'
user:
- type: string
- description: >-
- (Optional) A unique identifier representing your end-user, which can help
- OpenAI to monitor and detect abuse.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
required:
- - model
- - input
+ - model
+ - input
title: OpenAIEmbeddingsRequestWithExtraBody
- description: >-
- Request parameters for OpenAI-compatible embeddings endpoint.
+ description: Request parameters for OpenAI-compatible embeddings endpoint.
OpenAIEmbeddingData:
- type: object
properties:
object:
type: string
const: embedding
+ title: Object
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")
+ anyOf:
+ - items:
+ type: number
+ type: array
+ title: list[number]
+ - type: string
+ title: list[number] | string
index:
type: integer
- description: >-
- The index of the embedding in the input list
- additionalProperties: false
+ title: Index
+ type: object
required:
- - object
- - embedding
- - index
+ - embedding
+ - index
title: OpenAIEmbeddingData
- description: >-
- A single embedding data object from an OpenAI-compatible embeddings response.
+ 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
+ title: Prompt Tokens
total_tokens:
type: integer
- description: The total number of tokens used
- additionalProperties: false
+ title: Total Tokens
+ type: object
required:
- - prompt_tokens
- - total_tokens
+ - prompt_tokens
+ - total_tokens
title: OpenAIEmbeddingUsage
- description: >-
- Usage information for an OpenAI-compatible embeddings response.
+ description: Usage information for an OpenAI-compatible embeddings response.
OpenAIEmbeddingsResponse:
- type: object
properties:
object:
type: string
const: list
+ title: Object
default: list
- description: The object type, which will be "list"
data:
- type: array
items:
$ref: '#/components/schemas/OpenAIEmbeddingData'
- description: List of embedding data objects
+ type: array
+ title: Data
model:
type: string
- description: >-
- The model that was used to generate the embeddings
+ title: Model
usage:
$ref: '#/components/schemas/OpenAIEmbeddingUsage'
- description: Usage information
- additionalProperties: false
+ type: object
required:
- - object
- - data
- - model
- - usage
+ - data
+ - model
+ - usage
title: OpenAIEmbeddingsResponse
- description: >-
- Response from an OpenAI-compatible embeddings request.
+ description: Response from an OpenAI-compatible embeddings request.
OpenAIFilePurpose:
type: string
enum:
- - assistants
- - batch
+ - assistants
+ - batch
title: OpenAIFilePurpose
- description: >-
- Valid purpose values for OpenAI Files API.
+ 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
+ type: array
+ title: Data
has_more:
type: boolean
- description: >-
- Whether there are more files available beyond this page
+ title: Has More
first_id:
type: string
- description: >-
- ID of the first file in the list for pagination
+ title: First Id
last_id:
type: string
- description: >-
- ID of the last file in the list for pagination
+ title: Last Id
object:
type: string
const: list
+ title: Object
default: list
- description: The object type, which is always "list"
- additionalProperties: false
- required:
- - data
- - has_more
- - first_id
- - last_id
- - object
+ type: object
+ required:
+ - data
+ - has_more
+ - first_id
+ - last_id
title: ListOpenAIFileResponse
- description: >-
- Response for listing files in OpenAI Files API.
+ description: Response for listing files in OpenAI Files API.
OpenAIFileObject:
- type: object
properties:
object:
type: string
const: file
+ title: Object
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
+ title: Id
bytes:
type: integer
- description: The size of the file, in bytes
+ title: Bytes
created_at:
type: integer
- description: >-
- The Unix timestamp (in seconds) for when the file was created
+ title: Created At
expires_at:
type: integer
- description: >-
- The Unix timestamp (in seconds) for when the file expires
+ title: Expires At
filename:
type: string
- description: The name of the file
+ title: Filename
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
+ $ref: '#/components/schemas/OpenAIFilePurpose'
+ type: object
+ required:
+ - id
+ - bytes
+ - created_at
+ - expires_at
+ - filename
+ - purpose
title: OpenAIFileObject
- description: >-
- OpenAI File object as defined in the OpenAI Files API.
+ description: OpenAI File object as defined in the OpenAI Files API.
ExpiresAfter:
- type: object
properties:
anchor:
type: string
const: created_at
+ title: Anchor
seconds:
type: integer
- additionalProperties: false
+ maximum: 2592000.0
+ minimum: 3600.0
+ title: Seconds
+ type: object
required:
- - anchor
- - seconds
+ - anchor
+ - seconds
title: ExpiresAfter
- description: >-
+ 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
+ title: Id
object:
type: string
const: file
+ title: Object
default: file
- description: The object type, which is always "file"
deleted:
type: boolean
- description: >-
- Whether the file was successfully deleted
- additionalProperties: false
+ title: Deleted
+ type: object
required:
- - id
- - object
- - deleted
+ - id
+ - deleted
title: OpenAIFileDeleteResponse
- description: >-
- Response for deleting a file in OpenAI Files API.
+ description: Response for deleting a file in OpenAI Files API.
Response:
- type: object
title: Response
- HealthInfo:
type: object
+ HealthInfo:
properties:
status:
- type: string
- enum:
- - OK
- - Error
- - Not Implemented
- description: Current health status of the service
- additionalProperties: false
+ $ref: '#/components/schemas/HealthStatus'
+ type: object
required:
- - status
+ - status
title: HealthInfo
- description: >-
- Health status information for the service.
+ description: Health status information for the service.
RouteInfo:
- type: object
properties:
route:
type: string
- description: The API endpoint path
+ title: Route
method:
type: string
- description: HTTP method for the route
+ title: Method
provider_types:
- type: array
items:
type: string
- description: >-
- List of provider types that implement this route
- additionalProperties: false
+ type: array
+ title: Provider Types
+ type: object
required:
- - route
- - method
- - provider_types
+ - route
+ - method
+ - provider_types
title: RouteInfo
- description: >-
- Information about an API route including its path, method, and implementing
- providers.
+ 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
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListRoutesResponse
- description: >-
- Response containing a list of all available API routes.
+ description: Response containing a list of all available API routes.
OpenAIModel:
- type: object
properties:
id:
type: string
+ title: Id
object:
type: string
const: model
+ title: Object
default: model
created:
type: integer
+ title: Created
owned_by:
type: string
+ title: Owned By
custom_metadata:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- additionalProperties: false
- required:
- - id
- - object
- - created
- - owned_by
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - id
+ - created
+ - owned_by
title: OpenAIModel
- description: A model from OpenAI.
+ description: |-
+ A model from OpenAI.
+
+ :id: The ID of the model
+ :object: The object type, which will be "model"
+ :created: The Unix timestamp in seconds when the model was created
+ :owned_by: The owner of the model
+ :custom_metadata: Llama Stack-specific metadata including model_type, provider info, and additional metadata
OpenAIListModelsResponse:
- type: object
properties:
data:
- type: array
items:
$ref: '#/components/schemas/OpenAIModel'
- additionalProperties: false
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: OpenAIListModelsResponse
Model:
- type: object
properties:
identifier:
type: string
- description: >-
- Unique identifier for this resource in llama stack
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
provider_resource_id:
- type: string
- description: >-
- Unique identifier for this resource in the provider
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
provider_id:
type: string
- description: >-
- ID of the provider that owns this resource
+ title: Provider Id
+ description: ID of the provider that owns this resource
type:
type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
const: model
+ title: Type
default: model
- description: >-
- The resource type, always 'model' for model resources
metadata:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
+ title: Metadata
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
+ type: object
+ required:
+ - identifier
+ - provider_id
title: Model
- description: >-
- A model resource representing an AI model registered in Llama Stack.
+ description: A model resource representing an AI model registered in Llama Stack.
ModelType:
type: string
enum:
- - llm
- - embedding
- - rerank
+ - llm
+ - embedding
+ - rerank
title: ModelType
- description: >-
- Enumeration of supported model types in Llama Stack.
+ description: Enumeration of supported model types in Llama Stack.
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.
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ title: string | list[string]
model:
- type: string
- description: >-
- (Optional) The content moderation model you would like to use.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - input
+ - input
title: RunModerationRequest
ModerationObject:
- type: object
properties:
id:
type: string
- description: >-
- The unique identifier for the moderation request.
+ title: Id
model:
type: string
- description: >-
- The model used to generate the moderation results.
+ title: Model
results:
- type: array
items:
$ref: '#/components/schemas/ModerationObjectResults'
- description: A list of moderation objects
- additionalProperties: false
- required:
- - id
- - model
- - results
+ type: array
+ title: Results
+ type: object
+ 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.
+ title: Flagged
categories:
- type: object
- additionalProperties:
- type: boolean
- description: >-
- A list of the categories, and whether they are flagged or not.
+ anyOf:
+ - additionalProperties:
+ type: boolean
+ type: object
+ - type: 'null'
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.
+ anyOf:
+ - additionalProperties:
+ items:
+ type: string
+ type: array
+ type: object
+ - type: 'null'
category_scores:
- type: object
- additionalProperties:
- type: number
- description: >-
- A list of the categories along with their scores as predicted by model.
+ anyOf:
+ - additionalProperties:
+ type: number
+ type: object
+ - type: 'null'
user_message:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
metadata:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- additionalProperties: false
+ title: Metadata
+ type: object
required:
- - flagged
- - metadata
+ - flagged
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.
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: The system prompt with variable placeholders
version:
type: integer
- description: >-
- Version (integer starting at 1, incremented on save)
+ minimum: 1.0
+ title: Version
+ description: Version (integer starting at 1, incremented on save)
prompt_id:
type: string
- description: >-
- Unique identifier formatted as 'pmpt_<48-digit-hash>'
+ title: Prompt Id
+ description: Unique identifier in format 'pmpt_<48-digit-hash>'
variables:
- type: array
items:
type: string
- description: >-
- List of prompt variable names that can be used in the prompt template
+ type: array
+ title: Variables
+ description: List of variable names that can be used in the prompt template
is_default:
type: boolean
+ title: Is Default
+ description: Boolean indicating whether this version is the default version
default: false
- description: >-
- Boolean indicating whether this version is the default version for this
- prompt
- additionalProperties: false
- required:
- - version
- - prompt_id
- - variables
- - is_default
+ type: object
+ required:
+ - version
+ - prompt_id
title: Prompt
- description: >-
- A prompt resource representing a stored OpenAI Compatible prompt template
- in Llama Stack.
+ 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
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListPromptsResponse
description: Response model to list prompts.
CreatePromptRequest:
- type: object
properties:
prompt:
type: string
- description: >-
- The prompt text content with variable placeholders.
+ title: Prompt
variables:
- type: array
- items:
- type: string
- description: >-
- List of variable names that can be used in the prompt template.
- additionalProperties: false
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ type: object
required:
- - prompt
+ - prompt
title: CreatePromptRequest
UpdatePromptRequest:
- type: object
properties:
prompt:
type: string
- description: The updated prompt text content.
+ title: Prompt
version:
type: integer
- description: >-
- The current version of the prompt being updated.
+ title: Version
variables:
- type: array
- items:
- type: string
- description: >-
- Updated list of variable names that can be used in the prompt template.
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
set_as_default:
type: boolean
- description: >-
- Set the new version as the default (default=True).
- additionalProperties: false
+ title: Set As Default
+ default: true
+ type: object
required:
- - prompt
- - version
- - set_as_default
+ - prompt
+ - version
title: UpdatePromptRequest
SetDefaultVersionRequest:
- type: object
properties:
version:
type: integer
- description: The version to set as default.
- additionalProperties: false
+ title: Version
+ type: object
required:
- - version
+ - version
title: SetDefaultVersionRequest
ProviderInfo:
- type: object
properties:
api:
type: string
- description: The API name this provider implements
+ title: Api
provider_id:
type: string
- description: Unique identifier for the provider
+ title: Provider Id
provider_type:
type: string
- description: The type of provider implementation
+ title: Provider Type
config:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- Configuration parameters for the provider
+ title: Config
health:
+ additionalProperties: true
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: Health
+ type: object
+ required:
+ - api
+ - provider_id
+ - provider_type
+ - config
+ - health
title: ProviderInfo
- description: >-
- Information about a registered provider including its configuration and health
- status.
+ 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
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListProvidersResponse
- description: >-
- Response containing a list of all available providers.
+ 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
+ type: array
+ title: Data
has_more:
type: boolean
- description: >-
- Whether there are more results available beyond this page
+ title: Has More
first_id:
type: string
- description: >-
- Identifier of the first item in this page
+ title: First Id
last_id:
type: string
- description: Identifier of the last item in this page
+ title: Last Id
object:
type: string
const: list
+ title: Object
default: list
- description: Object type identifier, always "list"
- additionalProperties: false
- required:
- - data
- - has_more
- - first_id
- - last_id
- - object
+ type: object
+ required:
+ - data
+ - has_more
+ - first_id
+ - last_id
title: ListOpenAIResponseObject
- description: >-
- Paginated list of OpenAI response objects with navigation metadata.
+ description: Paginated list of OpenAI response objects with navigation metadata.
OpenAIResponseError:
- type: object
properties:
code:
type: string
- description: >-
- Error code identifying the type of failure
+ title: Code
message:
type: string
- description: >-
- Human-readable error message describing the failure
- additionalProperties: false
+ title: Message
+ type: object
required:
- - code
- - message
+ - code
+ - message
title: OpenAIResponseError
- description: >-
- Error details for failed OpenAI response requests.
+ description: Error details for failed OpenAI response requests.
OpenAIResponseInput:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseOutput'
- - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
- - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ anyOf:
+ - discriminator:
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
- $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ title: OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessage
OpenAIResponseInputToolFileSearch:
- type: object
properties:
type:
type: string
const: file_search
+ title: Type
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
+ type: array
+ title: Vector Store Ids
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
max_num_results:
- type: integer
+ anyOf:
+ - type: integer
+ maximum: 50.0
+ minimum: 1.0
+ - type: 'null'
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
+ anyOf:
+ - $ref: '#/components/schemas/SearchRankingOptions'
+ title: SearchRankingOptions
+ - type: 'null'
+ title: SearchRankingOptions
+ type: object
+ required:
+ - vector_store_ids
title: OpenAIResponseInputToolFileSearch
- description: >-
- File search tool configuration for OpenAI response inputs.
+ description: File search tool configuration for OpenAI response inputs.
OpenAIResponseInputToolFunction:
- type: object
properties:
type:
type: string
const: function
+ title: Type
default: function
- description: Tool type identifier, always "function"
name:
type: string
- description: Name of the function that can be called
+ title: Name
description:
- type: string
- description: >-
- (Optional) Description of what the function does
+ anyOf:
+ - type: string
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
strict:
- type: boolean
- description: >-
- (Optional) Whether to enforce strict parameter validation
- additionalProperties: false
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ type: object
required:
- - type
- - name
+ - name
+ - parameters
title: OpenAIResponseInputToolFunction
- description: >-
- Function tool configuration for OpenAI response inputs.
+ description: Function 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
- - type: string
- const: web_search_2025_08_26
+ title: Type
default: web_search
- description: Web search tool type variant to use
- search_context_size:
type: string
+ enum:
+ - web_search
+ - web_search_preview
+ - web_search_preview_2025_03_11
+ - web_search_2025_08_26
+ search_context_size:
+ anyOf:
+ - type: string
+ pattern: ^low|medium|high$
+ - type: 'null'
default: medium
- description: >-
- (Optional) Size of search context, must be "low", "medium", or "high"
- additionalProperties: false
- required:
- - type
+ type: object
title: OpenAIResponseInputToolWebSearch
- description: >-
- Web search tool configuration for OpenAI response inputs.
+ description: Web search tool configuration for OpenAI response inputs.
OpenAIResponseObjectWithInput:
- type: object
properties:
created_at:
type: integer
- description: >-
- Unix timestamp when the response was created
+ title: Created At
error:
- $ref: '#/components/schemas/OpenAIResponseError'
- description: >-
- (Optional) Error details if the response generation failed
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseError'
+ title: OpenAIResponseError
+ - type: 'null'
+ title: OpenAIResponseError
id:
type: string
- description: Unique identifier for this response
+ title: Id
model:
type: string
- description: Model identifier used for generation
+ title: Model
object:
type: string
const: response
+ title: Object
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.)
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ type: array
+ title: Output
parallel_tool_calls:
type: boolean
+ title: Parallel Tool Calls
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
+ anyOf:
+ - type: string
+ - type: 'null'
prompt:
- $ref: '#/components/schemas/OpenAIResponsePrompt'
- description: >-
- (Optional) Reference to a prompt template and its variables.
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponsePrompt'
+ title: OpenAIResponsePrompt
+ - type: 'null'
+ title: OpenAIResponsePrompt
status:
type: string
- description: >-
- Current status of the response generation
+ title: Status
temperature:
- type: number
- description: >-
- (Optional) Sampling temperature used for generation
+ anyOf:
+ - type: number
+ - type: 'null'
text:
$ref: '#/components/schemas/OpenAIResponseText'
- description: >-
- Text formatting configuration for the response
+ default:
+ format:
+ type: text
top_p:
- type: number
- description: >-
- (Optional) Nucleus sampling parameter used for generation
+ anyOf:
+ - type: number
+ - type: 'null'
tools:
- type: array
- items:
- $ref: '#/components/schemas/OpenAIResponseTool'
- description: >-
- (Optional) An array of tools the model may call while generating a response.
+ anyOf:
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseToolMCP'
+ title: OpenAIResponseToolMCP
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ function: '#/components/schemas/OpenAIResponseInputToolFunction'
+ mcp: '#/components/schemas/OpenAIResponseToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
+ type: array
+ - type: 'null'
truncation:
- type: string
- description: >-
- (Optional) Truncation strategy applied to the response
+ anyOf:
+ - type: string
+ - type: 'null'
usage:
- $ref: '#/components/schemas/OpenAIResponseUsage'
- description: >-
- (Optional) Token usage information for the response
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsage'
+ title: OpenAIResponseUsage
+ - type: 'null'
+ title: OpenAIResponseUsage
instructions:
- type: string
- description: >-
- (Optional) System message inserted into the model's context
+ anyOf:
+ - type: string
+ - type: 'null'
max_tool_calls:
- type: integer
- description: >-
- (Optional) Max number of total calls to built-in tools that can be processed
- in a response
+ anyOf:
+ - type: integer
+ - type: 'null'
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
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ title: OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessage-Output
+ type: array
+ title: Input
+ type: object
+ required:
+ - created_at
+ - id
+ - model
+ - output
+ - status
+ - input
title: OpenAIResponseObjectWithInput
- description: >-
- OpenAI response object extended with input context information.
+ 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_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
- mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
OpenAIResponsePrompt:
- type: object
properties:
id:
type: string
- description: Unique identifier of the prompt template
+ title: Id
variables:
- type: object
- additionalProperties:
- $ref: '#/components/schemas/OpenAIResponseInputMessageContent'
- description: >-
- Dictionary of variable names to OpenAIResponseInputMessageContent structure
- for template substitution. The substitution values can either be strings,
- or other Response input types like images or files.
+ anyOf:
+ - additionalProperties:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ discriminator:
+ propertyName: type
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ type: object
+ - type: 'null'
version:
- type: string
- description: >-
- Version number of the prompt to use (defaults to latest if not specified)
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - id
+ - id
title: OpenAIResponsePrompt
- description: >-
- OpenAI compatible Prompt object that is used in OpenAI responses.
+ description: OpenAI compatible Prompt object that is used in 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
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseTextFormat'
+ title: OpenAIResponseTextFormat
+ - type: 'null'
+ title: OpenAIResponseTextFormat
+ type: object
title: OpenAIResponseText
- description: >-
- Text response configuration for OpenAI responses.
+ description: Text response configuration for OpenAI responses.
OpenAIResponseTool:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
- - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
- - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
- - $ref: '#/components/schemas/OpenAIResponseToolMCP'
discriminator:
- propertyName: type
mapping:
- web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
function: '#/components/schemas/OpenAIResponseInputToolFunction'
mcp: '#/components/schemas/OpenAIResponseToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseToolMCP'
+ title: OpenAIResponseToolMCP
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
OpenAIResponseToolMCP:
- type: object
properties:
type:
type: string
const: mcp
+ title: Type
default: mcp
- description: Tool type identifier, always "mcp"
server_label:
type: string
- description: Label to identify this MCP server
+ title: Server Label
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
+ anyOf:
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - $ref: '#/components/schemas/AllowedToolsFilter'
+ title: AllowedToolsFilter
+ - type: 'null'
+ title: list[string] | AllowedToolsFilter
+ type: object
+ required:
+ - server_label
title: OpenAIResponseToolMCP
- description: >-
- Model Context Protocol (MCP) tool configuration for OpenAI response object.
+ description: Model Context Protocol (MCP) tool configuration for OpenAI response object.
OpenAIResponseUsage:
- type: object
properties:
input_tokens:
type: integer
- description: Number of tokens in the input
+ title: Input Tokens
output_tokens:
type: integer
- description: Number of tokens in the output
+ title: Output Tokens
total_tokens:
type: integer
- description: Total tokens used (input + output)
+ title: Total Tokens
input_tokens_details:
- type: object
- properties:
- cached_tokens:
- type: integer
- description: Number of tokens retrieved from cache
- additionalProperties: false
- description: Detailed breakdown of input token usage
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsageInputTokensDetails'
+ title: OpenAIResponseUsageInputTokensDetails
+ - type: 'null'
+ title: OpenAIResponseUsageInputTokensDetails
output_tokens_details:
- type: object
- properties:
- reasoning_tokens:
- type: integer
- description: >-
- Number of tokens used for reasoning (o1/o3 models)
- additionalProperties: false
- description: Detailed breakdown of output token usage
- additionalProperties: false
- required:
- - input_tokens
- - output_tokens
- - total_tokens
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsageOutputTokensDetails'
+ title: OpenAIResponseUsageOutputTokensDetails
+ - type: 'null'
+ title: OpenAIResponseUsageOutputTokensDetails
+ type: object
+ required:
+ - input_tokens
+ - output_tokens
+ - total_tokens
title: OpenAIResponseUsage
description: Usage information for OpenAI response.
ResponseGuardrailSpec:
- type: object
+ description: Specification for a guardrail to apply during response generation.
properties:
type:
+ title: Type
type: string
- description: The type/identifier of the guardrail.
- additionalProperties: false
required:
- - type
+ - type
title: ResponseGuardrailSpec
- description: >-
- Specification for a guardrail to apply during response generation.
+ type: object
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'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseInputToolMCP'
+ title: OpenAIResponseInputToolMCP
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
OpenAIResponseInputToolMCP:
- type: object
properties:
type:
type: string
const: mcp
+ title: Type
default: mcp
- description: Tool type identifier, always "mcp"
server_label:
type: string
- description: Label to identify this MCP server
+ title: Server Label
server_url:
type: string
- description: URL endpoint of the MCP server
+ title: Server Url
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
authorization:
- type: string
- description: >-
- (Optional) OAuth access token for authenticating with the MCP server
+ anyOf:
+ - type: string
+ - type: 'null'
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.
+ anyOf:
+ - type: string
+ const: always
+ - type: string
+ const: never
+ - $ref: '#/components/schemas/ApprovalFilter'
+ title: ApprovalFilter
+ title: string | ApprovalFilter
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
+ anyOf:
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - $ref: '#/components/schemas/AllowedToolsFilter'
+ title: AllowedToolsFilter
+ - type: 'null'
+ title: list[string] | AllowedToolsFilter
+ type: object
+ required:
+ - server_label
+ - server_url
title: OpenAIResponseInputToolMCP
- description: >-
- Model Context Protocol (MCP) tool configuration for OpenAI response inputs.
+ description: Model Context Protocol (MCP) 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.
+ anyOf:
+ - type: string
+ - items:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Input'
+ title: OpenAIResponseMessage-Input
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Input'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Input | ... (7 variants)
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Input'
+ title: OpenAIResponseMessage-Input
+ title: OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessage-Input
+ type: array
+ title: list[OpenAIResponseMessageUnion | OpenAIResponseInputFunctionToolCallOutput | ...]
+ title: string | list[OpenAIResponseMessageUnion | OpenAIResponseInputFunctionToolCallOutput | ...]
model:
type: string
- description: The underlying LLM used for completions.
+ title: Model
prompt:
- $ref: '#/components/schemas/OpenAIResponsePrompt'
- description: >-
- (Optional) Prompt object with ID, version, and variables.
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponsePrompt'
+ title: OpenAIResponsePrompt
+ - type: 'null'
+ title: OpenAIResponsePrompt
instructions:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
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.
+ anyOf:
+ - type: string
+ - type: 'null'
conversation:
- type: string
- description: >-
- (Optional) The ID of a conversation to add the response to. Must begin
- with 'conv_'. Input and output messages will be automatically added to
- the conversation.
+ anyOf:
+ - type: string
+ - type: 'null'
store:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: true
stream:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
temperature:
- type: number
+ anyOf:
+ - type: number
+ - type: 'null'
text:
- $ref: '#/components/schemas/OpenAIResponseText'
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseText'
+ title: OpenAIResponseText
+ - type: 'null'
+ title: OpenAIResponseText
tools:
- type: array
- items:
- $ref: '#/components/schemas/OpenAIResponseInputTool'
+ anyOf:
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseInputToolMCP'
+ title: OpenAIResponseInputToolMCP
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ function: '#/components/schemas/OpenAIResponseInputToolFunction'
+ mcp: '#/components/schemas/OpenAIResponseInputToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
+ type: array
+ - type: 'null'
include:
- type: array
- items:
- type: string
- description: >-
- (Optional) Additional fields to include in the response.
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
max_infer_iters:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 10
max_tool_calls:
- type: integer
- description: >-
- (Optional) Max number of total calls to built-in tools that can be processed
- in a response.
- additionalProperties: false
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
required:
- - input
- - model
+ - input
+ - model
title: CreateOpenaiResponseRequest
OpenAIResponseObject:
- type: object
properties:
created_at:
type: integer
- description: >-
- Unix timestamp when the response was created
+ title: Created At
error:
- $ref: '#/components/schemas/OpenAIResponseError'
- description: >-
- (Optional) Error details if the response generation failed
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseError'
+ title: OpenAIResponseError
+ - type: 'null'
+ title: OpenAIResponseError
id:
type: string
- description: Unique identifier for this response
+ title: Id
model:
type: string
- description: Model identifier used for generation
+ title: Model
object:
type: string
const: response
+ title: Object
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.)
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ type: array
+ title: Output
parallel_tool_calls:
type: boolean
+ title: Parallel Tool Calls
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
+ anyOf:
+ - type: string
+ - type: 'null'
prompt:
- $ref: '#/components/schemas/OpenAIResponsePrompt'
- description: >-
- (Optional) Reference to a prompt template and its variables.
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponsePrompt'
+ title: OpenAIResponsePrompt
+ - type: 'null'
+ title: OpenAIResponsePrompt
status:
type: string
- description: >-
- Current status of the response generation
+ title: Status
temperature:
- type: number
- description: >-
- (Optional) Sampling temperature used for generation
+ anyOf:
+ - type: number
+ - type: 'null'
text:
$ref: '#/components/schemas/OpenAIResponseText'
- description: >-
- Text formatting configuration for the response
+ default:
+ format:
+ type: text
top_p:
- type: number
- description: >-
- (Optional) Nucleus sampling parameter used for generation
+ anyOf:
+ - type: number
+ - type: 'null'
tools:
- type: array
- items:
- $ref: '#/components/schemas/OpenAIResponseTool'
- description: >-
- (Optional) An array of tools the model may call while generating a response.
+ anyOf:
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseToolMCP'
+ title: OpenAIResponseToolMCP
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ function: '#/components/schemas/OpenAIResponseInputToolFunction'
+ mcp: '#/components/schemas/OpenAIResponseToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
+ type: array
+ - type: 'null'
truncation:
- type: string
- description: >-
- (Optional) Truncation strategy applied to the response
+ anyOf:
+ - type: string
+ - type: 'null'
usage:
- $ref: '#/components/schemas/OpenAIResponseUsage'
- description: >-
- (Optional) Token usage information for the response
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsage'
+ title: OpenAIResponseUsage
+ - type: 'null'
+ title: OpenAIResponseUsage
instructions:
- type: string
- description: >-
- (Optional) System message inserted into the model's context
+ anyOf:
+ - type: string
+ - type: 'null'
max_tool_calls:
- type: integer
- description: >-
- (Optional) Max number of total calls to built-in tools that can be processed
- in a response
- additionalProperties: false
- required:
- - created_at
- - id
- - model
- - object
- - output
- - parallel_tool_calls
- - status
- - text
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ required:
+ - created_at
+ - id
+ - model
+ - output
+ - status
title: OpenAIResponseObject
- description: >-
- Complete OpenAI response object containing generation results and metadata.
+ description: Complete OpenAI response object containing generation results and metadata.
OpenAIResponseContentPartOutputText:
- type: object
+ description: Text content within a streamed response part.
properties:
type:
- type: string
const: output_text
default: output_text
- description: >-
- Content part type identifier, always "output_text"
+ title: Type
+ type: string
text:
+ title: Text
type: string
- description: Text emitted for this content part
annotations:
- type: array
items:
- $ref: '#/components/schemas/OpenAIResponseAnnotations'
- description: >-
- Structured annotations associated with the text
- logprobs:
+ discriminator:
+ mapping:
+ container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
+ title: Annotations
type: array
- items:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: (Optional) Token log probability details
- additionalProperties: false
- required:
- - type
- - text
- - annotations
+ logprobs:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
+ nullable: true
+ required:
+ - text
title: OpenAIResponseContentPartOutputText
- description: >-
- Text content within a streamed response part.
- "OpenAIResponseContentPartReasoningSummary":
type: object
+ OpenAIResponseContentPartReasoningSummary:
+ description: Reasoning summary part in a streamed response.
properties:
type:
- type: string
const: summary_text
default: summary_text
- description: >-
- Content part type identifier, always "summary_text"
+ title: Type
+ type: string
text:
+ title: Text
type: string
- description: Summary text
- additionalProperties: false
required:
- - type
- - text
- title: >-
- OpenAIResponseContentPartReasoningSummary
- description: >-
- Reasoning summary part in a streamed response.
- OpenAIResponseContentPartReasoningText:
+ - text
+ title: OpenAIResponseContentPartReasoningSummary
type: object
+ OpenAIResponseContentPartReasoningText:
+ description: Reasoning text emitted as part of a streamed response.
properties:
type:
- type: string
const: reasoning_text
default: reasoning_text
- description: >-
- Content part type identifier, always "reasoning_text"
+ title: Type
+ type: string
text:
+ title: Text
type: string
- description: Reasoning text supplied by the model
- additionalProperties: false
required:
- - type
- - text
+ - text
title: OpenAIResponseContentPartReasoningText
- description: >-
- Reasoning text emitted as part of a streamed response.
+ type: object
OpenAIResponseObjectStream:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseCreated'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseInProgress'
- - $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/OpenAIResponseObjectStreamResponseReasoningTextDelta'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDone'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartDone'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDone'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDelta'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDone'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallInProgress'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallSearching'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallCompleted'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseIncomplete'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFailed'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseCompleted'
discriminator:
- propertyName: type
mapping:
+ response.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseCompleted'
+ response.content_part.added: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartAdded'
+ response.content_part.done: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartDone'
response.created: '#/components/schemas/OpenAIResponseObjectStreamResponseCreated'
- response.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseInProgress'
- 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.failed: '#/components/schemas/OpenAIResponseObjectStreamResponseFailed'
+ response.file_search_call.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallCompleted'
+ response.file_search_call.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallInProgress'
+ response.file_search_call.searching: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallSearching'
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.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseInProgress'
+ response.incomplete: '#/components/schemas/OpenAIResponseObjectStreamResponseIncomplete'
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.reasoning_text.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDelta'
- response.reasoning_text.done: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDone'
+ response.mcp_call.failed: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallFailed'
+ response.mcp_call.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallInProgress'
+ response.mcp_list_tools.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsCompleted'
+ response.mcp_list_tools.failed: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsFailed'
+ response.mcp_list_tools.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsInProgress'
+ response.output_item.added: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemAdded'
+ response.output_item.done: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemDone'
+ response.output_text.annotation.added: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded'
+ response.output_text.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDelta'
+ response.output_text.done: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDone'
response.reasoning_summary_part.added: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded'
response.reasoning_summary_part.done: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartDone'
response.reasoning_summary_text.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta'
response.reasoning_summary_text.done: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDone'
+ response.reasoning_text.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDelta'
+ response.reasoning_text.done: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDone'
response.refusal.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDelta'
response.refusal.done: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDone'
- response.output_text.annotation.added: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded'
- response.file_search_call.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallInProgress'
- response.file_search_call.searching: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallSearching'
- response.file_search_call.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallCompleted'
- response.incomplete: '#/components/schemas/OpenAIResponseObjectStreamResponseIncomplete'
- response.failed: '#/components/schemas/OpenAIResponseObjectStreamResponseFailed'
- response.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseCompleted'
- "OpenAIResponseObjectStreamResponseCompleted":
- type: object
+ response.web_search_call.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallCompleted'
+ response.web_search_call.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallInProgress'
+ response.web_search_call.searching: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallSearching'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseCreated'
+ title: OpenAIResponseObjectStreamResponseCreated
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseInProgress'
+ title: OpenAIResponseObjectStreamResponseInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemAdded'
+ title: OpenAIResponseObjectStreamResponseOutputItemAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemDone'
+ title: OpenAIResponseObjectStreamResponseOutputItemDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDelta'
+ title: OpenAIResponseObjectStreamResponseOutputTextDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDone'
+ title: OpenAIResponseObjectStreamResponseOutputTextDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta'
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone'
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallInProgress'
+ title: OpenAIResponseObjectStreamResponseWebSearchCallInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallSearching'
+ title: OpenAIResponseObjectStreamResponseWebSearchCallSearching
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallCompleted'
+ title: OpenAIResponseObjectStreamResponseWebSearchCallCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsInProgress'
+ title: OpenAIResponseObjectStreamResponseMcpListToolsInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsFailed'
+ title: OpenAIResponseObjectStreamResponseMcpListToolsFailed
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsCompleted'
+ title: OpenAIResponseObjectStreamResponseMcpListToolsCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta'
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallArgumentsDone'
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallInProgress'
+ title: OpenAIResponseObjectStreamResponseMcpCallInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallFailed'
+ title: OpenAIResponseObjectStreamResponseMcpCallFailed
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallCompleted'
+ title: OpenAIResponseObjectStreamResponseMcpCallCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartAdded'
+ title: OpenAIResponseObjectStreamResponseContentPartAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartDone'
+ title: OpenAIResponseObjectStreamResponseContentPartDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDelta'
+ title: OpenAIResponseObjectStreamResponseReasoningTextDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDone'
+ title: OpenAIResponseObjectStreamResponseReasoningTextDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartDone'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDone'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDelta'
+ title: OpenAIResponseObjectStreamResponseRefusalDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDone'
+ title: OpenAIResponseObjectStreamResponseRefusalDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded'
+ title: OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallInProgress'
+ title: OpenAIResponseObjectStreamResponseFileSearchCallInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallSearching'
+ title: OpenAIResponseObjectStreamResponseFileSearchCallSearching
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallCompleted'
+ title: OpenAIResponseObjectStreamResponseFileSearchCallCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseIncomplete'
+ title: OpenAIResponseObjectStreamResponseIncomplete
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFailed'
+ title: OpenAIResponseObjectStreamResponseFailed
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseCompleted'
+ title: OpenAIResponseObjectStreamResponseCompleted
+ title: OpenAIResponseObjectStreamResponseCreated | ... (36 variants)
+ OpenAIResponseObjectStreamResponseCompleted:
+ description: Streaming event indicating a response has been completed.
properties:
response:
$ref: '#/components/schemas/OpenAIResponseObject'
- description: Completed response object
type:
- type: string
const: response.completed
default: response.completed
- description: >-
- Event type identifier, always "response.completed"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - response
- - type
- title: >-
- OpenAIResponseObjectStreamResponseCompleted
- description: >-
- Streaming event indicating a response has been completed.
- "OpenAIResponseObjectStreamResponseContentPartAdded":
+ - response
+ title: OpenAIResponseObjectStreamResponseCompleted
type: object
+ OpenAIResponseObjectStreamResponseContentPartAdded:
+ description: Streaming event for when a new content part is added to a response item.
properties:
content_index:
+ title: Content Index
type: integer
- description: >-
- Index position of the part within the content array
response_id:
+ title: Response Id
type: string
- description: >-
- Unique identifier of the response containing this content
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the output item containing this content part
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the output item in the response
part:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
- - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
- - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
discriminator:
- propertyName: type
mapping:
output_text: '#/components/schemas/OpenAIResponseContentPartOutputText'
- refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
reasoning_text: '#/components/schemas/OpenAIResponseContentPartReasoningText'
- description: The content part that was added
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ title: OpenAIResponseContentPartOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ title: OpenAIResponseContentPartReasoningText
+ title: OpenAIResponseContentPartOutputText | OpenAIResponseContentPartRefusal | OpenAIResponseContentPartReasoningText
sequence_number:
+ title: 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:
- - content_index
- - response_id
- - item_id
- - output_index
- - part
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseContentPartAdded
- description: >-
- Streaming event for when a new content part is added to a response item.
- "OpenAIResponseObjectStreamResponseContentPartDone":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - response_id
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseContentPartAdded
type: object
+ OpenAIResponseObjectStreamResponseContentPartDone:
+ description: Streaming event for when a content part is completed.
properties:
content_index:
+ title: Content Index
type: integer
- description: >-
- Index position of the part within the content array
response_id:
+ title: Response Id
type: string
- description: >-
- Unique identifier of the response containing this content
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the output item containing this content part
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the output item in the response
part:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
- - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
- - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
discriminator:
- propertyName: type
mapping:
output_text: '#/components/schemas/OpenAIResponseContentPartOutputText'
- refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
reasoning_text: '#/components/schemas/OpenAIResponseContentPartReasoningText'
- description: The completed content part
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ title: OpenAIResponseContentPartOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ title: OpenAIResponseContentPartReasoningText
+ title: OpenAIResponseContentPartOutputText | OpenAIResponseContentPartRefusal | OpenAIResponseContentPartReasoningText
sequence_number:
+ title: 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:
- - content_index
- - response_id
- - item_id
- - output_index
- - part
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseContentPartDone
- description: >-
- Streaming event for when a content part is completed.
- "OpenAIResponseObjectStreamResponseCreated":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - response_id
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseContentPartDone
type: object
+ OpenAIResponseObjectStreamResponseCreated:
+ description: Streaming event indicating a new response has been created.
properties:
response:
$ref: '#/components/schemas/OpenAIResponseObject'
- description: The response object that was created
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.
- OpenAIResponseObjectStreamResponseFailed:
+ title: Type
+ type: string
+ required:
+ - response
+ title: OpenAIResponseObjectStreamResponseCreated
type: object
+ OpenAIResponseObjectStreamResponseFailed:
+ description: Streaming event emitted when a response fails.
properties:
response:
$ref: '#/components/schemas/OpenAIResponseObject'
- description: Response object describing the failure
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.failed
default: response.failed
- description: >-
- Event type identifier, always "response.failed"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - response
- - sequence_number
- - type
+ - response
+ - sequence_number
title: OpenAIResponseObjectStreamResponseFailed
- description: >-
- Streaming event emitted when a response fails.
- "OpenAIResponseObjectStreamResponseFileSearchCallCompleted":
type: object
+ OpenAIResponseObjectStreamResponseFileSearchCallCompleted:
+ description: Streaming event for completed file search calls.
properties:
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the completed file search call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.file_search_call.completed
default: response.file_search_call.completed
- description: >-
- Event type identifier, always "response.file_search_call.completed"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseFileSearchCallCompleted
- description: >-
- Streaming event for completed file search calls.
- "OpenAIResponseObjectStreamResponseFileSearchCallInProgress":
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFileSearchCallCompleted
type: object
+ OpenAIResponseObjectStreamResponseFileSearchCallInProgress:
+ description: Streaming event for file search calls in progress.
properties:
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the file search call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.file_search_call.in_progress
default: response.file_search_call.in_progress
- description: >-
- Event type identifier, always "response.file_search_call.in_progress"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseFileSearchCallInProgress
- description: >-
- Streaming event for file search calls in progress.
- "OpenAIResponseObjectStreamResponseFileSearchCallSearching":
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFileSearchCallInProgress
type: object
+ OpenAIResponseObjectStreamResponseFileSearchCallSearching:
+ description: Streaming event for file search currently searching.
properties:
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the file search call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.file_search_call.searching
default: response.file_search_call.searching
- description: >-
- Event type identifier, always "response.file_search_call.searching"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseFileSearchCallSearching
- description: >-
- Streaming event for file search currently searching.
- "OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta":
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFileSearchCallSearching
type: object
+ OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta:
+ description: Streaming event for incremental function call argument updates.
properties:
delta:
+ title: Delta
type: string
- description: >-
- Incremental function call arguments being added
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the function call being updated
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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":
+ title: Type
+ type: string
+ required:
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta
type: object
+ OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone:
+ description: Streaming event for when function call arguments are completed.
properties:
arguments:
+ title: Arguments
type: string
- description: >-
- Final complete arguments JSON string for the function call
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the completed function call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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.
- "OpenAIResponseObjectStreamResponseInProgress":
+ title: Type
+ type: string
+ required:
+ - arguments
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone
type: object
+ OpenAIResponseObjectStreamResponseInProgress:
+ description: Streaming event indicating the response remains in progress.
properties:
response:
$ref: '#/components/schemas/OpenAIResponseObject'
- description: Current response state while in progress
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.in_progress
default: response.in_progress
- description: >-
- Event type identifier, always "response.in_progress"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - response
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseInProgress
- description: >-
- Streaming event indicating the response remains in progress.
- "OpenAIResponseObjectStreamResponseIncomplete":
+ - response
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseInProgress
type: object
+ OpenAIResponseObjectStreamResponseIncomplete:
+ description: Streaming event emitted when a response ends in an incomplete state.
properties:
response:
$ref: '#/components/schemas/OpenAIResponseObject'
- description: >-
- Response object describing the incomplete state
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.incomplete
default: response.incomplete
- description: >-
- Event type identifier, always "response.incomplete"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - response
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseIncomplete
- description: >-
- Streaming event emitted when a response ends in an incomplete state.
- "OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta":
+ - response
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseIncomplete
type: object
+ OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta:
properties:
delta:
+ title: Delta
type: string
item_id:
+ title: Item Id
type: string
output_index:
+ title: Output Index
type: integer
sequence_number:
+ title: Sequence Number
type: integer
type:
- type: string
const: response.mcp_call.arguments.delta
default: response.mcp_call.arguments.delta
- additionalProperties: false
+ title: Type
+ type: string
required:
- - delta
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta
- "OpenAIResponseObjectStreamResponseMcpCallArgumentsDone":
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta
type: object
+ OpenAIResponseObjectStreamResponseMcpCallArgumentsDone:
properties:
arguments:
+ title: Arguments
type: string
item_id:
+ title: Item Id
type: string
output_index:
+ title: Output Index
type: integer
sequence_number:
+ title: Sequence Number
type: integer
type:
- type: string
const: response.mcp_call.arguments.done
default: response.mcp_call.arguments.done
- additionalProperties: false
+ title: Type
+ type: string
required:
- - arguments
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseMcpCallArgumentsDone
- "OpenAIResponseObjectStreamResponseMcpCallCompleted":
+ - arguments
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDone
type: object
+ OpenAIResponseObjectStreamResponseMcpCallCompleted:
+ description: Streaming event for completed MCP calls.
properties:
sequence_number:
+ title: 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":
+ title: Type
+ type: string
+ required:
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallCompleted
type: object
+ OpenAIResponseObjectStreamResponseMcpCallFailed:
+ description: Streaming event for failed MCP calls.
properties:
sequence_number:
+ title: 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":
+ title: Type
+ type: string
+ required:
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallFailed
type: object
+ OpenAIResponseObjectStreamResponseMcpCallInProgress:
+ description: Streaming event for MCP calls in progress.
properties:
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the MCP call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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
+ title: Type
+ type: string
required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseMcpCallInProgress
- description: >-
- Streaming event for MCP calls in progress.
- "OpenAIResponseObjectStreamResponseMcpListToolsCompleted":
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallInProgress
type: object
+ OpenAIResponseObjectStreamResponseMcpListToolsCompleted:
properties:
sequence_number:
+ title: Sequence Number
type: integer
type:
- type: string
const: response.mcp_list_tools.completed
default: response.mcp_list_tools.completed
- additionalProperties: false
+ title: Type
+ type: string
required:
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseMcpListToolsCompleted
- "OpenAIResponseObjectStreamResponseMcpListToolsFailed":
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpListToolsCompleted
type: object
+ OpenAIResponseObjectStreamResponseMcpListToolsFailed:
properties:
sequence_number:
+ title: Sequence Number
type: integer
type:
- type: string
const: response.mcp_list_tools.failed
default: response.mcp_list_tools.failed
- additionalProperties: false
+ title: Type
+ type: string
required:
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseMcpListToolsFailed
- "OpenAIResponseObjectStreamResponseMcpListToolsInProgress":
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpListToolsFailed
type: object
+ OpenAIResponseObjectStreamResponseMcpListToolsInProgress:
properties:
sequence_number:
+ title: Sequence Number
type: integer
type:
- type: string
const: response.mcp_list_tools.in_progress
default: response.mcp_list_tools.in_progress
- additionalProperties: false
+ title: Type
+ type: string
required:
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseMcpListToolsInProgress
- "OpenAIResponseObjectStreamResponseOutputItemAdded":
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpListToolsInProgress
type: object
+ OpenAIResponseObjectStreamResponseOutputItemAdded:
+ description: Streaming event for when a new output item is added to the response.
properties:
response_id:
+ title: 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_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
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.)
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of this item in the output list
sequence_number:
+ title: 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":
+ title: Type
+ type: string
+ required:
+ - response_id
+ - item
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputItemAdded
type: object
+ OpenAIResponseObjectStreamResponseOutputItemDone:
+ description: Streaming event for when an output item is completed.
properties:
response_id:
+ title: 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_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
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.)
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of this item in the output list
sequence_number:
+ title: 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.
- "OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded":
+ title: Type
+ type: string
+ required:
+ - response_id
+ - item
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputItemDone
type: object
+ OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded:
+ description: Streaming event for when an annotation is added to output text.
properties:
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the item to which the annotation is being added
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the output item in the response's output array
content_index:
+ title: Content Index
type: integer
- description: >-
- Index position of the content part within the output item
annotation_index:
+ title: Annotation Index
type: integer
- description: >-
- Index of the annotation within the content part
annotation:
- 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_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
- description: The annotation object being added
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.output_text.annotation.added
default: response.output_text.annotation.added
- description: >-
- Event type identifier, always "response.output_text.annotation.added"
- additionalProperties: false
- required:
- - item_id
- - output_index
- - content_index
- - annotation_index
- - annotation
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded
- description: >-
- Streaming event for when an annotation is added to output text.
- "OpenAIResponseObjectStreamResponseOutputTextDelta":
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - content_index
+ - annotation_index
+ - annotation
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded
type: object
+ OpenAIResponseObjectStreamResponseOutputTextDelta:
+ description: Streaming event for incremental text content updates.
properties:
content_index:
+ title: Content Index
type: integer
- description: Index position within the text content
delta:
+ title: Delta
type: string
- description: Incremental text content being added
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the output item being updated
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputTextDelta
type: object
+ OpenAIResponseObjectStreamResponseOutputTextDone:
+ description: Streaming event for when text output is completed.
properties:
content_index:
+ title: Content Index
type: integer
- description: Index position within the text content
text:
+ title: Text
type: string
- description: >-
- Final complete text content of the output item
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the completed output item
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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.
- "OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - text
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputTextDone
type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded:
+ description: Streaming event for when a new reasoning summary part is added.
properties:
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the output item
output_index:
+ title: Output Index
type: integer
- description: Index position of the output item
part:
$ref: '#/components/schemas/OpenAIResponseContentPartReasoningSummary'
- description: The summary part that was added
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
summary_index:
+ title: Summary Index
type: integer
- description: >-
- Index of the summary part within the reasoning summary
type:
- type: string
const: response.reasoning_summary_part.added
default: response.reasoning_summary_part.added
- description: >-
- Event type identifier, always "response.reasoning_summary_part.added"
- additionalProperties: false
- required:
- - item_id
- - output_index
- - part
- - sequence_number
- - summary_index
- - type
- title: >-
- OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded
- description: >-
- Streaming event for when a new reasoning summary part is added.
- "OpenAIResponseObjectStreamResponseReasoningSummaryPartDone":
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded
type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryPartDone:
+ description: Streaming event for when a reasoning summary part is completed.
properties:
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the output item
output_index:
+ title: Output Index
type: integer
- description: Index position of the output item
part:
$ref: '#/components/schemas/OpenAIResponseContentPartReasoningSummary'
- description: The completed summary part
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
summary_index:
+ title: Summary Index
type: integer
- description: >-
- Index of the summary part within the reasoning summary
type:
- type: string
const: response.reasoning_summary_part.done
default: response.reasoning_summary_part.done
- description: >-
- Event type identifier, always "response.reasoning_summary_part.done"
- additionalProperties: false
- required:
- - item_id
- - output_index
- - part
- - sequence_number
- - summary_index
- - type
- title: >-
- OpenAIResponseObjectStreamResponseReasoningSummaryPartDone
- description: >-
- Streaming event for when a reasoning summary part is completed.
- "OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta":
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartDone
type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta:
+ description: Streaming event for incremental reasoning summary text updates.
properties:
delta:
+ title: Delta
type: string
- description: Incremental summary text being added
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the output item
output_index:
+ title: Output Index
type: integer
- description: Index position of the output item
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
summary_index:
+ title: Summary Index
type: integer
- description: >-
- Index of the summary part within the reasoning summary
type:
- type: string
const: response.reasoning_summary_text.delta
default: response.reasoning_summary_text.delta
- description: >-
- Event type identifier, always "response.reasoning_summary_text.delta"
- additionalProperties: false
- required:
- - delta
- - item_id
- - output_index
- - sequence_number
- - summary_index
- - type
- title: >-
- OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta
- description: >-
- Streaming event for incremental reasoning summary text updates.
- "OpenAIResponseObjectStreamResponseReasoningSummaryTextDone":
+ title: Type
+ type: string
+ required:
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta
type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryTextDone:
+ description: Streaming event for when reasoning summary text is completed.
properties:
text:
+ title: Text
type: string
- description: Final complete summary text
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the output item
output_index:
+ title: Output Index
type: integer
- description: Index position of the output item
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
summary_index:
+ title: Summary Index
type: integer
- description: >-
- Index of the summary part within the reasoning summary
type:
- type: string
const: response.reasoning_summary_text.done
default: response.reasoning_summary_text.done
- description: >-
- Event type identifier, always "response.reasoning_summary_text.done"
- additionalProperties: false
- required:
- - text
- - item_id
- - output_index
- - sequence_number
- - summary_index
- - type
- title: >-
- OpenAIResponseObjectStreamResponseReasoningSummaryTextDone
- description: >-
- Streaming event for when reasoning summary text is completed.
- "OpenAIResponseObjectStreamResponseReasoningTextDelta":
+ title: Type
+ type: string
+ required:
+ - text
+ - item_id
+ - output_index
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDone
type: object
+ OpenAIResponseObjectStreamResponseReasoningTextDelta:
+ description: Streaming event for incremental reasoning text updates.
properties:
content_index:
+ title: Content Index
type: integer
- description: >-
- Index position of the reasoning content part
delta:
+ title: Delta
type: string
- description: Incremental reasoning text being added
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the output item being updated
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.reasoning_text.delta
default: response.reasoning_text.delta
- description: >-
- Event type identifier, always "response.reasoning_text.delta"
- additionalProperties: false
- required:
- - content_index
- - delta
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseReasoningTextDelta
- description: >-
- Streaming event for incremental reasoning text updates.
- "OpenAIResponseObjectStreamResponseReasoningTextDone":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseReasoningTextDelta
type: object
+ OpenAIResponseObjectStreamResponseReasoningTextDone:
+ description: Streaming event for when reasoning text is completed.
properties:
content_index:
+ title: Content Index
type: integer
- description: >-
- Index position of the reasoning content part
text:
+ title: Text
type: string
- description: Final complete reasoning text
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the completed output item
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.reasoning_text.done
default: response.reasoning_text.done
- description: >-
- Event type identifier, always "response.reasoning_text.done"
- additionalProperties: false
- required:
- - content_index
- - text
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseReasoningTextDone
- description: >-
- Streaming event for when reasoning text is completed.
- "OpenAIResponseObjectStreamResponseRefusalDelta":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - text
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseReasoningTextDone
type: object
+ OpenAIResponseObjectStreamResponseRefusalDelta:
+ description: Streaming event for incremental refusal text updates.
properties:
content_index:
+ title: Content Index
type: integer
- description: Index position of the content part
delta:
+ title: Delta
type: string
- description: Incremental refusal text being added
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the output item
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.refusal.delta
default: response.refusal.delta
- description: >-
- Event type identifier, always "response.refusal.delta"
- additionalProperties: false
- required:
- - content_index
- - delta
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseRefusalDelta
- description: >-
- Streaming event for incremental refusal text updates.
- "OpenAIResponseObjectStreamResponseRefusalDone":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseRefusalDelta
type: object
+ OpenAIResponseObjectStreamResponseRefusalDone:
+ description: Streaming event for when refusal text is completed.
properties:
content_index:
+ title: Content Index
type: integer
- description: Index position of the content part
refusal:
+ title: Refusal
type: string
- description: Final complete refusal text
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the output item
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.refusal.done
default: response.refusal.done
- description: >-
- Event type identifier, always "response.refusal.done"
- additionalProperties: false
- required:
- - content_index
- - refusal
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseRefusalDone
- description: >-
- Streaming event for when refusal text is completed.
- "OpenAIResponseObjectStreamResponseWebSearchCallCompleted":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - refusal
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseRefusalDone
type: object
+ OpenAIResponseObjectStreamResponseWebSearchCallCompleted:
+ description: Streaming event for completed web search calls.
properties:
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the completed web search call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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
+ title: Type
+ type: string
required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseWebSearchCallCompleted
- description: >-
- Streaming event for completed web search calls.
- "OpenAIResponseObjectStreamResponseWebSearchCallInProgress":
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseWebSearchCallCompleted
type: object
+ OpenAIResponseObjectStreamResponseWebSearchCallInProgress:
+ description: Streaming event for web search calls in progress.
properties:
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the web search call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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
+ title: Type
+ type: string
required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseWebSearchCallInProgress
- description: >-
- Streaming event for web search calls in progress.
- "OpenAIResponseObjectStreamResponseWebSearchCallSearching":
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseWebSearchCallInProgress
type: object
+ OpenAIResponseObjectStreamResponseWebSearchCallSearching:
properties:
item_id:
+ title: Item Id
type: string
output_index:
+ title: Output Index
type: integer
sequence_number:
+ title: Sequence Number
type: integer
type:
- type: string
const: response.web_search_call.searching
default: response.web_search_call.searching
- additionalProperties: false
- required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseWebSearchCallSearching
- OpenAIDeleteResponseObject:
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseWebSearchCallSearching
type: object
+ OpenAIDeleteResponseObject:
properties:
id:
type: string
- description: >-
- Unique identifier of the deleted response
+ title: Id
object:
type: string
const: response
+ title: Object
default: response
- description: >-
- Object type identifier, always "response"
deleted:
type: boolean
+ title: Deleted
default: true
- description: Deletion confirmation flag, always True
- additionalProperties: false
+ type: object
required:
- - id
- - object
- - deleted
+ - id
title: OpenAIDeleteResponseObject
- description: >-
- Response object confirming deletion of an OpenAI response.
+ 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
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ title: OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessage-Output
+ type: array
+ title: Data
object:
type: string
const: list
+ title: Object
default: list
- description: Object type identifier, always "list"
- additionalProperties: false
+ type: object
required:
- - data
- - object
+ - data
title: ListOpenAIResponseInputItem
- description: >-
- List container for OpenAI response input items.
+ description: List container for OpenAI response input items.
RunShieldRequest:
- type: object
properties:
shield_id:
type: string
- description: The identifier of the shield to run.
+ title: Shield Id
messages:
- type: array
items:
- $ref: '#/components/schemas/OpenAIMessageParam'
- description: The messages to run the shield on.
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam-Input'
+ title: OpenAIUserMessageParam-Input
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam-Input'
+ title: OpenAIAssistantMessageParam-Input
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ discriminator:
+ propertyName: role
+ mapping:
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam-Input'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam-Input'
+ title: OpenAIUserMessageParam-Input | ... (5 variants)
+ type: array
+ title: Messages
params:
+ additionalProperties: true
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: Params
+ type: object
+ 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
+ anyOf:
+ - $ref: '#/components/schemas/SafetyViolation'
+ title: SafetyViolation
+ - type: 'null'
+ title: SafetyViolation
+ type: object
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
+ anyOf:
+ - type: string
+ - type: 'null'
metadata:
+ additionalProperties: true
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: Metadata
+ type: object
+ required:
+ - violation_level
title: SafetyViolation
- description: >-
- Details of a safety violation detected by content moderation.
+ description: Details of a safety violation detected by content moderation.
ViolationLevel:
type: string
enum:
- - info
- - warn
- - error
+ - info
+ - warn
+ - error
title: ViolationLevel
description: Severity level of a safety violation.
AggregationFunctionType:
type: string
enum:
- - average
- - weighted_average
- - median
- - categorical_count
- - accuracy
+ - average
+ - weighted_average
+ - median
+ - categorical_count
+ - accuracy
title: AggregationFunctionType
- description: >-
- Types of aggregation functions for scoring results.
+ description: Types of aggregation functions for scoring results.
ArrayType:
- type: object
properties:
type:
type: string
const: array
+ title: Type
default: array
- description: Discriminator type. Always "array"
- additionalProperties: false
- required:
- - type
+ type: object
title: ArrayType
description: Parameter type for array values.
BasicScoringFnParams:
- type: object
properties:
type:
- $ref: '#/components/schemas/ScoringFnParamsType'
+ type: string
const: basic
+ title: Type
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
+ type: array
+ title: Aggregation Functions
+ description: Aggregation functions to apply to the scores of each row
+ type: object
title: BasicScoringFnParams
- description: >-
- Parameters for basic scoring function configuration.
+ description: Parameters for basic scoring function configuration.
BooleanType:
- type: object
properties:
type:
type: string
const: boolean
+ title: Type
default: boolean
- description: Discriminator type. Always "boolean"
- additionalProperties: false
- required:
- - type
+ type: object
title: BooleanType
description: Parameter type for boolean values.
ChatCompletionInputType:
- type: object
properties:
type:
type: string
const: chat_completion_input
+ title: Type
default: chat_completion_input
- description: >-
- Discriminator type. Always "chat_completion_input"
- additionalProperties: false
- required:
- - type
+ type: object
title: ChatCompletionInputType
- description: >-
- Parameter type for chat completion input.
+ description: Parameter type for chat completion input.
CompletionInputType:
- type: object
properties:
type:
type: string
const: completion_input
+ title: Type
default: completion_input
- description: >-
- Discriminator type. Always "completion_input"
- additionalProperties: false
- required:
- - type
+ type: object
title: CompletionInputType
description: Parameter type for completion input.
JsonType:
- type: object
properties:
type:
type: string
const: json
+ title: Type
default: json
- description: Discriminator type. Always "json"
- additionalProperties: false
- required:
- - type
+ type: object
title: JsonType
description: Parameter type for JSON values.
LLMAsJudgeScoringFnParams:
- type: object
properties:
type:
- $ref: '#/components/schemas/ScoringFnParamsType'
+ type: string
const: llm_as_judge
+ title: Type
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
+ title: Judge Model
prompt_template:
- type: string
- description: >-
- (Optional) Custom prompt template for the judge model
+ anyOf:
+ - type: string
+ - type: 'null'
judge_score_regexes:
- type: array
items:
type: string
- description: >-
- Regexes to extract the answer from generated response
- aggregation_functions:
type: array
+ title: Judge Score Regexes
+ description: Regexes to extract the answer from generated response
+ aggregation_functions:
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
+ type: array
+ title: Aggregation Functions
+ description: Aggregation functions to apply to the scores of each row
+ type: object
+ required:
+ - judge_model
title: LLMAsJudgeScoringFnParams
- description: >-
- Parameters for LLM-as-judge scoring function configuration.
+ description: Parameters for LLM-as-judge scoring function configuration.
NumberType:
- type: object
properties:
type:
type: string
const: number
+ title: Type
default: number
- description: Discriminator type. Always "number"
- additionalProperties: false
- required:
- - type
+ type: object
title: NumberType
description: Parameter type for numeric values.
ObjectType:
- type: object
properties:
type:
type: string
const: object
+ title: Type
default: object
- description: Discriminator type. Always "object"
- additionalProperties: false
- required:
- - type
+ type: object
title: ObjectType
description: Parameter type for object values.
RegexParserScoringFnParams:
- type: object
properties:
type:
- $ref: '#/components/schemas/ScoringFnParamsType'
+ type: string
const: regex_parser
+ title: Type
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
+ title: Parsing Regexes
+ description: Regex to extract the answer from generated response
+ aggregation_functions:
items:
$ref: '#/components/schemas/AggregationFunctionType'
- description: >-
- Aggregation functions to apply to the scores of each row
- additionalProperties: false
- required:
- - type
- - parsing_regexes
- - aggregation_functions
+ type: array
+ title: Aggregation Functions
+ description: Aggregation functions to apply to the scores of each row
+ type: object
title: RegexParserScoringFnParams
- description: >-
- Parameters for regex parser scoring function configuration.
+ description: Parameters for regex parser scoring function configuration.
ScoringFn:
- type: object
properties:
identifier:
type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
provider_resource_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
provider_id:
type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
type:
type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
const: scoring_function
+ title: Type
default: scoring_function
- description: >-
- The resource type, always scoring_function
description:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
metadata:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
+ title: Metadata
+ description: Any additional metadata for this definition
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/StringType'
+ title: StringType
+ - $ref: '#/components/schemas/NumberType'
+ title: NumberType
+ - $ref: '#/components/schemas/BooleanType'
+ title: BooleanType
+ - $ref: '#/components/schemas/ArrayType'
+ title: ArrayType
+ - $ref: '#/components/schemas/ObjectType'
+ title: ObjectType
+ - $ref: '#/components/schemas/JsonType'
+ title: JsonType
+ - $ref: '#/components/schemas/UnionType'
+ title: UnionType
+ - $ref: '#/components/schemas/ChatCompletionInputType'
+ title: ChatCompletionInputType
+ - $ref: '#/components/schemas/CompletionInputType'
+ title: CompletionInputType
+ title: StringType | ... (9 variants)
+ description: The return type of the deterministic function
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'
+ boolean: '#/components/schemas/BooleanType'
chat_completion_input: '#/components/schemas/ChatCompletionInputType'
completion_input: '#/components/schemas/CompletionInputType'
+ json: '#/components/schemas/JsonType'
+ number: '#/components/schemas/NumberType'
+ object: '#/components/schemas/ObjectType'
+ string: '#/components/schemas/StringType'
+ union: '#/components/schemas/UnionType'
params:
- $ref: '#/components/schemas/ScoringFnParams'
- additionalProperties: false
- required:
- - identifier
- - provider_id
- - type
- - metadata
- - return_type
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ discriminator:
+ propertyName: type
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ - type: 'null'
+ title: Params
+ description: The parameters for the scoring function for benchmark eval, these can be overridden for app eval
+ type: object
+ required:
+ - identifier
+ - provider_id
+ - return_type
title: ScoringFn
- description: >-
- A scoring function resource for evaluating model outputs.
+ 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:
+ basic: '#/components/schemas/BasicScoringFnParams'
llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
regex_parser: '#/components/schemas/RegexParserScoringFnParams'
- basic: '#/components/schemas/BasicScoringFnParams'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
ScoringFnParamsType:
- type: string
+ description: Types of scoring function parameter configurations.
enum:
- - llm_as_judge
- - regex_parser
- - basic
+ - llm_as_judge
+ - regex_parser
+ - basic
title: ScoringFnParamsType
- description: >-
- Types of scoring function parameter configurations.
+ type: string
StringType:
- type: object
properties:
type:
type: string
const: string
+ title: Type
default: string
- description: Discriminator type. Always "string"
- additionalProperties: false
- required:
- - type
+ type: object
title: StringType
description: Parameter type for string values.
UnionType:
- type: object
properties:
type:
type: string
const: union
+ title: Type
default: union
- description: Discriminator type. Always "union"
- additionalProperties: false
- required:
- - type
+ type: object
title: UnionType
description: Parameter type for union values.
ListScoringFunctionsResponse:
- type: object
properties:
data:
- type: array
items:
$ref: '#/components/schemas/ScoringFn'
- additionalProperties: false
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListScoringFunctionsResponse
ScoreRequest:
- type: object
properties:
input_rows:
- type: array
items:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The rows to score.
+ type: array
+ title: Input Rows
scoring_functions:
- type: object
additionalProperties:
- oneOf:
- - $ref: '#/components/schemas/ScoringFnParams'
- - type: 'null'
- description: >-
- The scoring functions to use for the scoring.
- additionalProperties: false
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ discriminator:
+ propertyName: type
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ - type: 'null'
+ title: AdditionalpropertiesUnion
+ type: object
+ title: Scoring Functions
+ type: object
required:
- - input_rows
- - scoring_functions
+ - 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
+ type: object
+ title: Results
+ type: object
required:
- - results
+ - results
title: ScoreResponse
description: The response from scoring.
ScoringResult:
- type: object
properties:
score_rows:
- type: array
items:
+ additionalProperties: true
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.
+ type: array
+ title: Score Rows
aggregated_results:
+ additionalProperties: true
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
+ title: Aggregated Results
+ type: object
required:
- - score_rows
- - aggregated_results
+ - 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.
+ title: Dataset Id
scoring_functions:
- type: object
additionalProperties:
- oneOf:
- - $ref: '#/components/schemas/ScoringFnParams'
- - type: 'null'
- description: >-
- The scoring functions to use for the scoring.
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ discriminator:
+ propertyName: type
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ - type: 'null'
+ title: AdditionalpropertiesUnion
+ type: object
+ title: Scoring Functions
save_results_dataset:
type: boolean
- description: >-
- Whether to save the results to a dataset.
- additionalProperties: false
+ title: Save Results Dataset
+ default: false
+ type: object
required:
- - dataset_id
- - scoring_functions
- - save_results_dataset
+ - dataset_id
+ - scoring_functions
title: ScoreBatchRequest
ScoreBatchResponse:
- type: object
properties:
dataset_id:
- type: string
- description: >-
- (Optional) The identifier of the dataset that was scored
+ anyOf:
+ - type: string
+ - type: 'null'
results:
- type: object
additionalProperties:
$ref: '#/components/schemas/ScoringResult'
- description: >-
- A map of scoring function name to ScoringResult
- additionalProperties: false
+ type: object
+ title: Results
+ type: object
required:
- - results
+ - results
title: ScoreBatchResponse
- description: >-
- Response from batch scoring operations on datasets.
+ description: Response from batch scoring operations on datasets.
Shield:
- type: object
properties:
identifier:
type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
provider_resource_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
provider_id:
type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
type:
type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
const: shield
+ title: Type
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - identifier
+ - provider_id
title: Shield
- description: >-
- A safety shield resource that can be used to check content.
+ 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
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListShieldsResponse
InvokeToolRequest:
- type: object
properties:
tool_name:
type: string
- description: The name of the tool to invoke.
+ title: Tool Name
kwargs:
+ additionalProperties: true
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.
+ title: Kwargs
authorization:
- type: string
- description: >-
- (Optional) OAuth access token for authenticating with the MCP server.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - tool_name
- - kwargs
+ - tool_name
+ - kwargs
title: InvokeToolRequest
ImageContentItem:
- type: object
+ description: A image content item
properties:
type:
- type: string
const: image
default: image
- description: >-
- Discriminator type of the content item. Always "image"
+ title: Type
+ type: string
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
+ $ref: '#/components/schemas/_URLOrData'
+ required:
+ - image
title: ImageContentItem
- description: A image content item
+ type: object
InterleavedContent:
- oneOf:
- - type: string
- - $ref: '#/components/schemas/InterleavedContentItem'
- - type: array
- items:
- $ref: '#/components/schemas/InterleavedContentItem'
- InterleavedContentItem:
- oneOf:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
- $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
- $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
+ InterleavedContentItem:
discriminator:
- propertyName: type
mapping:
image: '#/components/schemas/ImageContentItem'
text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
TextContentItem:
- type: object
properties:
type:
type: string
const: text
+ title: Type
default: text
- description: >-
- Discriminator type of the content item. Always "text"
text:
type: string
- description: Text content
- additionalProperties: false
+ title: Text
+ type: object
required:
- - type
- - text
+ - text
title: TextContentItem
description: A text content item
ToolInvocationResult:
- type: object
properties:
content:
- $ref: '#/components/schemas/InterleavedContent'
- description: >-
- (Optional) The output content from the tool execution
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ type: array
+ title: list[ImageContentItem-Output | TextContentItem]
+ - type: 'null'
+ title: string | list[ImageContentItem-Output | TextContentItem]
error_message:
- type: string
- description: >-
- (Optional) Error message if the tool execution failed
+ anyOf:
+ - type: string
+ - type: 'null'
error_code:
- type: integer
- description: >-
- (Optional) Numeric error code if the tool execution failed
+ anyOf:
+ - type: integer
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
title: ToolInvocationResult
description: Result of a tool invocation.
URL:
- type: object
properties:
uri:
type: string
- description: The URL string pointing to the resource
- additionalProperties: false
+ title: Uri
+ type: object
required:
- - uri
+ - uri
title: URL
description: A URL reference to external content.
ToolDef:
- type: object
properties:
toolgroup_id:
- type: string
- description: >-
- (Optional) ID of the tool group this tool belongs to
+ anyOf:
+ - type: string
+ - type: 'null'
name:
type: string
- description: Name of the tool
+ title: Name
description:
- type: string
- description: >-
- (Optional) Human-readable description of what the tool does
+ anyOf:
+ - type: string
+ - type: 'null'
input_schema:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- (Optional) JSON Schema for tool inputs (MCP inputSchema)
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
output_schema:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- (Optional) JSON Schema for tool outputs (MCP outputSchema)
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
required:
- - name
+ - name
title: ToolDef
- description: >-
- Tool definition used in runtime contexts.
+ description: Tool definition used in runtime contexts.
ListToolDefsResponse:
- type: object
properties:
data:
- type: array
items:
$ref: '#/components/schemas/ToolDef'
- description: List of tool definitions
- additionalProperties: false
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListToolDefsResponse
- description: >-
- Response containing a list of tool definitions.
+ description: Response containing a list of tool definitions.
ToolGroup:
- type: object
properties:
identifier:
type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
provider_resource_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
provider_id:
type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
type:
type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
const: tool_group
+ title: Type
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
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ title: URL
+ - type: 'null'
+ title: URL
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - identifier
+ - provider_id
title: ToolGroup
- description: >-
- A group of related tools managed together.
+ 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
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListToolGroupsResponse
- description: >-
- Response containing a list of tool groups.
+ description: Response containing a list of tool groups.
Chunk:
- type: object
+ description: A chunk of content that can be inserted into a vector database.
properties:
content:
- $ref: '#/components/schemas/InterleavedContent'
- description: >-
- The content of the chunk, which can be interleaved text, images, or other
- types.
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
chunk_id:
+ title: Chunk Id
type: string
- description: >-
- Unique identifier for the chunk. Must be provided explicitly.
metadata:
+ additionalProperties: true
+ title: 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.
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ nullable: true
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
- - chunk_id
- - metadata
+ anyOf:
+ - $ref: '#/components/schemas/ChunkMetadata'
+ title: ChunkMetadata
+ - type: 'null'
+ nullable: true
+ title: ChunkMetadata
+ required:
+ - content
+ - chunk_id
title: Chunk
- description: >-
- A chunk of content that can be inserted into a vector database.
- ChunkMetadata:
type: object
+ ChunkMetadata:
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.
+ anyOf:
+ - type: string
+ - type: 'null'
document_id:
- type: string
- description: >-
- The ID of the document this chunk belongs to.
+ anyOf:
+ - type: string
+ - type: 'null'
source:
- type: string
- description: >-
- The source of the content, such as a URL, file path, or other identifier.
+ anyOf:
+ - type: string
+ - type: 'null'
created_timestamp:
- type: integer
- description: >-
- An optional timestamp indicating when the chunk was created.
+ anyOf:
+ - type: integer
+ - type: 'null'
updated_timestamp:
- type: integer
- description: >-
- An optional timestamp indicating when the chunk was last updated.
+ anyOf:
+ - type: integer
+ - type: 'null'
chunk_window:
- type: string
- description: >-
- The window of the chunk, which can be used to group related chunks together.
+ anyOf:
+ - type: string
+ - type: 'null'
chunk_tokenizer:
- type: string
- description: >-
- The tokenizer used to create the chunk. Default is Tiktoken.
+ anyOf:
+ - type: string
+ - type: 'null'
chunk_embedding_model:
- type: string
- description: >-
- The embedding model used to create the chunk's embedding.
+ anyOf:
+ - type: string
+ - type: 'null'
chunk_embedding_dimension:
- type: integer
- description: >-
- The dimension of the embedding vector for the chunk.
+ anyOf:
+ - type: integer
+ - type: 'null'
content_token_count:
- type: integer
- description: >-
- The number of tokens in the content of the chunk.
+ anyOf:
+ - type: integer
+ - type: 'null'
metadata_token_count:
- type: integer
- description: >-
- The number of tokens in the metadata of the chunk.
- additionalProperties: false
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
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.
+ 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_store_id:
type: string
- description: >-
- The identifier of the vector database to insert the chunks into.
+ title: Vector Store Id
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.
+ $ref: '#/components/schemas/Chunk-Input'
+ type: array
+ title: Chunks
ttl_seconds:
- type: integer
- description: The time to live of the chunks.
- additionalProperties: false
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
required:
- - vector_store_id
- - chunks
+ - vector_store_id
+ - chunks
title: InsertChunksRequest
QueryChunksRequest:
- type: object
properties:
vector_store_id:
type: string
- description: >-
- The identifier of the vector database to query.
+ title: Vector Store Id
query:
- $ref: '#/components/schemas/InterleavedContent'
- description: The query to search for.
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ type: array
+ title: list[ImageContentItem-Input | TextContentItem]
+ title: string | list[ImageContentItem-Input | TextContentItem]
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
required:
- - vector_store_id
- - query
+ - vector_store_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:
+ $ref: '#/components/schemas/Chunk-Output'
type: array
+ title: Chunks
+ scores:
items:
type: number
- description: >-
- Relevance scores corresponding to each returned chunk
- additionalProperties: false
+ type: array
+ title: Scores
+ type: object
required:
- - chunks
- - scores
+ - chunks
+ - scores
title: QueryChunksResponse
- description: >-
- Response from querying chunks in a vector database.
+ 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
+ title: Completed
cancelled:
type: integer
- description: >-
- Number of files that had their processing cancelled
+ title: Cancelled
failed:
type: integer
- description: Number of files that failed to process
+ title: Failed
in_progress:
type: integer
- description: >-
- Number of files currently being processed
+ title: In Progress
total:
type: integer
- description: >-
- Total number of files in the vector store
- additionalProperties: false
+ title: Total
+ type: object
required:
- - completed
- - cancelled
- - failed
- - in_progress
- - total
+ - completed
+ - cancelled
+ - failed
+ - in_progress
+ - total
title: VectorStoreFileCounts
- description: >-
- File processing status counts for a vector store.
+ description: File processing status counts for a vector store.
VectorStoreListResponse:
- type: object
properties:
object:
type: string
+ title: Object
default: list
- description: Object type identifier, always "list"
data:
- type: array
items:
$ref: '#/components/schemas/VectorStoreObject'
- description: List of vector store objects
+ type: array
+ title: Data
first_id:
- type: string
- description: >-
- (Optional) ID of the first vector store in the list for pagination
+ anyOf:
+ - type: string
+ - type: 'null'
last_id:
- type: string
- description: >-
- (Optional) ID of the last vector store in the list for pagination
+ anyOf:
+ - type: string
+ - type: 'null'
has_more:
type: boolean
+ title: Has More
default: false
- description: >-
- Whether there are more vector stores available beyond this page
- additionalProperties: false
+ type: object
required:
- - object
- - data
- - has_more
+ - data
title: VectorStoreListResponse
description: Response from listing vector stores.
VectorStoreObject:
- type: object
properties:
id:
type: string
- description: Unique identifier for the vector store
+ title: Id
object:
type: string
+ title: Object
default: vector_store
- description: >-
- Object type identifier, always "vector_store"
created_at:
type: integer
- description: >-
- Timestamp when the vector store was created
+ title: Created At
name:
- type: string
- description: (Optional) Name of the vector store
+ anyOf:
+ - type: string
+ - type: 'null'
usage_bytes:
type: integer
+ title: Usage Bytes
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
+ title: Status
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
expires_at:
- type: integer
- description: >-
- (Optional) Timestamp when the vector store will expire
+ anyOf:
+ - type: integer
+ - type: 'null'
last_active_at:
- type: integer
- description: >-
- (Optional) Timestamp of last activity on the vector store
+ anyOf:
+ - type: integer
+ - type: 'null'
metadata:
+ additionalProperties: true
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: Metadata
+ type: object
+ required:
+ - id
+ - created_at
+ - file_counts
title: VectorStoreObject
description: OpenAI Vector Store object.
VectorStoreChunkingStrategy:
- oneOf:
- - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
- - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
discriminator:
- propertyName: type
mapping:
auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
VectorStoreChunkingStrategyAuto:
- type: object
properties:
type:
type: string
const: auto
+ title: Type
default: auto
- description: >-
- Strategy type, always "auto" for automatic chunking
- additionalProperties: false
- required:
- - type
+ type: object
title: VectorStoreChunkingStrategyAuto
- description: >-
- Automatic chunking strategy for vector store files.
+ description: Automatic chunking strategy for vector store files.
VectorStoreChunkingStrategyStatic:
- type: object
properties:
type:
type: string
const: static
+ title: Type
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
+ type: object
required:
- - type
- - static
+ - static
title: VectorStoreChunkingStrategyStatic
- description: >-
- Static chunking strategy with configurable parameters.
+ description: Static chunking strategy with configurable parameters.
VectorStoreChunkingStrategyStaticConfig:
- type: object
properties:
chunk_overlap_tokens:
type: integer
+ title: Chunk Overlap Tokens
default: 400
- description: >-
- Number of tokens to overlap between adjacent chunks
max_chunk_size_tokens:
type: integer
+ maximum: 4096.0
+ minimum: 100.0
+ title: Max Chunk Size Tokens
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.
- "OpenAICreateVectorStoreRequestWithExtraBody":
type: object
+ title: VectorStoreChunkingStrategyStaticConfig
+ description: Configuration for static chunking strategy.
+ OpenAICreateVectorStoreRequestWithExtraBody:
properties:
name:
- type: string
- description: (Optional) A name for the vector store
+ anyOf:
+ - type: string
+ - type: 'null'
file_ids:
- type: array
- items:
- type: string
- description: >-
- List of file IDs to include in the vector store
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
chunking_strategy:
- $ref: '#/components/schemas/VectorStoreChunkingStrategy'
- description: >-
- (Optional) Strategy for splitting files into chunks
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ discriminator:
+ propertyName: type
+ mapping:
+ auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
+ - type: 'null'
+ title: Chunking Strategy
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
- title: >-
- OpenAICreateVectorStoreRequestWithExtraBody
- description: >-
- Request to create a vector store with extra_body support.
- OpenaiUpdateVectorStoreRequest:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ additionalProperties: true
type: object
+ title: OpenAICreateVectorStoreRequestWithExtraBody
+ description: Request to create a vector store with extra_body support.
+ OpenaiUpdateVectorStoreRequest:
properties:
name:
- type: string
- description: The name of the vector store.
+ anyOf:
+ - type: string
+ - type: 'null'
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.
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
title: OpenaiUpdateVectorStoreRequest
VectorStoreDeleteResponse:
- type: object
properties:
id:
type: string
- description: >-
- Unique identifier of the deleted vector store
+ title: Id
object:
type: string
+ title: Object
default: vector_store.deleted
- description: >-
- Object type identifier for the deletion response
deleted:
type: boolean
+ title: Deleted
default: true
- description: >-
- Whether the deletion operation was successful
- additionalProperties: false
+ type: object
required:
- - id
- - object
- - deleted
+ - id
title: VectorStoreDeleteResponse
description: Response from deleting a vector store.
- "OpenAICreateVectorStoreFileBatchRequestWithExtraBody":
- type: object
+ OpenAICreateVectorStoreFileBatchRequestWithExtraBody:
properties:
file_ids:
- type: array
items:
type: string
- description: >-
- A list of File IDs that the vector store should use
+ type: array
+ title: File Ids
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
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: >-
- OpenAICreateVectorStoreFileBatchRequestWithExtraBody
- description: >-
- Request to create a vector store file batch with extra_body support.
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ discriminator:
+ propertyName: type
+ mapping:
+ auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
+ - type: 'null'
+ title: Chunking Strategy
+ additionalProperties: true
+ type: object
+ required:
+ - file_ids
+ title: OpenAICreateVectorStoreFileBatchRequestWithExtraBody
+ description: Request to create a vector store file batch with extra_body support.
VectorStoreFileBatchObject:
- type: object
properties:
id:
type: string
- description: Unique identifier for the file batch
+ title: Id
object:
type: string
+ title: Object
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
+ title: Created At
vector_store_id:
type: string
- description: >-
- ID of the vector store containing the file batch
+ title: Vector Store Id
status:
- $ref: '#/components/schemas/VectorStoreFileStatus'
- description: >-
- Current processing status of the file batch
+ title: Status
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - cancelled
+ - failed
+ default: completed
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
+ type: object
+ required:
+ - id
+ - 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
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - cancelled
+ - failed
+ default: completed
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
+ title: Code
+ type: string
+ enum:
+ - server_error
+ - rate_limit_exceeded
+ default: server_error
message:
type: string
- description: >-
- Human-readable error message describing the failure
- additionalProperties: false
+ title: Message
+ type: object
required:
- - code
- - message
+ - code
+ - message
title: VectorStoreFileLastError
- description: >-
- Error information for failed vector store file processing.
+ description: Error information for failed vector store file processing.
VectorStoreFileObject:
- type: object
properties:
id:
type: string
- description: Unique identifier for the file
+ title: Id
object:
type: string
+ title: Object
default: vector_store.file
- description: >-
- Object type identifier, always "vector_store.file"
attributes:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- Key-value attributes associated with the file
+ title: Attributes
chunking_strategy:
oneOf:
- - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
- - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ title: VectorStoreChunkingStrategyAuto | 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
+ title: Created At
last_error:
- $ref: '#/components/schemas/VectorStoreFileLastError'
- description: >-
- (Optional) Error information if file processing failed
+ anyOf:
+ - $ref: '#/components/schemas/VectorStoreFileLastError'
+ title: VectorStoreFileLastError
+ - type: 'null'
+ title: VectorStoreFileLastError
status:
- $ref: '#/components/schemas/VectorStoreFileStatus'
- description: Current processing status of the file
+ title: Status
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - cancelled
+ - failed
+ default: completed
usage_bytes:
type: integer
+ title: Usage Bytes
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: Vector Store Id
+ type: object
+ required:
+ - id
+ - chunking_strategy
+ - created_at
+ - status
+ - vector_store_id
title: VectorStoreFileObject
description: OpenAI Vector Store File object.
VectorStoreFilesListInBatchResponse:
- type: object
properties:
object:
type: string
+ title: Object
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
+ type: array
+ title: Data
first_id:
- type: string
- description: >-
- (Optional) ID of the first file in the list for pagination
+ anyOf:
+ - type: string
+ - type: 'null'
last_id:
- type: string
- description: >-
- (Optional) ID of the last file in the list for pagination
+ anyOf:
+ - type: string
+ - type: 'null'
has_more:
type: boolean
+ title: Has More
default: false
- description: >-
- Whether there are more files available beyond this page
- additionalProperties: false
+ type: object
required:
- - object
- - data
- - has_more
+ - data
title: VectorStoreFilesListInBatchResponse
- description: >-
- Response from listing files in a vector store file batch.
+ description: Response from listing files in a vector store file batch.
VectorStoreListFilesResponse:
- type: object
properties:
object:
type: string
+ title: Object
default: list
- description: Object type identifier, always "list"
data:
- type: array
items:
$ref: '#/components/schemas/VectorStoreFileObject'
- description: List of vector store file objects
+ type: array
+ title: Data
first_id:
- type: string
- description: >-
- (Optional) ID of the first file in the list for pagination
+ anyOf:
+ - type: string
+ - type: 'null'
last_id:
- type: string
- description: >-
- (Optional) ID of the last file in the list for pagination
+ anyOf:
+ - type: string
+ - type: 'null'
has_more:
type: boolean
+ title: Has More
default: false
- description: >-
- Whether there are more files available beyond this page
- additionalProperties: false
+ type: object
required:
- - object
- - data
- - has_more
+ - data
title: VectorStoreListFilesResponse
- description: >-
- Response from listing files in a vector store.
+ 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.
+ title: File Id
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.
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
chunking_strategy:
- $ref: '#/components/schemas/VectorStoreChunkingStrategy'
- description: >-
- The chunking strategy to use for the file.
- additionalProperties: false
- required:
- - file_id
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ discriminator:
+ propertyName: type
+ mapping:
+ auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
+ - type: 'null'
+ title: Chunking Strategy
+ type: object
+ required:
+ - file_id
title: OpenaiAttachFileToVectorStoreRequest
OpenaiUpdateVectorStoreFileRequest:
- type: object
properties:
attributes:
+ additionalProperties: true
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
+ title: Attributes
+ type: object
required:
- - attributes
+ - attributes
title: OpenaiUpdateVectorStoreFileRequest
VectorStoreFileDeleteResponse:
- type: object
properties:
id:
type: string
- description: Unique identifier of the deleted file
+ title: Id
object:
type: string
+ title: Object
default: vector_store.file.deleted
- description: >-
- Object type identifier for the deletion response
deleted:
type: boolean
+ title: Deleted
default: true
- description: >-
- Whether the deletion operation was successful
- additionalProperties: false
+ type: object
required:
- - id
- - object
- - deleted
+ - id
title: VectorStoreFileDeleteResponse
- description: >-
- Response from deleting a vector store file.
- bool:
- type: boolean
+ 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
+ title: Type
text:
type: string
- description: The actual text content
+ title: Text
embedding:
- type: array
- items:
- type: number
- description: >-
- Optional embedding vector for this content chunk
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
chunk_metadata:
- $ref: '#/components/schemas/ChunkMetadata'
- description: Optional chunk metadata
+ anyOf:
+ - $ref: '#/components/schemas/ChunkMetadata'
+ title: ChunkMetadata
+ - type: 'null'
+ title: ChunkMetadata
metadata:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: Optional user-defined metadata
- additionalProperties: false
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
required:
- - type
- - text
+ - type
+ - text
title: VectorStoreContent
- description: >-
- Content item from a vector store file or search result.
+ description: Content item from a vector store file or search result.
VectorStoreFileContentResponse:
- type: object
properties:
object:
type: string
const: vector_store.file_content.page
+ title: Object
default: vector_store.file_content.page
- description: >-
- The object type, which is always `vector_store.file_content.page`
data:
- type: array
items:
$ref: '#/components/schemas/VectorStoreContent'
- description: Parsed content of the file
+ type: array
+ title: Data
has_more:
type: boolean
+ title: Has More
default: false
- description: >-
- Indicates if there are more content pages to fetch
next_page:
- type: string
- description: The token for the next page, if any
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - object
- - data
- - has_more
+ - data
title: VectorStoreFileContentResponse
- description: >-
- Represents the parsed content of a vector store file.
+ description: Represents the parsed content 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.
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ title: string | list[string]
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.
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
max_num_results:
- type: integer
- description: >-
- Maximum number of results to return (1 to 50 inclusive, default 10).
+ anyOf:
+ - type: integer
+ - type: 'null'
+ 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.
+ anyOf:
+ - $ref: '#/components/schemas/SearchRankingOptions'
+ title: SearchRankingOptions
+ - type: 'null'
+ title: SearchRankingOptions
rewrite_query:
- type: boolean
- description: >-
- Whether to rewrite the natural language query for vector search (default
- false)
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
search_mode:
- type: string
- description: >-
- The search mode to use - "keyword", "vector", or "hybrid" (default "vector")
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: vector
+ type: object
required:
- - query
+ - query
title: OpenaiSearchVectorStoreRequest
VectorStoreSearchResponse:
- type: object
properties:
file_id:
type: string
- description: >-
- Unique identifier of the file containing the result
+ title: File Id
filename:
type: string
- description: Name of the file containing the result
+ title: Filename
score:
type: number
- description: Relevance score for this search result
+ title: Score
attributes:
- type: object
- additionalProperties:
- oneOf:
+ anyOf:
+ - additionalProperties:
+ anyOf:
- type: string
- type: number
- type: boolean
- description: >-
- (Optional) Key-value attributes associated with the file
+ title: string | number | boolean
+ type: object
+ - type: 'null'
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
+ type: array
+ title: Content
+ type: object
+ required:
+ - file_id
+ - filename
+ - score
+ - content
title: VectorStoreSearchResponse
description: Response from searching a vector store.
VectorStoreSearchResponsePage:
- type: object
properties:
object:
type: string
+ title: Object
default: vector_store.search_results.page
- description: >-
- Object type identifier for the search results page
search_query:
- type: array
items:
type: string
- description: >-
- The original search query that was executed
- data:
type: array
+ title: Search Query
+ data:
items:
$ref: '#/components/schemas/VectorStoreSearchResponse'
- description: List of search result objects
+ type: array
+ title: Data
has_more:
type: boolean
+ title: Has More
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
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - object
- - search_query
- - data
- - has_more
+ - search_query
+ - data
title: VectorStoreSearchResponsePage
- description: >-
- Paginated response from searching a vector store.
+ description: Paginated response from searching a vector store.
VersionInfo:
- type: object
properties:
version:
type: string
- description: Version number of the service
- additionalProperties: false
+ title: Version
+ type: object
required:
- - version
+ - version
title: VersionInfo
description: Version information for the service.
AppendRowsRequest:
- type: object
properties:
rows:
- type: array
items:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The rows to append to the dataset.
- additionalProperties: false
+ type: array
+ title: Rows
+ type: object
required:
- - rows
+ - rows
title: AppendRowsRequest
PaginatedResponse:
- type: object
properties:
data:
- type: array
items:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The list of items for the current page
+ type: array
+ title: Data
has_more:
type: boolean
- description: >-
- Whether there are more items available after this set
+ title: Has More
url:
- type: string
- description: The URL for accessing this list
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - data
- - has_more
+ - data
+ - has_more
title: PaginatedResponse
- description: >-
- A generic paginated response that follows a simple format.
+ description: A generic paginated response that follows a simple format.
Dataset:
- type: object
properties:
identifier:
type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
provider_resource_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
provider_id:
type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
type:
type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
const: dataset
+ title: Type
default: dataset
- description: >-
- Type of resource, always 'dataset' for datasets
purpose:
- type: string
- enum:
- - post-training/messages
- - eval/question-answer
- - eval/messages-answer
- description: >-
- Purpose of the dataset indicating its intended use
+ $ref: '#/components/schemas/DatasetPurpose'
source:
oneOf:
- - $ref: '#/components/schemas/URIDataSource'
- - $ref: '#/components/schemas/RowsDataSource'
+ - $ref: '#/components/schemas/URIDataSource'
+ title: URIDataSource
+ - $ref: '#/components/schemas/RowsDataSource'
+ title: RowsDataSource
+ title: URIDataSource | RowsDataSource
discriminator:
propertyName: type
mapping:
- uri: '#/components/schemas/URIDataSource'
rows: '#/components/schemas/RowsDataSource'
- description: >-
- Data source configuration for the dataset
+ uri: '#/components/schemas/URIDataSource'
metadata:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: Additional metadata for the dataset
- additionalProperties: false
- required:
- - identifier
- - provider_id
- - type
- - purpose
- - source
- - metadata
+ title: Metadata
+ description: Any additional metadata for this dataset
+ type: object
+ required:
+ - identifier
+ - provider_id
+ - purpose
+ - source
title: Dataset
- description: >-
- Dataset resource for storing and accessing training or evaluation data.
+ description: Dataset resource for storing and accessing training or evaluation data.
RowsDataSource:
- type: object
properties:
type:
type: string
const: rows
+ title: Type
default: rows
rows:
- type: array
items:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- The dataset is stored in rows. E.g. - [ {"messages": [{"role": "user",
- "content": "Hello, world!"}, {"role": "assistant", "content": "Hello,
- world!"}]} ]
- additionalProperties: false
- required:
- - type
- - rows
+ type: array
+ title: Rows
+ type: object
+ required:
+ - rows
title: RowsDataSource
description: A dataset stored in rows.
URIDataSource:
- type: object
properties:
type:
type: string
const: uri
+ title: Type
default: uri
uri:
type: string
- description: >-
- The dataset can be obtained from a URI. E.g. - "https://mywebsite.com/mydata.jsonl"
- - "lsfs://mydata.jsonl" - "data:csv;base64,{base64_content}"
- additionalProperties: false
+ title: Uri
+ type: object
required:
- - type
- - uri
+ - uri
title: URIDataSource
- description: >-
- A dataset that can be obtained from a URI.
+ description: A dataset that can be obtained from a URI.
ListDatasetsResponse:
- type: object
properties:
data:
- type: array
items:
$ref: '#/components/schemas/Dataset'
- description: List of datasets
- additionalProperties: false
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListDatasetsResponse
description: Response from listing datasets.
Benchmark:
- type: object
properties:
identifier:
type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
provider_resource_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
provider_id:
type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
type:
type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
const: benchmark
+ title: Type
default: benchmark
- description: The resource type, always benchmark
dataset_id:
type: string
- description: >-
- Identifier of the dataset to use for the benchmark evaluation
+ title: Dataset Id
scoring_functions:
- type: array
items:
type: string
- description: >-
- List of scoring function identifiers to apply during evaluation
+ type: array
+ title: Scoring Functions
metadata:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
+ title: Metadata
description: Metadata for this evaluation task
- additionalProperties: false
- required:
- - identifier
- - provider_id
- - type
- - dataset_id
- - scoring_functions
- - metadata
+ type: object
+ required:
+ - identifier
+ - provider_id
+ - dataset_id
+ - scoring_functions
title: Benchmark
- description: >-
- A benchmark resource for evaluating model performance.
+ description: A benchmark resource for evaluating model performance.
ListBenchmarksResponse:
- type: object
properties:
data:
- type: array
items:
$ref: '#/components/schemas/Benchmark'
- additionalProperties: false
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListBenchmarksResponse
BenchmarkConfig:
- type: object
properties:
eval_candidate:
$ref: '#/components/schemas/ModelCandidate'
- description: The candidate to evaluate.
scoring_params:
- type: object
additionalProperties:
- $ref: '#/components/schemas/ScoringFnParams'
- description: >-
- Map between scoring function id and parameters for each scoring function
- you want to run
+ oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ discriminator:
+ propertyName: type
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ type: object
+ title: Scoring Params
+ description: Map between scoring function id and parameters for each scoring function you want to run
num_examples:
- type: integer
- description: >-
- (Optional) The number of examples to evaluate. If not provided, all examples
- in the dataset will be evaluated
- additionalProperties: false
+ anyOf:
+ - type: integer
+ - type: 'null'
+ description: Number of examples to evaluate (useful for testing), if not provided, all examples in the dataset will be evaluated
+ type: object
required:
- - eval_candidate
- - scoring_params
+ - eval_candidate
title: BenchmarkConfig
- description: >-
- A benchmark configuration for evaluation.
+ description: A benchmark configuration for evaluation.
GreedySamplingStrategy:
- type: object
properties:
type:
type: string
const: greedy
+ title: Type
default: greedy
- description: >-
- Must be "greedy" to identify this sampling strategy
- additionalProperties: false
- required:
- - type
+ type: object
title: GreedySamplingStrategy
- description: >-
- Greedy sampling strategy that selects the highest probability token at each
- step.
+ description: Greedy sampling strategy that selects the highest probability token at each step.
ModelCandidate:
- type: object
properties:
type:
type: string
const: model
+ title: Type
default: model
model:
type: string
- description: The model ID to evaluate.
+ title: Model
sampling_params:
$ref: '#/components/schemas/SamplingParams'
- description: The sampling parameters for the model.
system_message:
- $ref: '#/components/schemas/SystemMessage'
- description: >-
- (Optional) The system message providing instructions or context to the
- model.
- additionalProperties: false
- required:
- - type
- - model
- - sampling_params
+ anyOf:
+ - $ref: '#/components/schemas/SystemMessage'
+ title: SystemMessage
+ - type: 'null'
+ title: SystemMessage
+ type: object
+ required:
+ - model
+ - sampling_params
title: ModelCandidate
description: A model candidate for evaluation.
SamplingParams:
- type: object
properties:
strategy:
oneOf:
- - $ref: '#/components/schemas/GreedySamplingStrategy'
- - $ref: '#/components/schemas/TopPSamplingStrategy'
- - $ref: '#/components/schemas/TopKSamplingStrategy'
+ - $ref: '#/components/schemas/GreedySamplingStrategy'
+ title: GreedySamplingStrategy
+ - $ref: '#/components/schemas/TopPSamplingStrategy'
+ title: TopPSamplingStrategy
+ - $ref: '#/components/schemas/TopKSamplingStrategy'
+ title: TopKSamplingStrategy
+ title: GreedySamplingStrategy | TopPSamplingStrategy | TopKSamplingStrategy
discriminator:
propertyName: type
mapping:
greedy: '#/components/schemas/GreedySamplingStrategy'
- top_p: '#/components/schemas/TopPSamplingStrategy'
top_k: '#/components/schemas/TopKSamplingStrategy'
- description: The sampling strategy.
+ top_p: '#/components/schemas/TopPSamplingStrategy'
max_tokens:
- type: integer
- description: >-
- The maximum number of tokens that can be generated in the completion.
- The token count of your prompt plus max_tokens cannot exceed the model's
- context length.
+ anyOf:
+ - type: integer
+ - type: 'null'
repetition_penalty:
- type: number
+ anyOf:
+ - type: number
+ - type: 'null'
default: 1.0
- description: >-
- Number between -2.0 and 2.0. Positive values penalize new tokens based
- on whether they appear in the text so far, increasing the model's likelihood
- to talk about new topics.
stop:
- type: array
- items:
- type: string
- description: >-
- Up to 4 sequences where the API will stop generating further tokens. The
- returned text will not contain the stop sequence.
- additionalProperties: false
- required:
- - strategy
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ type: object
title: SamplingParams
description: Sampling parameters.
SystemMessage:
- type: object
properties:
role:
type: string
const: system
+ title: Role
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
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ type: array
+ title: list[ImageContentItem-Input | TextContentItem]
+ title: string | list[ImageContentItem-Input | TextContentItem]
+ type: object
+ required:
+ - content
title: SystemMessage
- description: >-
- A system message providing instructions or context to the model.
+ description: A system message providing instructions or context to the model.
TopKSamplingStrategy:
- type: object
properties:
type:
type: string
const: top_k
+ title: Type
default: top_k
- description: >-
- Must be "top_k" to identify this sampling strategy
top_k:
type: integer
- description: >-
- Number of top tokens to consider for sampling. Must be at least 1
- additionalProperties: false
+ minimum: 1.0
+ title: Top K
+ type: object
required:
- - type
- - top_k
+ - top_k
title: TopKSamplingStrategy
- description: >-
- Top-k sampling strategy that restricts sampling to the k most likely tokens.
+ description: Top-k sampling strategy that restricts sampling to the k most likely tokens.
TopPSamplingStrategy:
- type: object
properties:
type:
type: string
const: top_p
+ title: Type
default: top_p
- description: >-
- Must be "top_p" to identify this sampling strategy
temperature:
- type: number
- description: >-
- Controls randomness in sampling. Higher values increase randomness
+ anyOf:
+ - type: number
+ minimum: 0.0
+ - type: 'null'
top_p:
- type: number
+ anyOf:
+ - type: number
+ - type: 'null'
default: 0.95
- description: >-
- Cumulative probability threshold for nucleus sampling. Defaults to 0.95
- additionalProperties: false
+ type: object
required:
- - type
+ - temperature
title: TopPSamplingStrategy
- description: >-
- Top-p (nucleus) sampling strategy that samples from the smallest set of tokens
- with cumulative probability >= p.
+ description: Top-p (nucleus) sampling strategy that samples from the smallest set of tokens with cumulative probability >= p.
EvaluateRowsRequest:
- type: object
properties:
input_rows:
- type: array
items:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The rows to evaluate.
- scoring_functions:
type: array
+ title: Input Rows
+ scoring_functions:
items:
type: string
- description: >-
- The scoring functions to use for the evaluation.
+ type: array
+ title: Scoring Functions
benchmark_config:
$ref: '#/components/schemas/BenchmarkConfig'
- description: The configuration for the benchmark.
- additionalProperties: false
+ type: object
required:
- - input_rows
- - scoring_functions
- - benchmark_config
+ - input_rows
+ - scoring_functions
+ - benchmark_config
title: EvaluateRowsRequest
EvaluateResponse:
- type: object
properties:
generations:
- type: array
items:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The generations from the evaluation.
+ type: array
+ title: Generations
scores:
- type: object
additionalProperties:
$ref: '#/components/schemas/ScoringResult'
- description: The scores from the evaluation.
- additionalProperties: false
+ type: object
+ title: Scores
+ type: object
required:
- - generations
- - scores
+ - generations
+ - scores
title: EvaluateResponse
description: The response from an evaluation.
- RunEvalRequest:
- type: object
- properties:
- benchmark_config:
- $ref: '#/components/schemas/BenchmarkConfig'
- description: The configuration for the benchmark.
- additionalProperties: false
- required:
- - benchmark_config
- title: RunEvalRequest
Job:
- type: object
properties:
job_id:
type: string
- description: Unique identifier for the job
+ title: Job Id
status:
- type: string
- enum:
- - completed
- - in_progress
- - failed
- - scheduled
- - cancelled
- description: Current execution status of the job
- additionalProperties: false
- required:
- - job_id
- - status
+ $ref: '#/components/schemas/JobStatus'
+ type: object
+ required:
+ - job_id
+ - status
title: Job
- description: >-
- A job execution instance with status tracking.
+ description: A job execution instance with status tracking.
RerankRequest:
- type: object
properties:
model:
type: string
- description: >-
- The identifier of the reranking model to use.
+ title: Model
query:
- oneOf:
+ anyOf:
+ - type: string
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ title: string | OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam
+ items:
+ items:
+ anyOf:
- type: string
- $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
- $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
- description: >-
- The search query to rank items against. Can be a string, text content
- part, or image content part. The input must not exceed the model's max
- input token length.
- items:
+ title: OpenAIChatCompletionContentPartImageParam
+ title: string | OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam
type: array
- items:
- oneOf:
- - type: string
- - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
- - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
- description: >-
- List of items to rerank. Each item can be a string, text content part,
- or image content part. Each input must not exceed the model's max input
- token length.
+ title: Items
max_num_results:
- type: integer
- description: >-
- (Optional) Maximum number of results to return. Default: returns all.
- additionalProperties: false
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
required:
- - model
- - query
- - items
+ - model
+ - query
+ - items
title: RerankRequest
RerankData:
- type: object
properties:
index:
type: integer
- description: >-
- The original index of the document in the input list
+ title: Index
relevance_score:
type: number
- description: >-
- The relevance score from the model output. Values are inverted when applicable
- so that higher scores indicate greater relevance.
- additionalProperties: false
+ title: Relevance Score
+ type: object
required:
- - index
- - relevance_score
+ - index
+ - relevance_score
title: RerankData
- description: >-
- A single rerank result from a reranking response.
+ description: A single rerank result from a reranking response.
RerankResponse:
- type: object
properties:
data:
- type: array
items:
$ref: '#/components/schemas/RerankData'
- description: >-
- List of rerank result objects, sorted by relevance score (descending)
- additionalProperties: false
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: RerankResponse
description: Response from a reranking request.
Checkpoint:
- type: object
properties:
identifier:
type: string
- description: Unique identifier for the checkpoint
+ title: Identifier
created_at:
type: string
format: date-time
- description: >-
- Timestamp when the checkpoint was created
+ title: Created At
epoch:
type: integer
- description: >-
- Training epoch when the checkpoint was saved
+ title: Epoch
post_training_job_id:
type: string
- description: >-
- Identifier of the training job that created this checkpoint
+ title: Post Training Job Id
path:
type: string
- description: >-
- File system path where the checkpoint is stored
+ title: Path
training_metrics:
- $ref: '#/components/schemas/PostTrainingMetric'
- description: >-
- (Optional) Training metrics associated with this checkpoint
- additionalProperties: false
- required:
- - identifier
- - created_at
- - epoch
- - post_training_job_id
- - path
+ anyOf:
+ - $ref: '#/components/schemas/PostTrainingMetric'
+ title: PostTrainingMetric
+ - type: 'null'
+ title: PostTrainingMetric
+ type: object
+ required:
+ - identifier
+ - created_at
+ - epoch
+ - post_training_job_id
+ - path
title: Checkpoint
description: Checkpoint created during training runs.
PostTrainingJobArtifactsResponse:
- type: object
properties:
job_uuid:
type: string
- description: Unique identifier for the training job
+ title: Job Uuid
checkpoints:
- type: array
items:
$ref: '#/components/schemas/Checkpoint'
- description: >-
- List of model checkpoints created during training
- additionalProperties: false
+ type: array
+ title: Checkpoints
+ type: object
required:
- - job_uuid
- - checkpoints
+ - job_uuid
title: PostTrainingJobArtifactsResponse
description: Artifacts of a finetuning job.
PostTrainingMetric:
- type: object
properties:
epoch:
type: integer
- description: Training epoch number
+ title: Epoch
train_loss:
type: number
- description: Loss value on the training dataset
+ title: Train Loss
validation_loss:
type: number
- description: Loss value on the validation dataset
+ title: Validation Loss
perplexity:
type: number
- description: >-
- Perplexity metric indicating model confidence
- additionalProperties: false
- required:
- - epoch
- - train_loss
- - validation_loss
- - perplexity
+ title: Perplexity
+ type: object
+ required:
+ - epoch
+ - train_loss
+ - validation_loss
+ - perplexity
title: PostTrainingMetric
- description: >-
- Training metrics captured during post-training jobs.
+ description: Training metrics captured during post-training jobs.
CancelTrainingJobRequest:
- type: object
properties:
job_uuid:
type: string
- description: The UUID of the job to cancel.
- additionalProperties: false
+ title: Job Uuid
+ type: object
required:
- - job_uuid
+ - job_uuid
title: CancelTrainingJobRequest
PostTrainingJobStatusResponse:
- type: object
properties:
job_uuid:
type: string
- description: Unique identifier for the training job
+ title: Job Uuid
status:
- type: string
- enum:
- - completed
- - in_progress
- - failed
- - scheduled
- - cancelled
- description: Current status of the training job
+ $ref: '#/components/schemas/JobStatus'
scheduled_at:
- type: string
- format: date-time
- description: >-
- (Optional) Timestamp when the job was scheduled
+ anyOf:
+ - type: string
+ format: date-time
+ - type: 'null'
started_at:
- type: string
- format: date-time
- description: >-
- (Optional) Timestamp when the job execution began
+ anyOf:
+ - type: string
+ format: date-time
+ - type: 'null'
completed_at:
- type: string
- format: date-time
- description: >-
- (Optional) Timestamp when the job finished, if completed
+ anyOf:
+ - type: string
+ format: date-time
+ - type: 'null'
resources_allocated:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- (Optional) Information about computational resources allocated to the
- job
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
checkpoints:
- type: array
items:
$ref: '#/components/schemas/Checkpoint'
- description: >-
- List of model checkpoints created during training
- additionalProperties: false
+ type: array
+ title: Checkpoints
+ type: object
required:
- - job_uuid
- - status
- - checkpoints
+ - job_uuid
+ - status
title: PostTrainingJobStatusResponse
description: Status of a finetuning job.
ListPostTrainingJobsResponse:
- type: object
properties:
data:
- type: array
items:
- type: object
- properties:
- job_uuid:
- type: string
- additionalProperties: false
- required:
- - job_uuid
- title: PostTrainingJob
- additionalProperties: false
+ $ref: '#/components/schemas/PostTrainingJob'
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListPostTrainingJobsResponse
DPOAlignmentConfig:
- type: object
properties:
beta:
type: number
- description: Temperature parameter for the DPO loss
+ title: Beta
loss_type:
$ref: '#/components/schemas/DPOLossType'
default: sigmoid
- description: The type of loss function to use for DPO
- additionalProperties: false
+ type: object
required:
- - beta
- - loss_type
+ - beta
title: DPOAlignmentConfig
- description: >-
- Configuration for Direct Preference Optimization (DPO) alignment.
+ description: Configuration for Direct Preference Optimization (DPO) alignment.
DPOLossType:
type: string
enum:
- - sigmoid
- - hinge
- - ipo
- - kto_pair
+ - sigmoid
+ - hinge
+ - ipo
+ - kto_pair
title: DPOLossType
DataConfig:
- type: object
properties:
dataset_id:
type: string
- description: >-
- Unique identifier for the training dataset
+ title: Dataset Id
batch_size:
type: integer
- description: Number of samples per training batch
+ title: Batch Size
shuffle:
type: boolean
- description: >-
- Whether to shuffle the dataset during training
+ title: Shuffle
data_format:
$ref: '#/components/schemas/DatasetFormat'
- description: >-
- Format of the dataset (instruct or dialog)
validation_dataset_id:
- type: string
- description: >-
- (Optional) Unique identifier for the validation dataset
+ anyOf:
+ - type: string
+ - type: 'null'
packed:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
default: false
- description: >-
- (Optional) Whether to pack multiple samples into a single sequence for
- efficiency
train_on_input:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
default: false
- description: >-
- (Optional) Whether to compute loss on input tokens as well as output tokens
- additionalProperties: false
- required:
- - dataset_id
- - batch_size
- - shuffle
- - data_format
+ type: object
+ required:
+ - dataset_id
+ - batch_size
+ - shuffle
+ - data_format
title: DataConfig
- description: >-
- Configuration for training data and data loading.
+ description: Configuration for training data and data loading.
DatasetFormat:
type: string
enum:
- - instruct
- - dialog
+ - instruct
+ - dialog
title: DatasetFormat
description: Format of the training dataset.
EfficiencyConfig:
- type: object
properties:
enable_activation_checkpointing:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
default: false
- description: >-
- (Optional) Whether to use activation checkpointing to reduce memory usage
enable_activation_offloading:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
default: false
- description: >-
- (Optional) Whether to offload activations to CPU to save GPU memory
memory_efficient_fsdp_wrap:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
default: false
- description: >-
- (Optional) Whether to use memory-efficient FSDP wrapping
fsdp_cpu_offload:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
default: false
- description: >-
- (Optional) Whether to offload FSDP parameters to CPU
- additionalProperties: false
+ type: object
title: EfficiencyConfig
- description: >-
- Configuration for memory and compute efficiency optimizations.
+ description: Configuration for memory and compute efficiency optimizations.
OptimizerConfig:
- type: object
properties:
optimizer_type:
$ref: '#/components/schemas/OptimizerType'
- description: >-
- Type of optimizer to use (adam, adamw, or sgd)
lr:
type: number
- description: Learning rate for the optimizer
+ title: Lr
weight_decay:
type: number
- description: >-
- Weight decay coefficient for regularization
+ title: Weight Decay
num_warmup_steps:
type: integer
- description: Number of steps for learning rate warmup
- additionalProperties: false
+ title: Num Warmup Steps
+ type: object
required:
- - optimizer_type
- - lr
- - weight_decay
- - num_warmup_steps
+ - optimizer_type
+ - lr
+ - weight_decay
+ - num_warmup_steps
title: OptimizerConfig
- description: >-
- Configuration parameters for the optimization algorithm.
+ description: Configuration parameters for the optimization algorithm.
OptimizerType:
type: string
enum:
- - adam
- - adamw
- - sgd
+ - adam
+ - adamw
+ - sgd
title: OptimizerType
- description: >-
- Available optimizer algorithms for training.
+ description: Available optimizer algorithms for training.
TrainingConfig:
- type: object
properties:
n_epochs:
type: integer
- description: Number of training epochs to run
+ title: N Epochs
max_steps_per_epoch:
type: integer
+ title: Max Steps Per Epoch
default: 1
- description: Maximum number of steps to run per epoch
gradient_accumulation_steps:
type: integer
+ title: Gradient Accumulation Steps
default: 1
- description: >-
- Number of steps to accumulate gradients before updating
max_validation_steps:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
default: 1
- description: >-
- (Optional) Maximum number of validation steps per epoch
data_config:
- $ref: '#/components/schemas/DataConfig'
- description: >-
- (Optional) Configuration for data loading and formatting
+ anyOf:
+ - $ref: '#/components/schemas/DataConfig'
+ title: DataConfig
+ - type: 'null'
+ title: DataConfig
optimizer_config:
- $ref: '#/components/schemas/OptimizerConfig'
- description: >-
- (Optional) Configuration for the optimization algorithm
+ anyOf:
+ - $ref: '#/components/schemas/OptimizerConfig'
+ title: OptimizerConfig
+ - type: 'null'
+ title: OptimizerConfig
efficiency_config:
- $ref: '#/components/schemas/EfficiencyConfig'
- description: >-
- (Optional) Configuration for memory and compute optimizations
+ anyOf:
+ - $ref: '#/components/schemas/EfficiencyConfig'
+ title: EfficiencyConfig
+ - type: 'null'
+ title: EfficiencyConfig
dtype:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
default: bf16
- description: >-
- (Optional) Data type for model parameters (bf16, fp16, fp32)
- additionalProperties: false
+ type: object
required:
- - n_epochs
- - max_steps_per_epoch
- - gradient_accumulation_steps
+ - n_epochs
title: TrainingConfig
- description: >-
- Comprehensive configuration for the training process.
+ description: Comprehensive configuration for the training process.
PreferenceOptimizeRequest:
- type: object
properties:
job_uuid:
type: string
- description: The UUID of the job to create.
+ title: Job Uuid
finetuned_model:
type: string
- description: The model to fine-tune.
+ title: Finetuned Model
algorithm_config:
$ref: '#/components/schemas/DPOAlignmentConfig'
- description: The algorithm configuration.
training_config:
$ref: '#/components/schemas/TrainingConfig'
- description: The training configuration.
hyperparam_search_config:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The hyperparam search configuration.
+ title: Hyperparam Search Config
logger_config:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The logger configuration.
- additionalProperties: false
- required:
- - job_uuid
- - finetuned_model
- - algorithm_config
- - training_config
- - hyperparam_search_config
- - logger_config
+ title: Logger Config
+ type: object
+ required:
+ - job_uuid
+ - finetuned_model
+ - algorithm_config
+ - training_config
+ - hyperparam_search_config
+ - logger_config
title: PreferenceOptimizeRequest
PostTrainingJob:
- type: object
properties:
job_uuid:
type: string
- additionalProperties: false
+ title: Job Uuid
+ type: object
required:
- - job_uuid
+ - job_uuid
title: PostTrainingJob
AlgorithmConfig:
- oneOf:
- - $ref: '#/components/schemas/LoraFinetuningConfig'
- - $ref: '#/components/schemas/QATFinetuningConfig'
discriminator:
- propertyName: type
mapping:
LoRA: '#/components/schemas/LoraFinetuningConfig'
QAT: '#/components/schemas/QATFinetuningConfig'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/LoraFinetuningConfig'
+ title: LoraFinetuningConfig
+ - $ref: '#/components/schemas/QATFinetuningConfig'
+ title: QATFinetuningConfig
+ title: LoraFinetuningConfig | QATFinetuningConfig
LoraFinetuningConfig:
- type: object
properties:
type:
type: string
const: LoRA
+ title: Type
default: LoRA
- description: Algorithm type identifier, always "LoRA"
lora_attn_modules:
- type: array
items:
type: string
- description: >-
- List of attention module names to apply LoRA to
+ type: array
+ title: Lora Attn Modules
apply_lora_to_mlp:
type: boolean
- description: Whether to apply LoRA to MLP layers
+ title: Apply Lora To Mlp
apply_lora_to_output:
type: boolean
- description: >-
- Whether to apply LoRA to output projection layers
+ title: Apply Lora To Output
rank:
type: integer
- description: >-
- Rank of the LoRA adaptation (lower rank = fewer parameters)
+ title: Rank
alpha:
type: integer
- description: >-
- LoRA scaling parameter that controls adaptation strength
+ title: Alpha
use_dora:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
default: false
- description: >-
- (Optional) Whether to use DoRA (Weight-Decomposed Low-Rank Adaptation)
quantize_base:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
default: false
- description: >-
- (Optional) Whether to quantize the base model weights
- additionalProperties: false
- required:
- - type
- - lora_attn_modules
- - apply_lora_to_mlp
- - apply_lora_to_output
- - rank
- - alpha
+ type: object
+ required:
+ - lora_attn_modules
+ - apply_lora_to_mlp
+ - apply_lora_to_output
+ - rank
+ - alpha
title: LoraFinetuningConfig
- description: >-
- Configuration for Low-Rank Adaptation (LoRA) fine-tuning.
+ description: Configuration for Low-Rank Adaptation (LoRA) fine-tuning.
QATFinetuningConfig:
- type: object
properties:
type:
type: string
const: QAT
+ title: Type
default: QAT
- description: Algorithm type identifier, always "QAT"
quantizer_name:
type: string
- description: >-
- Name of the quantization algorithm to use
+ title: Quantizer Name
group_size:
type: integer
- description: Size of groups for grouped quantization
- additionalProperties: false
+ title: Group Size
+ type: object
required:
- - type
- - quantizer_name
- - group_size
+ - quantizer_name
+ - group_size
title: QATFinetuningConfig
- description: >-
- Configuration for Quantization-Aware Training (QAT) fine-tuning.
+ description: Configuration for Quantization-Aware Training (QAT) fine-tuning.
SupervisedFineTuneRequest:
- type: object
properties:
job_uuid:
type: string
- description: The UUID of the job to create.
+ title: Job Uuid
training_config:
$ref: '#/components/schemas/TrainingConfig'
- description: The training configuration.
hyperparam_search_config:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The hyperparam search configuration.
+ title: Hyperparam Search Config
logger_config:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The logger configuration.
+ title: Logger Config
model:
- type: string
- description: The model to fine-tune.
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Model descriptor for training if not in provider config`
checkpoint_dir:
- type: string
- description: The directory to save checkpoint(s) to.
+ anyOf:
+ - type: string
+ - type: 'null'
algorithm_config:
- $ref: '#/components/schemas/AlgorithmConfig'
- description: The algorithm configuration.
- additionalProperties: false
- required:
- - job_uuid
- - training_config
- - hyperparam_search_config
- - logger_config
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/LoraFinetuningConfig'
+ title: LoraFinetuningConfig
+ - $ref: '#/components/schemas/QATFinetuningConfig'
+ title: QATFinetuningConfig
+ discriminator:
+ propertyName: type
+ mapping:
+ LoRA: '#/components/schemas/LoraFinetuningConfig'
+ QAT: '#/components/schemas/QATFinetuningConfig'
+ title: LoraFinetuningConfig | QATFinetuningConfig
+ - type: 'null'
+ title: Algorithm Config
+ type: object
+ required:
+ - job_uuid
+ - training_config
+ - hyperparam_search_config
+ - logger_config
title: SupervisedFineTuneRequest
RegisterModelRequest:
- type: object
properties:
model_id:
type: string
- description: The identifier of the model to register.
+ title: Model Id
provider_model_id:
- type: string
- description: >-
- The identifier of the model in the provider.
+ anyOf:
+ - type: string
+ - type: 'null'
provider_id:
- type: string
- description: The identifier of the provider.
+ anyOf:
+ - type: string
+ - type: 'null'
metadata:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: Any additional metadata for this model.
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
model_type:
- $ref: '#/components/schemas/ModelType'
- description: The type of model to register.
- additionalProperties: false
+ anyOf:
+ - $ref: '#/components/schemas/ModelType'
+ title: ModelType
+ - type: 'null'
+ title: ModelType
+ type: object
required:
- - model_id
+ - model_id
title: RegisterModelRequest
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'
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'
+ boolean: '#/components/schemas/BooleanType'
chat_completion_input: '#/components/schemas/ChatCompletionInputType'
completion_input: '#/components/schemas/CompletionInputType'
- 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
+ json: '#/components/schemas/JsonType'
+ number: '#/components/schemas/NumberType'
+ object: '#/components/schemas/ObjectType'
+ string: '#/components/schemas/StringType'
+ union: '#/components/schemas/UnionType'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/StringType'
+ title: StringType
+ - $ref: '#/components/schemas/NumberType'
+ title: NumberType
+ - $ref: '#/components/schemas/BooleanType'
+ title: BooleanType
+ - $ref: '#/components/schemas/ArrayType'
+ title: ArrayType
+ - $ref: '#/components/schemas/ObjectType'
+ title: ObjectType
+ - $ref: '#/components/schemas/JsonType'
+ title: JsonType
+ - $ref: '#/components/schemas/UnionType'
+ title: UnionType
+ - $ref: '#/components/schemas/ChatCompletionInputType'
+ title: ChatCompletionInputType
+ - $ref: '#/components/schemas/CompletionInputType'
+ title: CompletionInputType
+ title: StringType | ... (9 variants)
RegisterShieldRequest:
- type: object
properties:
shield_id:
type: string
- description: >-
- The identifier of the shield to register.
+ title: Shield Id
provider_shield_id:
- type: string
- description: >-
- The identifier of the shield in the provider.
+ anyOf:
+ - type: string
+ - type: 'null'
provider_id:
- type: string
- description: The identifier of the provider.
+ anyOf:
+ - type: string
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
required:
- - shield_id
+ - shield_id
title: RegisterShieldRequest
RegisterToolGroupRequest:
- type: object
properties:
toolgroup_id:
type: string
- description: The ID of the tool group to register.
+ title: Toolgroup Id
provider_id:
type: string
- description: >-
- The ID of the provider to use for the tool group.
+ title: Provider Id
mcp_endpoint:
- $ref: '#/components/schemas/URL'
- description: >-
- The MCP endpoint to use for the tool group.
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ title: URL
+ - type: 'null'
+ title: URL
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - toolgroup_id
+ - provider_id
title: RegisterToolGroupRequest
DataSource:
- oneOf:
- - $ref: '#/components/schemas/URIDataSource'
- - $ref: '#/components/schemas/RowsDataSource'
discriminator:
- propertyName: type
mapping:
- uri: '#/components/schemas/URIDataSource'
rows: '#/components/schemas/RowsDataSource'
- RegisterDatasetRequest:
- type: object
- properties:
- purpose:
- type: string
- enum:
- - post-training/messages
- - eval/question-answer
- - eval/messages-answer
- description: >-
- The purpose of the dataset. One of: - "post-training/messages": The dataset
- contains a messages column with list of messages for post-training. {
- "messages": [ {"role": "user", "content": "Hello, world!"}, {"role": "assistant",
- "content": "Hello, world!"}, ] } - "eval/question-answer": The dataset
- contains a question column and an answer column for evaluation. { "question":
- "What is the capital of France?", "answer": "Paris" } - "eval/messages-answer":
- The dataset contains a messages column with list of messages and an answer
- column for evaluation. { "messages": [ {"role": "user", "content": "Hello,
- my name is John Doe."}, {"role": "assistant", "content": "Hello, John
- Doe. How can I help you today?"}, {"role": "user", "content": "What's
- my name?"}, ], "answer": "John Doe" }
- source:
- $ref: '#/components/schemas/DataSource'
- description: >-
- The data source of the dataset. Ensure that the data source schema is
- compatible with the purpose of the dataset. Examples: - { "type": "uri",
- "uri": "https://mywebsite.com/mydata.jsonl" } - { "type": "uri", "uri":
- "lsfs://mydata.jsonl" } - { "type": "uri", "uri": "data:csv;base64,{base64_content}"
- } - { "type": "uri", "uri": "huggingface://llamastack/simpleqa?split=train"
- } - { "type": "rows", "rows": [ { "messages": [ {"role": "user", "content":
- "Hello, world!"}, {"role": "assistant", "content": "Hello, world!"}, ]
- } ] }
- metadata:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- The metadata for the dataset. - E.g. {"description": "My dataset"}.
- dataset_id:
- type: string
- description: >-
- The ID of the dataset. If not provided, an ID will be generated.
- additionalProperties: false
- required:
- - purpose
- - source
- title: RegisterDatasetRequest
+ uri: '#/components/schemas/URIDataSource'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/URIDataSource'
+ title: URIDataSource
+ - $ref: '#/components/schemas/RowsDataSource'
+ title: RowsDataSource
+ title: URIDataSource | RowsDataSource
RegisterBenchmarkRequest:
- type: object
properties:
benchmark_id:
type: string
- description: The ID of the benchmark to register.
+ title: Benchmark Id
dataset_id:
type: string
- description: >-
- The ID of the dataset to use for the benchmark.
+ title: Dataset Id
scoring_functions:
- type: array
items:
type: string
- description: >-
- The scoring functions to use for the benchmark.
+ type: array
+ title: Scoring Functions
provider_benchmark_id:
- type: string
- description: >-
- The ID of the provider benchmark to use for the benchmark.
+ anyOf:
+ - type: string
+ - type: 'null'
provider_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - benchmark_id
+ - dataset_id
+ - scoring_functions
+ title: RegisterBenchmarkRequest
+ AllowedToolsFilter:
+ properties:
+ tool_names:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ type: object
+ title: AllowedToolsFilter
+ description: Filter configuration for restricting which MCP tools can be used.
+ ApprovalFilter:
+ properties:
+ always:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ never:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ type: object
+ title: ApprovalFilter
+ description: Filter configuration for MCP tool approval requirements.
+ BatchError:
+ properties:
+ code:
+ anyOf:
+ - type: string
+ - type: 'null'
+ line:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ message:
+ anyOf:
+ - type: string
+ - type: 'null'
+ param:
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
+ title: BatchError
+ BatchRequestCounts:
+ properties:
+ completed:
+ type: integer
+ title: Completed
+ failed:
+ type: integer
+ title: Failed
+ total:
+ type: integer
+ title: Total
+ additionalProperties: true
+ type: object
+ required:
+ - completed
+ - failed
+ - total
+ title: BatchRequestCounts
+ BatchUsage:
+ properties:
+ input_tokens:
+ type: integer
+ title: Input Tokens
+ input_tokens_details:
+ $ref: '#/components/schemas/InputTokensDetails'
+ output_tokens:
+ type: integer
+ title: Output Tokens
+ output_tokens_details:
+ $ref: '#/components/schemas/OutputTokensDetails'
+ total_tokens:
+ type: integer
+ title: Total Tokens
+ additionalProperties: true
+ type: object
+ required:
+ - input_tokens
+ - input_tokens_details
+ - output_tokens
+ - output_tokens_details
+ - total_tokens
+ title: BatchUsage
+ Body_openai_upload_file_v1_files_post:
+ properties:
+ file:
+ type: string
+ format: binary
+ title: File
+ purpose:
+ $ref: '#/components/schemas/OpenAIFilePurpose'
+ expires_after:
+ anyOf:
+ - $ref: '#/components/schemas/ExpiresAfter'
+ title: ExpiresAfter
+ - type: 'null'
+ title: ExpiresAfter
+ type: object
+ required:
+ - file
+ - purpose
+ title: Body_openai_upload_file_v1_files_post
+ Chunk-Input:
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ type: array
+ title: list[ImageContentItem-Input | TextContentItem]
+ title: string | list[ImageContentItem-Input | TextContentItem]
+ chunk_id:
type: string
- description: >-
- The ID of the provider to use for the benchmark.
+ title: Chunk Id
metadata:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The metadata to use for the benchmark.
- additionalProperties: false
- required:
- - benchmark_id
- - dataset_id
- - scoring_functions
- title: RegisterBenchmarkRequest
- 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.
- x-displayName: Agents
- - name: Batches
- description: >-
- The API is designed to allow use of openai client libraries for seamless integration.
-
-
- This API provides the following extensions:
- - idempotent batch creation
-
- Note: This API is currently under active development and may undergo changes.
- x-displayName: >-
- The Batches API enables efficient processing of multiple requests in a single
- operation, particularly useful for processing large datasets, batch evaluation
- workflows, and cost-effective inference at scale.
- - name: Benchmarks
- description: ''
- - name: Conversations
- description: >-
- Protocol for conversation management operations.
- x-displayName: Conversations
- - name: DatasetIO
- description: ''
- - name: Datasets
- description: ''
- - name: Eval
- description: >-
- Llama Stack Evaluation API for running evaluations on model and agent candidates.
- x-displayName: Evaluations
- - name: Files
- description: >-
- This API is used to upload documents that can be used with other Llama Stack
- APIs.
- x-displayName: Files
- - name: Inference
- description: >-
- Llama Stack Inference API for generating completions, chat completions, and
- embeddings.
-
-
- This API provides the raw interface to the underlying models. Three 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.
-
- - Rerank models: these models reorder the documents based on their relevance
- to a query.
- x-displayName: Inference
- - name: Inspect
- description: >-
- APIs for inspecting the Llama Stack service, including health status, available
- API routes with methods and implementing providers.
- x-displayName: Inspect
- - name: Models
- description: ''
- - name: PostTraining (Coming Soon)
- description: ''
- - name: Prompts
- description: >-
- Protocol for prompt management operations.
- x-displayName: Prompts
- - name: Providers
- description: >-
- Providers API for inspecting, listing, and modifying providers and their configurations.
- x-displayName: Providers
- - name: Safety
- description: OpenAI-compatible Moderations API.
- x-displayName: Safety
- - name: Scoring
- description: ''
- - name: ScoringFunctions
- description: ''
- - name: Shields
- description: ''
- - name: ToolGroups
- description: ''
- - name: ToolRuntime
- description: ''
- - name: VectorIO
- description: ''
-x-tagGroups:
- - name: Operations
- tags:
- - Agents
- - Batches
- - Benchmarks
- - Conversations
- - DatasetIO
- - Datasets
- - Eval
- - Files
- - Inference
- - Inspect
- - Models
- - PostTraining (Coming Soon)
- - Prompts
- - Providers
- - Safety
- - Scoring
- - ScoringFunctions
- - Shields
- - ToolGroups
- - ToolRuntime
- - VectorIO
+ title: Metadata
+ embedding:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ chunk_metadata:
+ anyOf:
+ - $ref: '#/components/schemas/ChunkMetadata'
+ title: ChunkMetadata
+ - type: 'null'
+ title: ChunkMetadata
+ type: object
+ required:
+ - content
+ - chunk_id
+ title: Chunk
+ description: A chunk of content that can be inserted into a vector database.
+ Chunk-Output:
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ type: array
+ title: list[ImageContentItem-Output | TextContentItem]
+ title: string | list[ImageContentItem-Output | TextContentItem]
+ chunk_id:
+ type: string
+ title: Chunk Id
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ embedding:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ chunk_metadata:
+ anyOf:
+ - $ref: '#/components/schemas/ChunkMetadata'
+ title: ChunkMetadata
+ - type: 'null'
+ title: ChunkMetadata
+ type: object
+ required:
+ - content
+ - chunk_id
+ title: Chunk
+ description: A chunk of content that can be inserted into a vector database.
+ ConversationItemInclude:
+ type: string
+ enum:
+ - web_search_call.action.sources
+ - code_interpreter_call.outputs
+ - computer_call_output.output.image_url
+ - file_search_call.results
+ - message.input_image.image_url
+ - message.output_text.logprobs
+ - reasoning.encrypted_content
+ title: ConversationItemInclude
+ description: Specify additional output data to include in the model response.
+ DatasetPurpose:
+ type: string
+ enum:
+ - post-training/messages
+ - eval/question-answer
+ - eval/messages-answer
+ title: DatasetPurpose
+ description: Purpose of the dataset. Each purpose has a required input data schema.
+ Errors:
+ properties:
+ data:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/BatchError'
+ type: array
+ - type: 'null'
+ object:
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
+ title: Errors
+ HealthStatus:
+ type: string
+ enum:
+ - OK
+ - Error
+ - Not Implemented
+ title: HealthStatus
+ ImageContentItem-Input:
+ properties:
+ type:
+ type: string
+ const: image
+ title: Type
+ default: image
+ image:
+ $ref: '#/components/schemas/_URLOrData'
+ type: object
+ required:
+ - image
+ title: ImageContentItem
+ description: A image content item
+ ImageContentItem-Output:
+ properties:
+ type:
+ type: string
+ const: image
+ title: Type
+ default: image
+ image:
+ $ref: '#/components/schemas/_URLOrData'
+ type: object
+ required:
+ - image
+ title: ImageContentItem
+ description: A image content item
+ InputTokensDetails:
+ properties:
+ cached_tokens:
+ type: integer
+ title: Cached Tokens
+ additionalProperties: true
+ type: object
+ required:
+ - cached_tokens
+ title: InputTokensDetails
+ JobStatus:
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - failed
+ - scheduled
+ - cancelled
+ title: JobStatus
+ description: Status of a job execution.
+ MCPListToolsTool:
+ properties:
+ input_schema:
+ additionalProperties: true
+ type: object
+ title: Input Schema
+ name:
+ type: string
+ title: Name
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - input_schema
+ - name
+ title: MCPListToolsTool
+ description: Tool definition returned by MCP list tools operation.
+ OpenAIAssistantMessageParam-Input:
+ properties:
+ role:
+ type: string
+ const: assistant
+ title: Role
+ default: assistant
+ content:
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ - type: 'null'
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ tool_calls:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
+ type: object
+ title: OpenAIAssistantMessageParam
+ description: A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
+ OpenAIAssistantMessageParam-Output:
+ properties:
+ role:
+ type: string
+ const: assistant
+ title: Role
+ default: assistant
+ content:
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ - type: 'null'
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ tool_calls:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
+ type: object
+ title: OpenAIAssistantMessageParam
+ description: A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
+ OpenAIChatCompletionUsageCompletionTokensDetails:
+ properties:
+ reasoning_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ title: OpenAIChatCompletionUsageCompletionTokensDetails
+ description: Token details for output tokens in OpenAI chat completion usage.
+ OpenAIChatCompletionUsagePromptTokensDetails:
+ properties:
+ cached_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ title: OpenAIChatCompletionUsagePromptTokensDetails
+ description: Token details for prompt tokens in OpenAI chat completion usage.
+ OpenAIResponseMessage-Input:
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ discriminator:
+ propertyName: type
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ type: array
+ title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ title: OpenAIResponseOutputMessageContentOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ discriminator:
+ propertyName: type
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
+ type: array
+ title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ role:
+ title: Role
+ type: string
+ enum:
+ - system
+ - developer
+ - user
+ - assistant
+ default: system
+ type:
+ type: string
+ const: message
+ title: Type
+ default: message
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ status:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ - role
+ 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.
+ OpenAIResponseMessage-Output:
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ discriminator:
+ propertyName: type
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ type: array
+ title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ title: OpenAIResponseOutputMessageContentOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ discriminator:
+ propertyName: type
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
+ type: array
+ title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ role:
+ title: Role
+ type: string
+ enum:
+ - system
+ - developer
+ - user
+ - assistant
+ default: system
+ type:
+ type: string
+ const: message
+ title: Type
+ default: message
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ status:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ - role
+ 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.
+ OpenAIResponseOutputMessageFileSearchToolCallResults:
+ properties:
+ attributes:
+ additionalProperties: true
+ type: object
+ title: Attributes
+ file_id:
+ type: string
+ title: File Id
+ filename:
+ type: string
+ title: Filename
+ score:
+ type: number
+ title: Score
+ text:
+ type: string
+ title: Text
+ type: object
+ required:
+ - attributes
+ - file_id
+ - filename
+ - score
+ - text
+ title: OpenAIResponseOutputMessageFileSearchToolCallResults
+ description: Search results returned by the file search operation.
+ OpenAIResponseTextFormat:
+ properties:
+ type:
+ title: Type
+ type: string
+ enum:
+ - text
+ - json_schema
+ - json_object
+ default: text
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ schema:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ strict:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ type: object
+ title: OpenAIResponseTextFormat
+ description: Configuration for Responses API text format.
+ OpenAIResponseUsageInputTokensDetails:
+ properties:
+ cached_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ title: OpenAIResponseUsageInputTokensDetails
+ description: Token details for input tokens in OpenAI response usage.
+ OpenAIResponseUsageOutputTokensDetails:
+ properties:
+ reasoning_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ title: OpenAIResponseUsageOutputTokensDetails
+ description: Token details for output tokens in OpenAI response usage.
+ OpenAIUserMessageParam-Input:
+ properties:
+ role:
+ type: string
+ const: user
+ title: Role
+ default: user
+ content:
+ anyOf:
+ - type: string
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ discriminator:
+ propertyName: type
+ mapping:
+ file: '#/components/schemas/OpenAIFile'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ title: string | list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ title: OpenAIUserMessageParam
+ description: A message from the user in an OpenAI-compatible chat completion request.
+ OpenAIUserMessageParam-Output:
+ properties:
+ role:
+ type: string
+ const: user
+ title: Role
+ default: user
+ content:
+ anyOf:
+ - type: string
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ discriminator:
+ propertyName: type
+ mapping:
+ file: '#/components/schemas/OpenAIFile'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ title: string | list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ title: OpenAIUserMessageParam
+ description: A message from the user in an OpenAI-compatible chat completion request.
+ OutputTokensDetails:
+ properties:
+ reasoning_tokens:
+ type: integer
+ title: Reasoning Tokens
+ additionalProperties: true
+ type: object
+ required:
+ - reasoning_tokens
+ title: OutputTokensDetails
+ RegisterDatasetRequestLoose:
+ properties:
+ purpose:
+ title: Purpose
+ source:
+ title: Source
+ metadata:
+ title: Metadata
+ dataset_id:
+ title: Dataset Id
+ type: object
+ required:
+ - purpose
+ - source
+ title: RegisterDatasetRequestLoose
+ RegisterScoringFunctionRequestLoose:
+ properties:
+ scoring_fn_id:
+ title: Scoring Fn Id
+ description:
+ title: Description
+ return_type:
+ title: Return Type
+ provider_scoring_fn_id:
+ title: Provider Scoring Fn Id
+ provider_id:
+ title: Provider Id
+ params:
+ title: Params
+ type: object
+ required:
+ - scoring_fn_id
+ - description
+ - return_type
+ title: RegisterScoringFunctionRequestLoose
+ SearchRankingOptions:
+ properties:
+ ranker:
+ anyOf:
+ - type: string
+ - type: 'null'
+ score_threshold:
+ anyOf:
+ - type: number
+ - type: 'null'
+ default: 0.0
+ type: object
+ title: SearchRankingOptions
+ description: Options for ranking and filtering search results.
+ _URLOrData:
+ properties:
+ url:
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ title: URL
+ - type: 'null'
+ title: URL
+ data:
+ anyOf:
+ - type: string
+ - type: 'null'
+ contentEncoding: base64
+ type: object
+ title: _URLOrData
+ description: A URL or a base64 encoded string
+ SamplingStrategy:
+ discriminator:
+ mapping:
+ greedy: '#/components/schemas/GreedySamplingStrategy'
+ top_k: '#/components/schemas/TopKSamplingStrategy'
+ top_p: '#/components/schemas/TopPSamplingStrategy'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/GreedySamplingStrategy'
+ title: GreedySamplingStrategy
+ - $ref: '#/components/schemas/TopPSamplingStrategy'
+ title: TopPSamplingStrategy
+ - $ref: '#/components/schemas/TopKSamplingStrategy'
+ title: TopKSamplingStrategy
+ title: GreedySamplingStrategy | TopPSamplingStrategy | TopKSamplingStrategy
+ GrammarResponseFormat:
+ description: Configuration for grammar-guided response generation.
+ properties:
+ type:
+ const: grammar
+ default: grammar
+ title: Type
+ type: string
+ bnf:
+ additionalProperties: true
+ title: Bnf
+ type: object
+ required:
+ - bnf
+ title: GrammarResponseFormat
+ type: object
+ JsonSchemaResponseFormat:
+ description: Configuration for JSON schema-guided response generation.
+ properties:
+ type:
+ const: json_schema
+ default: json_schema
+ title: Type
+ type: string
+ json_schema:
+ additionalProperties: true
+ title: Json Schema
+ type: object
+ required:
+ - json_schema
+ title: JsonSchemaResponseFormat
+ type: object
+ ResponseFormat:
+ discriminator:
+ mapping:
+ grammar: '#/components/schemas/GrammarResponseFormat'
+ json_schema: '#/components/schemas/JsonSchemaResponseFormat'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/JsonSchemaResponseFormat'
+ title: JsonSchemaResponseFormat
+ - $ref: '#/components/schemas/GrammarResponseFormat'
+ title: GrammarResponseFormat
+ title: JsonSchemaResponseFormat | GrammarResponseFormat
+ OpenAIResponseContentPart:
+ discriminator:
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ reasoning_text: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ title: OpenAIResponseContentPartOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ title: OpenAIResponseContentPartReasoningText
+ title: OpenAIResponseContentPartOutputText | OpenAIResponseContentPartRefusal | OpenAIResponseContentPartReasoningText
+ SpanEndPayload:
+ description: Payload for a span end event.
+ properties:
+ type:
+ const: span_end
+ default: span_end
+ title: Type
+ type: string
+ status:
+ $ref: '#/components/schemas/SpanStatus'
+ required:
+ - status
+ title: SpanEndPayload
+ type: object
+ SpanStartPayload:
+ description: Payload for a span start event.
+ properties:
+ type:
+ const: span_start
+ default: span_start
+ title: Type
+ type: string
+ name:
+ title: Name
+ type: string
+ parent_span_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ required:
+ - name
+ title: SpanStartPayload
+ type: object
+ SpanStatus:
+ description: The status of a span indicating whether it completed successfully or with an error.
+ enum:
+ - ok
+ - error
+ title: SpanStatus
+ type: string
+ StructuredLogPayload:
+ discriminator:
+ mapping:
+ span_end: '#/components/schemas/SpanEndPayload'
+ span_start: '#/components/schemas/SpanStartPayload'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/SpanStartPayload'
+ title: SpanStartPayload
+ - $ref: '#/components/schemas/SpanEndPayload'
+ title: SpanEndPayload
+ title: SpanStartPayload | SpanEndPayload
+ LogSeverity:
+ description: The severity level of a log message.
+ enum:
+ - verbose
+ - debug
+ - info
+ - warn
+ - error
+ - critical
+ title: LogSeverity
+ type: string
+ MetricEvent:
+ description: A metric event containing a measured value.
+ properties:
+ trace_id:
+ title: Trace Id
+ type: string
+ span_id:
+ title: Span Id
+ type: string
+ timestamp:
+ format: date-time
+ title: Timestamp
+ type: string
+ attributes:
+ anyOf:
+ - additionalProperties:
+ anyOf:
+ - type: string
+ - type: integer
+ - type: number
+ - type: boolean
+ - type: 'null'
+ title: string | ... (4 variants)
+ type: object
+ - type: 'null'
+ type:
+ const: metric
+ default: metric
+ title: Type
+ type: string
+ metric:
+ title: Metric
+ type: string
+ value:
+ anyOf:
+ - type: integer
+ - type: number
+ title: integer | number
+ unit:
+ title: Unit
+ type: string
+ required:
+ - trace_id
+ - span_id
+ - timestamp
+ - metric
+ - value
+ - unit
+ title: MetricEvent
+ type: object
+ StructuredLogEvent:
+ description: A structured log event containing typed payload data.
+ properties:
+ trace_id:
+ title: Trace Id
+ type: string
+ span_id:
+ title: Span Id
+ type: string
+ timestamp:
+ format: date-time
+ title: Timestamp
+ type: string
+ attributes:
+ anyOf:
+ - additionalProperties:
+ anyOf:
+ - type: string
+ - type: integer
+ - type: number
+ - type: boolean
+ - type: 'null'
+ title: string | ... (4 variants)
+ type: object
+ - type: 'null'
+ type:
+ const: structured_log
+ default: structured_log
+ title: Type
+ type: string
+ payload:
+ discriminator:
+ mapping:
+ span_end: '#/components/schemas/SpanEndPayload'
+ span_start: '#/components/schemas/SpanStartPayload'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/SpanStartPayload'
+ title: SpanStartPayload
+ - $ref: '#/components/schemas/SpanEndPayload'
+ title: SpanEndPayload
+ title: SpanStartPayload | SpanEndPayload
+ required:
+ - trace_id
+ - span_id
+ - timestamp
+ - payload
+ title: StructuredLogEvent
+ type: object
+ UnstructuredLogEvent:
+ description: An unstructured log event containing a simple text message.
+ properties:
+ trace_id:
+ title: Trace Id
+ type: string
+ span_id:
+ title: Span Id
+ type: string
+ timestamp:
+ format: date-time
+ title: Timestamp
+ type: string
+ attributes:
+ anyOf:
+ - additionalProperties:
+ anyOf:
+ - type: string
+ - type: integer
+ - type: number
+ - type: boolean
+ - type: 'null'
+ title: string | ... (4 variants)
+ type: object
+ - type: 'null'
+ type:
+ const: unstructured_log
+ default: unstructured_log
+ title: Type
+ type: string
+ message:
+ title: Message
+ type: string
+ severity:
+ $ref: '#/components/schemas/LogSeverity'
+ required:
+ - trace_id
+ - span_id
+ - timestamp
+ - message
+ - severity
+ title: UnstructuredLogEvent
+ type: object
+ Event:
+ discriminator:
+ mapping:
+ metric: '#/components/schemas/MetricEvent'
+ structured_log: '#/components/schemas/StructuredLogEvent'
+ unstructured_log: '#/components/schemas/UnstructuredLogEvent'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/UnstructuredLogEvent'
+ title: UnstructuredLogEvent
+ - $ref: '#/components/schemas/MetricEvent'
+ title: MetricEvent
+ - $ref: '#/components/schemas/StructuredLogEvent'
+ title: StructuredLogEvent
+ title: UnstructuredLogEvent | MetricEvent | StructuredLogEvent
+ MetricInResponse:
+ description: A metric value included in API responses.
+ properties:
+ metric:
+ title: Metric
+ type: string
+ value:
+ anyOf:
+ - type: integer
+ - type: number
+ title: integer | number
+ unit:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ required:
+ - metric
+ - value
+ title: MetricInResponse
+ type: object
+ TextDelta:
+ description: A text content delta for streaming responses.
+ properties:
+ type:
+ const: text
+ default: text
+ title: Type
+ type: string
+ text:
+ title: Text
+ type: string
+ required:
+ - text
+ title: TextDelta
+ type: object
+ ImageDelta:
+ description: An image content delta for streaming responses.
+ properties:
+ type:
+ const: image
+ default: image
+ title: Type
+ type: string
+ image:
+ format: binary
+ title: Image
+ type: string
+ required:
+ - image
+ title: ImageDelta
+ type: object
+ Fp8QuantizationConfig:
+ description: Configuration for 8-bit floating point quantization.
+ properties:
+ type:
+ const: fp8_mixed
+ default: fp8_mixed
+ title: Type
+ type: string
+ title: Fp8QuantizationConfig
+ type: object
+ Bf16QuantizationConfig:
+ description: Configuration for BFloat16 precision (typically no quantization).
+ properties:
+ type:
+ const: bf16
+ default: bf16
+ title: Type
+ type: string
+ title: Bf16QuantizationConfig
+ type: object
+ Int4QuantizationConfig:
+ description: Configuration for 4-bit integer quantization.
+ properties:
+ type:
+ const: int4_mixed
+ default: int4_mixed
+ title: Type
+ type: string
+ scheme:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: int4_weight_int8_dynamic_activation
+ title: Int4QuantizationConfig
+ type: object
+ UserMessage:
+ description: A message from the user in a chat conversation.
+ properties:
+ role:
+ const: user
+ default: user
+ title: Role
+ type: string
+ content:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
+ context:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ - type: 'null'
+ title: string | list[ImageContentItem | TextContentItem]
+ nullable: true
+ required:
+ - content
+ title: UserMessage
+ type: object
+ ToolResponseMessage:
+ description: A message representing the result of a tool invocation.
+ properties:
+ role:
+ const: tool
+ default: tool
+ title: Role
+ type: string
+ call_id:
+ title: Call Id
+ type: string
+ content:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
+ required:
+ - call_id
+ - content
+ title: ToolResponseMessage
+ type: object
+ TokenLogProbs:
+ description: Log probabilities for generated tokens.
+ properties:
+ logprobs_by_token:
+ additionalProperties:
+ type: number
+ title: Logprobs By Token
+ type: object
+ required:
+ - logprobs_by_token
+ title: TokenLogProbs
+ type: object
+ EmbeddingsResponse:
+ description: Response containing generated embeddings.
+ properties:
+ embeddings:
+ items:
+ items:
+ type: number
+ type: array
+ title: Embeddings
+ type: array
+ required:
+ - embeddings
+ title: EmbeddingsResponse
+ type: object
+ OpenAICompletionLogprobs:
+ description: |-
+ The log probabilities for the tokens in the message from an OpenAI-compatible completion response.
+
+ :text_offset: (Optional) The offset of the token in the text
+ :token_logprobs: (Optional) The log probabilities for the tokens
+ :tokens: (Optional) The tokens
+ :top_logprobs: (Optional) The top log probabilities for the tokens
+ properties:
+ text_offset:
+ anyOf:
+ - items:
+ type: integer
+ type: array
+ - type: 'null'
+ nullable: true
+ token_logprobs:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ nullable: true
+ tokens:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ nullable: true
+ top_logprobs:
+ anyOf:
+ - items:
+ additionalProperties:
+ type: number
+ type: object
+ type: array
+ - type: 'null'
+ nullable: true
+ title: OpenAICompletionLogprobs
+ type: object
+ VectorStoreCreateRequest:
+ description: Request to create a vector store.
+ properties:
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ file_ids:
+ items:
+ type: string
+ title: File Ids
+ type: array
+ expires_after:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ chunking_strategy:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ metadata:
+ additionalProperties: true
+ title: Metadata
+ type: object
+ title: VectorStoreCreateRequest
+ type: object
+ VectorStoreModifyRequest:
+ description: Request to modify a vector store.
+ properties:
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ expires_after:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ title: VectorStoreModifyRequest
+ type: object
+ VectorStoreSearchRequest:
+ description: Request to search a vector store.
+ properties:
+ query:
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ title: string | list[string]
+ filters:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ max_num_results:
+ default: 10
+ title: Max Num Results
+ type: integer
+ ranking_options:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ rewrite_query:
+ default: false
+ title: Rewrite Query
+ type: boolean
+ required:
+ - query
+ title: VectorStoreSearchRequest
+ type: object
+ DialogType:
+ description: Parameter type for dialog data with semantic output labels.
+ properties:
+ type:
+ const: dialog
+ default: dialog
+ title: Type
+ type: string
+ title: DialogType
+ type: object
+ ConversationMessage:
+ description: OpenAI-compatible message item for conversations.
+ properties:
+ id:
+ description: unique identifier for this message
+ title: Id
+ type: string
+ content:
+ description: message content
+ items:
+ additionalProperties: true
+ type: object
+ title: Content
+ type: array
+ role:
+ description: message role
+ title: Role
+ type: string
+ status:
+ description: message status
+ title: Status
+ type: string
+ type:
+ const: message
+ default: message
+ title: Type
+ type: string
+ object:
+ const: message
+ default: message
+ title: Object
+ type: string
+ required:
+ - id
+ - content
+ - role
+ - status
+ title: ConversationMessage
+ type: object
+ ConversationItemCreateRequest:
+ description: Request body for creating conversation items.
+ properties:
+ items:
+ description: Items to include in the conversation context. You may add up to 20 items at a time.
+ items:
+ discriminator:
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ title: OpenAIResponseMessage | ... (9 variants)
+ maxItems: 20
+ title: Items
+ type: array
+ required:
+ - items
+ title: ConversationItemCreateRequest
+ type: object
+ ToolGroupInput:
+ description: Input data for registering a tool group.
+ properties:
+ toolgroup_id:
+ title: Toolgroup Id
+ type: string
+ provider_id:
+ title: Provider Id
+ type: string
+ args:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ mcp_endpoint:
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ title: URL
+ - type: 'null'
+ nullable: true
+ title: URL
+ required:
+ - toolgroup_id
+ - provider_id
+ title: ToolGroupInput
+ type: object
+ Api:
+ description: Enumeration of all available APIs in the Llama Stack system.
+ enum:
+ - providers
+ - inference
+ - safety
+ - agents
+ - batches
+ - vector_io
+ - datasetio
+ - scoring
+ - eval
+ - post_training
+ - tool_runtime
+ - models
+ - shields
+ - vector_stores
+ - datasets
+ - scoring_functions
+ - benchmarks
+ - tool_groups
+ - files
+ - prompts
+ - conversations
+ - inspect
+ title: Api
+ type: string
+ ProviderSpec:
+ properties:
+ api:
+ $ref: '#/components/schemas/Api'
+ provider_type:
+ title: Provider Type
+ type: string
+ config_class:
+ description: Fully-qualified classname of the config for this provider
+ title: Config Class
+ type: string
+ api_dependencies:
+ description: Higher-level API surfaces may depend on other providers to provide their functionality
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Api Dependencies
+ type: array
+ optional_api_dependencies:
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Optional Api Dependencies
+ type: array
+ deprecation_warning:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated, specify the warning message here
+ nullable: true
+ deprecation_error:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated and does NOT work, specify the error message here
+ nullable: true
+ module:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2-
+
+ Fully-qualified name of the module to import. The module is expected to have:
+
+ - `get_adapter_impl(config, deps)`: returns the adapter implementation
+
+ Example: `module: ramalama_stack`
+
+ nullable: true
+ pip_packages:
+ description: The pip dependencies needed for this implementation
+ items:
+ type: string
+ title: Pip Packages
+ type: array
+ provider_data_validator:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ is_external:
+ default: false
+ description: Notes whether this provider is an external provider.
+ title: Is External
+ type: boolean
+ deps__:
+ items:
+ type: string
+ title: Deps
+ type: array
+ required:
+ - api
+ - provider_type
+ - config_class
+ title: ProviderSpec
+ type: object
+ InlineProviderSpec:
+ properties:
+ api:
+ $ref: '#/components/schemas/Api'
+ provider_type:
+ title: Provider Type
+ type: string
+ config_class:
+ description: Fully-qualified classname of the config for this provider
+ title: Config Class
+ type: string
+ api_dependencies:
+ description: Higher-level API surfaces may depend on other providers to provide their functionality
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Api Dependencies
+ type: array
+ optional_api_dependencies:
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Optional Api Dependencies
+ type: array
+ deprecation_warning:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated, specify the warning message here
+ nullable: true
+ deprecation_error:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated and does NOT work, specify the error message here
+ nullable: true
+ module:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2-
+
+ Fully-qualified name of the module to import. The module is expected to have:
+
+ - `get_adapter_impl(config, deps)`: returns the adapter implementation
+
+ Example: `module: ramalama_stack`
+
+ nullable: true
+ pip_packages:
+ description: The pip dependencies needed for this implementation
+ items:
+ type: string
+ title: Pip Packages
+ type: array
+ provider_data_validator:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ is_external:
+ default: false
+ description: Notes whether this provider is an external provider.
+ title: Is External
+ type: boolean
+ deps__:
+ items:
+ type: string
+ title: Deps
+ type: array
+ container_image:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2
+
+ The container image to use for this implementation. If one is provided, pip_packages will be ignored.
+ If a provider depends on other providers, the dependencies MUST NOT specify a container image.
+ nullable: true
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2
+
+ A description of the provider. This is used to display in the documentation.
+ nullable: true
+ required:
+ - api
+ - provider_type
+ - config_class
+ title: InlineProviderSpec
+ type: object
+ RemoteProviderSpec:
+ properties:
+ api:
+ $ref: '#/components/schemas/Api'
+ provider_type:
+ title: Provider Type
+ type: string
+ config_class:
+ description: Fully-qualified classname of the config for this provider
+ title: Config Class
+ type: string
+ api_dependencies:
+ description: Higher-level API surfaces may depend on other providers to provide their functionality
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Api Dependencies
+ type: array
+ optional_api_dependencies:
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Optional Api Dependencies
+ type: array
+ deprecation_warning:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated, specify the warning message here
+ nullable: true
+ deprecation_error:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated and does NOT work, specify the error message here
+ nullable: true
+ module:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2-
+
+ Fully-qualified name of the module to import. The module is expected to have:
+
+ - `get_adapter_impl(config, deps)`: returns the adapter implementation
+
+ Example: `module: ramalama_stack`
+
+ nullable: true
+ pip_packages:
+ description: The pip dependencies needed for this implementation
+ items:
+ type: string
+ title: Pip Packages
+ type: array
+ provider_data_validator:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ is_external:
+ default: false
+ description: Notes whether this provider is an external provider.
+ title: Is External
+ type: boolean
+ deps__:
+ items:
+ type: string
+ title: Deps
+ type: array
+ adapter_type:
+ description: Unique identifier for this adapter
+ title: Adapter Type
+ type: string
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2
+
+ A description of the provider. This is used to display in the documentation.
+ nullable: true
+ required:
+ - api
+ - provider_type
+ - config_class
+ - adapter_type
+ title: RemoteProviderSpec
+ type: object
+ PostTrainingJobLogStream:
+ description: Stream of logs from a finetuning job.
+ properties:
+ job_uuid:
+ title: Job Uuid
+ type: string
+ log_lines:
+ items:
+ type: string
+ title: Log Lines
+ type: array
+ required:
+ - job_uuid
+ - log_lines
+ title: PostTrainingJobLogStream
+ type: object
+ RLHFAlgorithm:
+ description: Available reinforcement learning from human feedback algorithms.
+ enum:
+ - dpo
+ title: RLHFAlgorithm
+ type: string
+ PostTrainingRLHFRequest:
+ description: Request to finetune a model using reinforcement learning from human feedback.
+ properties:
+ job_uuid:
+ title: Job Uuid
+ type: string
+ finetuned_model:
+ $ref: '#/components/schemas/URL'
+ dataset_id:
+ title: Dataset Id
+ type: string
+ validation_dataset_id:
+ title: Validation Dataset Id
+ type: string
+ algorithm:
+ $ref: '#/components/schemas/RLHFAlgorithm'
+ algorithm_config:
+ $ref: '#/components/schemas/DPOAlignmentConfig'
+ optimizer_config:
+ $ref: '#/components/schemas/OptimizerConfig'
+ training_config:
+ $ref: '#/components/schemas/TrainingConfig'
+ hyperparam_search_config:
+ additionalProperties: true
+ title: Hyperparam Search Config
+ type: object
+ logger_config:
+ additionalProperties: true
+ title: Logger Config
+ type: object
+ required:
+ - job_uuid
+ - finetuned_model
+ - dataset_id
+ - validation_dataset_id
+ - algorithm
+ - algorithm_config
+ - optimizer_config
+ - training_config
+ - hyperparam_search_config
+ - logger_config
+ title: PostTrainingRLHFRequest
+ type: object
+ Span:
+ description: A span representing a single operation within a trace.
+ properties:
+ span_id:
+ title: Span Id
+ type: string
+ trace_id:
+ title: Trace Id
+ type: string
+ parent_span_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ name:
+ title: Name
+ type: string
+ start_time:
+ format: date-time
+ title: Start Time
+ type: string
+ end_time:
+ anyOf:
+ - format: date-time
+ type: string
+ - type: 'null'
+ nullable: true
+ attributes:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ required:
+ - span_id
+ - trace_id
+ - name
+ - start_time
+ title: Span
+ type: object
+ Trace:
+ description: A trace representing the complete execution path of a request across multiple operations.
+ properties:
+ trace_id:
+ title: Trace Id
+ type: string
+ root_span_id:
+ title: Root Span Id
+ type: string
+ start_time:
+ format: date-time
+ title: Start Time
+ type: string
+ end_time:
+ anyOf:
+ - format: date-time
+ type: string
+ - type: 'null'
+ nullable: true
+ required:
+ - trace_id
+ - root_span_id
+ - start_time
+ title: Trace
+ type: object
+ EventType:
+ description: The type of telemetry event being logged.
+ enum:
+ - unstructured_log
+ - structured_log
+ - metric
+ title: EventType
+ type: string
+ StructuredLogType:
+ description: The type of structured log event payload.
+ enum:
+ - span_start
+ - span_end
+ title: StructuredLogType
+ type: string
+ EvalTrace:
+ description: A trace record for evaluation purposes.
+ properties:
+ session_id:
+ title: Session Id
+ type: string
+ step:
+ title: Step
+ type: string
+ input:
+ title: Input
+ type: string
+ output:
+ title: Output
+ type: string
+ expected_output:
+ title: Expected Output
+ type: string
+ required:
+ - session_id
+ - step
+ - input
+ - output
+ - expected_output
+ title: EvalTrace
+ type: object
+ SpanWithStatus:
+ description: A span that includes status information.
+ properties:
+ span_id:
+ title: Span Id
+ type: string
+ trace_id:
+ title: Trace Id
+ type: string
+ parent_span_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ name:
+ title: Name
+ type: string
+ start_time:
+ format: date-time
+ title: Start Time
+ type: string
+ end_time:
+ anyOf:
+ - format: date-time
+ type: string
+ - type: 'null'
+ nullable: true
+ attributes:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ status:
+ anyOf:
+ - $ref: '#/components/schemas/SpanStatus'
+ title: SpanStatus
+ - type: 'null'
+ nullable: true
+ title: SpanStatus
+ required:
+ - span_id
+ - trace_id
+ - name
+ - start_time
+ title: SpanWithStatus
+ type: object
+ QueryConditionOp:
+ description: Comparison operators for query conditions.
+ enum:
+ - eq
+ - ne
+ - gt
+ - lt
+ title: QueryConditionOp
+ type: string
+ QueryCondition:
+ description: A condition for filtering query results.
+ properties:
+ key:
+ title: Key
+ type: string
+ op:
+ $ref: '#/components/schemas/QueryConditionOp'
+ value:
+ title: Value
+ required:
+ - key
+ - op
+ - value
+ title: QueryCondition
+ type: object
+ MetricLabel:
+ description: A label associated with a metric.
+ properties:
+ name:
+ title: Name
+ type: string
+ value:
+ title: Value
+ type: string
+ required:
+ - name
+ - value
+ title: MetricLabel
+ type: object
+ MetricDataPoint:
+ description: A single data point in a metric time series.
+ properties:
+ timestamp:
+ title: Timestamp
+ type: integer
+ value:
+ title: Value
+ type: number
+ unit:
+ title: Unit
+ type: string
+ required:
+ - timestamp
+ - value
+ - unit
+ title: MetricDataPoint
+ type: object
+ MetricSeries:
+ description: A time series of metric data points.
+ properties:
+ metric:
+ title: Metric
+ type: string
+ labels:
+ items:
+ $ref: '#/components/schemas/MetricLabel'
+ title: Labels
+ type: array
+ values:
+ items:
+ $ref: '#/components/schemas/MetricDataPoint'
+ title: Values
+ type: array
+ required:
+ - metric
+ - labels
+ - values
+ title: MetricSeries
+ type: object
+ 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
+ DefaultError:
+ description: An error occurred
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+tags:
+- description: APIs for creating and interacting with agentic systems.
+ name: Agents
+ x-displayName: Agents
+- description: |-
+ The API is designed to allow use of openai client libraries for seamless integration.
+
+ This API provides the following extensions:
+ - idempotent batch creation
+
+ Note: This API is currently under active development and may undergo changes.
+ name: Batches
+ x-displayName: The Batches API enables efficient processing of multiple requests in a single operation, particularly useful for processing large datasets, batch evaluation workflows, and cost-effective inference at scale.
+- description: ''
+ name: Benchmarks
+- description: Protocol for conversation management operations.
+ name: Conversations
+ x-displayName: Conversations
+- description: ''
+ name: DatasetIO
+- description: ''
+ name: Datasets
+- description: Llama Stack Evaluation API for running evaluations on model and agent candidates.
+ name: Eval
+ x-displayName: Evaluations
+- description: This API is used to upload documents that can be used with other Llama Stack APIs.
+ name: Files
+ x-displayName: Files
+- description: |-
+ Llama Stack Inference API for generating completions, chat completions, and embeddings.
+
+ This API provides the raw interface to the underlying models. Three 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.
+ - Rerank models: these models reorder the documents based on their relevance to a query.
+ name: Inference
+ x-displayName: Inference
+- description: APIs for inspecting the Llama Stack service, including health status, available API routes with methods and implementing providers.
+ name: Inspect
+ x-displayName: Inspect
+- description: ''
+ name: Models
+- description: ''
+ name: PostTraining (Coming Soon)
+- description: Protocol for prompt management operations.
+ name: Prompts
+ x-displayName: Prompts
+- description: Providers API for inspecting, listing, and modifying providers and their configurations.
+ name: Providers
+ x-displayName: Providers
+- description: OpenAI-compatible Moderations API.
+ name: Safety
+ x-displayName: Safety
+- description: ''
+ name: Scoring
+- description: ''
+ name: ScoringFunctions
+- description: ''
+ name: Shields
+- description: ''
+ name: ToolGroups
+- description: ''
+ name: ToolRuntime
+- description: ''
+ name: VectorIO
+x-tagGroups:
+- name: Operations
+ tags:
+ - Agents
+ - Batches
+ - Benchmarks
+ - Conversations
+ - DatasetIO
+ - Datasets
+ - Eval
+ - Files
+ - Inference
+ - Inspect
+ - Models
+ - PostTraining (Coming Soon)
+ - Prompts
+ - Providers
+ - Safety
+ - Scoring
+ - ScoringFunctions
+ - Shields
+ - ToolGroups
+ - ToolRuntime
+ - VectorIO
+security:
+- Default: []
diff --git a/docs/openapi_generator/README.md b/docs/openapi_generator/README.md
deleted file mode 100644
index 85021d911e..0000000000
--- a/docs/openapi_generator/README.md
+++ /dev/null
@@ -1 +0,0 @@
-The RFC Specification (OpenAPI format) is generated from the set of API endpoints located in `llama_stack.core/server/endpoints.py` using the `generate.py` utility.
diff --git a/docs/openapi_generator/generate.py b/docs/openapi_generator/generate.py
deleted file mode 100644
index 769db32a74..0000000000
--- a/docs/openapi_generator/generate.py
+++ /dev/null
@@ -1,134 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described found in the
-# LICENSE file in the root directory of this source tree.
-
-from datetime import datetime
-from pathlib import Path
-import sys
-import fire
-import ruamel.yaml as yaml
-
-from llama_stack_api import LLAMA_STACK_API_V1 # noqa: E402
-from llama_stack.core.stack import LlamaStack # noqa: E402
-
-from .pyopenapi.options import Options # noqa: E402
-from .pyopenapi.specification import Info, Server # noqa: E402
-from .pyopenapi.utility import Specification, validate_api # noqa: E402
-
-
-def str_presenter(dumper, data):
- if data.startswith(f"/{LLAMA_STACK_API_V1}") or data.startswith(
- "#/components/schemas/"
- ):
- style = None
- else:
- style = ">" if "\n" in data or len(data) > 40 else None
- return dumper.represent_scalar("tag:yaml.org,2002:str", data, style=style)
-
-
-def generate_spec(output_dir: Path, stability_filter: str = None, main_spec: bool = False, combined_spec: bool = False):
- """Generate OpenAPI spec with optional stability filtering."""
-
- if combined_spec:
- # Special case for combined stable + experimental APIs
- title_suffix = " - Stable & Experimental APIs"
- filename_prefix = "stainless-"
- description_suffix = "\n\n**🔗 COMBINED**: This specification includes both stable production-ready APIs and experimental pre-release APIs. Use stable APIs for production deployments and experimental APIs for testing new features."
- # Use the special "stainless" filter to include stable + experimental APIs
- stability_filter = "stainless"
- elif stability_filter:
- title_suffix = {
- "stable": " - Stable APIs" if not main_spec else "",
- "experimental": " - Experimental APIs",
- "deprecated": " - Deprecated APIs"
- }.get(stability_filter, f" - {stability_filter.title()} APIs")
-
- # Use main spec filename for stable when main_spec=True
- if main_spec and stability_filter == "stable":
- filename_prefix = ""
- else:
- filename_prefix = f"{stability_filter}-"
-
- description_suffix = {
- "stable": "\n\n**✅ STABLE**: Production-ready APIs with backward compatibility guarantees.",
- "experimental": "\n\n**🧪 EXPERIMENTAL**: Pre-release APIs (v1alpha, v1beta) that may change before becoming stable.",
- "deprecated": "\n\n**⚠️ DEPRECATED**: Legacy APIs that may be removed in future versions. Use for migration reference only."
- }.get(stability_filter, "")
- else:
- title_suffix = ""
- filename_prefix = ""
- description_suffix = ""
-
- spec = Specification(
- LlamaStack,
- Options(
- server=Server(url="http://any-hosted-llama-stack.com"),
- info=Info(
- title=f"Llama Stack Specification{title_suffix}",
- version=LLAMA_STACK_API_V1,
- description=f"""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.{description_suffix}""",
- ),
- include_standard_error_responses=True,
- stability_filter=stability_filter, # Pass the filter to the generator
- ),
- )
-
- yaml_filename = f"{filename_prefix}llama-stack-spec.yaml"
-
- with open(output_dir / yaml_filename, "w", encoding="utf-8") as fp:
- y = yaml.YAML()
- y.default_flow_style = False
- y.block_seq_indent = 2
- y.map_indent = 2
- y.sequence_indent = 4
- y.sequence_dash_offset = 2
- y.width = 80
- y.allow_unicode = True
- y.representer.add_representer(str, str_presenter)
-
- y.dump(
- spec.get_json(),
- fp,
- )
-
-def main(output_dir: str):
- output_dir = Path(output_dir)
- if not output_dir.exists():
- raise ValueError(f"Directory {output_dir} does not exist")
-
- # Validate API protocols before generating spec
- return_type_errors = validate_api()
- if return_type_errors:
- print("\nAPI Method Return Type Validation Errors:\n")
- for error in return_type_errors:
- print(error, file=sys.stderr)
- sys.exit(1)
-
- now = str(datetime.now())
- print(f"Converting the spec to YAML (openapi.yaml) and HTML (openapi.html) at {now}")
- print("")
-
- # Generate main spec as stable APIs (llama-stack-spec.yaml)
- print("Generating main specification (stable APIs)...")
- generate_spec(output_dir, "stable", main_spec=True)
-
- print("Generating other stability-filtered specifications...")
- generate_spec(output_dir, "experimental")
- generate_spec(output_dir, "deprecated")
-
- print("Generating combined stable + experimental specification...")
- generate_spec(output_dir, combined_spec=True)
-
-
-if __name__ == "__main__":
- fire.Fire(main)
diff --git a/docs/openapi_generator/pyopenapi/README.md b/docs/openapi_generator/pyopenapi/README.md
deleted file mode 100644
index 1b5fbce197..0000000000
--- a/docs/openapi_generator/pyopenapi/README.md
+++ /dev/null
@@ -1 +0,0 @@
-This is forked from https://github.com/hunyadi/pyopenapi
diff --git a/docs/openapi_generator/pyopenapi/generator.py b/docs/openapi_generator/pyopenapi/generator.py
deleted file mode 100644
index 9b5f76e2a4..0000000000
--- a/docs/openapi_generator/pyopenapi/generator.py
+++ /dev/null
@@ -1,1175 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-import hashlib
-import inspect
-import ipaddress
-import os
-import types
-import typing
-from dataclasses import make_dataclass
-from pathlib import Path
-from typing import Annotated, Any, Dict, get_args, get_origin, Set, Union
-
-from fastapi import UploadFile
-
-from llama_stack_api import (
- Docstring,
- Error,
- JsonSchemaGenerator,
- JsonType,
- Schema,
- SchemaOptions,
- get_schema_identifier,
- is_generic_list,
- is_type_optional,
- is_type_union,
- is_unwrapped_body_param,
- json_dump_string,
- object_to_json,
- parse_type,
- python_type_to_name,
- register_schema,
- unwrap_generic_list,
- unwrap_optional_type,
- unwrap_union_types,
-)
-from pydantic import BaseModel
-
-from .operations import (
- EndpointOperation,
- get_endpoint_events,
- get_endpoint_operations,
- HTTPMethod,
-)
-from .options import *
-from .specification import (
- Components,
- Document,
- Example,
- ExampleRef,
- ExtraBodyParameter,
- MediaType,
- Operation,
- Parameter,
- ParameterLocation,
- PathItem,
- RequestBody,
- Response,
- ResponseRef,
- SchemaOrRef,
- SchemaRef,
- Tag,
- TagGroup,
-)
-
-register_schema(
- ipaddress.IPv4Address,
- schema={
- "type": "string",
- "format": "ipv4",
- "title": "IPv4 address",
- "description": "IPv4 address, according to dotted-quad ABNF syntax as defined in RFC 2673, section 3.2.",
- },
- examples=["192.0.2.0", "198.51.100.1", "203.0.113.255"],
-)
-
-register_schema(
- ipaddress.IPv6Address,
- schema={
- "type": "string",
- "format": "ipv6",
- "title": "IPv6 address",
- "description": "IPv6 address, as defined in RFC 2373, section 2.2.",
- },
- examples=[
- "FEDC:BA98:7654:3210:FEDC:BA98:7654:3210",
- "1080:0:0:0:8:800:200C:417A",
- "1080::8:800:200C:417A",
- "FF01::101",
- "::1",
- ],
-)
-
-
-def http_status_to_string(status_code: HTTPStatusCode) -> str:
- "Converts an HTTP status code to a string."
-
- if isinstance(status_code, HTTPStatus):
- return str(status_code.value)
- elif isinstance(status_code, int):
- return str(status_code)
- elif isinstance(status_code, str):
- return status_code
- else:
- raise TypeError("expected: HTTP status code")
-
-
-class SchemaBuilder:
- schema_generator: JsonSchemaGenerator
- schemas: Dict[str, Schema]
-
- def __init__(self, schema_generator: JsonSchemaGenerator) -> None:
- self.schema_generator = schema_generator
- self.schemas = {}
-
- def classdef_to_schema(self, typ: type) -> Schema:
- """
- Converts a type to a JSON schema.
- For nested types found in the type hierarchy, adds the type to the schema registry in the OpenAPI specification section `components`.
- """
-
- type_schema, type_definitions = self.schema_generator.classdef_to_schema(typ)
-
- # append schema to list of known schemas, to be used in OpenAPI's Components Object section
- for ref, schema in type_definitions.items():
- self._add_ref(ref, schema)
-
- return type_schema
-
- def classdef_to_named_schema(self, name: str, typ: type) -> Schema:
- schema = self.classdef_to_schema(typ)
- self._add_ref(name, schema)
- return schema
-
- def classdef_to_ref(self, typ: type) -> SchemaOrRef:
- """
- Converts a type to a JSON schema, and if possible, returns a schema reference.
- For composite types (such as classes), adds the type to the schema registry in the OpenAPI specification section `components`.
- """
-
- type_schema = self.classdef_to_schema(typ)
- if typ is str or typ is int or typ is float:
- # represent simple types as themselves
- return type_schema
-
- type_name = get_schema_identifier(typ)
- if type_name is not None:
- return self._build_ref(type_name, type_schema)
-
- try:
- type_name = python_type_to_name(typ)
- return self._build_ref(type_name, type_schema)
- except TypeError:
- pass
-
- return type_schema
-
- def _build_ref(self, type_name: str, type_schema: Schema) -> SchemaRef:
- self._add_ref(type_name, type_schema)
- return SchemaRef(type_name)
-
- def _add_ref(self, type_name: str, type_schema: Schema) -> None:
- if type_name not in self.schemas:
- self.schemas[type_name] = type_schema
-
-
-class ContentBuilder:
- schema_builder: SchemaBuilder
- schema_transformer: Optional[Callable[[SchemaOrRef], SchemaOrRef]]
- sample_transformer: Optional[Callable[[JsonType], JsonType]]
-
- def __init__(
- self,
- schema_builder: SchemaBuilder,
- schema_transformer: Optional[Callable[[SchemaOrRef], SchemaOrRef]] = None,
- sample_transformer: Optional[Callable[[JsonType], JsonType]] = None,
- ) -> None:
- self.schema_builder = schema_builder
- self.schema_transformer = schema_transformer
- self.sample_transformer = sample_transformer
-
- def build_content(
- self, payload_type: type, examples: Optional[List[Any]] = None
- ) -> Dict[str, MediaType]:
- "Creates the content subtree for a request or response."
-
- def is_iterator_type(t):
- return "StreamChunk" in str(t) or "OpenAIResponseObjectStream" in str(t)
-
- def get_media_type(t):
- if is_generic_list(t):
- return "application/jsonl"
- elif is_iterator_type(t):
- return "text/event-stream"
- else:
- return "application/json"
-
- if typing.get_origin(payload_type) in (typing.Union, types.UnionType):
- media_types = []
- item_types = []
- for x in typing.get_args(payload_type):
- media_types.append(get_media_type(x))
- item_types.append(x)
-
- if len(set(media_types)) == 1:
- # all types have the same media type
- return {media_types[0]: self.build_media_type(payload_type, examples)}
- else:
- # different types have different media types
- return {
- media_type: self.build_media_type(item_type, examples)
- for media_type, item_type in zip(media_types, item_types)
- }
-
- if is_generic_list(payload_type):
- media_type = "application/jsonl"
- item_type = unwrap_generic_list(payload_type)
- else:
- media_type = "application/json"
- item_type = payload_type
-
- return {media_type: self.build_media_type(item_type, examples)}
-
- def build_media_type(
- self, item_type: type, examples: Optional[List[Any]] = None
- ) -> MediaType:
- schema = self.schema_builder.classdef_to_ref(item_type)
- if self.schema_transformer:
- schema_transformer: Callable[[SchemaOrRef], SchemaOrRef] = (
- self.schema_transformer
- )
- schema = schema_transformer(schema)
-
- if not examples:
- return MediaType(schema=schema)
-
- if len(examples) == 1:
- return MediaType(schema=schema, example=self._build_example(examples[0]))
-
- return MediaType(
- schema=schema,
- examples=self._build_examples(examples),
- )
-
- def _build_examples(
- self, examples: List[Any]
- ) -> Dict[str, Union[Example, ExampleRef]]:
- "Creates a set of several examples for a media type."
-
- if self.sample_transformer:
- sample_transformer: Callable[[JsonType], JsonType] = self.sample_transformer # type: ignore
- else:
- sample_transformer = lambda sample: sample
-
- results: Dict[str, Union[Example, ExampleRef]] = {}
- for example in examples:
- value = sample_transformer(object_to_json(example))
-
- hash_string = (
- hashlib.sha256(json_dump_string(value).encode("utf-8"))
- .digest()
- .hex()[:16]
- )
- name = f"ex-{hash_string}"
-
- results[name] = Example(value=value)
-
- return results
-
- def _build_example(self, example: Any) -> Any:
- "Creates a single example for a media type."
-
- if self.sample_transformer:
- sample_transformer: Callable[[JsonType], JsonType] = self.sample_transformer # type: ignore
- else:
- sample_transformer = lambda sample: sample
-
- return sample_transformer(object_to_json(example))
-
-
-@dataclass
-class ResponseOptions:
- """
- Configuration options for building a response for an operation.
-
- :param type_descriptions: Maps each response type to a textual description (if available).
- :param examples: A list of response examples.
- :param status_catalog: Maps each response type to an HTTP status code.
- :param default_status_code: HTTP status code assigned to responses that have no mapping.
- """
-
- type_descriptions: Dict[type, str]
- examples: Optional[List[Any]]
- status_catalog: Dict[type, HTTPStatusCode]
- default_status_code: HTTPStatusCode
-
-
-@dataclass
-class StatusResponse:
- status_code: str
- types: List[type] = dataclasses.field(default_factory=list)
- examples: List[Any] = dataclasses.field(default_factory=list)
-
-
-def create_docstring_for_request(
- request_name: str, fields: List[Tuple[str, type, Any]], doc_params: Dict[str, str]
-) -> str:
- """Creates a ReST-style docstring for a dynamically generated request dataclass."""
- lines = ["\n"] # Short description
-
- # Add parameter documentation in ReST format
- for name, type_ in fields:
- desc = doc_params.get(name, "")
- lines.append(f":param {name}: {desc}")
-
- return "\n".join(lines)
-
-
-class ResponseBuilder:
- content_builder: ContentBuilder
-
- def __init__(self, content_builder: ContentBuilder) -> None:
- self.content_builder = content_builder
-
- def _get_status_responses(
- self, options: ResponseOptions
- ) -> Dict[str, StatusResponse]:
- status_responses: Dict[str, StatusResponse] = {}
-
- for response_type in options.type_descriptions.keys():
- status_code = http_status_to_string(
- options.status_catalog.get(response_type, options.default_status_code)
- )
-
- # look up response for status code
- if status_code not in status_responses:
- status_responses[status_code] = StatusResponse(status_code)
- status_response = status_responses[status_code]
-
- # append response types that are assigned the given status code
- status_response.types.append(response_type)
-
- # append examples that have the matching response type
- if options.examples:
- status_response.examples.extend(
- example
- for example in options.examples
- if isinstance(example, response_type)
- )
-
- return dict(sorted(status_responses.items()))
-
- def build_response(
- self, options: ResponseOptions
- ) -> Dict[str, Union[Response, ResponseRef]]:
- """
- Groups responses that have the same status code.
- """
-
- responses: Dict[str, Union[Response, ResponseRef]] = {}
- status_responses = self._get_status_responses(options)
- for status_code, status_response in status_responses.items():
- response_types = tuple(status_response.types)
- if len(response_types) > 1:
- composite_response_type: type = Union[response_types] # type: ignore
- else:
- (response_type,) = response_types
- composite_response_type = response_type
-
- description = " **OR** ".join(
- filter(
- None,
- (
- options.type_descriptions[response_type]
- for response_type in response_types
- ),
- )
- )
-
- responses[status_code] = self._build_response(
- response_type=composite_response_type,
- description=description,
- examples=status_response.examples or None,
- )
-
- return responses
-
- def _build_response(
- self,
- response_type: type,
- description: str,
- examples: Optional[List[Any]] = None,
- ) -> Response:
- "Creates a response subtree."
-
- if response_type is not None:
- return Response(
- description=description,
- content=self.content_builder.build_content(response_type, examples),
- )
- else:
- return Response(description=description)
-
-
-def schema_error_wrapper(schema: SchemaOrRef) -> Schema:
- "Wraps an error output schema into a top-level error schema."
-
- return {
- "type": "object",
- "properties": {
- "error": schema, # type: ignore
- },
- "additionalProperties": False,
- "required": [
- "error",
- ],
- }
-
-
-def sample_error_wrapper(error: JsonType) -> JsonType:
- "Wraps an error output sample into a top-level error sample."
-
- return {"error": error}
-
-
-class Generator:
- endpoint: type
- options: Options
- schema_builder: SchemaBuilder
- responses: Dict[str, Response]
-
- def __init__(self, endpoint: type, options: Options) -> None:
- self.endpoint = endpoint
- self.options = options
- schema_generator = JsonSchemaGenerator(
- SchemaOptions(
- definitions_path="#/components/schemas/",
- use_examples=self.options.use_examples,
- property_description_fun=options.property_description_fun,
- )
- )
- self.schema_builder = SchemaBuilder(schema_generator)
- self.responses = {}
-
- # Create standard error responses
- self._create_standard_error_responses()
-
- def _create_standard_error_responses(self) -> None:
- """
- Creates standard error responses that can be reused across operations.
- These will be added to the components.responses section of the OpenAPI document.
- """
- # Get the Error schema
- error_schema = self.schema_builder.classdef_to_ref(Error)
-
- # Create standard error responses
- self.responses["BadRequest400"] = Response(
- description="The request was invalid or malformed",
- content={
- "application/json": MediaType(
- schema=error_schema,
- example={
- "status": 400,
- "title": "Bad Request",
- "detail": "The request was invalid or malformed",
- },
- )
- },
- )
-
- self.responses["TooManyRequests429"] = Response(
- description="The client has sent too many requests in a given amount of time",
- content={
- "application/json": MediaType(
- schema=error_schema,
- example={
- "status": 429,
- "title": "Too Many Requests",
- "detail": "You have exceeded the rate limit. Please try again later.",
- },
- )
- },
- )
-
- self.responses["InternalServerError500"] = Response(
- description="The server encountered an unexpected error",
- content={
- "application/json": MediaType(
- schema=error_schema,
- example={
- "status": 500,
- "title": "Internal Server Error",
- "detail": "An unexpected error occurred. Our team has been notified.",
- },
- )
- },
- )
-
- # Add a default error response for any unhandled error cases
- self.responses["DefaultError"] = Response(
- description="An unexpected error occurred",
- content={
- "application/json": MediaType(
- schema=error_schema,
- example={
- "status": 0,
- "title": "Error",
- "detail": "An unexpected error occurred",
- },
- )
- },
- )
-
- def _build_type_tag(self, ref: str, schema: Schema) -> Tag:
- # Don't include schema definition in the tag description because for one,
- # it is not very valuable and for another, it causes string formatting
- # discrepancies via the Stainless Studio.
- #
- # definition = f''
- title = typing.cast(str, schema.get("title"))
- description = typing.cast(str, schema.get("description"))
- return Tag(
- name=ref,
- description="\n\n".join(s for s in (title, description) if s is not None),
- )
-
- def _build_extra_tag_groups(
- self, extra_types: Dict[str, Dict[str, type]]
- ) -> Dict[str, List[Tag]]:
- """
- Creates a dictionary of tag group captions as keys, and tag lists as values.
-
- :param extra_types: A dictionary of type categories and list of types in that category.
- """
-
- extra_tags: Dict[str, List[Tag]] = {}
-
- for category_name, category_items in extra_types.items():
- tag_list: List[Tag] = []
-
- for name, extra_type in category_items.items():
- schema = self.schema_builder.classdef_to_schema(extra_type)
- tag_list.append(self._build_type_tag(name, schema))
-
- if tag_list:
- extra_tags[category_name] = tag_list
-
- return extra_tags
-
- def _get_api_group_for_operation(self, op) -> str | None:
- """
- Determine the API group for an operation based on its route path.
-
- Args:
- op: The endpoint operation
-
- Returns:
- The API group name derived from the route, or None if unable to determine
- """
- if not hasattr(op, 'webmethod') or not op.webmethod or not hasattr(op.webmethod, 'route'):
- return None
-
- route = op.webmethod.route
- if not route or not route.startswith('/'):
- return None
-
- # Extract API group from route path
- # Examples: /v1/agents/list -> agents-api
- # /v1/responses -> responses-api
- # /v1/models -> models-api
- path_parts = route.strip('/').split('/')
-
- if len(path_parts) < 2:
- return None
-
- # Skip version prefix (v1, v1alpha, v1beta, etc.)
- if path_parts[0].startswith('v1'):
- if len(path_parts) < 2:
- return None
- api_segment = path_parts[1]
- else:
- api_segment = path_parts[0]
-
- # Convert to supplementary file naming convention
- # agents -> agents-api, responses -> responses-api, etc.
- return f"{api_segment}-api"
-
- def _load_supplemental_content(self, api_group: str | None) -> str:
- """
- Load supplemental content for an API group based on stability level.
-
- Follows this resolution order:
- 1. docs/supplementary/{stability}/{api_group}.md
- 2. docs/supplementary/shared/{api_group}.md (fallback)
- 3. Empty string if no files found
-
- Args:
- api_group: The API group name (e.g., "agents-responses-api"), or None if no mapping exists
-
- Returns:
- The supplemental content as markdown string, or empty string if not found
- """
- if not api_group:
- return ""
-
- base_path = Path(__file__).parent.parent.parent / "supplementary"
-
- # Try stability-specific content first if stability filter is set
- if self.options.stability_filter:
- stability_path = base_path / self.options.stability_filter / f"{api_group}.md"
- if stability_path.exists():
- try:
- return stability_path.read_text(encoding="utf-8")
- except Exception as e:
- print(f"Warning: Could not read stability-specific supplemental content from {stability_path}: {e}")
-
- # Fall back to shared content
- shared_path = base_path / "shared" / f"{api_group}.md"
- if shared_path.exists():
- try:
- return shared_path.read_text(encoding="utf-8")
- except Exception as e:
- print(f"Warning: Could not read shared supplemental content from {shared_path}: {e}")
-
- # No supplemental content found
- return ""
-
- def _build_operation(self, op: EndpointOperation) -> Operation:
- if op.defining_class.__name__ in [
- "SyntheticDataGeneration",
- "PostTraining",
- ]:
- op.defining_class.__name__ = f"{op.defining_class.__name__} (Coming Soon)"
- print(op.defining_class.__name__)
-
- # TODO (xiyan): temporary fix for datasetio inner impl + datasets api
- # if op.defining_class.__name__ in ["DatasetIO"]:
- # op.defining_class.__name__ = "Datasets"
-
- doc_string = parse_type(op.func_ref)
- doc_params = dict(
- (param.name, param.description) for param in doc_string.params.values()
- )
-
- # parameters passed in URL component path
- path_parameters = [
- Parameter(
- name=param_name,
- in_=ParameterLocation.Path,
- description=doc_params.get(param_name),
- required=True,
- schema=self.schema_builder.classdef_to_ref(param_type),
- )
- for param_name, param_type in op.path_params
- ]
-
- # parameters passed in URL component query string
- query_parameters = []
- for param_name, param_type in op.query_params:
- if is_type_optional(param_type):
- inner_type: type = unwrap_optional_type(param_type)
- required = False
- else:
- inner_type = param_type
- required = True
-
- query_parameter = Parameter(
- name=param_name,
- in_=ParameterLocation.Query,
- description=doc_params.get(param_name),
- required=required,
- schema=self.schema_builder.classdef_to_ref(inner_type),
- )
- query_parameters.append(query_parameter)
-
- # parameters passed anywhere
- parameters = path_parameters + query_parameters
-
- # Build extra body parameters documentation
- extra_body_parameters = []
- for param_name, param_type, description in op.extra_body_params:
- if is_type_optional(param_type):
- inner_type: type = unwrap_optional_type(param_type)
- required = False
- else:
- inner_type = param_type
- required = True
-
- # Use description from ExtraBodyField if available, otherwise from docstring
- param_description = description or doc_params.get(param_name)
-
- extra_body_param = ExtraBodyParameter(
- name=param_name,
- schema=self.schema_builder.classdef_to_ref(inner_type),
- description=param_description,
- required=required,
- )
- extra_body_parameters.append(extra_body_param)
-
- webmethod = getattr(op.func_ref, "__webmethod__", None)
- raw_bytes_request_body = False
- if webmethod:
- raw_bytes_request_body = getattr(webmethod, "raw_bytes_request_body", False)
-
- # data passed in request body as raw bytes cannot have request parameters
- if raw_bytes_request_body and op.request_params:
- raise ValueError(
- "Cannot have both raw bytes request body and request parameters"
- )
-
- # data passed in request body as raw bytes
- if raw_bytes_request_body:
- requestBody = RequestBody(
- content={
- "application/octet-stream": {
- "schema": {
- "type": "string",
- "format": "binary",
- }
- }
- },
- required=True,
- )
- # data passed in request body as multipart/form-data
- elif op.multipart_params:
- builder = ContentBuilder(self.schema_builder)
-
- # Create schema properties for multipart form fields
- properties = {}
- required_fields = []
-
- for name, param_type in op.multipart_params:
- if get_origin(param_type) is Annotated:
- base_type = get_args(param_type)[0]
- else:
- base_type = param_type
-
- # Check if the type is optional
- is_optional = is_type_optional(base_type)
- if is_optional:
- base_type = unwrap_optional_type(base_type)
-
- if base_type is UploadFile:
- # File upload
- properties[name] = {"type": "string", "format": "binary"}
- else:
- # All other types - generate schema reference
- # This includes enums, BaseModels, and simple types
- properties[name] = self.schema_builder.classdef_to_ref(base_type)
-
- if not is_optional:
- required_fields.append(name)
-
- multipart_schema = {
- "type": "object",
- "properties": properties,
- "required": required_fields,
- }
-
- requestBody = RequestBody(
- content={"multipart/form-data": {"schema": multipart_schema}},
- required=True,
- )
- # data passed in payload as JSON and mapped to request parameters
- elif op.request_params:
- builder = ContentBuilder(self.schema_builder)
- first = next(iter(op.request_params))
- request_name, request_type = first
-
- # Special case: if there's a single parameter with Body(embed=False) that's a BaseModel,
- # unwrap it to show the flat structure in the OpenAPI spec
- # Example: openai_chat_completion()
- if (len(op.request_params) == 1 and is_unwrapped_body_param(request_type)):
- pass
- else:
- op_name = "".join(word.capitalize() for word in op.name.split("_"))
- request_name = f"{op_name}Request"
- fields = [
- (
- name,
- type_,
- )
- for name, type_ in op.request_params
- ]
- request_type = make_dataclass(
- request_name,
- fields,
- namespace={
- "__doc__": create_docstring_for_request(
- request_name, fields, doc_params
- )
- },
- )
-
- requestBody = RequestBody(
- content={
- "application/json": builder.build_media_type(
- request_type, op.request_examples
- )
- },
- description=doc_params.get(request_name),
- required=True,
- )
- else:
- requestBody = None
-
- # success response types
- if doc_string.returns is None and is_type_union(op.response_type):
- # split union of return types into a list of response types
- success_type_docstring: Dict[type, Docstring] = {
- typing.cast(type, item): parse_type(item)
- for item in unwrap_union_types(op.response_type)
- }
- success_type_descriptions = {
- item: doc_string.short_description
- for item, doc_string in success_type_docstring.items()
- }
- else:
- # use return type as a single response type
- success_type_descriptions = {
- op.response_type: (
- doc_string.returns.description if doc_string.returns else "OK"
- )
- }
-
- response_examples = op.response_examples or []
- success_examples = [
- example
- for example in response_examples
- if not isinstance(example, Exception)
- ]
-
- content_builder = ContentBuilder(self.schema_builder)
- response_builder = ResponseBuilder(content_builder)
- response_options = ResponseOptions(
- success_type_descriptions,
- success_examples if self.options.use_examples else None,
- self.options.success_responses,
- "200",
- )
- responses = response_builder.build_response(response_options)
-
- # failure response types
- if doc_string.raises:
- exception_types: Dict[type, str] = {
- item.raise_type: item.description for item in doc_string.raises.values()
- }
- exception_examples = [
- example
- for example in response_examples
- if isinstance(example, Exception)
- ]
-
- if self.options.error_wrapper:
- schema_transformer = schema_error_wrapper
- sample_transformer = sample_error_wrapper
- else:
- schema_transformer = None
- sample_transformer = None
-
- content_builder = ContentBuilder(
- self.schema_builder,
- schema_transformer=schema_transformer,
- sample_transformer=sample_transformer,
- )
- response_builder = ResponseBuilder(content_builder)
- response_options = ResponseOptions(
- exception_types,
- exception_examples if self.options.use_examples else None,
- self.options.error_responses,
- "500",
- )
- responses.update(response_builder.build_response(response_options))
-
- assert len(responses.keys()) > 0, f"No responses found for {op.name}"
-
- # Add standard error response references
- if self.options.include_standard_error_responses:
- if "400" not in responses:
- responses["400"] = ResponseRef("BadRequest400")
- if "429" not in responses:
- responses["429"] = ResponseRef("TooManyRequests429")
- if "500" not in responses:
- responses["500"] = ResponseRef("InternalServerError500")
- if "default" not in responses:
- responses["default"] = ResponseRef("DefaultError")
-
- if op.event_type is not None:
- builder = ContentBuilder(self.schema_builder)
- callbacks = {
- f"{op.func_name}_callback": {
- "{$request.query.callback}": PathItem(
- post=Operation(
- requestBody=RequestBody(
- content=builder.build_content(op.event_type)
- ),
- responses={"200": Response(description="OK")},
- )
- )
- }
- }
-
- else:
- callbacks = None
-
- # Build base description from docstring
- base_description = "\n".join(
- filter(None, [doc_string.short_description, doc_string.long_description])
- )
-
- # Individual endpoints get clean descriptions only
- description = base_description
-
- return Operation(
- tags=[
- getattr(op.defining_class, "API_NAMESPACE", op.defining_class.__name__)
- ],
- summary=doc_string.short_description,
- description=description,
- parameters=parameters,
- requestBody=requestBody,
- responses=responses,
- callbacks=callbacks,
- deprecated=getattr(op.webmethod, "deprecated", False)
- or "DEPRECATED" in op.func_name,
- security=[] if op.public else None,
- extraBodyParameters=extra_body_parameters if extra_body_parameters else None,
- )
-
- def _get_api_stability_priority(self, api_level: str) -> int:
- """
- Return sorting priority for API stability levels.
- Lower numbers = higher priority (appear first)
-
- :param api_level: The API level (e.g., "v1", "v1beta", "v1alpha")
- :return: Priority number for sorting
- """
- stability_order = {
- "v1": 0, # Stable - highest priority
- "v1beta": 1, # Beta - medium priority
- "v1alpha": 2, # Alpha - lowest priority
- }
- return stability_order.get(api_level, 999) # Unknown levels go last
-
- def generate(self) -> Document:
- paths: Dict[str, PathItem] = {}
- endpoint_classes: Set[type] = set()
-
- # Collect all operations and filter by stability if specified
- operations = list(
- get_endpoint_operations(
- self.endpoint, use_examples=self.options.use_examples
- )
- )
-
- # Filter operations by stability level if requested
- if self.options.stability_filter:
- filtered_operations = []
- for op in operations:
- deprecated = (
- getattr(op.webmethod, "deprecated", False)
- or "DEPRECATED" in op.func_name
- )
- stability_level = op.webmethod.level
-
- if self.options.stability_filter == "stable":
- # Include v1 non-deprecated endpoints
- if stability_level == "v1" and not deprecated:
- filtered_operations.append(op)
- elif self.options.stability_filter == "experimental":
- # Include v1alpha and v1beta endpoints (deprecated or not)
- if stability_level in ["v1alpha", "v1beta"]:
- filtered_operations.append(op)
- elif self.options.stability_filter == "deprecated":
- # Include only deprecated endpoints
- if deprecated:
- filtered_operations.append(op)
- elif self.options.stability_filter == "stainless":
- # Include stable (v1), deprecated (v1 deprecated), and experimental (v1alpha, v1beta) endpoints
- if stability_level == "v1" or stability_level in ["v1alpha", "v1beta"]:
- filtered_operations.append(op)
-
- operations = filtered_operations
- print(
- f"Filtered to {len(operations)} operations for stability level: {self.options.stability_filter}"
- )
-
- # Sort operations by multiple criteria for consistent ordering:
- # 1. Stability level with deprecation handling (global priority):
- # - Active stable (v1) comes first
- # - Beta (v1beta) comes next
- # - Alpha (v1alpha) comes next
- # - Deprecated stable (v1 deprecated) comes last
- # 2. Route path (group related endpoints within same stability level)
- # 3. HTTP method (GET, POST, PUT, DELETE, PATCH)
- # 4. Operation name (alphabetical)
- def sort_key(op):
- http_method_order = {
- HTTPMethod.GET: 0,
- HTTPMethod.POST: 1,
- HTTPMethod.PUT: 2,
- HTTPMethod.DELETE: 3,
- HTTPMethod.PATCH: 4,
- }
-
- # Enhanced stability priority for migration pattern support
- deprecated = getattr(op.webmethod, "deprecated", False)
- stability_priority = self._get_api_stability_priority(op.webmethod.level)
-
- # Deprecated versions should appear after everything else
- # This ensures deprecated stable endpoints come last globally
- if deprecated:
- stability_priority += 10 # Push deprecated endpoints to the end
-
- return (
- stability_priority, # Global stability handling comes first
- op.get_route(
- op.webmethod
- ), # Group by route path within stability level
- http_method_order.get(op.http_method, 999),
- op.func_name,
- )
-
- operations.sort(key=sort_key)
-
- # Debug output for migration pattern tracking
- migration_routes = {}
- for op in operations:
- route_key = (op.get_route(op.webmethod), op.http_method)
- if route_key not in migration_routes:
- migration_routes[route_key] = []
- migration_routes[route_key].append(
- (op.webmethod.level, getattr(op.webmethod, "deprecated", False))
- )
-
- for route_key, versions in migration_routes.items():
- if len(versions) > 1:
- print(f"Migration pattern detected for {route_key[1]} {route_key[0]}:")
- for level, deprecated in versions:
- status = "DEPRECATED" if deprecated else "ACTIVE"
- print(f" - {level} ({status})")
-
- for op in operations:
- endpoint_classes.add(op.defining_class)
-
- operation = self._build_operation(op)
-
- if op.http_method is HTTPMethod.GET:
- pathItem = PathItem(get=operation)
- elif op.http_method is HTTPMethod.PUT:
- pathItem = PathItem(put=operation)
- elif op.http_method is HTTPMethod.POST:
- pathItem = PathItem(post=operation)
- elif op.http_method is HTTPMethod.DELETE:
- pathItem = PathItem(delete=operation)
- elif op.http_method is HTTPMethod.PATCH:
- pathItem = PathItem(patch=operation)
- else:
- raise NotImplementedError(f"unknown HTTP method: {op.http_method}")
-
- route = op.get_route(op.webmethod)
- route = route.replace(":path", "")
- print(f"route: {route}")
- if route in paths:
- paths[route].update(pathItem)
- else:
- paths[route] = pathItem
-
- operation_tags: List[Tag] = []
- for cls in endpoint_classes:
- doc_string = parse_type(cls)
- if hasattr(cls, "API_NAMESPACE") and cls.API_NAMESPACE != cls.__name__:
- continue
-
- # Add supplemental content to tag pages
- api_group = f"{cls.__name__.lower()}-api"
- supplemental_content = self._load_supplemental_content(api_group)
-
- tag_description = doc_string.long_description or ""
- if supplemental_content:
- if tag_description:
- tag_description = f"{tag_description}\n\n{supplemental_content}"
- else:
- tag_description = supplemental_content
-
- operation_tags.append(
- Tag(
- name=cls.__name__,
- description=tag_description,
- displayName=doc_string.short_description,
- )
- )
-
- # types that are emitted by events
- event_tags: List[Tag] = []
- events = get_endpoint_events(self.endpoint)
- for ref, event_type in events.items():
- event_schema = self.schema_builder.classdef_to_named_schema(ref, event_type)
- event_tags.append(self._build_type_tag(ref, event_schema))
-
- # types that are explicitly declared
- extra_tag_groups: Dict[str, List[Tag]] = {}
- if self.options.extra_types is not None:
- if isinstance(self.options.extra_types, list):
- extra_tag_groups = self._build_extra_tag_groups(
- {"AdditionalTypes": self.options.extra_types}
- )
- elif isinstance(self.options.extra_types, dict):
- extra_tag_groups = self._build_extra_tag_groups(
- self.options.extra_types
- )
- else:
- raise TypeError(
- f"type mismatch for collection of extra types: {type(self.options.extra_types)}"
- )
-
- # list all operations and types
- tags: List[Tag] = []
- tags.extend(operation_tags)
- tags.extend(event_tags)
- for extra_tag_group in extra_tag_groups.values():
- tags.extend(extra_tag_group)
-
- tags = sorted(tags, key=lambda t: t.name)
-
- tag_groups = []
- if operation_tags:
- tag_groups.append(
- TagGroup(
- name=self.options.map("Operations"),
- tags=sorted(tag.name for tag in operation_tags),
- )
- )
- if event_tags:
- tag_groups.append(
- TagGroup(
- name=self.options.map("Events"),
- tags=sorted(tag.name for tag in event_tags),
- )
- )
- for caption, extra_tag_group in extra_tag_groups.items():
- tag_groups.append(
- TagGroup(
- name=caption,
- tags=sorted(tag.name for tag in extra_tag_group),
- )
- )
-
- if self.options.default_security_scheme:
- securitySchemes = {"Default": self.options.default_security_scheme}
- else:
- securitySchemes = None
-
- return Document(
- openapi=".".join(str(item) for item in self.options.version),
- info=self.options.info,
- jsonSchemaDialect=(
- "https://json-schema.org/draft/2020-12/schema"
- if self.options.version >= (3, 1, 0)
- else None
- ),
- servers=[self.options.server],
- paths=paths,
- components=Components(
- schemas=self.schema_builder.schemas,
- responses=self.responses,
- securitySchemes=securitySchemes,
- ),
- security=[{"Default": []}],
- tags=tags,
- tagGroups=tag_groups,
- )
diff --git a/docs/openapi_generator/pyopenapi/operations.py b/docs/openapi_generator/pyopenapi/operations.py
deleted file mode 100644
index 42a554f2c8..0000000000
--- a/docs/openapi_generator/pyopenapi/operations.py
+++ /dev/null
@@ -1,459 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-import collections.abc
-import enum
-import inspect
-import typing
-from dataclasses import dataclass
-from typing import Any, Callable, Dict, Iterable, Iterator, List, Optional, Tuple, Union
-
-from termcolor import colored
-
-from typing import get_origin, get_args
-
-from fastapi import UploadFile
-from fastapi.params import File, Form
-from typing import Annotated
-
-from llama_stack_api import (
- ExtraBodyField,
- LLAMA_STACK_API_V1,
- LLAMA_STACK_API_V1ALPHA,
- LLAMA_STACK_API_V1BETA,
- get_signature,
-)
-
-
-def split_prefix(
- s: str, sep: str, prefix: Union[str, Iterable[str]]
-) -> Tuple[Optional[str], str]:
- """
- Recognizes a prefix at the beginning of a string.
-
- :param s: The string to check.
- :param sep: A separator between (one of) the prefix(es) and the rest of the string.
- :param prefix: A string or a set of strings to identify as a prefix.
- :return: A tuple of the recognized prefix (if any) and the rest of the string excluding the separator (or the entire string).
- """
-
- if isinstance(prefix, str):
- if s.startswith(prefix + sep):
- return prefix, s[len(prefix) + len(sep) :]
- else:
- return None, s
-
- for p in prefix:
- if s.startswith(p + sep):
- return p, s[len(p) + len(sep) :]
-
- return None, s
-
-
-def _get_annotation_type(annotation: Union[type, str], callable: Callable) -> type:
- "Maps a stringized reference to a type, as if using `from __future__ import annotations`."
-
- if isinstance(annotation, str):
- return eval(annotation, callable.__globals__)
- else:
- return annotation
-
-
-class HTTPMethod(enum.Enum):
- "HTTP method used to invoke an endpoint operation."
-
- GET = "GET"
- POST = "POST"
- PUT = "PUT"
- DELETE = "DELETE"
- PATCH = "PATCH"
-
-
-OperationParameter = Tuple[str, type]
-
-
-class ValidationError(TypeError):
- pass
-
-
-@dataclass
-class EndpointOperation:
- """
- Type information and metadata associated with an endpoint operation.
-
- "param defining_class: The most specific class that defines the endpoint operation.
- :param name: The short name of the endpoint operation.
- :param func_name: The name of the function to invoke when the operation is triggered.
- :param func_ref: The callable to invoke when the operation is triggered.
- :param route: A custom route string assigned to the operation.
- :param path_params: Parameters of the operation signature that are passed in the path component of the URL string.
- :param query_params: Parameters of the operation signature that are passed in the query string as `key=value` pairs.
- :param request_params: The parameter that corresponds to the data transmitted in the request body.
- :param multipart_params: Parameters that indicate multipart/form-data request body.
- :param extra_body_params: Parameters that arrive via extra_body and are documented but not in SDK.
- :param event_type: The Python type of the data that is transmitted out-of-band (e.g. via websockets) while the operation is in progress.
- :param response_type: The Python type of the data that is transmitted in the response body.
- :param http_method: The HTTP method used to invoke the endpoint such as POST, GET or PUT.
- :param public: True if the operation can be invoked without prior authentication.
- :param request_examples: Sample requests that the operation might take.
- :param response_examples: Sample responses that the operation might produce.
- """
-
- defining_class: type
- name: str
- func_name: str
- func_ref: Callable[..., Any]
- route: Optional[str]
- path_params: List[OperationParameter]
- query_params: List[OperationParameter]
- request_params: Optional[OperationParameter]
- multipart_params: List[OperationParameter]
- extra_body_params: List[tuple[str, type, str | None]]
- event_type: Optional[type]
- response_type: type
- http_method: HTTPMethod
- public: bool
- request_examples: Optional[List[Any]] = None
- response_examples: Optional[List[Any]] = None
-
- def get_route(self, webmethod) -> str:
- api_level = webmethod.level
-
- if self.route is not None:
- return "/".join(["", api_level, self.route.lstrip("/")])
-
- route_parts = ["", api_level, self.name]
- for param_name, _ in self.path_params:
- route_parts.append("{" + param_name + "}")
- return "/".join(route_parts)
-
-
-class _FormatParameterExtractor:
- "A visitor to exract parameters in a format string."
-
- keys: List[str]
-
- def __init__(self) -> None:
- self.keys = []
-
- def __getitem__(self, key: str) -> None:
- self.keys.append(key)
- return None
-
-
-def _get_route_parameters(route: str) -> List[str]:
- extractor = _FormatParameterExtractor()
- # Replace all occurrences of ":path" with empty string
- route = route.replace(":path", "")
- route.format_map(extractor)
- return extractor.keys
-
-
-def _get_endpoint_functions(
- endpoint: type, prefixes: List[str]
-) -> Iterator[Tuple[str, str, str, Callable]]:
- if not inspect.isclass(endpoint):
- raise ValueError(f"object is not a class type: {endpoint}")
-
- functions = inspect.getmembers(endpoint, inspect.isfunction)
- for func_name, func_ref in functions:
- webmethods = []
-
- # Check for multiple webmethods (stacked decorators)
- if hasattr(func_ref, "__webmethods__"):
- webmethods = func_ref.__webmethods__
-
- if not webmethods:
- continue
-
- for webmethod in webmethods:
- print(f"Processing {colored(func_name, 'white')}...")
- operation_name = func_name
-
- if webmethod.method == "GET":
- prefix = "get"
- elif webmethod.method == "DELETE":
- prefix = "delete"
- elif webmethod.method == "POST":
- prefix = "post"
- elif operation_name.startswith("get_") or operation_name.endswith("/get"):
- prefix = "get"
- elif (
- operation_name.startswith("delete_")
- or operation_name.startswith("remove_")
- or operation_name.endswith("/delete")
- or operation_name.endswith("/remove")
- ):
- prefix = "delete"
- else:
- # by default everything else is a POST
- prefix = "post"
-
- yield prefix, operation_name, func_name, func_ref
-
-
-def _get_defining_class(member_fn: str, derived_cls: type) -> type:
- "Find the class in which a member function is first defined in a class inheritance hierarchy."
-
- # iterate in reverse member resolution order to find most specific class first
- for cls in reversed(inspect.getmro(derived_cls)):
- for name, _ in inspect.getmembers(cls, inspect.isfunction):
- if name == member_fn:
- return cls
-
- raise ValidationError(
- f"cannot find defining class for {member_fn} in {derived_cls}"
- )
-
-
-def get_endpoint_operations(
- endpoint: type, use_examples: bool = True
-) -> List[EndpointOperation]:
- """
- Extracts a list of member functions in a class eligible for HTTP interface binding.
-
- These member functions are expected to have a signature like
- ```
- async def get_object(self, uuid: str, version: int) -> Object:
- ...
- ```
- where the prefix `get_` translates to an HTTP GET, `object` corresponds to the name of the endpoint operation,
- `uuid` and `version` are mapped to route path elements in "/object/{uuid}/{version}", and `Object` becomes
- the response payload type, transmitted as an object serialized to JSON.
-
- If the member function has a composite class type in the argument list, it becomes the request payload type,
- and the caller is expected to provide the data as serialized JSON in an HTTP POST request.
-
- :param endpoint: A class with member functions that can be mapped to an HTTP endpoint.
- :param use_examples: Whether to return examples associated with member functions.
- """
-
- result = []
-
- for prefix, operation_name, func_name, func_ref in _get_endpoint_functions(
- endpoint,
- [
- "create",
- "delete",
- "do",
- "get",
- "post",
- "put",
- "remove",
- "set",
- "update",
- ],
- ):
- # Get all webmethods for this function
- webmethods = getattr(func_ref, "__webmethods__", [])
-
- # Create one EndpointOperation for each webmethod
- for webmethod in webmethods:
- route = webmethod.route
- route_params = _get_route_parameters(route) if route is not None else None
- public = webmethod.public
- request_examples = webmethod.request_examples
- response_examples = webmethod.response_examples
-
- # inspect function signature for path and query parameters, and request/response payload type
- signature = get_signature(func_ref)
-
- path_params = []
- query_params = []
- request_params = []
- multipart_params = []
- extra_body_params = []
-
- for param_name, parameter in signature.parameters.items():
- param_type = _get_annotation_type(parameter.annotation, func_ref)
-
- # omit "self" for instance methods
- if param_name == "self" and param_type is inspect.Parameter.empty:
- continue
-
- # check if all parameters have explicit type
- if parameter.annotation is inspect.Parameter.empty:
- raise ValidationError(
- f"parameter '{param_name}' in function '{func_name}' has no type annotation"
- )
-
- # Check if this is an extra_body parameter
- is_extra_body, extra_body_desc = _is_extra_body_param(param_type)
- if is_extra_body:
- # Store in a separate list for documentation
- extra_body_params.append((param_name, param_type, extra_body_desc))
- continue # Skip adding to request_params
-
- is_multipart = _is_multipart_param(param_type)
-
- if prefix in ["get", "delete"]:
- if route_params is not None and param_name in route_params:
- path_params.append((param_name, param_type))
- else:
- query_params.append((param_name, param_type))
- else:
- if route_params is not None and param_name in route_params:
- path_params.append((param_name, param_type))
- elif is_multipart:
- multipart_params.append((param_name, param_type))
- else:
- request_params.append((param_name, param_type))
-
- # check if function has explicit return type
- if signature.return_annotation is inspect.Signature.empty:
- raise ValidationError(
- f"function '{func_name}' has no return type annotation"
- )
-
- return_type = _get_annotation_type(signature.return_annotation, func_ref)
-
- # operations that produce events are labeled as Generator[YieldType, SendType, ReturnType]
- # where YieldType is the event type, SendType is None, and ReturnType is the immediate response type to the request
- if typing.get_origin(return_type) is collections.abc.Generator:
- event_type, send_type, response_type = typing.get_args(return_type)
- if send_type is not type(None):
- raise ValidationError(
- f"function '{func_name}' has a return type Generator[Y,S,R] and therefore looks like an event but has an explicit send type"
- )
- else:
- event_type = None
-
- def process_type(t):
- if typing.get_origin(t) is collections.abc.AsyncIterator:
- # NOTE(ashwin): this is SSE and there is no way to represent it. either we make it a List
- # or the item type. I am choosing it to be the latter
- args = typing.get_args(t)
- return args[0]
- elif typing.get_origin(t) is typing.Union:
- types = [process_type(a) for a in typing.get_args(t)]
- return typing._UnionGenericAlias(typing.Union, tuple(types))
- else:
- return t
-
- response_type = process_type(return_type)
-
- if prefix in ["delete", "remove"]:
- http_method = HTTPMethod.DELETE
- elif prefix == "post":
- http_method = HTTPMethod.POST
- elif prefix == "get":
- http_method = HTTPMethod.GET
- elif prefix == "set":
- http_method = HTTPMethod.PUT
- elif prefix == "update":
- http_method = HTTPMethod.PATCH
- else:
- raise ValidationError(f"unknown prefix {prefix}")
-
- # Create an EndpointOperation for this specific webmethod
- operation = EndpointOperation(
- defining_class=_get_defining_class(func_name, endpoint),
- name=operation_name,
- func_name=func_name,
- func_ref=func_ref,
- route=route,
- path_params=path_params,
- query_params=query_params,
- request_params=request_params,
- multipart_params=multipart_params,
- extra_body_params=extra_body_params,
- event_type=event_type,
- response_type=response_type,
- http_method=http_method,
- public=public,
- request_examples=request_examples if use_examples else None,
- response_examples=response_examples if use_examples else None,
- )
-
- # Store the specific webmethod with this operation
- operation.webmethod = webmethod
- result.append(operation)
-
- if not result:
- raise ValidationError(f"no eligible endpoint operations in type {endpoint}")
-
- return result
-
-
-def get_endpoint_events(endpoint: type) -> Dict[str, type]:
- results = {}
-
- for decl in typing.get_type_hints(endpoint).values():
- # check if signature is Callable[...]
- origin = typing.get_origin(decl)
- if origin is None or not issubclass(origin, Callable): # type: ignore
- continue
-
- # check if signature is Callable[[...], Any]
- args = typing.get_args(decl)
- if len(args) != 2:
- continue
- params_type, return_type = args
- if not isinstance(params_type, list):
- continue
-
- # check if signature is Callable[[...], None]
- if not issubclass(return_type, type(None)):
- continue
-
- # check if signature is Callable[[EventType], None]
- if len(params_type) != 1:
- continue
-
- param_type = params_type[0]
- results[param_type.__name__] = param_type
-
- return results
-
-
-def _is_multipart_param(param_type: type) -> bool:
- """
- Check if a parameter type indicates multipart form data.
-
- Returns True if the type is:
- - UploadFile
- - Annotated[UploadFile, File()]
- - Annotated[str, Form()]
- - Annotated[Any, File()]
- - Annotated[Any, Form()]
- """
- if param_type is UploadFile:
- return True
-
- # Check for Annotated types
- origin = get_origin(param_type)
- if origin is None:
- return False
-
- if origin is Annotated:
- args = get_args(param_type)
- if len(args) < 2:
- return False
-
- # Check the annotations for File() or Form()
- for annotation in args[1:]:
- if isinstance(annotation, (File, Form)):
- return True
- return False
-
-
-def _is_extra_body_param(param_type: type) -> tuple[bool, str | None]:
- """
- Check if parameter is marked as coming from extra_body.
-
- Returns:
- (is_extra_body, description): Tuple of boolean and optional description
- """
- origin = get_origin(param_type)
- if origin is Annotated:
- args = get_args(param_type)
- for annotation in args[1:]:
- if isinstance(annotation, ExtraBodyField):
- return True, annotation.description
- # Also check by type name for cases where import matters
- if type(annotation).__name__ == 'ExtraBodyField':
- return True, getattr(annotation, 'description', None)
- return False, None
diff --git a/docs/openapi_generator/pyopenapi/options.py b/docs/openapi_generator/pyopenapi/options.py
deleted file mode 100644
index 53855b5b67..0000000000
--- a/docs/openapi_generator/pyopenapi/options.py
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-import dataclasses
-from dataclasses import dataclass
-from http import HTTPStatus
-from typing import Callable, ClassVar, Dict, List, Optional, Tuple, Union
-
-from .specification import (
- Info,
- SecurityScheme,
- SecuritySchemeAPI,
- SecuritySchemeHTTP,
- SecuritySchemeOpenIDConnect,
- Server,
-)
-
-HTTPStatusCode = Union[HTTPStatus, int, str]
-
-
-@dataclass
-class Options:
- """
- :param server: Base URL for the API endpoint.
- :param info: Meta-information for the endpoint specification.
- :param version: OpenAPI specification version as a tuple of major, minor, revision.
- :param default_security_scheme: Security scheme to apply to endpoints, unless overridden on a per-endpoint basis.
- :param extra_types: Extra types in addition to those found in operation signatures. Use a dictionary to group related types.
- :param use_examples: Whether to emit examples for operations.
- :param success_responses: Associates operation response types with HTTP status codes.
- :param error_responses: Associates error response types with HTTP status codes.
- :param error_wrapper: True if errors are encapsulated in an error object wrapper.
- :param property_description_fun: Custom transformation function to apply to class property documentation strings.
- :param captions: User-defined captions for sections such as "Operations" or "Types", and (if applicable) groups of extra types.
- :param include_standard_error_responses: Whether to include standard error responses (400, 429, 500, 503) in all operations.
- """
-
- server: Server
- info: Info
- version: Tuple[int, int, int] = (3, 1, 0)
- default_security_scheme: Optional[SecurityScheme] = None
- extra_types: Union[List[type], Dict[str, List[type]], None] = None
- use_examples: bool = True
- success_responses: Dict[type, HTTPStatusCode] = dataclasses.field(
- default_factory=dict
- )
- error_responses: Dict[type, HTTPStatusCode] = dataclasses.field(
- default_factory=dict
- )
- error_wrapper: bool = False
- property_description_fun: Optional[Callable[[type, str, str], str]] = None
- captions: Optional[Dict[str, str]] = None
- include_standard_error_responses: bool = True
- stability_filter: Optional[str] = None
-
- default_captions: ClassVar[Dict[str, str]] = {
- "Operations": "Operations",
- "Types": "Types",
- "Events": "Events",
- "AdditionalTypes": "Additional types",
- }
-
- def map(self, id: str) -> str:
- "Maps a language-neutral placeholder string to language-dependent text."
-
- if self.captions is not None:
- caption = self.captions.get(id)
- if caption is not None:
- return caption
-
- caption = self.__class__.default_captions.get(id)
- if caption is not None:
- return caption
-
- raise KeyError(f"no caption found for ID: {id}")
diff --git a/docs/openapi_generator/pyopenapi/specification.py b/docs/openapi_generator/pyopenapi/specification.py
deleted file mode 100644
index bfa35f539e..0000000000
--- a/docs/openapi_generator/pyopenapi/specification.py
+++ /dev/null
@@ -1,269 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-import dataclasses
-import enum
-from dataclasses import dataclass
-from typing import Any, ClassVar, Dict, List, Optional, Union
-
-from llama_stack_api import JsonType, Schema, StrictJsonType
-
-URL = str
-
-
-@dataclass
-class Ref:
- ref_type: ClassVar[str]
- id: str
-
- def to_json(self) -> StrictJsonType:
- return {"$ref": f"#/components/{self.ref_type}/{self.id}"}
-
-
-@dataclass
-class SchemaRef(Ref):
- ref_type: ClassVar[str] = "schemas"
-
-
-SchemaOrRef = Union[Schema, SchemaRef]
-
-
-@dataclass
-class ResponseRef(Ref):
- ref_type: ClassVar[str] = "responses"
-
-
-@dataclass
-class ParameterRef(Ref):
- ref_type: ClassVar[str] = "parameters"
-
-
-@dataclass
-class ExampleRef(Ref):
- ref_type: ClassVar[str] = "examples"
-
-
-@dataclass
-class Contact:
- name: Optional[str] = None
- url: Optional[URL] = None
- email: Optional[str] = None
-
-
-@dataclass
-class License:
- name: str
- url: Optional[URL] = None
-
-
-@dataclass
-class Info:
- title: str
- version: str
- description: Optional[str] = None
- termsOfService: Optional[str] = None
- contact: Optional[Contact] = None
- license: Optional[License] = None
-
-
-@dataclass
-class MediaType:
- schema: Optional[SchemaOrRef] = None
- example: Optional[Any] = None
- examples: Optional[Dict[str, Union["Example", ExampleRef]]] = None
-
-
-@dataclass
-class RequestBody:
- content: Dict[str, MediaType | Dict[str, Any]]
- description: Optional[str] = None
- required: Optional[bool] = None
-
-
-@dataclass
-class Response:
- description: str
- content: Optional[Dict[str, MediaType]] = None
-
-
-class ParameterLocation(enum.Enum):
- Query = "query"
- Header = "header"
- Path = "path"
- Cookie = "cookie"
-
-
-@dataclass
-class Parameter:
- name: str
- in_: ParameterLocation
- description: Optional[str] = None
- required: Optional[bool] = None
- schema: Optional[SchemaOrRef] = None
- example: Optional[Any] = None
-
-
-@dataclass
-class ExtraBodyParameter:
- """Represents a parameter that arrives via extra_body in the request."""
- name: str
- schema: SchemaOrRef
- description: Optional[str] = None
- required: Optional[bool] = None
-
-
-@dataclass
-class Operation:
- responses: Dict[str, Union[Response, ResponseRef]]
- tags: Optional[List[str]] = None
- summary: Optional[str] = None
- description: Optional[str] = None
- operationId: Optional[str] = None
- parameters: Optional[List[Parameter]] = None
- requestBody: Optional[RequestBody] = None
- callbacks: Optional[Dict[str, "Callback"]] = None
- security: Optional[List["SecurityRequirement"]] = None
- deprecated: Optional[bool] = None
- extraBodyParameters: Optional[List[ExtraBodyParameter]] = None
-
-
-@dataclass
-class PathItem:
- summary: Optional[str] = None
- description: Optional[str] = None
- get: Optional[Operation] = None
- put: Optional[Operation] = None
- post: Optional[Operation] = None
- delete: Optional[Operation] = None
- options: Optional[Operation] = None
- head: Optional[Operation] = None
- patch: Optional[Operation] = None
- trace: Optional[Operation] = None
-
- def update(self, other: "PathItem") -> None:
- "Merges another instance of this class into this object."
-
- for field in dataclasses.fields(self.__class__):
- value = getattr(other, field.name)
- if value is not None:
- setattr(self, field.name, value)
-
-
-# maps run-time expressions such as "$request.body#/url" to path items
-Callback = Dict[str, PathItem]
-
-
-@dataclass
-class Example:
- summary: Optional[str] = None
- description: Optional[str] = None
- value: Optional[Any] = None
- externalValue: Optional[URL] = None
-
-
-@dataclass
-class Server:
- url: URL
- description: Optional[str] = None
-
-
-class SecuritySchemeType(enum.Enum):
- ApiKey = "apiKey"
- HTTP = "http"
- OAuth2 = "oauth2"
- OpenIDConnect = "openIdConnect"
-
-
-@dataclass
-class SecurityScheme:
- type: SecuritySchemeType
- description: str
-
-
-@dataclass(init=False)
-class SecuritySchemeAPI(SecurityScheme):
- name: str
- in_: ParameterLocation
-
- def __init__(self, description: str, name: str, in_: ParameterLocation) -> None:
- super().__init__(SecuritySchemeType.ApiKey, description)
- self.name = name
- self.in_ = in_
-
-
-@dataclass(init=False)
-class SecuritySchemeHTTP(SecurityScheme):
- scheme: str
- bearerFormat: Optional[str] = None
-
- def __init__(
- self, description: str, scheme: str, bearerFormat: Optional[str] = None
- ) -> None:
- super().__init__(SecuritySchemeType.HTTP, description)
- self.scheme = scheme
- self.bearerFormat = bearerFormat
-
-
-@dataclass(init=False)
-class SecuritySchemeOpenIDConnect(SecurityScheme):
- openIdConnectUrl: str
-
- def __init__(self, description: str, openIdConnectUrl: str) -> None:
- super().__init__(SecuritySchemeType.OpenIDConnect, description)
- self.openIdConnectUrl = openIdConnectUrl
-
-
-@dataclass
-class Components:
- schemas: Optional[Dict[str, Schema]] = None
- responses: Optional[Dict[str, Response]] = None
- parameters: Optional[Dict[str, Parameter]] = None
- examples: Optional[Dict[str, Example]] = None
- requestBodies: Optional[Dict[str, RequestBody]] = None
- securitySchemes: Optional[Dict[str, SecurityScheme]] = None
- callbacks: Optional[Dict[str, Callback]] = None
-
-
-SecurityScope = str
-SecurityRequirement = Dict[str, List[SecurityScope]]
-
-
-@dataclass
-class Tag:
- name: str
- description: Optional[str] = None
- displayName: Optional[str] = None
-
-
-@dataclass
-class TagGroup:
- """
- A ReDoc extension to provide information about groups of tags.
-
- Exposed via the vendor-specific property "x-tagGroups" of the top-level object.
- """
-
- name: str
- tags: List[str]
-
-
-@dataclass
-class Document:
- """
- This class is a Python dataclass adaptation of the OpenAPI Specification.
-
- For details, see
- """
-
- openapi: str
- info: Info
- servers: List[Server]
- paths: Dict[str, PathItem]
- jsonSchemaDialect: Optional[str] = None
- components: Optional[Components] = None
- security: Optional[List[SecurityRequirement]] = None
- tags: Optional[List[Tag]] = None
- tagGroups: Optional[List[TagGroup]] = None
diff --git a/docs/openapi_generator/pyopenapi/template.html b/docs/openapi_generator/pyopenapi/template.html
deleted file mode 100644
index 5848f364ed..0000000000
--- a/docs/openapi_generator/pyopenapi/template.html
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
-
-
- OpenAPI specification
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/openapi_generator/pyopenapi/utility.py b/docs/openapi_generator/pyopenapi/utility.py
deleted file mode 100644
index 762249eb84..0000000000
--- a/docs/openapi_generator/pyopenapi/utility.py
+++ /dev/null
@@ -1,287 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-import json
-import typing
-import inspect
-from pathlib import Path
-from typing import Any, List, Optional, TextIO, Union, get_type_hints, get_origin, get_args
-
-from pydantic import BaseModel
-from llama_stack_api import StrictJsonType, is_unwrapped_body_param, object_to_json
-from llama_stack.core.resolver import api_protocol_map
-
-from .generator import Generator
-from .options import Options
-from .specification import Document
-
-THIS_DIR = Path(__file__).parent
-
-
-class Specification:
- document: Document
-
- def __init__(self, endpoint: type, options: Options):
- generator = Generator(endpoint, options)
- self.document = generator.generate()
-
- def get_json(self) -> StrictJsonType:
- """
- Returns the OpenAPI specification as a Python data type (e.g. `dict` for an object, `list` for an array).
-
- The result can be serialized to a JSON string with `json.dump` or `json.dumps`.
- """
-
- json_doc = typing.cast(StrictJsonType, object_to_json(self.document))
-
- if isinstance(json_doc, dict):
- # rename vendor-specific properties
- tag_groups = json_doc.pop("tagGroups", None)
- if tag_groups:
- json_doc["x-tagGroups"] = tag_groups
- tags = json_doc.get("tags")
- if tags and isinstance(tags, list):
- for tag in tags:
- if not isinstance(tag, dict):
- continue
-
- display_name = tag.pop("displayName", None)
- if display_name:
- tag["x-displayName"] = display_name
-
- # Handle operations to rename extraBodyParameters -> x-llama-stack-extra-body-params
- paths = json_doc.get("paths", {})
- for path_item in paths.values():
- if isinstance(path_item, dict):
- for method in ["get", "post", "put", "delete", "patch"]:
- operation = path_item.get(method)
- if operation and isinstance(operation, dict):
- extra_body_params = operation.pop("extraBodyParameters", None)
- if extra_body_params:
- operation["x-llama-stack-extra-body-params"] = extra_body_params
-
- return json_doc
-
- def get_json_string(self, pretty_print: bool = False) -> str:
- """
- Returns the OpenAPI specification as a JSON string.
-
- :param pretty_print: Whether to use line indents to beautify the output.
- """
-
- json_doc = self.get_json()
- if pretty_print:
- return json.dumps(
- json_doc, check_circular=False, ensure_ascii=False, indent=4
- )
- else:
- return json.dumps(
- json_doc,
- check_circular=False,
- ensure_ascii=False,
- separators=(",", ":"),
- )
-
- def write_json(self, f: TextIO, pretty_print: bool = False) -> None:
- """
- Writes the OpenAPI specification to a file as a JSON string.
-
- :param pretty_print: Whether to use line indents to beautify the output.
- """
-
- json_doc = self.get_json()
- if pretty_print:
- json.dump(
- json_doc,
- f,
- check_circular=False,
- ensure_ascii=False,
- indent=4,
- )
- else:
- json.dump(
- json_doc,
- f,
- check_circular=False,
- ensure_ascii=False,
- separators=(",", ":"),
- )
-
- def write_html(self, f: TextIO, pretty_print: bool = False) -> None:
- """
- Creates a stand-alone HTML page for the OpenAPI specification with ReDoc.
-
- :param pretty_print: Whether to use line indents to beautify the JSON string in the HTML file.
- """
-
- path = THIS_DIR / "template.html"
- with path.open(encoding="utf-8", errors="strict") as html_template_file:
- html_template = html_template_file.read()
-
- html = html_template.replace(
- "{ /* OPENAPI_SPECIFICATION */ }",
- self.get_json_string(pretty_print=pretty_print),
- )
-
- f.write(html)
-
-def is_optional_type(type_: Any) -> bool:
- """Check if a type is Optional."""
- origin = get_origin(type_)
- args = get_args(type_)
- return origin is Optional or (origin is Union and type(None) in args)
-
-
-def _validate_api_method_return_type(method) -> str | None:
- hints = get_type_hints(method)
-
- if 'return' not in hints:
- return "has no return type annotation"
-
- return_type = hints['return']
- if is_optional_type(return_type):
- return "returns Optional type where a return value is mandatory"
-
-
-def _validate_api_method_doesnt_return_list(method) -> str | None:
- hints = get_type_hints(method)
-
- if 'return' not in hints:
- return "has no return type annotation"
-
- return_type = hints['return']
- if get_origin(return_type) is list:
- return "returns a list where a PaginatedResponse or List*Response object is expected"
-
-
-def _validate_api_delete_method_returns_none(method) -> str | None:
- hints = get_type_hints(method)
-
- if 'return' not in hints:
- return "has no return type annotation"
-
- return_type = hints['return']
-
- # Allow OpenAI endpoints to return response objects since they follow OpenAI specification
- method_name = getattr(method, '__name__', '')
- if method_name.__contains__('openai_'):
- return None
-
- if return_type is not None and return_type is not type(None):
- return "does not return None where None is mandatory"
-
-
-def _validate_list_parameters_contain_data(method) -> str | None:
- hints = get_type_hints(method)
-
- if 'return' not in hints:
- return "has no return type annotation"
-
- return_type = hints['return']
- if not inspect.isclass(return_type):
- return
-
- if not return_type.__name__.startswith('List'):
- return
-
- if 'data' not in return_type.model_fields:
- return "does not have a mandatory data attribute containing the list of objects"
-
-
-def _validate_has_ellipsis(method) -> str | None:
- source = inspect.getsource(method)
- if "..." not in source and not "NotImplementedError" in source:
- return "does not contain ellipsis (...) in its implementation"
-
-def _validate_has_return_in_docstring(method) -> str | None:
- source = inspect.getsource(method)
- return_type = method.__annotations__.get('return')
- if return_type is not None and return_type != type(None) and ":returns:" not in source:
- return "does not have a ':returns:' in its docstring"
-
-def _validate_has_params_in_docstring(method) -> str | None:
- source = inspect.getsource(method)
- sig = inspect.signature(method)
-
- params_list = [p for p in sig.parameters.values() if p.name != "self"]
- if len(params_list) == 1:
- param = params_list[0]
- param_type = param.annotation
- if is_unwrapped_body_param(param_type):
- return
-
- # Only check if the method has more than one parameter
- if len(sig.parameters) > 1 and ":param" not in source:
- return "does not have a ':param' in its docstring"
-
-def _validate_has_no_return_none_in_docstring(method) -> str | None:
- source = inspect.getsource(method)
- return_type = method.__annotations__.get('return')
- if return_type is None and ":returns: None" in source:
- return "has a ':returns: None' in its docstring which is redundant for None-returning functions"
-
-def _validate_docstring_lines_end_with_dot(method) -> str | None:
- docstring = inspect.getdoc(method)
- if docstring is None:
- return None
-
- lines = docstring.split('\n')
- for line in lines:
- line = line.strip()
- if line and not any(line.endswith(char) for char in '.:{}[]()",'):
- return f"docstring line '{line}' does not end with a valid character: . : {{ }} [ ] ( ) , \""
-
-_VALIDATORS = {
- "GET": [
- _validate_api_method_return_type,
- _validate_list_parameters_contain_data,
- _validate_api_method_doesnt_return_list,
- _validate_has_ellipsis,
- _validate_has_return_in_docstring,
- _validate_has_params_in_docstring,
- _validate_docstring_lines_end_with_dot,
- ],
- "DELETE": [
- _validate_api_delete_method_returns_none,
- _validate_has_ellipsis,
- _validate_has_return_in_docstring,
- _validate_has_params_in_docstring,
- _validate_has_no_return_none_in_docstring
- ],
- "POST": [
- _validate_has_ellipsis,
- _validate_has_return_in_docstring,
- _validate_has_params_in_docstring,
- _validate_has_no_return_none_in_docstring,
- _validate_docstring_lines_end_with_dot,
- ],
-}
-
-
-def _get_methods_by_type(protocol, method_type: str):
- members = inspect.getmembers(protocol, predicate=inspect.isfunction)
- return {
- method_name: method
- for method_name, method in members
- if (webmethod := getattr(method, '__webmethod__', None))
- if webmethod and webmethod.method == method_type
- }
-
-
-def validate_api() -> List[str]:
- """Validate the API protocols."""
- errors = []
- protocols = api_protocol_map()
-
- for target, validators in _VALIDATORS.items():
- for protocol_name, protocol in protocols.items():
- for validator in validators:
- for method_name, method in _get_methods_by_type(protocol, target).items():
- err = validator(method)
- if err:
- errors.append(f"Method {protocol_name}.{method_name} {err}")
-
- return errors
diff --git a/docs/openapi_generator/run_openapi_generator.sh b/docs/openapi_generator/run_openapi_generator.sh
deleted file mode 100755
index 6cffd42b06..0000000000
--- a/docs/openapi_generator/run_openapi_generator.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/bash
-
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-PYTHONPATH=${PYTHONPATH:-}
-THIS_DIR="$(cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" && pwd)"
-
-set -euo pipefail
-
-missing_packages=()
-
-check_package() {
- if ! pip show "$1" &>/dev/null; then
- missing_packages+=("$1")
- fi
-}
-
-if [ ${#missing_packages[@]} -ne 0 ]; then
- echo "Error: The following package(s) are not installed:"
- printf " - %s\n" "${missing_packages[@]}"
- echo "Please install them using:"
- echo "pip install ${missing_packages[*]}"
- exit 1
-fi
-
-stack_dir=$(dirname $(dirname $THIS_DIR))
-PYTHONPATH=$PYTHONPATH:$stack_dir \
- python -m docs.openapi_generator.generate $(dirname $THIS_DIR)/static
-
-cp $stack_dir/docs/static/stainless-llama-stack-spec.yaml $stack_dir/client-sdks/stainless/openapi.yml
diff --git a/docs/static/deprecated-llama-stack-spec.yaml b/docs/static/deprecated-llama-stack-spec.yaml
index dea2e5bbea..3bc06d7d7e 100644
--- a/docs/static/deprecated-llama-stack-spec.yaml
+++ b/docs/static/deprecated-llama-stack-spec.yaml
@@ -1,20 +1,44 @@
openapi: 3.1.0
info:
- title: >-
- Llama Stack Specification - Deprecated APIs
- version: v1
- description: >-
+ title: Llama Stack Specification - Deprecated APIs
+ 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.
+ a set of endpoints and their corresponding interfaces that are
+ tailored to
+ best leverage Llama Models.
- **⚠️ DEPRECATED**: Legacy APIs that may be removed in future versions. Use for
- migration reference only.
+ **⚠️ DEPRECATED**: Legacy APIs that may be removed in future versions. Use for
+ migration reference only.
+ version: v1
servers:
- - url: http://any-hosted-llama-stack.com
+- url: http://any-hosted-llama-stack.com
paths:
/v1/models:
+ get:
+ responses:
+ '200':
+ description: A OpenAIListModelsResponse.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/OpenAIListModelsResponse'
+ '400':
+ description: Bad Request
+ $ref: '#/components/responses/BadRequest400'
+ '429':
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
+ '500':
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
+ default:
+ description: Default Response
+ $ref: '#/components/responses/DefaultError'
+ tags:
+ - Models
+ summary: Openai List Models
+ description: List models using the OpenAI API.
+ operationId: openai_list_models_v1_models_get
post:
responses:
'200':
@@ -24,23 +48,25 @@ paths:
schema:
$ref: '#/components/schemas/Model'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Models
- summary: Register model.
- description: >-
+ - Models
+ summary: Register Model
+ description: |-
Register model.
Register a model.
- parameters: []
+ operationId: register_model_v1_models_post
requestBody:
content:
application/json:
@@ -49,92 +75,215 @@ paths:
required: true
deprecated: true
/v1/models/{model_id}:
- delete:
+ get:
responses:
'200':
- description: OK
+ description: A Model.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Model'
+ '400':
+ description: Bad Request
+ $ref: '#/components/responses/BadRequest400'
+ '429':
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
+ '500':
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
+ default:
+ description: Default Response
+ $ref: '#/components/responses/DefaultError'
+ tags:
+ - Models
+ summary: Get Model
+ description: |-
+ Get model.
+
+ Get a model by its identifier.
+ operationId: get_model_v1_models__model_id__get
+ parameters:
+ - name: model_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: model_id'
+ delete:
+ responses:
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - Models
- summary: Unregister model.
- description: >-
+ - Models
+ summary: Unregister Model
+ description: |-
Unregister model.
Unregister a model.
+ operationId: unregister_model_v1_models__model_id__delete
parameters:
- - name: model_id
- in: path
- description: >-
- The identifier of the model to unregister.
- required: true
- schema:
- type: string
+ - name: model_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: model_id'
deprecated: true
/v1/scoring-functions:
- post:
+ get:
responses:
'200':
- description: OK
+ description: A ListScoringFunctionsResponse.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListScoringFunctionsResponse'
+ '400':
+ description: Bad Request
+ $ref: '#/components/responses/BadRequest400'
+ '429':
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
+ '500':
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
+ default:
+ description: Default Response
+ $ref: '#/components/responses/DefaultError'
+ tags:
+ - Scoring Functions
+ summary: List Scoring Functions
+ description: List all scoring functions.
+ operationId: list_scoring_functions_v1_scoring_functions_get
+ post:
+ responses:
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - ScoringFunctions
- summary: Register a scoring function.
+ - Scoring Functions
+ summary: Register Scoring Function
description: Register a scoring function.
- parameters: []
+ operationId: register_scoring_function_v1_scoring_functions_post
requestBody:
content:
application/json:
schema:
- $ref: '#/components/schemas/RegisterScoringFunctionRequest'
+ $ref: '#/components/schemas/RegisterScoringFunctionRequestLoose'
required: true
deprecated: true
/v1/scoring-functions/{scoring_fn_id}:
- delete:
+ get:
responses:
'200':
- description: OK
+ description: A ScoringFn.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ScoringFn'
+ '400':
+ description: Bad Request
+ $ref: '#/components/responses/BadRequest400'
+ '429':
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
+ '500':
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
+ default:
+ description: Default Response
+ $ref: '#/components/responses/DefaultError'
+ tags:
+ - Scoring Functions
+ summary: Get Scoring Function
+ description: Get a scoring function by its ID.
+ operationId: get_scoring_function_v1_scoring_functions__scoring_fn_id__get
+ parameters:
+ - name: scoring_fn_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: scoring_fn_id'
+ delete:
+ responses:
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - ScoringFunctions
- summary: Unregister a scoring function.
+ - Scoring Functions
+ summary: Unregister Scoring Function
description: Unregister a scoring function.
+ operationId: unregister_scoring_function_v1_scoring_functions__scoring_fn_id__delete
parameters:
- - name: scoring_fn_id
- in: path
- description: >-
- The ID of the scoring function to unregister.
- required: true
- schema:
- type: string
+ - name: scoring_fn_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: scoring_fn_id'
deprecated: true
/v1/shields:
+ get:
+ responses:
+ '200':
+ description: A ListShieldsResponse.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListShieldsResponse'
+ '400':
+ description: Bad Request
+ $ref: '#/components/responses/BadRequest400'
+ '429':
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
+ '500':
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
+ default:
+ description: Default Response
+ $ref: '#/components/responses/DefaultError'
+ tags:
+ - Shields
+ summary: List Shields
+ description: List all shields.
+ operationId: list_shields_v1_shields_get
post:
responses:
'200':
@@ -144,20 +293,22 @@ paths:
schema:
$ref: '#/components/schemas/Shield'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Shields
- summary: Register a shield.
+ - Shields
+ summary: Register Shield
description: Register a shield.
- parameters: []
+ operationId: register_shield_v1_shields_post
requestBody:
content:
application/json:
@@ -166,53 +317,114 @@ paths:
required: true
deprecated: true
/v1/shields/{identifier}:
- delete:
+ get:
responses:
'200':
- description: OK
+ description: A Shield.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Shield'
+ '400':
+ description: Bad Request
+ $ref: '#/components/responses/BadRequest400'
+ '429':
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
+ '500':
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
+ default:
+ description: Default Response
+ $ref: '#/components/responses/DefaultError'
+ tags:
+ - Shields
+ summary: Get Shield
+ description: Get a shield by its identifier.
+ operationId: get_shield_v1_shields__identifier__get
+ parameters:
+ - name: identifier
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: identifier'
+ delete:
+ responses:
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - Shields
- summary: Unregister a shield.
+ - Shields
+ summary: Unregister Shield
description: Unregister a shield.
+ operationId: unregister_shield_v1_shields__identifier__delete
parameters:
- - name: identifier
- in: path
- description: >-
- The identifier of the shield to unregister.
- required: true
- schema:
- type: string
+ - name: identifier
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: identifier'
deprecated: true
/v1/toolgroups:
- post:
+ get:
responses:
'200':
- description: OK
+ description: A ListToolGroupsResponse.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListToolGroupsResponse'
+ '400':
+ description: Bad Request
+ $ref: '#/components/responses/BadRequest400'
+ '429':
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
+ '500':
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
+ default:
+ description: Default Response
+ $ref: '#/components/responses/DefaultError'
+ tags:
+ - Tool Groups
+ summary: List Tool Groups
+ description: List tool groups with optional provider.
+ operationId: list_tool_groups_v1_toolgroups_get
+ post:
+ responses:
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - ToolGroups
- summary: Register a tool group.
+ - Tool Groups
+ summary: Register Tool Group
description: Register a tool group.
- parameters: []
+ operationId: register_tool_group_v1_toolgroups_post
requestBody:
content:
application/json:
@@ -221,33 +433,93 @@ paths:
required: true
deprecated: true
/v1/toolgroups/{toolgroup_id}:
- delete:
+ get:
responses:
'200':
- description: OK
+ description: A ToolGroup.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ToolGroup'
+ '400':
+ description: Bad Request
+ $ref: '#/components/responses/BadRequest400'
+ '429':
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
+ '500':
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
+ default:
+ description: Default Response
+ $ref: '#/components/responses/DefaultError'
+ tags:
+ - Tool Groups
+ summary: Get Tool Group
+ description: Get a tool group by its ID.
+ operationId: get_tool_group_v1_toolgroups__toolgroup_id__get
+ parameters:
+ - name: toolgroup_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: toolgroup_id'
+ delete:
+ responses:
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - ToolGroups
- summary: Unregister a tool group.
+ - Tool Groups
+ summary: Unregister Toolgroup
description: Unregister a tool group.
+ operationId: unregister_toolgroup_v1_toolgroups__toolgroup_id__delete
parameters:
- - name: toolgroup_id
- in: path
- description: The ID of the tool group to unregister.
- required: true
- schema:
- type: string
+ - name: toolgroup_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: toolgroup_id'
deprecated: true
/v1beta/datasets:
+ get:
+ responses:
+ '200':
+ description: A ListDatasetsResponse.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListDatasetsResponse'
+ '400':
+ description: Bad Request
+ $ref: '#/components/responses/BadRequest400'
+ '429':
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
+ '500':
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
+ default:
+ description: Default Response
+ $ref: '#/components/responses/DefaultError'
+ tags:
+ - Datasets
+ summary: List Datasets
+ description: List all datasets.
+ operationId: list_datasets_v1beta_datasets_get
post:
responses:
'200':
@@ -257,74 +529,138 @@ paths:
schema:
$ref: '#/components/schemas/Dataset'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Datasets
- summary: Register a new dataset.
+ - Datasets
+ summary: Register Dataset
description: Register a new dataset.
- parameters: []
+ operationId: register_dataset_v1beta_datasets_post
requestBody:
content:
application/json:
schema:
- $ref: '#/components/schemas/RegisterDatasetRequest'
+ $ref: '#/components/schemas/RegisterDatasetRequestLoose'
required: true
deprecated: true
/v1beta/datasets/{dataset_id}:
- delete:
+ get:
responses:
'200':
- description: OK
+ description: A Dataset.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Dataset'
+ '400':
+ description: Bad Request
+ $ref: '#/components/responses/BadRequest400'
+ '429':
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
+ '500':
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
+ default:
+ description: Default Response
+ $ref: '#/components/responses/DefaultError'
+ tags:
+ - Datasets
+ summary: Get Dataset
+ description: Get a dataset by its ID.
+ operationId: get_dataset_v1beta_datasets__dataset_id__get
+ parameters:
+ - name: dataset_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: dataset_id'
+ delete:
+ responses:
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - Datasets
- summary: Unregister a dataset by its ID.
+ - Datasets
+ summary: Unregister Dataset
description: Unregister a dataset by its ID.
+ operationId: unregister_dataset_v1beta_datasets__dataset_id__delete
parameters:
- - name: dataset_id
- in: path
- description: The ID of the dataset to unregister.
- required: true
- schema:
- type: string
+ - name: dataset_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: dataset_id'
deprecated: true
/v1alpha/eval/benchmarks:
- post:
+ get:
responses:
'200':
- description: OK
+ description: A ListBenchmarksResponse.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListBenchmarksResponse'
+ '400':
+ description: Bad Request
+ $ref: '#/components/responses/BadRequest400'
+ '429':
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
+ '500':
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
+ default:
+ description: Default Response
+ $ref: '#/components/responses/DefaultError'
+ tags:
+ - Benchmarks
+ summary: List Benchmarks
+ description: List all benchmarks.
+ operationId: list_benchmarks_v1alpha_eval_benchmarks_get
+ post:
+ responses:
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - Benchmarks
- summary: Register a benchmark.
+ - Benchmarks
+ summary: Register Benchmark
description: Register a benchmark.
- parameters: []
+ operationId: register_benchmark_v1alpha_eval_benchmarks_post
requestBody:
content:
application/json:
@@ -333,788 +669,9557 @@ paths:
required: true
deprecated: true
/v1alpha/eval/benchmarks/{benchmark_id}:
- delete:
+ get:
responses:
'200':
- description: OK
+ description: A Benchmark.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Benchmark'
+ '400':
+ description: Bad Request
+ $ref: '#/components/responses/BadRequest400'
+ '429':
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
+ '500':
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
+ default:
+ description: Default Response
+ $ref: '#/components/responses/DefaultError'
+ tags:
+ - Benchmarks
+ summary: Get Benchmark
+ description: Get a benchmark by its ID.
+ operationId: get_benchmark_v1alpha_eval_benchmarks__benchmark_id__get
+ parameters:
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
+ delete:
+ responses:
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - Benchmarks
- summary: Unregister a benchmark.
+ - Benchmarks
+ summary: Unregister Benchmark
description: Unregister a benchmark.
+ operationId: unregister_benchmark_v1alpha_eval_benchmarks__benchmark_id__delete
parameters:
- - name: benchmark_id
- in: path
- description: The ID of the benchmark to unregister.
- required: true
- schema:
- type: string
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
deprecated: true
-jsonSchemaDialect: >-
- https://json-schema.org/draft/2020-12/schema
components:
schemas:
Error:
- type: object
+ description: Error response from the API. Roughly follows RFC 7807.
properties:
status:
+ title: Status
type: integer
- description: HTTP status code
title:
+ title: Title
type: string
- description: >-
- Error title, a short summary of the error which is invariant for an error
- type
detail:
+ title: 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
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
required:
- - status
- - title
- - detail
+ - status
+ - title
+ - detail
title: Error
- description: >-
- Error response from the API. Roughly follows RFC 7807.
- ModelType:
- type: string
- enum:
- - llm
- - embedding
- - rerank
- title: ModelType
- description: >-
- Enumeration of supported model types in Llama Stack.
- RegisterModelRequest:
type: object
+ ListBatchesResponse:
properties:
- model_id:
+ object:
type: string
- description: The identifier of the model to register.
- provider_model_id:
+ const: list
+ title: Object
+ default: list
+ data:
+ items:
+ $ref: '#/components/schemas/Batch'
+ type: array
+ title: Data
+ description: List of batch objects
+ first_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: ID of the first batch in the list
+ last_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: ID of the last batch in the list
+ has_more:
+ type: boolean
+ title: Has More
+ description: Whether there are more batches available
+ default: false
+ type: object
+ required:
+ - data
+ title: ListBatchesResponse
+ description: Response containing a list of batch objects.
+ CreateBatchRequest:
+ properties:
+ input_file_id:
type: string
- description: >-
- The identifier of the model in the provider.
- provider_id:
+ title: Input File Id
+ endpoint:
+ type: string
+ title: Endpoint
+ completion_window:
type: string
- description: The identifier of the provider.
+ const: 24h
+ title: Completion Window
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
- Model:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - type: 'null'
+ idempotency_key:
+ anyOf:
+ - type: string
+ - type: 'null'
type: object
+ required:
+ - input_file_id
+ - endpoint
+ - completion_window
+ title: CreateBatchRequest
+ Batch:
properties:
- identifier:
+ id:
type: string
- description: >-
- Unique identifier for this resource in llama stack
- provider_resource_id:
+ title: Id
+ completion_window:
type: string
- description: >-
- Unique identifier for this resource in the provider
- provider_id:
+ title: Completion Window
+ created_at:
+ type: integer
+ title: Created At
+ endpoint:
type: string
- description: >-
- ID of the provider that owns this resource
- type:
+ title: Endpoint
+ input_file_id:
+ type: string
+ title: Input File Id
+ object:
+ type: string
+ const: batch
+ title: Object
+ status:
+ type: string
+ enum:
+ - validating
+ - failed
+ - in_progress
+ - finalizing
+ - completed
+ - expired
+ - cancelling
+ - cancelled
+ title: Status
+ cancelled_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ cancelling_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ completed_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ error_file_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ errors:
+ anyOf:
+ - $ref: '#/components/schemas/Errors'
+ title: Errors
+ - type: 'null'
+ title: Errors
+ expired_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ expires_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ failed_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ finalizing_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ in_progress_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - type: 'null'
+ model:
+ anyOf:
+ - type: string
+ - type: 'null'
+ output_file_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ request_counts:
+ anyOf:
+ - $ref: '#/components/schemas/BatchRequestCounts'
+ title: BatchRequestCounts
+ - type: 'null'
+ title: BatchRequestCounts
+ usage:
+ anyOf:
+ - $ref: '#/components/schemas/BatchUsage'
+ title: BatchUsage
+ - type: 'null'
+ title: BatchUsage
+ additionalProperties: true
+ type: object
+ required:
+ - id
+ - completion_window
+ - created_at
+ - endpoint
+ - input_file_id
+ - object
+ - status
+ title: Batch
+ Order:
+ type: string
+ enum:
+ - asc
+ - desc
+ title: Order
+ description: Sort order for paginated responses.
+ ListOpenAIChatCompletionResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/OpenAICompletionWithInputMessages'
+ type: array
+ title: Data
+ has_more:
+ type: boolean
+ title: Has More
+ first_id:
+ type: string
+ title: First Id
+ last_id:
+ type: string
+ title: Last Id
+ object:
+ type: string
+ const: list
+ title: Object
+ default: list
+ type: object
+ required:
+ - data
+ - has_more
+ - first_id
+ - last_id
+ title: ListOpenAIChatCompletionResponse
+ description: Response from listing OpenAI-compatible chat completions.
+ OpenAIAssistantMessageParam:
+ description: A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
+ properties:
+ role:
+ const: assistant
+ default: assistant
+ title: Role
+ type: string
+ content:
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ - type: 'null'
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ nullable: true
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ tool_calls:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
+ nullable: true
+ title: OpenAIAssistantMessageParam
+ type: object
+ OpenAIChatCompletionContentPartImageParam:
+ properties:
+ type:
+ type: string
+ const: image_url
+ title: Type
+ default: image_url
+ image_url:
+ $ref: '#/components/schemas/OpenAIImageURL'
+ type: object
+ required:
+ - image_url
+ title: OpenAIChatCompletionContentPartImageParam
+ description: Image content part for OpenAI-compatible chat completion messages.
+ OpenAIChatCompletionContentPartParam:
+ discriminator:
+ mapping:
+ file: '#/components/schemas/OpenAIFile'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
+ OpenAIChatCompletionContentPartTextParam:
+ properties:
+ type:
+ type: string
+ const: text
+ title: Type
+ default: text
+ text:
+ type: string
+ title: Text
+ type: object
+ required:
+ - text
+ title: OpenAIChatCompletionContentPartTextParam
+ description: Text content part for OpenAI-compatible chat completion messages.
+ OpenAIChatCompletionToolCall:
+ properties:
+ index:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type:
+ type: string
+ const: function
+ title: Type
+ default: function
+ function:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionToolCallFunction'
+ title: OpenAIChatCompletionToolCallFunction
+ - type: 'null'
+ title: OpenAIChatCompletionToolCallFunction
+ type: object
+ title: OpenAIChatCompletionToolCall
+ description: Tool call specification for OpenAI-compatible chat completion responses.
+ OpenAIChatCompletionToolCallFunction:
+ properties:
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ arguments:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ title: OpenAIChatCompletionToolCallFunction
+ description: Function call details for OpenAI-compatible tool calls.
+ OpenAIChatCompletionUsage:
+ properties:
+ prompt_tokens:
+ type: integer
+ title: Prompt Tokens
+ completion_tokens:
+ type: integer
+ title: Completion Tokens
+ total_tokens:
+ type: integer
+ title: Total Tokens
+ prompt_tokens_details:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsagePromptTokensDetails'
+ title: OpenAIChatCompletionUsagePromptTokensDetails
+ - type: 'null'
+ title: OpenAIChatCompletionUsagePromptTokensDetails
+ completion_tokens_details:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsageCompletionTokensDetails'
+ title: OpenAIChatCompletionUsageCompletionTokensDetails
+ - type: 'null'
+ title: OpenAIChatCompletionUsageCompletionTokensDetails
+ type: object
+ required:
+ - prompt_tokens
+ - completion_tokens
+ - total_tokens
+ title: OpenAIChatCompletionUsage
+ description: Usage information for OpenAI chat completion.
+ OpenAIChoice:
+ properties:
+ message:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam-Output'
+ title: OpenAIUserMessageParam-Output
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ title: OpenAIAssistantMessageParam-Output
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ title: OpenAIUserMessageParam-Output | ... (5 variants)
+ discriminator:
+ propertyName: role
+ mapping:
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam-Output'
+ finish_reason:
+ type: string
+ title: Finish Reason
+ index:
+ type: integer
+ title: Index
+ logprobs:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChoiceLogprobs'
+ title: OpenAIChoiceLogprobs
+ - type: 'null'
+ title: OpenAIChoiceLogprobs
+ type: object
+ required:
+ - message
+ - finish_reason
+ - index
+ title: OpenAIChoice
+ description: A choice from an OpenAI-compatible chat completion response.
+ OpenAIChoiceLogprobs:
+ properties:
+ content:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAITokenLogProb'
+ type: array
+ - type: 'null'
+ refusal:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAITokenLogProb'
+ type: array
+ - type: 'null'
+ type: object
+ title: OpenAIChoiceLogprobs
+ description: The log probabilities for the tokens in the message from an OpenAI-compatible chat completion response.
+ OpenAIDeveloperMessageParam:
+ properties:
+ role:
+ type: string
+ const: developer
+ title: Role
+ default: developer
+ content:
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ title: OpenAIDeveloperMessageParam
+ description: A message from the developer in an OpenAI-compatible chat completion request.
+ OpenAIFile:
+ properties:
+ type:
+ type: string
+ const: file
+ title: Type
+ default: file
+ file:
+ $ref: '#/components/schemas/OpenAIFileFile'
+ type: object
+ required:
+ - file
+ title: OpenAIFile
+ OpenAIFileFile:
+ properties:
+ file_data:
+ anyOf:
+ - type: string
+ - type: 'null'
+ file_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ filename:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ title: OpenAIFileFile
+ OpenAIImageURL:
+ properties:
+ url:
+ type: string
+ title: Url
+ detail:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - url
+ title: OpenAIImageURL
+ description: Image URL specification for OpenAI-compatible chat completion messages.
+ OpenAIMessageParam:
+ discriminator:
+ mapping:
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam'
+ propertyName: role
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam'
+ title: OpenAIUserMessageParam
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam'
+ title: OpenAIAssistantMessageParam
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ title: OpenAIUserMessageParam | ... (5 variants)
+ OpenAISystemMessageParam:
+ properties:
+ role:
+ type: string
+ const: system
+ title: Role
+ default: system
+ content:
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ title: OpenAISystemMessageParam
+ description: A system message providing instructions or context to the model.
+ OpenAITokenLogProb:
+ properties:
+ token:
+ type: string
+ title: Token
+ bytes:
+ anyOf:
+ - items:
+ type: integer
+ type: array
+ - type: 'null'
+ logprob:
+ type: number
+ title: Logprob
+ top_logprobs:
+ items:
+ $ref: '#/components/schemas/OpenAITopLogProb'
+ type: array
+ title: Top Logprobs
+ type: object
+ required:
+ - token
+ - logprob
+ - top_logprobs
+ title: OpenAITokenLogProb
+ description: |-
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ OpenAIToolMessageParam:
+ properties:
+ role:
+ type: string
+ const: tool
+ title: Role
+ default: tool
+ tool_call_id:
+ type: string
+ title: Tool Call Id
+ content:
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ type: object
+ required:
+ - tool_call_id
+ - content
+ title: OpenAIToolMessageParam
+ description: A message representing the result of a tool invocation in an OpenAI-compatible chat completion request.
+ OpenAITopLogProb:
+ properties:
+ token:
+ type: string
+ title: Token
+ bytes:
+ anyOf:
+ - items:
+ type: integer
+ type: array
+ - type: 'null'
+ logprob:
+ type: number
+ title: Logprob
+ type: object
+ required:
+ - token
+ - logprob
+ title: OpenAITopLogProb
+ description: |-
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ OpenAIUserMessageParam:
+ description: A message from the user in an OpenAI-compatible chat completion request.
+ properties:
+ role:
+ const: user
+ default: user
+ title: Role
+ type: string
+ content:
+ anyOf:
+ - type: string
+ - items:
+ discriminator:
+ mapping:
+ file: '#/components/schemas/OpenAIFile'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ title: string | list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ required:
+ - content
+ title: OpenAIUserMessageParam
+ type: object
+ OpenAIJSONSchema:
+ properties:
+ name:
+ type: string
+ title: Name
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ strict:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ schema:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ title: OpenAIJSONSchema
+ description: JSON schema specification for OpenAI-compatible structured response format.
+ OpenAIResponseFormatJSONObject:
+ properties:
+ type:
+ type: string
+ const: json_object
+ title: Type
+ default: json_object
+ type: object
+ title: OpenAIResponseFormatJSONObject
+ description: JSON object response format for OpenAI-compatible chat completion requests.
+ OpenAIResponseFormatJSONSchema:
+ properties:
+ type:
+ type: string
+ const: json_schema
+ title: Type
+ default: json_schema
+ json_schema:
+ $ref: '#/components/schemas/OpenAIJSONSchema'
+ type: object
+ required:
+ - json_schema
+ title: OpenAIResponseFormatJSONSchema
+ description: JSON schema response format for OpenAI-compatible chat completion requests.
+ OpenAIResponseFormatParam:
+ discriminator:
+ mapping:
+ json_object: '#/components/schemas/OpenAIResponseFormatJSONObject'
+ json_schema: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ text: '#/components/schemas/OpenAIResponseFormatText'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseFormatText'
+ title: OpenAIResponseFormatText
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ title: OpenAIResponseFormatJSONSchema
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONObject'
+ title: OpenAIResponseFormatJSONObject
+ title: OpenAIResponseFormatText | OpenAIResponseFormatJSONSchema | OpenAIResponseFormatJSONObject
+ OpenAIResponseFormatText:
+ properties:
+ type:
+ type: string
+ const: text
+ title: Type
+ default: text
+ type: object
+ title: OpenAIResponseFormatText
+ description: Text response format for OpenAI-compatible chat completion requests.
+ OpenAIChatCompletionRequestWithExtraBody:
+ properties:
+ model:
+ type: string
+ title: Model
+ messages:
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam-Input'
+ title: OpenAIUserMessageParam-Input
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam-Input'
+ title: OpenAIAssistantMessageParam-Input
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ discriminator:
+ propertyName: role
+ mapping:
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam-Input'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam-Input'
+ title: OpenAIUserMessageParam-Input | ... (5 variants)
+ type: array
+ minItems: 1
+ title: Messages
+ frequency_penalty:
+ anyOf:
+ - type: number
+ - type: 'null'
+ function_call:
+ anyOf:
+ - type: string
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ title: string | object
+ functions:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
+ logit_bias:
+ anyOf:
+ - additionalProperties:
+ type: number
+ type: object
+ - type: 'null'
+ logprobs:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ max_completion_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ max_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ n:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ parallel_tool_calls:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ presence_penalty:
+ anyOf:
+ - type: number
+ - type: 'null'
+ response_format:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseFormatText'
+ title: OpenAIResponseFormatText
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ title: OpenAIResponseFormatJSONSchema
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONObject'
+ title: OpenAIResponseFormatJSONObject
+ discriminator:
+ propertyName: type
+ mapping:
+ json_object: '#/components/schemas/OpenAIResponseFormatJSONObject'
+ json_schema: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ text: '#/components/schemas/OpenAIResponseFormatText'
+ title: OpenAIResponseFormatText | OpenAIResponseFormatJSONSchema | OpenAIResponseFormatJSONObject
+ - type: 'null'
+ title: Response Format
+ seed:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ stop:
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - type: 'null'
+ title: string | list[string]
+ stream:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ stream_options:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ temperature:
+ anyOf:
+ - type: number
+ - type: 'null'
+ tool_choice:
+ anyOf:
+ - type: string
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ title: string | object
+ tools:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
+ top_logprobs:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ top_p:
+ anyOf:
+ - type: number
+ - type: 'null'
+ user:
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
+ required:
+ - model
+ - messages
+ title: OpenAIChatCompletionRequestWithExtraBody
+ description: Request parameters for OpenAI-compatible chat completion endpoint.
+ OpenAIChatCompletion:
+ properties:
+ id:
+ type: string
+ title: Id
+ choices:
+ items:
+ $ref: '#/components/schemas/OpenAIChoice'
+ type: array
+ title: Choices
+ object:
+ type: string
+ const: chat.completion
+ title: Object
+ default: chat.completion
+ created:
+ type: integer
+ title: Created
+ model:
+ type: string
+ title: Model
+ usage:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsage'
+ title: OpenAIChatCompletionUsage
+ - type: 'null'
+ title: OpenAIChatCompletionUsage
+ type: object
+ required:
+ - id
+ - choices
+ - created
+ - model
+ title: OpenAIChatCompletion
+ description: Response from an OpenAI-compatible chat completion request.
+ OpenAIChatCompletionChunk:
+ description: Chunk from a streaming response to an OpenAI-compatible chat completion request.
+ properties:
+ id:
+ title: Id
+ type: string
+ choices:
+ items:
+ $ref: '#/components/schemas/OpenAIChunkChoice'
+ title: Choices
+ type: array
+ object:
+ const: chat.completion.chunk
+ default: chat.completion.chunk
+ title: Object
+ type: string
+ created:
+ title: Created
+ type: integer
+ model:
+ title: Model
+ type: string
+ usage:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsage'
+ title: OpenAIChatCompletionUsage
+ - type: 'null'
+ nullable: true
+ title: OpenAIChatCompletionUsage
+ required:
+ - id
+ - choices
+ - created
+ - model
+ title: OpenAIChatCompletionChunk
+ type: object
+ OpenAIChoiceDelta:
+ description: A delta from an OpenAI-compatible chat completion streaming response.
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ refusal:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ role:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ tool_calls:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
+ nullable: true
+ reasoning_content:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ title: OpenAIChoiceDelta
+ type: object
+ OpenAIChunkChoice:
+ description: A chunk choice from an OpenAI-compatible chat completion streaming response.
+ properties:
+ delta:
+ $ref: '#/components/schemas/OpenAIChoiceDelta'
+ finish_reason:
+ title: Finish Reason
+ type: string
+ index:
+ title: Index
+ type: integer
+ logprobs:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChoiceLogprobs'
+ title: OpenAIChoiceLogprobs
+ - type: 'null'
+ nullable: true
+ title: OpenAIChoiceLogprobs
+ required:
+ - delta
+ - finish_reason
+ - index
+ title: OpenAIChunkChoice
+ type: object
+ OpenAICompletionWithInputMessages:
+ properties:
+ id:
+ type: string
+ title: Id
+ choices:
+ items:
+ $ref: '#/components/schemas/OpenAIChoice'
+ type: array
+ title: Choices
+ object:
+ type: string
+ const: chat.completion
+ title: Object
+ default: chat.completion
+ created:
+ type: integer
+ title: Created
+ model:
+ type: string
+ title: Model
+ usage:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsage'
+ title: OpenAIChatCompletionUsage
+ - type: 'null'
+ title: OpenAIChatCompletionUsage
+ input_messages:
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam-Output'
+ title: OpenAIUserMessageParam-Output
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ title: OpenAIAssistantMessageParam-Output
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ discriminator:
+ propertyName: role
+ mapping:
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam-Output'
+ title: OpenAIUserMessageParam-Output | ... (5 variants)
+ type: array
+ title: Input Messages
+ type: object
+ required:
+ - id
+ - choices
+ - created
+ - model
+ - input_messages
+ title: OpenAICompletionWithInputMessages
+ OpenAICompletionRequestWithExtraBody:
+ properties:
+ model:
+ type: string
+ title: Model
+ prompt:
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - items:
+ type: integer
+ type: array
+ title: list[integer]
+ - items:
+ items:
+ type: integer
+ type: array
+ type: array
+ title: list[array]
+ title: string | ... (4 variants)
+ best_of:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ echo:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ frequency_penalty:
+ anyOf:
+ - type: number
+ - type: 'null'
+ logit_bias:
+ anyOf:
+ - additionalProperties:
+ type: number
+ type: object
+ - type: 'null'
+ logprobs:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ max_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ n:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ presence_penalty:
+ anyOf:
+ - type: number
+ - type: 'null'
+ seed:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ stop:
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - type: 'null'
+ title: string | list[string]
+ stream:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ stream_options:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ temperature:
+ anyOf:
+ - type: number
+ - type: 'null'
+ top_p:
+ anyOf:
+ - type: number
+ - type: 'null'
+ user:
+ anyOf:
+ - type: string
+ - type: 'null'
+ suffix:
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
+ required:
+ - model
+ - prompt
+ title: OpenAICompletionRequestWithExtraBody
+ description: Request parameters for OpenAI-compatible completion endpoint.
+ OpenAICompletion:
+ properties:
+ id:
+ type: string
+ title: Id
+ choices:
+ items:
+ $ref: '#/components/schemas/OpenAICompletionChoice'
+ type: array
+ title: Choices
+ created:
+ type: integer
+ title: Created
+ model:
+ type: string
+ title: Model
+ object:
+ type: string
+ const: text_completion
+ title: Object
+ default: text_completion
+ type: object
+ required:
+ - id
+ - choices
+ - created
+ - model
+ title: OpenAICompletion
+ description: |-
+ Response from an OpenAI-compatible completion request.
+
+ :id: The ID of the completion
+ :choices: List of choices
+ :created: The Unix timestamp in seconds when the completion was created
+ :model: The model that was used to generate the completion
+ :object: The object type, which will be "text_completion"
+ OpenAICompletionChoice:
+ properties:
+ finish_reason:
+ type: string
+ title: Finish Reason
+ text:
+ type: string
+ title: Text
+ index:
+ type: integer
+ title: Index
+ logprobs:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChoiceLogprobs'
+ title: OpenAIChoiceLogprobs
+ - type: 'null'
+ title: OpenAIChoiceLogprobs
+ type: object
+ required:
+ - finish_reason
+ - text
+ - index
+ title: OpenAICompletionChoice
+ description: |-
+ A choice from an OpenAI-compatible completion response.
+
+ :finish_reason: The reason the model stopped generating
+ :text: The text of the choice
+ :index: The index of the choice
+ :logprobs: (Optional) The log probabilities for the tokens in the choice
+ ConversationItem:
+ discriminator:
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ title: OpenAIResponseMessage | ... (9 variants)
+ OpenAIResponseAnnotationCitation:
+ properties:
+ type:
+ type: string
+ const: url_citation
+ title: Type
+ default: url_citation
+ end_index:
+ type: integer
+ title: End Index
+ start_index:
+ type: integer
+ title: Start Index
+ title:
+ type: string
+ title: Title
+ url:
+ type: string
+ title: Url
+ type: object
+ required:
+ - end_index
+ - start_index
+ - title
+ - url
+ title: OpenAIResponseAnnotationCitation
+ description: URL citation annotation for referencing external web resources.
+ OpenAIResponseAnnotationContainerFileCitation:
+ properties:
+ type:
+ type: string
+ const: container_file_citation
+ title: Type
+ default: container_file_citation
+ container_id:
+ type: string
+ title: Container Id
+ end_index:
+ type: integer
+ title: End Index
+ file_id:
+ type: string
+ title: File Id
+ filename:
+ type: string
+ title: Filename
+ start_index:
+ type: integer
+ title: Start Index
+ type: object
+ required:
+ - container_id
+ - end_index
+ - file_id
+ - filename
+ - start_index
+ title: OpenAIResponseAnnotationContainerFileCitation
+ OpenAIResponseAnnotationFileCitation:
+ properties:
+ type:
+ type: string
+ const: file_citation
+ title: Type
+ default: file_citation
+ file_id:
+ type: string
+ title: File Id
+ filename:
+ type: string
+ title: Filename
+ index:
+ type: integer
+ title: Index
+ type: object
+ required:
+ - file_id
+ - filename
+ - index
+ title: OpenAIResponseAnnotationFileCitation
+ description: File citation annotation for referencing specific files in response content.
+ OpenAIResponseAnnotationFilePath:
+ properties:
+ type:
+ type: string
+ const: file_path
+ title: Type
+ default: file_path
+ file_id:
+ type: string
+ title: File Id
+ index:
+ type: integer
+ title: Index
+ type: object
+ required:
+ - file_id
+ - index
+ title: OpenAIResponseAnnotationFilePath
+ OpenAIResponseAnnotations:
+ discriminator:
+ mapping:
+ container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
+ OpenAIResponseContentPartRefusal:
+ properties:
+ type:
+ type: string
+ const: refusal
+ title: Type
+ default: refusal
+ refusal:
+ type: string
+ title: Refusal
+ type: object
+ required:
+ - refusal
+ title: OpenAIResponseContentPartRefusal
+ description: Refusal content within a streamed response part.
+ OpenAIResponseInputFunctionToolCallOutput:
+ properties:
+ call_id:
+ type: string
+ title: Call Id
+ output:
+ type: string
+ title: Output
+ type:
+ type: string
+ const: function_call_output
+ title: Type
+ default: function_call_output
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ status:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - call_id
+ - output
+ title: OpenAIResponseInputFunctionToolCallOutput
+ description: This represents the output of a function call that gets passed back to the model.
+ OpenAIResponseInputMessageContent:
+ discriminator:
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ OpenAIResponseInputMessageContentFile:
+ properties:
+ type:
+ type: string
+ const: input_file
+ title: Type
+ default: input_file
+ file_data:
+ anyOf:
+ - type: string
+ - type: 'null'
+ file_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ file_url:
+ anyOf:
+ - type: string
+ - type: 'null'
+ filename:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ title: OpenAIResponseInputMessageContentFile
+ description: File content for input messages in OpenAI response format.
+ OpenAIResponseInputMessageContentImage:
+ properties:
+ detail:
+ title: Detail
+ default: auto
+ type: string
+ enum:
+ - low
+ - high
+ - auto
+ type:
+ type: string
+ const: input_image
+ title: Type
+ default: input_image
+ file_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ image_url:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ title: OpenAIResponseInputMessageContentImage
+ description: Image content for input messages in OpenAI response format.
+ OpenAIResponseInputMessageContentText:
+ properties:
+ text:
+ type: string
+ title: Text
+ type:
+ type: string
+ const: input_text
+ title: Type
+ default: input_text
+ type: object
+ required:
+ - text
+ title: OpenAIResponseInputMessageContentText
+ description: Text content for input messages in OpenAI response format.
+ OpenAIResponseMCPApprovalRequest:
+ properties:
+ arguments:
+ type: string
+ title: Arguments
+ id:
+ type: string
+ title: Id
+ name:
+ type: string
+ title: Name
+ server_label:
+ type: string
+ title: Server Label
+ type:
+ type: string
+ const: mcp_approval_request
+ title: Type
+ default: mcp_approval_request
+ type: object
+ required:
+ - arguments
+ - id
+ - name
+ - server_label
+ title: OpenAIResponseMCPApprovalRequest
+ description: A request for human approval of a tool invocation.
+ OpenAIResponseMCPApprovalResponse:
+ properties:
+ approval_request_id:
+ type: string
+ title: Approval Request Id
+ approve:
+ type: boolean
+ title: Approve
+ type:
+ type: string
+ const: mcp_approval_response
+ title: Type
+ default: mcp_approval_response
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ reason:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - approval_request_id
+ - approve
+ title: OpenAIResponseMCPApprovalResponse
+ description: A response to an MCP approval request.
+ 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.
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - items:
+ discriminator:
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ type: array
+ title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
+ - items:
+ discriminator:
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ title: OpenAIResponseOutputMessageContentOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
+ type: array
+ title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ role:
+ title: Role
+ type: string
+ enum:
+ - system
+ - developer
+ - user
+ - assistant
+ default: system
+ type:
+ const: message
+ default: message
+ title: Type
+ type: string
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ status:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ required:
+ - content
+ - role
+ title: OpenAIResponseMessage
+ type: object
+ OpenAIResponseOutputMessageContent:
+ discriminator:
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ title: OpenAIResponseOutputMessageContentOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
+ OpenAIResponseOutputMessageContentOutputText:
+ properties:
+ text:
+ type: string
+ title: Text
+ type:
+ type: string
+ const: output_text
+ title: Type
+ default: output_text
+ annotations:
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ discriminator:
+ propertyName: type
+ mapping:
+ container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
+ type: array
+ title: Annotations
+ type: object
+ required:
+ - text
+ title: OpenAIResponseOutputMessageContentOutputText
+ OpenAIResponseOutputMessageFileSearchToolCall:
+ properties:
+ id:
+ type: string
+ title: Id
+ queries:
+ items:
+ type: string
+ type: array
+ title: Queries
+ status:
+ type: string
+ title: Status
+ type:
+ type: string
+ const: file_search_call
+ title: Type
+ default: file_search_call
+ results:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCallResults'
+ type: array
+ - type: 'null'
+ type: object
+ required:
+ - id
+ - queries
+ - status
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ description: File search tool call output message for OpenAI responses.
+ OpenAIResponseOutputMessageFunctionToolCall:
+ properties:
+ call_id:
+ type: string
+ title: Call Id
+ name:
+ type: string
+ title: Name
+ arguments:
+ type: string
+ title: Arguments
+ type:
+ type: string
+ const: function_call
+ title: Type
+ default: function_call
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ status:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - call_id
+ - name
+ - arguments
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ description: Function tool call output message for OpenAI responses.
+ OpenAIResponseOutputMessageMCPCall:
+ properties:
+ id:
+ type: string
+ title: Id
+ type:
+ type: string
+ const: mcp_call
+ title: Type
+ default: mcp_call
+ arguments:
+ type: string
+ title: Arguments
+ name:
+ type: string
+ title: Name
+ server_label:
+ type: string
+ title: Server Label
+ error:
+ anyOf:
+ - type: string
+ - type: 'null'
+ output:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - id
+ - arguments
+ - name
+ - server_label
+ title: OpenAIResponseOutputMessageMCPCall
+ description: Model Context Protocol (MCP) call output message for OpenAI responses.
+ OpenAIResponseOutputMessageMCPListTools:
+ properties:
+ id:
+ type: string
+ title: Id
+ type:
+ type: string
+ const: mcp_list_tools
+ title: Type
+ default: mcp_list_tools
+ server_label:
+ type: string
+ title: Server Label
+ tools:
+ items:
+ $ref: '#/components/schemas/MCPListToolsTool'
+ type: array
+ title: Tools
+ type: object
+ required:
+ - id
+ - server_label
+ - tools
+ title: OpenAIResponseOutputMessageMCPListTools
+ description: MCP list tools output message containing available tools from an MCP server.
+ OpenAIResponseOutputMessageWebSearchToolCall:
+ properties:
+ id:
+ type: string
+ title: Id
+ status:
+ type: string
+ title: Status
+ type:
+ type: string
+ const: web_search_call
+ title: Type
+ default: web_search_call
+ type: object
+ required:
+ - id
+ - status
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ description: Web search tool call output message for OpenAI responses.
+ CreateConversationRequest:
+ properties:
+ items:
+ anyOf:
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Input'
+ title: OpenAIResponseMessage-Input
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Input'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Input | ... (9 variants)
+ type: array
+ - type: 'null'
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - type: 'null'
+ type: object
+ title: CreateConversationRequest
+ Conversation:
+ properties:
+ id:
+ type: string
+ title: Id
+ description: The unique ID of the conversation.
+ object:
+ type: string
+ const: conversation
+ title: Object
+ description: The object type, which is always conversation.
+ default: conversation
+ created_at:
+ type: integer
+ title: Created At
+ description: The time at which the conversation was created, measured in seconds since the Unix epoch.
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - type: 'null'
+ description: Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard.
+ items:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
+ description: Initial items to include in the conversation context. You may add up to 20 items at a time.
+ type: object
+ required:
+ - id
+ - created_at
+ title: Conversation
+ description: OpenAI-compatible conversation object.
+ UpdateConversationRequest:
+ properties:
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ title: Metadata
+ type: object
+ required:
+ - metadata
+ title: UpdateConversationRequest
+ ConversationDeletedResource:
+ properties:
+ id:
+ type: string
+ title: Id
+ description: The deleted conversation identifier
+ object:
+ type: string
+ title: Object
+ description: Object type
+ default: conversation.deleted
+ deleted:
+ type: boolean
+ title: Deleted
+ description: Whether the object was deleted
+ default: true
+ type: object
+ required:
+ - id
+ title: ConversationDeletedResource
+ description: Response for deleted conversation.
+ ConversationItemList:
+ properties:
+ object:
+ type: string
+ title: Object
+ description: Object type
+ default: list
+ data:
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (9 variants)
+ type: array
+ title: Data
+ description: List of conversation items
+ first_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: The ID of the first item in the list
+ last_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: The ID of the last item in the list
+ has_more:
+ type: boolean
+ title: Has More
+ description: Whether there are more items available
+ default: false
+ type: object
+ required:
+ - data
+ title: ConversationItemList
+ description: List of conversation items with pagination.
+ AddItemsRequest:
+ properties:
+ items:
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Input'
+ title: OpenAIResponseMessage-Input
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Input'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Input | ... (9 variants)
+ type: array
+ title: Items
+ type: object
+ required:
+ - items
+ title: AddItemsRequest
+ ConversationItemDeletedResource:
+ properties:
+ id:
+ type: string
+ title: Id
+ description: The deleted item identifier
+ object:
+ type: string
+ title: Object
+ description: Object type
+ default: conversation.item.deleted
+ deleted:
+ type: boolean
+ title: Deleted
+ description: Whether the object was deleted
+ default: true
+ type: object
+ required:
+ - id
+ title: ConversationItemDeletedResource
+ description: Response for deleted conversation item.
+ OpenAIEmbeddingsRequestWithExtraBody:
+ properties:
+ model:
+ type: string
+ title: Model
+ input:
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ title: string | list[string]
+ encoding_format:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: float
+ dimensions:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ user:
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
+ required:
+ - model
+ - input
+ title: OpenAIEmbeddingsRequestWithExtraBody
+ description: Request parameters for OpenAI-compatible embeddings endpoint.
+ OpenAIEmbeddingData:
+ properties:
+ object:
+ type: string
+ const: embedding
+ title: Object
+ default: embedding
+ embedding:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ title: list[number]
+ - type: string
+ title: list[number] | string
+ index:
+ type: integer
+ title: Index
+ type: object
+ required:
+ - embedding
+ - index
+ title: OpenAIEmbeddingData
+ description: A single embedding data object from an OpenAI-compatible embeddings response.
+ OpenAIEmbeddingUsage:
+ properties:
+ prompt_tokens:
+ type: integer
+ title: Prompt Tokens
+ total_tokens:
+ type: integer
+ title: Total Tokens
+ type: object
+ required:
+ - prompt_tokens
+ - total_tokens
+ title: OpenAIEmbeddingUsage
+ description: Usage information for an OpenAI-compatible embeddings response.
+ OpenAIEmbeddingsResponse:
+ properties:
+ object:
+ type: string
+ const: list
+ title: Object
+ default: list
+ data:
+ items:
+ $ref: '#/components/schemas/OpenAIEmbeddingData'
+ type: array
+ title: Data
+ model:
+ type: string
+ title: Model
+ usage:
+ $ref: '#/components/schemas/OpenAIEmbeddingUsage'
+ type: object
+ required:
+ - 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:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/OpenAIFileObject'
+ type: array
+ title: Data
+ has_more:
+ type: boolean
+ title: Has More
+ first_id:
+ type: string
+ title: First Id
+ last_id:
+ type: string
+ title: Last Id
+ object:
+ type: string
+ const: list
+ title: Object
+ default: list
+ type: object
+ required:
+ - data
+ - has_more
+ - first_id
+ - last_id
+ title: ListOpenAIFileResponse
+ description: Response for listing files in OpenAI Files API.
+ OpenAIFileObject:
+ properties:
+ object:
+ type: string
+ const: file
+ title: Object
+ default: file
+ id:
+ type: string
+ title: Id
+ bytes:
+ type: integer
+ title: Bytes
+ created_at:
+ type: integer
+ title: Created At
+ expires_at:
+ type: integer
+ title: Expires At
+ filename:
+ type: string
+ title: Filename
+ purpose:
+ $ref: '#/components/schemas/OpenAIFilePurpose'
+ type: object
+ required:
+ - id
+ - bytes
+ - created_at
+ - expires_at
+ - filename
+ - purpose
+ title: OpenAIFileObject
+ description: OpenAI File object as defined in the OpenAI Files API.
+ ExpiresAfter:
+ properties:
+ anchor:
+ type: string
+ const: created_at
+ title: Anchor
+ seconds:
+ type: integer
+ maximum: 2592000.0
+ minimum: 3600.0
+ title: Seconds
+ type: object
+ 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:
+ properties:
+ id:
+ type: string
+ title: Id
+ object:
+ type: string
+ const: file
+ title: Object
+ default: file
+ deleted:
+ type: boolean
+ title: Deleted
+ type: object
+ required:
+ - id
+ - deleted
+ title: OpenAIFileDeleteResponse
+ description: Response for deleting a file in OpenAI Files API.
+ Response:
+ title: Response
+ type: object
+ HealthInfo:
+ properties:
+ status:
+ $ref: '#/components/schemas/HealthStatus'
+ type: object
+ required:
+ - status
+ title: HealthInfo
+ description: Health status information for the service.
+ RouteInfo:
+ properties:
+ route:
+ type: string
+ title: Route
+ method:
+ type: string
+ title: Method
+ provider_types:
+ items:
+ type: string
+ type: array
+ title: Provider Types
+ type: object
+ required:
+ - route
+ - method
+ - provider_types
+ title: RouteInfo
+ description: Information about an API route including its path, method, and implementing providers.
+ ListRoutesResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/RouteInfo'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListRoutesResponse
+ description: Response containing a list of all available API routes.
+ OpenAIModel:
+ properties:
+ id:
+ type: string
+ title: Id
+ object:
+ type: string
+ const: model
+ title: Object
+ default: model
+ created:
+ type: integer
+ title: Created
+ owned_by:
+ type: string
+ title: Owned By
+ custom_metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - id
+ - created
+ - owned_by
+ title: OpenAIModel
+ description: |-
+ A model from OpenAI.
+
+ :id: The ID of the model
+ :object: The object type, which will be "model"
+ :created: The Unix timestamp in seconds when the model was created
+ :owned_by: The owner of the model
+ :custom_metadata: Llama Stack-specific metadata including model_type, provider info, and additional metadata
+ OpenAIListModelsResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/OpenAIModel'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: OpenAIListModelsResponse
+ Model:
+ properties:
+ identifier:
+ type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
+ provider_resource_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
+ provider_id:
+ type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
+ type:
+ type: string
+ const: model
+ title: Type
+ default: model
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ description: Any additional metadata for this model
+ model_type:
+ $ref: '#/components/schemas/ModelType'
+ default: llm
+ type: object
+ required:
+ - identifier
+ - provider_id
+ title: Model
+ description: A model resource representing an AI model registered in Llama Stack.
+ ModelType:
+ type: string
+ enum:
+ - llm
+ - embedding
+ - rerank
+ title: ModelType
+ description: Enumeration of supported model types in Llama Stack.
+ RunModerationRequest:
+ properties:
+ input:
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ title: string | list[string]
+ model:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - input
+ title: RunModerationRequest
+ ModerationObject:
+ properties:
+ id:
+ type: string
+ title: Id
+ model:
+ type: string
+ title: Model
+ results:
+ items:
+ $ref: '#/components/schemas/ModerationObjectResults'
+ type: array
+ title: Results
+ type: object
+ required:
+ - id
+ - model
+ - results
+ title: ModerationObject
+ description: A moderation object.
+ ModerationObjectResults:
+ properties:
+ flagged:
+ type: boolean
+ title: Flagged
+ categories:
+ anyOf:
+ - additionalProperties:
+ type: boolean
+ type: object
+ - type: 'null'
+ category_applied_input_types:
+ anyOf:
+ - additionalProperties:
+ items:
+ type: string
+ type: array
+ type: object
+ - type: 'null'
+ category_scores:
+ anyOf:
+ - additionalProperties:
+ type: number
+ type: object
+ - type: 'null'
+ user_message:
+ anyOf:
+ - type: string
+ - type: 'null'
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ type: object
+ required:
+ - flagged
+ title: ModerationObjectResults
+ description: A moderation object.
+ Prompt:
+ properties:
+ prompt:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: The system prompt with variable placeholders
+ version:
+ type: integer
+ minimum: 1.0
+ title: Version
+ description: Version (integer starting at 1, incremented on save)
+ prompt_id:
+ type: string
+ title: Prompt Id
+ description: Unique identifier in format 'pmpt_<48-digit-hash>'
+ variables:
+ items:
+ type: string
+ type: array
+ title: Variables
+ description: List of variable names that can be used in the prompt template
+ is_default:
+ type: boolean
+ title: Is Default
+ description: Boolean indicating whether this version is the default version
+ default: false
+ type: object
+ required:
+ - version
+ - prompt_id
+ title: Prompt
+ description: A prompt resource representing a stored OpenAI Compatible prompt template in Llama Stack.
+ ListPromptsResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/Prompt'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListPromptsResponse
+ description: Response model to list prompts.
+ CreatePromptRequest:
+ properties:
+ prompt:
+ type: string
+ title: Prompt
+ variables:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ type: object
+ required:
+ - prompt
+ title: CreatePromptRequest
+ UpdatePromptRequest:
+ properties:
+ prompt:
+ type: string
+ title: Prompt
+ version:
+ type: integer
+ title: Version
+ variables:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ set_as_default:
+ type: boolean
+ title: Set As Default
+ default: true
+ type: object
+ required:
+ - prompt
+ - version
+ title: UpdatePromptRequest
+ SetDefaultVersionRequest:
+ properties:
+ version:
+ type: integer
+ title: Version
+ type: object
+ required:
+ - version
+ title: SetDefaultVersionRequest
+ ProviderInfo:
+ properties:
+ api:
+ type: string
+ title: Api
+ provider_id:
+ type: string
+ title: Provider Id
+ provider_type:
+ type: string
+ title: Provider Type
+ config:
+ additionalProperties: true
+ type: object
+ title: Config
+ health:
+ additionalProperties: true
+ type: object
+ title: Health
+ type: object
+ required:
+ - api
+ - provider_id
+ - provider_type
+ - config
+ - health
+ title: ProviderInfo
+ description: Information about a registered provider including its configuration and health status.
+ ListProvidersResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/ProviderInfo'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListProvidersResponse
+ description: Response containing a list of all available providers.
+ ListOpenAIResponseObject:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/OpenAIResponseObjectWithInput'
+ type: array
+ title: Data
+ has_more:
+ type: boolean
+ title: Has More
+ first_id:
+ type: string
+ title: First Id
+ last_id:
+ type: string
+ title: Last Id
+ object:
+ type: string
+ const: list
+ title: Object
+ default: list
+ type: object
+ required:
+ - data
+ - has_more
+ - first_id
+ - last_id
+ title: ListOpenAIResponseObject
+ description: Paginated list of OpenAI response objects with navigation metadata.
+ OpenAIResponseError:
+ properties:
+ code:
+ type: string
+ title: Code
+ message:
+ type: string
+ title: Message
+ type: object
+ required:
+ - code
+ - message
+ title: OpenAIResponseError
+ description: Error details for failed OpenAI response requests.
+ OpenAIResponseInput:
+ anyOf:
+ - discriminator:
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ title: OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessage
+ OpenAIResponseInputToolFileSearch:
+ properties:
+ type:
+ type: string
+ const: file_search
+ title: Type
+ default: file_search
+ vector_store_ids:
+ items:
+ type: string
+ type: array
+ title: Vector Store Ids
+ filters:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ max_num_results:
+ anyOf:
+ - type: integer
+ maximum: 50.0
+ minimum: 1.0
+ - type: 'null'
+ default: 10
+ ranking_options:
+ anyOf:
+ - $ref: '#/components/schemas/SearchRankingOptions'
+ title: SearchRankingOptions
+ - type: 'null'
+ title: SearchRankingOptions
+ type: object
+ required:
+ - vector_store_ids
+ title: OpenAIResponseInputToolFileSearch
+ description: File search tool configuration for OpenAI response inputs.
+ OpenAIResponseInputToolFunction:
+ properties:
+ type:
+ type: string
+ const: function
+ title: Type
+ default: function
+ name:
+ type: string
+ title: Name
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ parameters:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ strict:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ type: object
+ required:
+ - name
+ - parameters
+ title: OpenAIResponseInputToolFunction
+ description: Function tool configuration for OpenAI response inputs.
+ OpenAIResponseInputToolWebSearch:
+ properties:
+ type:
+ title: Type
+ default: web_search
+ type: string
+ enum:
+ - web_search
+ - web_search_preview
+ - web_search_preview_2025_03_11
+ - web_search_2025_08_26
+ search_context_size:
+ anyOf:
+ - type: string
+ pattern: ^low|medium|high$
+ - type: 'null'
+ default: medium
+ type: object
+ title: OpenAIResponseInputToolWebSearch
+ description: Web search tool configuration for OpenAI response inputs.
+ OpenAIResponseObjectWithInput:
+ properties:
+ created_at:
+ type: integer
+ title: Created At
+ error:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseError'
+ title: OpenAIResponseError
+ - type: 'null'
+ title: OpenAIResponseError
+ id:
+ type: string
+ title: Id
+ model:
+ type: string
+ title: Model
+ object:
+ type: string
+ const: response
+ title: Object
+ default: response
+ output:
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ type: array
+ title: Output
+ parallel_tool_calls:
+ type: boolean
+ title: Parallel Tool Calls
+ default: false
+ previous_response_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ prompt:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponsePrompt'
+ title: OpenAIResponsePrompt
+ - type: 'null'
+ title: OpenAIResponsePrompt
+ status:
+ type: string
+ title: Status
+ temperature:
+ anyOf:
+ - type: number
+ - type: 'null'
+ text:
+ $ref: '#/components/schemas/OpenAIResponseText'
+ default:
+ format:
+ type: text
+ top_p:
+ anyOf:
+ - type: number
+ - type: 'null'
+ tools:
+ anyOf:
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseToolMCP'
+ title: OpenAIResponseToolMCP
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ function: '#/components/schemas/OpenAIResponseInputToolFunction'
+ mcp: '#/components/schemas/OpenAIResponseToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
+ type: array
+ - type: 'null'
+ truncation:
+ anyOf:
+ - type: string
+ - type: 'null'
+ usage:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsage'
+ title: OpenAIResponseUsage
+ - type: 'null'
+ title: OpenAIResponseUsage
+ instructions:
+ anyOf:
+ - type: string
+ - type: 'null'
+ max_tool_calls:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ input:
+ items:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ title: OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessage-Output
+ type: array
+ title: Input
+ type: object
+ required:
+ - created_at
+ - id
+ - model
+ - output
+ - status
+ - input
+ title: OpenAIResponseObjectWithInput
+ description: OpenAI response object extended with input context information.
+ OpenAIResponseOutput:
+ discriminator:
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
+ OpenAIResponsePrompt:
+ properties:
+ id:
+ type: string
+ title: Id
+ variables:
+ anyOf:
+ - additionalProperties:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ discriminator:
+ propertyName: type
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ type: object
+ - type: 'null'
+ version:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - id
+ title: OpenAIResponsePrompt
+ description: OpenAI compatible Prompt object that is used in OpenAI responses.
+ OpenAIResponseText:
+ properties:
+ format:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseTextFormat'
+ title: OpenAIResponseTextFormat
+ - type: 'null'
+ title: OpenAIResponseTextFormat
+ type: object
+ title: OpenAIResponseText
+ description: Text response configuration for OpenAI responses.
+ OpenAIResponseTool:
+ discriminator:
+ mapping:
+ file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ function: '#/components/schemas/OpenAIResponseInputToolFunction'
+ mcp: '#/components/schemas/OpenAIResponseToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseToolMCP'
+ title: OpenAIResponseToolMCP
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
+ OpenAIResponseToolMCP:
+ properties:
+ type:
+ type: string
+ const: mcp
+ title: Type
+ default: mcp
+ server_label:
+ type: string
+ title: Server Label
+ allowed_tools:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - $ref: '#/components/schemas/AllowedToolsFilter'
+ title: AllowedToolsFilter
+ - type: 'null'
+ title: list[string] | AllowedToolsFilter
+ type: object
+ required:
+ - server_label
+ title: OpenAIResponseToolMCP
+ description: Model Context Protocol (MCP) tool configuration for OpenAI response object.
+ OpenAIResponseUsage:
+ properties:
+ input_tokens:
+ type: integer
+ title: Input Tokens
+ output_tokens:
+ type: integer
+ title: Output Tokens
+ total_tokens:
+ type: integer
+ title: Total Tokens
+ input_tokens_details:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsageInputTokensDetails'
+ title: OpenAIResponseUsageInputTokensDetails
+ - type: 'null'
+ title: OpenAIResponseUsageInputTokensDetails
+ output_tokens_details:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsageOutputTokensDetails'
+ title: OpenAIResponseUsageOutputTokensDetails
+ - type: 'null'
+ title: OpenAIResponseUsageOutputTokensDetails
+ type: object
+ required:
+ - input_tokens
+ - output_tokens
+ - total_tokens
+ title: OpenAIResponseUsage
+ description: Usage information for OpenAI response.
+ ResponseGuardrailSpec:
+ description: Specification for a guardrail to apply during response generation.
+ properties:
+ type:
+ title: Type
+ type: string
+ required:
+ - type
+ title: ResponseGuardrailSpec
+ type: object
+ OpenAIResponseInputTool:
+ discriminator:
+ mapping:
+ file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ function: '#/components/schemas/OpenAIResponseInputToolFunction'
+ mcp: '#/components/schemas/OpenAIResponseInputToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseInputToolMCP'
+ title: OpenAIResponseInputToolMCP
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
+ OpenAIResponseInputToolMCP:
+ properties:
+ type:
+ type: string
+ const: mcp
+ title: Type
+ default: mcp
+ server_label:
+ type: string
+ title: Server Label
+ server_url:
+ type: string
+ title: Server Url
+ headers:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ authorization:
+ anyOf:
+ - type: string
+ - type: 'null'
+ require_approval:
+ anyOf:
+ - type: string
+ const: always
+ - type: string
+ const: never
+ - $ref: '#/components/schemas/ApprovalFilter'
+ title: ApprovalFilter
+ title: string | ApprovalFilter
+ default: never
+ allowed_tools:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - $ref: '#/components/schemas/AllowedToolsFilter'
+ title: AllowedToolsFilter
+ - type: 'null'
+ title: list[string] | AllowedToolsFilter
+ type: object
+ required:
+ - server_label
+ - server_url
+ title: OpenAIResponseInputToolMCP
+ description: Model Context Protocol (MCP) tool configuration for OpenAI response inputs.
+ CreateOpenaiResponseRequest:
+ properties:
+ input:
+ anyOf:
+ - type: string
+ - items:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Input'
+ title: OpenAIResponseMessage-Input
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Input'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Input | ... (7 variants)
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Input'
+ title: OpenAIResponseMessage-Input
+ title: OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessage-Input
+ type: array
+ title: list[OpenAIResponseMessageUnion | OpenAIResponseInputFunctionToolCallOutput | ...]
+ title: string | list[OpenAIResponseMessageUnion | OpenAIResponseInputFunctionToolCallOutput | ...]
+ model:
+ type: string
+ title: Model
+ prompt:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponsePrompt'
+ title: OpenAIResponsePrompt
+ - type: 'null'
+ title: OpenAIResponsePrompt
+ instructions:
+ anyOf:
+ - type: string
+ - type: 'null'
+ previous_response_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ conversation:
+ anyOf:
+ - type: string
+ - type: 'null'
+ store:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: true
+ stream:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ temperature:
+ anyOf:
+ - type: number
+ - type: 'null'
+ text:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseText'
+ title: OpenAIResponseText
+ - type: 'null'
+ title: OpenAIResponseText
+ tools:
+ anyOf:
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseInputToolMCP'
+ title: OpenAIResponseInputToolMCP
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ function: '#/components/schemas/OpenAIResponseInputToolFunction'
+ mcp: '#/components/schemas/OpenAIResponseInputToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
+ type: array
+ - type: 'null'
+ include:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ max_infer_iters:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 10
+ max_tool_calls:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ required:
+ - input
+ - model
+ title: CreateOpenaiResponseRequest
+ OpenAIResponseObject:
+ properties:
+ created_at:
+ type: integer
+ title: Created At
+ error:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseError'
+ title: OpenAIResponseError
+ - type: 'null'
+ title: OpenAIResponseError
+ id:
+ type: string
+ title: Id
+ model:
+ type: string
+ title: Model
+ object:
+ type: string
+ const: response
+ title: Object
+ default: response
+ output:
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ type: array
+ title: Output
+ parallel_tool_calls:
+ type: boolean
+ title: Parallel Tool Calls
+ default: false
+ previous_response_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ prompt:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponsePrompt'
+ title: OpenAIResponsePrompt
+ - type: 'null'
+ title: OpenAIResponsePrompt
+ status:
+ type: string
+ title: Status
+ temperature:
+ anyOf:
+ - type: number
+ - type: 'null'
+ text:
+ $ref: '#/components/schemas/OpenAIResponseText'
+ default:
+ format:
+ type: text
+ top_p:
+ anyOf:
+ - type: number
+ - type: 'null'
+ tools:
+ anyOf:
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseToolMCP'
+ title: OpenAIResponseToolMCP
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ function: '#/components/schemas/OpenAIResponseInputToolFunction'
+ mcp: '#/components/schemas/OpenAIResponseToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
+ type: array
+ - type: 'null'
+ truncation:
+ anyOf:
+ - type: string
+ - type: 'null'
+ usage:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsage'
+ title: OpenAIResponseUsage
+ - type: 'null'
+ title: OpenAIResponseUsage
+ instructions:
+ anyOf:
+ - type: string
+ - type: 'null'
+ max_tool_calls:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ required:
+ - created_at
+ - id
+ - model
+ - output
+ - status
+ title: OpenAIResponseObject
+ description: Complete OpenAI response object containing generation results and metadata.
+ OpenAIResponseContentPartOutputText:
+ description: Text content within a streamed response part.
+ properties:
+ type:
+ const: output_text
+ default: output_text
+ title: Type
+ type: string
+ text:
+ title: Text
+ type: string
+ annotations:
+ items:
+ discriminator:
+ mapping:
+ container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
+ title: Annotations
+ type: array
+ logprobs:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
+ nullable: true
+ required:
+ - text
+ title: OpenAIResponseContentPartOutputText
+ type: object
+ OpenAIResponseContentPartReasoningSummary:
+ description: Reasoning summary part in a streamed response.
+ properties:
+ type:
+ const: summary_text
+ default: summary_text
+ title: Type
+ type: string
+ text:
+ title: Text
+ type: string
+ required:
+ - text
+ title: OpenAIResponseContentPartReasoningSummary
+ type: object
+ OpenAIResponseContentPartReasoningText:
+ description: Reasoning text emitted as part of a streamed response.
+ properties:
+ type:
+ const: reasoning_text
+ default: reasoning_text
+ title: Type
+ type: string
+ text:
+ title: Text
+ type: string
+ required:
+ - text
+ title: OpenAIResponseContentPartReasoningText
+ type: object
+ OpenAIResponseObjectStream:
+ discriminator:
+ mapping:
+ response.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseCompleted'
+ response.content_part.added: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartAdded'
+ response.content_part.done: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartDone'
+ response.created: '#/components/schemas/OpenAIResponseObjectStreamResponseCreated'
+ response.failed: '#/components/schemas/OpenAIResponseObjectStreamResponseFailed'
+ response.file_search_call.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallCompleted'
+ response.file_search_call.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallInProgress'
+ response.file_search_call.searching: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallSearching'
+ response.function_call_arguments.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta'
+ response.function_call_arguments.done: '#/components/schemas/OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone'
+ response.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseInProgress'
+ response.incomplete: '#/components/schemas/OpenAIResponseObjectStreamResponseIncomplete'
+ response.mcp_call.arguments.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta'
+ response.mcp_call.arguments.done: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallArgumentsDone'
+ response.mcp_call.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallCompleted'
+ response.mcp_call.failed: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallFailed'
+ response.mcp_call.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallInProgress'
+ response.mcp_list_tools.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsCompleted'
+ response.mcp_list_tools.failed: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsFailed'
+ response.mcp_list_tools.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsInProgress'
+ response.output_item.added: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemAdded'
+ response.output_item.done: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemDone'
+ response.output_text.annotation.added: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded'
+ response.output_text.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDelta'
+ response.output_text.done: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDone'
+ response.reasoning_summary_part.added: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded'
+ response.reasoning_summary_part.done: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartDone'
+ response.reasoning_summary_text.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta'
+ response.reasoning_summary_text.done: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDone'
+ response.reasoning_text.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDelta'
+ response.reasoning_text.done: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDone'
+ response.refusal.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDelta'
+ response.refusal.done: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDone'
+ response.web_search_call.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallCompleted'
+ response.web_search_call.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallInProgress'
+ response.web_search_call.searching: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallSearching'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseCreated'
+ title: OpenAIResponseObjectStreamResponseCreated
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseInProgress'
+ title: OpenAIResponseObjectStreamResponseInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemAdded'
+ title: OpenAIResponseObjectStreamResponseOutputItemAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemDone'
+ title: OpenAIResponseObjectStreamResponseOutputItemDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDelta'
+ title: OpenAIResponseObjectStreamResponseOutputTextDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDone'
+ title: OpenAIResponseObjectStreamResponseOutputTextDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta'
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone'
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallInProgress'
+ title: OpenAIResponseObjectStreamResponseWebSearchCallInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallSearching'
+ title: OpenAIResponseObjectStreamResponseWebSearchCallSearching
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallCompleted'
+ title: OpenAIResponseObjectStreamResponseWebSearchCallCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsInProgress'
+ title: OpenAIResponseObjectStreamResponseMcpListToolsInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsFailed'
+ title: OpenAIResponseObjectStreamResponseMcpListToolsFailed
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsCompleted'
+ title: OpenAIResponseObjectStreamResponseMcpListToolsCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta'
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallArgumentsDone'
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallInProgress'
+ title: OpenAIResponseObjectStreamResponseMcpCallInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallFailed'
+ title: OpenAIResponseObjectStreamResponseMcpCallFailed
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallCompleted'
+ title: OpenAIResponseObjectStreamResponseMcpCallCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartAdded'
+ title: OpenAIResponseObjectStreamResponseContentPartAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartDone'
+ title: OpenAIResponseObjectStreamResponseContentPartDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDelta'
+ title: OpenAIResponseObjectStreamResponseReasoningTextDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDone'
+ title: OpenAIResponseObjectStreamResponseReasoningTextDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartDone'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDone'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDelta'
+ title: OpenAIResponseObjectStreamResponseRefusalDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDone'
+ title: OpenAIResponseObjectStreamResponseRefusalDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded'
+ title: OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallInProgress'
+ title: OpenAIResponseObjectStreamResponseFileSearchCallInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallSearching'
+ title: OpenAIResponseObjectStreamResponseFileSearchCallSearching
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallCompleted'
+ title: OpenAIResponseObjectStreamResponseFileSearchCallCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseIncomplete'
+ title: OpenAIResponseObjectStreamResponseIncomplete
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFailed'
+ title: OpenAIResponseObjectStreamResponseFailed
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseCompleted'
+ title: OpenAIResponseObjectStreamResponseCompleted
+ title: OpenAIResponseObjectStreamResponseCreated | ... (36 variants)
+ OpenAIResponseObjectStreamResponseCompleted:
+ description: Streaming event indicating a response has been completed.
+ properties:
+ response:
+ $ref: '#/components/schemas/OpenAIResponseObject'
+ type:
+ const: response.completed
+ default: response.completed
+ title: Type
+ type: string
+ required:
+ - response
+ title: OpenAIResponseObjectStreamResponseCompleted
+ type: object
+ OpenAIResponseObjectStreamResponseContentPartAdded:
+ description: Streaming event for when a new content part is added to a response item.
+ properties:
+ content_index:
+ title: Content Index
+ type: integer
+ response_id:
+ title: Response Id
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ part:
+ discriminator:
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ reasoning_text: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ title: OpenAIResponseContentPartOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ title: OpenAIResponseContentPartReasoningText
+ title: OpenAIResponseContentPartOutputText | OpenAIResponseContentPartRefusal | OpenAIResponseContentPartReasoningText
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.content_part.added
+ default: response.content_part.added
+ title: Type
+ type: string
+ required:
+ - content_index
+ - response_id
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseContentPartAdded
+ type: object
+ OpenAIResponseObjectStreamResponseContentPartDone:
+ description: Streaming event for when a content part is completed.
+ properties:
+ content_index:
+ title: Content Index
+ type: integer
+ response_id:
+ title: Response Id
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ part:
+ discriminator:
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ reasoning_text: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ title: OpenAIResponseContentPartOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ title: OpenAIResponseContentPartReasoningText
+ title: OpenAIResponseContentPartOutputText | OpenAIResponseContentPartRefusal | OpenAIResponseContentPartReasoningText
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.content_part.done
+ default: response.content_part.done
+ title: Type
+ type: string
+ required:
+ - content_index
+ - response_id
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseContentPartDone
+ type: object
+ OpenAIResponseObjectStreamResponseCreated:
+ description: Streaming event indicating a new response has been created.
+ properties:
+ response:
+ $ref: '#/components/schemas/OpenAIResponseObject'
+ type:
+ const: response.created
+ default: response.created
+ title: Type
+ type: string
+ required:
+ - response
+ title: OpenAIResponseObjectStreamResponseCreated
+ type: object
+ OpenAIResponseObjectStreamResponseFailed:
+ description: Streaming event emitted when a response fails.
+ properties:
+ response:
+ $ref: '#/components/schemas/OpenAIResponseObject'
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.failed
+ default: response.failed
+ title: Type
+ type: string
+ required:
+ - response
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFailed
+ type: object
+ OpenAIResponseObjectStreamResponseFileSearchCallCompleted:
+ description: Streaming event for completed file search calls.
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.file_search_call.completed
+ default: response.file_search_call.completed
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFileSearchCallCompleted
+ type: object
+ OpenAIResponseObjectStreamResponseFileSearchCallInProgress:
+ description: Streaming event for file search calls in progress.
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.file_search_call.in_progress
+ default: response.file_search_call.in_progress
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFileSearchCallInProgress
+ type: object
+ OpenAIResponseObjectStreamResponseFileSearchCallSearching:
+ description: Streaming event for file search currently searching.
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.file_search_call.searching
+ default: response.file_search_call.searching
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFileSearchCallSearching
+ type: object
+ OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta:
+ description: Streaming event for incremental function call argument updates.
+ properties:
+ delta:
+ title: Delta
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.function_call_arguments.delta
+ default: response.function_call_arguments.delta
+ title: Type
+ type: string
+ required:
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta
+ type: object
+ OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone:
+ description: Streaming event for when function call arguments are completed.
+ properties:
+ arguments:
+ title: Arguments
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.function_call_arguments.done
+ default: response.function_call_arguments.done
+ title: Type
+ type: string
+ required:
+ - arguments
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone
+ type: object
+ OpenAIResponseObjectStreamResponseInProgress:
+ description: Streaming event indicating the response remains in progress.
+ properties:
+ response:
+ $ref: '#/components/schemas/OpenAIResponseObject'
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.in_progress
+ default: response.in_progress
+ title: Type
+ type: string
+ required:
+ - response
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseInProgress
+ type: object
+ OpenAIResponseObjectStreamResponseIncomplete:
+ description: Streaming event emitted when a response ends in an incomplete state.
+ properties:
+ response:
+ $ref: '#/components/schemas/OpenAIResponseObject'
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.incomplete
+ default: response.incomplete
+ title: Type
+ type: string
+ required:
+ - response
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseIncomplete
+ type: object
+ OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta:
+ properties:
+ delta:
+ title: Delta
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.mcp_call.arguments.delta
+ default: response.mcp_call.arguments.delta
+ title: Type
+ type: string
+ required:
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta
+ type: object
+ OpenAIResponseObjectStreamResponseMcpCallArgumentsDone:
+ properties:
+ arguments:
+ title: Arguments
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.mcp_call.arguments.done
+ default: response.mcp_call.arguments.done
+ title: Type
+ type: string
+ required:
+ - arguments
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDone
+ type: object
+ OpenAIResponseObjectStreamResponseMcpCallCompleted:
+ description: Streaming event for completed MCP calls.
+ properties:
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.mcp_call.completed
+ default: response.mcp_call.completed
+ title: Type
+ type: string
+ required:
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallCompleted
+ type: object
+ OpenAIResponseObjectStreamResponseMcpCallFailed:
+ description: Streaming event for failed MCP calls.
+ properties:
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.mcp_call.failed
+ default: response.mcp_call.failed
+ title: Type
+ type: string
+ required:
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallFailed
+ type: object
+ OpenAIResponseObjectStreamResponseMcpCallInProgress:
+ description: Streaming event for MCP calls in progress.
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.mcp_call.in_progress
+ default: response.mcp_call.in_progress
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallInProgress
+ type: object
+ OpenAIResponseObjectStreamResponseMcpListToolsCompleted:
+ properties:
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.mcp_list_tools.completed
+ default: response.mcp_list_tools.completed
+ title: Type
+ type: string
+ required:
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpListToolsCompleted
+ type: object
+ OpenAIResponseObjectStreamResponseMcpListToolsFailed:
+ properties:
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.mcp_list_tools.failed
+ default: response.mcp_list_tools.failed
+ title: Type
+ type: string
+ required:
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpListToolsFailed
+ type: object
+ OpenAIResponseObjectStreamResponseMcpListToolsInProgress:
+ properties:
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.mcp_list_tools.in_progress
+ default: response.mcp_list_tools.in_progress
+ title: Type
+ type: string
+ required:
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpListToolsInProgress
+ type: object
+ OpenAIResponseObjectStreamResponseOutputItemAdded:
+ description: Streaming event for when a new output item is added to the response.
+ properties:
+ response_id:
+ title: Response Id
+ type: string
+ item:
+ discriminator:
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.output_item.added
+ default: response.output_item.added
+ title: Type
+ type: string
+ required:
+ - response_id
+ - item
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputItemAdded
+ type: object
+ OpenAIResponseObjectStreamResponseOutputItemDone:
+ description: Streaming event for when an output item is completed.
+ properties:
+ response_id:
+ title: Response Id
+ type: string
+ item:
+ discriminator:
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.output_item.done
+ default: response.output_item.done
+ title: Type
+ type: string
+ required:
+ - response_id
+ - item
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputItemDone
+ type: object
+ OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded:
+ description: Streaming event for when an annotation is added to output text.
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ content_index:
+ title: Content Index
+ type: integer
+ annotation_index:
+ title: Annotation Index
+ type: integer
+ annotation:
+ discriminator:
+ mapping:
+ container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.output_text.annotation.added
+ default: response.output_text.annotation.added
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - content_index
+ - annotation_index
+ - annotation
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded
+ type: object
+ OpenAIResponseObjectStreamResponseOutputTextDelta:
+ description: Streaming event for incremental text content updates.
+ properties:
+ content_index:
+ title: Content Index
+ type: integer
+ delta:
+ title: Delta
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.output_text.delta
+ default: response.output_text.delta
+ title: Type
+ type: string
+ required:
+ - content_index
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputTextDelta
+ type: object
+ OpenAIResponseObjectStreamResponseOutputTextDone:
+ description: Streaming event for when text output is completed.
+ properties:
+ content_index:
+ title: Content Index
+ type: integer
+ text:
+ title: Text
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.output_text.done
+ default: response.output_text.done
+ title: Type
+ type: string
+ required:
+ - content_index
+ - text
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputTextDone
+ type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded:
+ description: Streaming event for when a new reasoning summary part is added.
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ part:
+ $ref: '#/components/schemas/OpenAIResponseContentPartReasoningSummary'
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ summary_index:
+ title: Summary Index
+ type: integer
+ type:
+ const: response.reasoning_summary_part.added
+ default: response.reasoning_summary_part.added
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded
+ type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryPartDone:
+ description: Streaming event for when a reasoning summary part is completed.
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ part:
+ $ref: '#/components/schemas/OpenAIResponseContentPartReasoningSummary'
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ summary_index:
+ title: Summary Index
+ type: integer
+ type:
+ const: response.reasoning_summary_part.done
+ default: response.reasoning_summary_part.done
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartDone
+ type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta:
+ description: Streaming event for incremental reasoning summary text updates.
+ properties:
+ delta:
+ title: Delta
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ summary_index:
+ title: Summary Index
+ type: integer
+ type:
+ const: response.reasoning_summary_text.delta
+ default: response.reasoning_summary_text.delta
+ title: Type
+ type: string
+ required:
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta
+ type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryTextDone:
+ description: Streaming event for when reasoning summary text is completed.
+ properties:
+ text:
+ title: Text
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ summary_index:
+ title: Summary Index
+ type: integer
+ type:
+ const: response.reasoning_summary_text.done
+ default: response.reasoning_summary_text.done
+ title: Type
+ type: string
+ required:
+ - text
+ - item_id
+ - output_index
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDone
+ type: object
+ OpenAIResponseObjectStreamResponseReasoningTextDelta:
+ description: Streaming event for incremental reasoning text updates.
+ properties:
+ content_index:
+ title: Content Index
+ type: integer
+ delta:
+ title: Delta
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.reasoning_text.delta
+ default: response.reasoning_text.delta
+ title: Type
+ type: string
+ required:
+ - content_index
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseReasoningTextDelta
+ type: object
+ OpenAIResponseObjectStreamResponseReasoningTextDone:
+ description: Streaming event for when reasoning text is completed.
+ properties:
+ content_index:
+ title: Content Index
+ type: integer
+ text:
+ title: Text
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.reasoning_text.done
+ default: response.reasoning_text.done
+ title: Type
+ type: string
+ required:
+ - content_index
+ - text
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseReasoningTextDone
+ type: object
+ OpenAIResponseObjectStreamResponseRefusalDelta:
+ description: Streaming event for incremental refusal text updates.
+ properties:
+ content_index:
+ title: Content Index
+ type: integer
+ delta:
+ title: Delta
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.refusal.delta
+ default: response.refusal.delta
+ title: Type
+ type: string
+ required:
+ - content_index
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseRefusalDelta
+ type: object
+ OpenAIResponseObjectStreamResponseRefusalDone:
+ description: Streaming event for when refusal text is completed.
+ properties:
+ content_index:
+ title: Content Index
+ type: integer
+ refusal:
+ title: Refusal
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.refusal.done
+ default: response.refusal.done
+ title: Type
+ type: string
+ required:
+ - content_index
+ - refusal
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseRefusalDone
+ type: object
+ OpenAIResponseObjectStreamResponseWebSearchCallCompleted:
+ description: Streaming event for completed web search calls.
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.web_search_call.completed
+ default: response.web_search_call.completed
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseWebSearchCallCompleted
+ type: object
+ OpenAIResponseObjectStreamResponseWebSearchCallInProgress:
+ description: Streaming event for web search calls in progress.
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.web_search_call.in_progress
+ default: response.web_search_call.in_progress
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseWebSearchCallInProgress
+ type: object
+ OpenAIResponseObjectStreamResponseWebSearchCallSearching:
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.web_search_call.searching
+ default: response.web_search_call.searching
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseWebSearchCallSearching
+ type: object
+ OpenAIDeleteResponseObject:
+ properties:
+ id:
+ type: string
+ title: Id
+ object:
+ type: string
+ const: response
+ title: Object
+ default: response
+ deleted:
+ type: boolean
+ title: Deleted
+ default: true
+ type: object
+ required:
+ - id
+ title: OpenAIDeleteResponseObject
+ description: Response object confirming deletion of an OpenAI response.
+ ListOpenAIResponseInputItem:
+ properties:
+ data:
+ items:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ title: OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessage-Output
+ type: array
+ title: Data
+ object:
+ type: string
+ const: list
+ title: Object
+ default: list
+ type: object
+ required:
+ - data
+ title: ListOpenAIResponseInputItem
+ description: List container for OpenAI response input items.
+ RunShieldRequest:
+ properties:
+ shield_id:
+ type: string
+ title: Shield Id
+ messages:
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam-Input'
+ title: OpenAIUserMessageParam-Input
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam-Input'
+ title: OpenAIAssistantMessageParam-Input
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ discriminator:
+ propertyName: role
+ mapping:
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam-Input'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam-Input'
+ title: OpenAIUserMessageParam-Input | ... (5 variants)
+ type: array
+ title: Messages
+ params:
+ additionalProperties: true
+ type: object
+ title: Params
+ type: object
+ required:
+ - shield_id
+ - messages
+ - params
+ title: RunShieldRequest
+ RunShieldResponse:
+ properties:
+ violation:
+ anyOf:
+ - $ref: '#/components/schemas/SafetyViolation'
+ title: SafetyViolation
+ - type: 'null'
+ title: SafetyViolation
+ type: object
+ title: RunShieldResponse
+ description: Response from running a safety shield.
+ SafetyViolation:
+ properties:
+ violation_level:
+ $ref: '#/components/schemas/ViolationLevel'
+ user_message:
+ anyOf:
+ - type: string
+ - type: 'null'
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ type: object
+ required:
+ - violation_level
+ 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.
+ AggregationFunctionType:
+ type: string
+ enum:
+ - average
+ - weighted_average
+ - median
+ - categorical_count
+ - accuracy
+ title: AggregationFunctionType
+ description: Types of aggregation functions for scoring results.
+ ArrayType:
+ properties:
+ type:
+ type: string
+ const: array
+ title: Type
+ default: array
+ type: object
+ title: ArrayType
+ description: Parameter type for array values.
+ BasicScoringFnParams:
+ properties:
+ type:
+ type: string
+ const: basic
+ title: Type
+ default: basic
+ aggregation_functions:
+ items:
+ $ref: '#/components/schemas/AggregationFunctionType'
+ type: array
+ title: Aggregation Functions
+ description: Aggregation functions to apply to the scores of each row
+ type: object
+ title: BasicScoringFnParams
+ description: Parameters for basic scoring function configuration.
+ BooleanType:
+ properties:
+ type:
+ type: string
+ const: boolean
+ title: Type
+ default: boolean
+ type: object
+ title: BooleanType
+ description: Parameter type for boolean values.
+ ChatCompletionInputType:
+ properties:
+ type:
+ type: string
+ const: chat_completion_input
+ title: Type
+ default: chat_completion_input
+ type: object
+ title: ChatCompletionInputType
+ description: Parameter type for chat completion input.
+ CompletionInputType:
+ properties:
+ type:
+ type: string
+ const: completion_input
+ title: Type
+ default: completion_input
+ type: object
+ title: CompletionInputType
+ description: Parameter type for completion input.
+ JsonType:
+ properties:
+ type:
+ type: string
+ const: json
+ title: Type
+ default: json
+ type: object
+ title: JsonType
+ description: Parameter type for JSON values.
+ LLMAsJudgeScoringFnParams:
+ properties:
+ type:
+ type: string
+ const: llm_as_judge
+ title: Type
+ default: llm_as_judge
+ judge_model:
+ type: string
+ title: Judge Model
+ prompt_template:
+ anyOf:
+ - type: string
+ - type: 'null'
+ judge_score_regexes:
+ items:
+ type: string
+ type: array
+ title: Judge Score Regexes
+ description: Regexes to extract the answer from generated response
+ aggregation_functions:
+ items:
+ $ref: '#/components/schemas/AggregationFunctionType'
+ type: array
+ title: Aggregation Functions
+ description: Aggregation functions to apply to the scores of each row
+ type: object
+ required:
+ - judge_model
+ title: LLMAsJudgeScoringFnParams
+ description: Parameters for LLM-as-judge scoring function configuration.
+ NumberType:
+ properties:
+ type:
+ type: string
+ const: number
+ title: Type
+ default: number
+ type: object
+ title: NumberType
+ description: Parameter type for numeric values.
+ ObjectType:
+ properties:
+ type:
+ type: string
+ const: object
+ title: Type
+ default: object
+ type: object
+ title: ObjectType
+ description: Parameter type for object values.
+ RegexParserScoringFnParams:
+ properties:
+ type:
+ type: string
+ const: regex_parser
+ title: Type
+ default: regex_parser
+ parsing_regexes:
+ items:
+ type: string
+ type: array
+ title: Parsing Regexes
+ description: Regex to extract the answer from generated response
+ aggregation_functions:
+ items:
+ $ref: '#/components/schemas/AggregationFunctionType'
+ type: array
+ title: Aggregation Functions
+ description: Aggregation functions to apply to the scores of each row
+ type: object
+ title: RegexParserScoringFnParams
+ description: Parameters for regex parser scoring function configuration.
+ ScoringFn:
+ properties:
+ identifier:
+ type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
+ provider_resource_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
+ provider_id:
+ type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
+ type:
+ type: string
+ const: scoring_function
+ title: Type
+ default: scoring_function
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ description: Any additional metadata for this definition
+ return_type:
+ oneOf:
+ - $ref: '#/components/schemas/StringType'
+ title: StringType
+ - $ref: '#/components/schemas/NumberType'
+ title: NumberType
+ - $ref: '#/components/schemas/BooleanType'
+ title: BooleanType
+ - $ref: '#/components/schemas/ArrayType'
+ title: ArrayType
+ - $ref: '#/components/schemas/ObjectType'
+ title: ObjectType
+ - $ref: '#/components/schemas/JsonType'
+ title: JsonType
+ - $ref: '#/components/schemas/UnionType'
+ title: UnionType
+ - $ref: '#/components/schemas/ChatCompletionInputType'
+ title: ChatCompletionInputType
+ - $ref: '#/components/schemas/CompletionInputType'
+ title: CompletionInputType
+ title: StringType | ... (9 variants)
+ description: The return type of the deterministic function
+ discriminator:
+ propertyName: type
+ mapping:
+ array: '#/components/schemas/ArrayType'
+ boolean: '#/components/schemas/BooleanType'
+ chat_completion_input: '#/components/schemas/ChatCompletionInputType'
+ completion_input: '#/components/schemas/CompletionInputType'
+ json: '#/components/schemas/JsonType'
+ number: '#/components/schemas/NumberType'
+ object: '#/components/schemas/ObjectType'
+ string: '#/components/schemas/StringType'
+ union: '#/components/schemas/UnionType'
+ params:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ discriminator:
+ propertyName: type
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ - type: 'null'
+ title: Params
+ description: The parameters for the scoring function for benchmark eval, these can be overridden for app eval
+ type: object
+ required:
+ - identifier
+ - provider_id
+ - return_type
+ title: ScoringFn
+ description: A scoring function resource for evaluating model outputs.
+ ScoringFnParams:
+ discriminator:
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ ScoringFnParamsType:
+ description: Types of scoring function parameter configurations.
+ enum:
+ - llm_as_judge
+ - regex_parser
+ - basic
+ title: ScoringFnParamsType
+ type: string
+ StringType:
+ properties:
+ type:
+ type: string
+ const: string
+ title: Type
+ default: string
+ type: object
+ title: StringType
+ description: Parameter type for string values.
+ UnionType:
+ properties:
+ type:
+ type: string
+ const: union
+ title: Type
+ default: union
+ type: object
+ title: UnionType
+ description: Parameter type for union values.
+ ListScoringFunctionsResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/ScoringFn'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListScoringFunctionsResponse
+ ScoreRequest:
+ properties:
+ input_rows:
+ items:
+ additionalProperties: true
+ type: object
+ type: array
+ title: Input Rows
+ scoring_functions:
+ additionalProperties:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ discriminator:
+ propertyName: type
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ - type: 'null'
+ title: AdditionalpropertiesUnion
+ type: object
+ title: Scoring Functions
+ type: object
+ required:
+ - input_rows
+ - scoring_functions
+ title: ScoreRequest
+ ScoreResponse:
+ properties:
+ results:
+ additionalProperties:
+ $ref: '#/components/schemas/ScoringResult'
+ type: object
+ title: Results
+ type: object
+ required:
+ - results
+ title: ScoreResponse
+ description: The response from scoring.
+ ScoringResult:
+ properties:
+ score_rows:
+ items:
+ additionalProperties: true
+ type: object
+ type: array
+ title: Score Rows
+ aggregated_results:
+ additionalProperties: true
+ type: object
+ title: Aggregated Results
+ type: object
+ required:
+ - score_rows
+ - aggregated_results
+ title: ScoringResult
+ description: A scoring result for a single row.
+ ScoreBatchRequest:
+ properties:
+ dataset_id:
+ type: string
+ title: Dataset Id
+ scoring_functions:
+ additionalProperties:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ discriminator:
+ propertyName: type
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ - type: 'null'
+ title: AdditionalpropertiesUnion
+ type: object
+ title: Scoring Functions
+ save_results_dataset:
+ type: boolean
+ title: Save Results Dataset
+ default: false
+ type: object
+ required:
+ - dataset_id
+ - scoring_functions
+ title: ScoreBatchRequest
+ ScoreBatchResponse:
+ properties:
+ dataset_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ results:
+ additionalProperties:
+ $ref: '#/components/schemas/ScoringResult'
+ type: object
+ title: Results
+ type: object
+ required:
+ - results
+ title: ScoreBatchResponse
+ description: Response from batch scoring operations on datasets.
+ Shield:
+ properties:
+ identifier:
+ type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
+ provider_resource_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
+ provider_id:
+ type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
+ type:
+ type: string
+ const: shield
+ title: Type
+ default: shield
+ params:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - identifier
+ - provider_id
+ title: Shield
+ description: A safety shield resource that can be used to check content.
+ ListShieldsResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/Shield'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListShieldsResponse
+ InvokeToolRequest:
+ properties:
+ tool_name:
+ type: string
+ title: Tool Name
+ kwargs:
+ additionalProperties: true
+ type: object
+ title: Kwargs
+ authorization:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - tool_name
+ - kwargs
+ title: InvokeToolRequest
+ ImageContentItem:
+ description: A image content item
+ properties:
+ type:
+ const: image
+ default: image
+ title: Type
+ type: string
+ image:
+ $ref: '#/components/schemas/_URLOrData'
+ required:
+ - image
+ title: ImageContentItem
+ type: object
+ InterleavedContent:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
+ InterleavedContentItem:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ TextContentItem:
+ properties:
+ type:
+ type: string
+ const: text
+ title: Type
+ default: text
+ text:
+ type: string
+ title: Text
+ type: object
+ required:
+ - text
+ title: TextContentItem
+ description: A text content item
+ ToolInvocationResult:
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ type: array
+ title: list[ImageContentItem-Output | TextContentItem]
+ - type: 'null'
+ title: string | list[ImageContentItem-Output | TextContentItem]
+ error_message:
+ anyOf:
+ - type: string
+ - type: 'null'
+ error_code:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ title: ToolInvocationResult
+ description: Result of a tool invocation.
+ URL:
+ properties:
+ uri:
+ type: string
+ title: Uri
+ type: object
+ required:
+ - uri
+ title: URL
+ description: A URL reference to external content.
+ ToolDef:
+ properties:
+ toolgroup_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ name:
+ type: string
+ title: Name
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ input_schema:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ output_schema:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - name
+ title: ToolDef
+ description: Tool definition used in runtime contexts.
+ ListToolDefsResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/ToolDef'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListToolDefsResponse
+ description: Response containing a list of tool definitions.
+ ToolGroup:
+ properties:
+ identifier:
+ type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
+ provider_resource_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
+ provider_id:
+ type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
+ type:
+ type: string
+ const: tool_group
+ title: Type
+ default: tool_group
+ mcp_endpoint:
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ title: URL
+ - type: 'null'
+ title: URL
+ args:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - identifier
+ - provider_id
+ title: ToolGroup
+ description: A group of related tools managed together.
+ ListToolGroupsResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/ToolGroup'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListToolGroupsResponse
+ description: Response containing a list of tool groups.
+ Chunk:
+ description: A chunk of content that can be inserted into a vector database.
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
+ chunk_id:
+ title: Chunk Id
+ type: string
+ metadata:
+ additionalProperties: true
+ title: Metadata
+ type: object
+ embedding:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ nullable: true
+ chunk_metadata:
+ anyOf:
+ - $ref: '#/components/schemas/ChunkMetadata'
+ title: ChunkMetadata
+ - type: 'null'
+ nullable: true
+ title: ChunkMetadata
+ required:
+ - content
+ - chunk_id
+ title: Chunk
+ type: object
+ ChunkMetadata:
+ properties:
+ chunk_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ document_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ source:
+ anyOf:
+ - type: string
+ - type: 'null'
+ created_timestamp:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ updated_timestamp:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ chunk_window:
+ anyOf:
+ - type: string
+ - type: 'null'
+ chunk_tokenizer:
+ anyOf:
+ - type: string
+ - type: 'null'
+ chunk_embedding_model:
+ anyOf:
+ - type: string
+ - type: 'null'
+ chunk_embedding_dimension:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ content_token_count:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ metadata_token_count:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ 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:
+ properties:
+ vector_store_id:
+ type: string
+ title: Vector Store Id
+ chunks:
+ items:
+ $ref: '#/components/schemas/Chunk-Input'
+ type: array
+ title: Chunks
+ ttl_seconds:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ required:
+ - vector_store_id
+ - chunks
+ title: InsertChunksRequest
+ QueryChunksRequest:
+ properties:
+ vector_store_id:
+ type: string
+ title: Vector Store Id
+ query:
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ type: array
+ title: list[ImageContentItem-Input | TextContentItem]
+ title: string | list[ImageContentItem-Input | TextContentItem]
+ params:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - vector_store_id
+ - query
+ title: QueryChunksRequest
+ QueryChunksResponse:
+ properties:
+ chunks:
+ items:
+ $ref: '#/components/schemas/Chunk-Output'
+ type: array
+ title: Chunks
+ scores:
+ items:
+ type: number
+ type: array
+ title: Scores
+ type: object
+ required:
+ - chunks
+ - scores
+ title: QueryChunksResponse
+ description: Response from querying chunks in a vector database.
+ VectorStoreFileCounts:
+ properties:
+ completed:
+ type: integer
+ title: Completed
+ cancelled:
+ type: integer
+ title: Cancelled
+ failed:
+ type: integer
+ title: Failed
+ in_progress:
+ type: integer
+ title: In Progress
+ total:
+ type: integer
+ title: Total
+ type: object
+ required:
+ - completed
+ - cancelled
+ - failed
+ - in_progress
+ - total
+ title: VectorStoreFileCounts
+ description: File processing status counts for a vector store.
+ VectorStoreListResponse:
+ properties:
+ object:
+ type: string
+ title: Object
+ default: list
+ data:
+ items:
+ $ref: '#/components/schemas/VectorStoreObject'
+ type: array
+ title: Data
+ first_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ last_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ has_more:
+ type: boolean
+ title: Has More
+ default: false
+ type: object
+ required:
+ - data
+ title: VectorStoreListResponse
+ description: Response from listing vector stores.
+ VectorStoreObject:
+ properties:
+ id:
+ type: string
+ title: Id
+ object:
+ type: string
+ title: Object
+ default: vector_store
+ created_at:
+ type: integer
+ title: Created At
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ usage_bytes:
+ type: integer
+ title: Usage Bytes
+ default: 0
+ file_counts:
+ $ref: '#/components/schemas/VectorStoreFileCounts'
+ status:
+ type: string
+ title: Status
+ default: completed
+ expires_after:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ expires_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ last_active_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ type: object
+ required:
+ - id
+ - created_at
+ - file_counts
+ title: VectorStoreObject
+ description: OpenAI Vector Store object.
+ VectorStoreChunkingStrategy:
+ discriminator:
+ mapping:
+ auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
+ VectorStoreChunkingStrategyAuto:
+ properties:
+ type:
+ type: string
+ const: auto
+ title: Type
+ default: auto
+ type: object
+ title: VectorStoreChunkingStrategyAuto
+ description: Automatic chunking strategy for vector store files.
+ VectorStoreChunkingStrategyStatic:
+ properties:
+ type:
+ type: string
+ const: static
+ title: Type
+ default: static
+ static:
+ $ref: '#/components/schemas/VectorStoreChunkingStrategyStaticConfig'
+ type: object
+ required:
+ - static
+ title: VectorStoreChunkingStrategyStatic
+ description: Static chunking strategy with configurable parameters.
+ VectorStoreChunkingStrategyStaticConfig:
+ properties:
+ chunk_overlap_tokens:
+ type: integer
+ title: Chunk Overlap Tokens
+ default: 400
+ max_chunk_size_tokens:
+ type: integer
+ maximum: 4096.0
+ minimum: 100.0
+ title: Max Chunk Size Tokens
+ default: 800
+ type: object
+ title: VectorStoreChunkingStrategyStaticConfig
+ description: Configuration for static chunking strategy.
+ OpenAICreateVectorStoreRequestWithExtraBody:
+ properties:
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ file_ids:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ expires_after:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ chunking_strategy:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ discriminator:
+ propertyName: type
+ mapping:
+ auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
+ - type: 'null'
+ title: Chunking Strategy
+ metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ additionalProperties: true
+ type: object
+ title: OpenAICreateVectorStoreRequestWithExtraBody
+ description: Request to create a vector store with extra_body support.
+ OpenaiUpdateVectorStoreRequest:
+ properties:
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ expires_after:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ title: OpenaiUpdateVectorStoreRequest
+ VectorStoreDeleteResponse:
+ properties:
+ id:
+ type: string
+ title: Id
+ object:
+ type: string
+ title: Object
+ default: vector_store.deleted
+ deleted:
+ type: boolean
+ title: Deleted
+ default: true
+ type: object
+ required:
+ - id
+ title: VectorStoreDeleteResponse
+ description: Response from deleting a vector store.
+ OpenAICreateVectorStoreFileBatchRequestWithExtraBody:
+ properties:
+ file_ids:
+ items:
+ type: string
+ type: array
+ title: File Ids
+ attributes:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ chunking_strategy:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ discriminator:
+ propertyName: type
+ mapping:
+ auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
+ - type: 'null'
+ title: Chunking Strategy
+ additionalProperties: true
+ type: object
+ required:
+ - file_ids
+ title: OpenAICreateVectorStoreFileBatchRequestWithExtraBody
+ description: Request to create a vector store file batch with extra_body support.
+ VectorStoreFileBatchObject:
+ properties:
+ id:
+ type: string
+ title: Id
+ object:
+ type: string
+ title: Object
+ default: vector_store.file_batch
+ created_at:
+ type: integer
+ title: Created At
+ vector_store_id:
+ type: string
+ title: Vector Store Id
+ status:
+ title: Status
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - cancelled
+ - failed
+ default: completed
+ file_counts:
+ $ref: '#/components/schemas/VectorStoreFileCounts'
+ type: object
+ required:
+ - id
+ - created_at
+ - vector_store_id
+ - status
+ - file_counts
+ title: VectorStoreFileBatchObject
+ description: OpenAI Vector Store File Batch object.
+ VectorStoreFileStatus:
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - cancelled
+ - failed
+ default: completed
+ VectorStoreFileLastError:
+ properties:
+ code:
+ title: Code
+ type: string
+ enum:
+ - server_error
+ - rate_limit_exceeded
+ default: server_error
+ message:
+ type: string
+ title: Message
+ type: object
+ required:
+ - code
+ - message
+ title: VectorStoreFileLastError
+ description: Error information for failed vector store file processing.
+ VectorStoreFileObject:
+ properties:
+ id:
+ type: string
+ title: Id
+ object:
+ type: string
+ title: Object
+ default: vector_store.file
+ attributes:
+ additionalProperties: true
+ type: object
+ title: Attributes
+ chunking_strategy:
+ oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
+ discriminator:
+ propertyName: type
+ mapping:
+ auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ created_at:
+ type: integer
+ title: Created At
+ last_error:
+ anyOf:
+ - $ref: '#/components/schemas/VectorStoreFileLastError'
+ title: VectorStoreFileLastError
+ - type: 'null'
+ title: VectorStoreFileLastError
+ status:
+ title: Status
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - cancelled
+ - failed
+ default: completed
+ usage_bytes:
+ type: integer
+ title: Usage Bytes
+ default: 0
+ vector_store_id:
+ type: string
+ title: Vector Store Id
+ type: object
+ required:
+ - id
+ - chunking_strategy
+ - created_at
+ - status
+ - vector_store_id
+ title: VectorStoreFileObject
+ description: OpenAI Vector Store File object.
+ VectorStoreFilesListInBatchResponse:
+ properties:
+ object:
+ type: string
+ title: Object
+ default: list
+ data:
+ items:
+ $ref: '#/components/schemas/VectorStoreFileObject'
+ type: array
+ title: Data
+ first_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ last_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ has_more:
+ type: boolean
+ title: Has More
+ default: false
+ type: object
+ required:
+ - data
+ title: VectorStoreFilesListInBatchResponse
+ description: Response from listing files in a vector store file batch.
+ VectorStoreListFilesResponse:
+ properties:
+ object:
+ type: string
+ title: Object
+ default: list
+ data:
+ items:
+ $ref: '#/components/schemas/VectorStoreFileObject'
+ type: array
+ title: Data
+ first_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ last_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ has_more:
+ type: boolean
+ title: Has More
+ default: false
+ type: object
+ required:
+ - data
+ title: VectorStoreListFilesResponse
+ description: Response from listing files in a vector store.
+ OpenaiAttachFileToVectorStoreRequest:
+ properties:
+ file_id:
+ type: string
+ title: File Id
+ attributes:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ chunking_strategy:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ discriminator:
+ propertyName: type
+ mapping:
+ auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
+ - type: 'null'
+ title: Chunking Strategy
+ type: object
+ required:
+ - file_id
+ title: OpenaiAttachFileToVectorStoreRequest
+ OpenaiUpdateVectorStoreFileRequest:
+ properties:
+ attributes:
+ additionalProperties: true
+ type: object
+ title: Attributes
+ type: object
+ required:
+ - attributes
+ title: OpenaiUpdateVectorStoreFileRequest
+ VectorStoreFileDeleteResponse:
+ properties:
+ id:
+ type: string
+ title: Id
+ object:
+ type: string
+ title: Object
+ default: vector_store.file.deleted
+ deleted:
+ type: boolean
+ title: Deleted
+ default: true
+ type: object
+ required:
+ - id
+ title: VectorStoreFileDeleteResponse
+ description: Response from deleting a vector store file.
+ VectorStoreContent:
+ properties:
+ type:
+ type: string
+ const: text
+ title: Type
+ text:
+ type: string
+ title: Text
+ embedding:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ chunk_metadata:
+ anyOf:
+ - $ref: '#/components/schemas/ChunkMetadata'
+ title: ChunkMetadata
+ - type: 'null'
+ title: ChunkMetadata
+ metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - type
+ - text
+ title: VectorStoreContent
+ description: Content item from a vector store file or search result.
+ VectorStoreFileContentResponse:
+ properties:
+ object:
+ type: string
+ const: vector_store.file_content.page
+ title: Object
+ default: vector_store.file_content.page
+ data:
+ items:
+ $ref: '#/components/schemas/VectorStoreContent'
+ type: array
+ title: Data
+ has_more:
+ type: boolean
+ title: Has More
+ default: false
+ next_page:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - data
+ title: VectorStoreFileContentResponse
+ description: Represents the parsed content of a vector store file.
+ OpenaiSearchVectorStoreRequest:
+ properties:
+ query:
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ title: string | list[string]
+ filters:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ max_num_results:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 10
+ ranking_options:
+ anyOf:
+ - $ref: '#/components/schemas/SearchRankingOptions'
+ title: SearchRankingOptions
+ - type: 'null'
+ title: SearchRankingOptions
+ rewrite_query:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ search_mode:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: vector
+ type: object
+ required:
+ - query
+ title: OpenaiSearchVectorStoreRequest
+ VectorStoreSearchResponse:
+ properties:
+ file_id:
+ type: string
+ title: File Id
+ filename:
+ type: string
+ title: Filename
+ score:
+ type: number
+ title: Score
+ attributes:
+ anyOf:
+ - additionalProperties:
+ anyOf:
+ - type: string
+ - type: number
+ - type: boolean
+ title: string | number | boolean
+ type: object
+ - type: 'null'
+ content:
+ items:
+ $ref: '#/components/schemas/VectorStoreContent'
+ type: array
+ title: Content
+ type: object
+ required:
+ - file_id
+ - filename
+ - score
+ - content
+ title: VectorStoreSearchResponse
+ description: Response from searching a vector store.
+ VectorStoreSearchResponsePage:
+ properties:
+ object:
+ type: string
+ title: Object
+ default: vector_store.search_results.page
+ search_query:
+ items:
+ type: string
+ type: array
+ title: Search Query
+ data:
+ items:
+ $ref: '#/components/schemas/VectorStoreSearchResponse'
+ type: array
+ title: Data
+ has_more:
+ type: boolean
+ title: Has More
+ default: false
+ next_page:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - search_query
+ - data
+ title: VectorStoreSearchResponsePage
+ description: Paginated response from searching a vector store.
+ VersionInfo:
+ properties:
+ version:
+ type: string
+ title: Version
+ type: object
+ required:
+ - version
+ title: VersionInfo
+ description: Version information for the service.
+ AppendRowsRequest:
+ properties:
+ rows:
+ items:
+ additionalProperties: true
+ type: object
+ type: array
+ title: Rows
+ type: object
+ required:
+ - rows
+ title: AppendRowsRequest
+ PaginatedResponse:
+ properties:
+ data:
+ items:
+ additionalProperties: true
+ type: object
+ type: array
+ title: Data
+ has_more:
+ type: boolean
+ title: Has More
+ url:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - data
+ - has_more
+ title: PaginatedResponse
+ description: A generic paginated response that follows a simple format.
+ Dataset:
+ properties:
+ identifier:
+ type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
+ provider_resource_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
+ provider_id:
+ type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
+ type:
+ type: string
+ const: dataset
+ title: Type
+ default: dataset
+ purpose:
+ $ref: '#/components/schemas/DatasetPurpose'
+ source:
+ oneOf:
+ - $ref: '#/components/schemas/URIDataSource'
+ title: URIDataSource
+ - $ref: '#/components/schemas/RowsDataSource'
+ title: RowsDataSource
+ title: URIDataSource | RowsDataSource
+ discriminator:
+ propertyName: type
+ mapping:
+ rows: '#/components/schemas/RowsDataSource'
+ uri: '#/components/schemas/URIDataSource'
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ description: Any additional metadata for this dataset
+ type: object
+ required:
+ - identifier
+ - provider_id
+ - purpose
+ - source
+ title: Dataset
+ description: Dataset resource for storing and accessing training or evaluation data.
+ RowsDataSource:
+ properties:
+ type:
+ type: string
+ const: rows
+ title: Type
+ default: rows
+ rows:
+ items:
+ additionalProperties: true
+ type: object
+ type: array
+ title: Rows
+ type: object
+ required:
+ - rows
+ title: RowsDataSource
+ description: A dataset stored in rows.
+ URIDataSource:
+ properties:
+ type:
+ type: string
+ const: uri
+ title: Type
+ default: uri
+ uri:
+ type: string
+ title: Uri
+ type: object
+ required:
+ - uri
+ title: URIDataSource
+ description: A dataset that can be obtained from a URI.
+ ListDatasetsResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/Dataset'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListDatasetsResponse
+ description: Response from listing datasets.
+ Benchmark:
+ properties:
+ identifier:
+ type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
+ provider_resource_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
+ provider_id:
+ type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
+ type:
+ type: string
+ const: benchmark
+ title: Type
+ default: benchmark
+ dataset_id:
+ type: string
+ title: Dataset Id
+ scoring_functions:
+ items:
+ type: string
+ type: array
+ title: Scoring Functions
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ description: Metadata for this evaluation task
+ type: object
+ required:
+ - identifier
+ - provider_id
+ - dataset_id
+ - scoring_functions
+ title: Benchmark
+ description: A benchmark resource for evaluating model performance.
+ ListBenchmarksResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/Benchmark'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListBenchmarksResponse
+ BenchmarkConfig:
+ properties:
+ eval_candidate:
+ $ref: '#/components/schemas/ModelCandidate'
+ scoring_params:
+ additionalProperties:
+ oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ discriminator:
+ propertyName: type
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ type: object
+ title: Scoring Params
+ description: Map between scoring function id and parameters for each scoring function you want to run
+ num_examples:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ description: Number of examples to evaluate (useful for testing), if not provided, all examples in the dataset will be evaluated
+ type: object
+ required:
+ - eval_candidate
+ title: BenchmarkConfig
+ description: A benchmark configuration for evaluation.
+ GreedySamplingStrategy:
+ properties:
+ type:
+ type: string
+ const: greedy
+ title: Type
+ default: greedy
+ type: object
+ title: GreedySamplingStrategy
+ description: Greedy sampling strategy that selects the highest probability token at each step.
+ ModelCandidate:
+ properties:
+ type:
type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
const: model
+ title: Type
default: model
- description: >-
- The resource type, always 'model' for model resources
+ model:
+ type: string
+ title: Model
+ sampling_params:
+ $ref: '#/components/schemas/SamplingParams'
+ system_message:
+ anyOf:
+ - $ref: '#/components/schemas/SystemMessage'
+ title: SystemMessage
+ - type: 'null'
+ title: SystemMessage
+ type: object
+ required:
+ - model
+ - sampling_params
+ title: ModelCandidate
+ description: A model candidate for evaluation.
+ SamplingParams:
+ properties:
+ strategy:
+ oneOf:
+ - $ref: '#/components/schemas/GreedySamplingStrategy'
+ title: GreedySamplingStrategy
+ - $ref: '#/components/schemas/TopPSamplingStrategy'
+ title: TopPSamplingStrategy
+ - $ref: '#/components/schemas/TopKSamplingStrategy'
+ title: TopKSamplingStrategy
+ title: GreedySamplingStrategy | TopPSamplingStrategy | TopKSamplingStrategy
+ discriminator:
+ propertyName: type
+ mapping:
+ greedy: '#/components/schemas/GreedySamplingStrategy'
+ top_k: '#/components/schemas/TopKSamplingStrategy'
+ top_p: '#/components/schemas/TopPSamplingStrategy'
+ max_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ repetition_penalty:
+ anyOf:
+ - type: number
+ - type: 'null'
+ default: 1.0
+ stop:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ type: object
+ title: SamplingParams
+ description: Sampling parameters.
+ SystemMessage:
+ properties:
+ role:
+ type: string
+ const: system
+ title: Role
+ default: system
+ content:
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ type: array
+ title: list[ImageContentItem-Input | TextContentItem]
+ title: string | list[ImageContentItem-Input | TextContentItem]
+ type: object
+ required:
+ - content
+ title: SystemMessage
+ description: A system message providing instructions or context to the model.
+ TopKSamplingStrategy:
+ properties:
+ type:
+ type: string
+ const: top_k
+ title: Type
+ default: top_k
+ top_k:
+ type: integer
+ minimum: 1.0
+ title: Top K
+ type: object
+ required:
+ - top_k
+ title: TopKSamplingStrategy
+ description: Top-k sampling strategy that restricts sampling to the k most likely tokens.
+ TopPSamplingStrategy:
+ properties:
+ type:
+ type: string
+ const: top_p
+ title: Type
+ default: top_p
+ temperature:
+ anyOf:
+ - type: number
+ minimum: 0.0
+ - type: 'null'
+ top_p:
+ anyOf:
+ - type: number
+ - type: 'null'
+ default: 0.95
+ type: object
+ required:
+ - temperature
+ title: TopPSamplingStrategy
+ description: Top-p (nucleus) sampling strategy that samples from the smallest set of tokens with cumulative probability >= p.
+ EvaluateRowsRequest:
+ properties:
+ input_rows:
+ items:
+ additionalProperties: true
+ type: object
+ type: array
+ title: Input Rows
+ scoring_functions:
+ items:
+ type: string
+ type: array
+ title: Scoring Functions
+ benchmark_config:
+ $ref: '#/components/schemas/BenchmarkConfig'
+ type: object
+ required:
+ - input_rows
+ - scoring_functions
+ - benchmark_config
+ title: EvaluateRowsRequest
+ EvaluateResponse:
+ properties:
+ generations:
+ items:
+ additionalProperties: true
+ type: object
+ type: array
+ title: Generations
+ scores:
+ additionalProperties:
+ $ref: '#/components/schemas/ScoringResult'
+ type: object
+ title: Scores
+ type: object
+ required:
+ - generations
+ - scores
+ title: EvaluateResponse
+ description: The response from an evaluation.
+ Job:
+ properties:
+ job_id:
+ type: string
+ title: Job Id
+ status:
+ $ref: '#/components/schemas/JobStatus'
+ type: object
+ required:
+ - job_id
+ - status
+ title: Job
+ description: A job execution instance with status tracking.
+ RerankRequest:
+ properties:
+ model:
+ type: string
+ title: Model
+ query:
+ anyOf:
+ - type: string
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ title: string | OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam
+ items:
+ items:
+ anyOf:
+ - type: string
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ title: string | OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam
+ type: array
+ title: Items
+ max_num_results:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ required:
+ - model
+ - query
+ - items
+ title: RerankRequest
+ RerankData:
+ properties:
+ index:
+ type: integer
+ title: Index
+ relevance_score:
+ type: number
+ title: Relevance Score
+ type: object
+ required:
+ - index
+ - relevance_score
+ title: RerankData
+ description: A single rerank result from a reranking response.
+ RerankResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/RerankData'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: RerankResponse
+ description: Response from a reranking request.
+ Checkpoint:
+ properties:
+ identifier:
+ type: string
+ title: Identifier
+ created_at:
+ type: string
+ format: date-time
+ title: Created At
+ epoch:
+ type: integer
+ title: Epoch
+ post_training_job_id:
+ type: string
+ title: Post Training Job Id
+ path:
+ type: string
+ title: Path
+ training_metrics:
+ anyOf:
+ - $ref: '#/components/schemas/PostTrainingMetric'
+ title: PostTrainingMetric
+ - type: 'null'
+ title: PostTrainingMetric
+ type: object
+ required:
+ - identifier
+ - created_at
+ - epoch
+ - post_training_job_id
+ - path
+ title: Checkpoint
+ description: Checkpoint created during training runs.
+ PostTrainingJobArtifactsResponse:
+ properties:
+ job_uuid:
+ type: string
+ title: Job Uuid
+ checkpoints:
+ items:
+ $ref: '#/components/schemas/Checkpoint'
+ type: array
+ title: Checkpoints
+ type: object
+ required:
+ - job_uuid
+ title: PostTrainingJobArtifactsResponse
+ description: Artifacts of a finetuning job.
+ PostTrainingMetric:
+ properties:
+ epoch:
+ type: integer
+ title: Epoch
+ train_loss:
+ type: number
+ title: Train Loss
+ validation_loss:
+ type: number
+ title: Validation Loss
+ perplexity:
+ type: number
+ title: Perplexity
+ type: object
+ required:
+ - epoch
+ - train_loss
+ - validation_loss
+ - perplexity
+ title: PostTrainingMetric
+ description: Training metrics captured during post-training jobs.
+ CancelTrainingJobRequest:
+ properties:
+ job_uuid:
+ type: string
+ title: Job Uuid
+ type: object
+ required:
+ - job_uuid
+ title: CancelTrainingJobRequest
+ PostTrainingJobStatusResponse:
+ properties:
+ job_uuid:
+ type: string
+ title: Job Uuid
+ status:
+ $ref: '#/components/schemas/JobStatus'
+ scheduled_at:
+ anyOf:
+ - type: string
+ format: date-time
+ - type: 'null'
+ started_at:
+ anyOf:
+ - type: string
+ format: date-time
+ - type: 'null'
+ completed_at:
+ anyOf:
+ - type: string
+ format: date-time
+ - type: 'null'
+ resources_allocated:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ checkpoints:
+ items:
+ $ref: '#/components/schemas/Checkpoint'
+ type: array
+ title: Checkpoints
+ type: object
+ required:
+ - job_uuid
+ - status
+ title: PostTrainingJobStatusResponse
+ description: Status of a finetuning job.
+ ListPostTrainingJobsResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/PostTrainingJob'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListPostTrainingJobsResponse
+ DPOAlignmentConfig:
+ properties:
+ beta:
+ type: number
+ title: Beta
+ loss_type:
+ $ref: '#/components/schemas/DPOLossType'
+ default: sigmoid
+ type: object
+ required:
+ - beta
+ title: DPOAlignmentConfig
+ description: Configuration for Direct Preference Optimization (DPO) alignment.
+ DPOLossType:
+ type: string
+ enum:
+ - sigmoid
+ - hinge
+ - ipo
+ - kto_pair
+ title: DPOLossType
+ DataConfig:
+ properties:
+ dataset_id:
+ type: string
+ title: Dataset Id
+ batch_size:
+ type: integer
+ title: Batch Size
+ shuffle:
+ type: boolean
+ title: Shuffle
+ data_format:
+ $ref: '#/components/schemas/DatasetFormat'
+ validation_dataset_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ packed:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ train_on_input:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ type: object
+ required:
+ - dataset_id
+ - batch_size
+ - shuffle
+ - data_format
+ title: DataConfig
+ description: Configuration for training data and data loading.
+ DatasetFormat:
+ type: string
+ enum:
+ - instruct
+ - dialog
+ title: DatasetFormat
+ description: Format of the training dataset.
+ EfficiencyConfig:
+ properties:
+ enable_activation_checkpointing:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ enable_activation_offloading:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ memory_efficient_fsdp_wrap:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ fsdp_cpu_offload:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ type: object
+ title: EfficiencyConfig
+ description: Configuration for memory and compute efficiency optimizations.
+ OptimizerConfig:
+ properties:
+ optimizer_type:
+ $ref: '#/components/schemas/OptimizerType'
+ lr:
+ type: number
+ title: Lr
+ weight_decay:
+ type: number
+ title: Weight Decay
+ num_warmup_steps:
+ type: integer
+ title: Num Warmup Steps
+ type: object
+ required:
+ - optimizer_type
+ - lr
+ - weight_decay
+ - num_warmup_steps
+ title: OptimizerConfig
+ description: Configuration parameters for the optimization algorithm.
+ OptimizerType:
+ type: string
+ enum:
+ - adam
+ - adamw
+ - sgd
+ title: OptimizerType
+ description: Available optimizer algorithms for training.
+ TrainingConfig:
+ properties:
+ n_epochs:
+ type: integer
+ title: N Epochs
+ max_steps_per_epoch:
+ type: integer
+ title: Max Steps Per Epoch
+ default: 1
+ gradient_accumulation_steps:
+ type: integer
+ title: Gradient Accumulation Steps
+ default: 1
+ max_validation_steps:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 1
+ data_config:
+ anyOf:
+ - $ref: '#/components/schemas/DataConfig'
+ title: DataConfig
+ - type: 'null'
+ title: DataConfig
+ optimizer_config:
+ anyOf:
+ - $ref: '#/components/schemas/OptimizerConfig'
+ title: OptimizerConfig
+ - type: 'null'
+ title: OptimizerConfig
+ efficiency_config:
+ anyOf:
+ - $ref: '#/components/schemas/EfficiencyConfig'
+ title: EfficiencyConfig
+ - type: 'null'
+ title: EfficiencyConfig
+ dtype:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: bf16
+ type: object
+ required:
+ - n_epochs
+ title: TrainingConfig
+ description: Comprehensive configuration for the training process.
+ PreferenceOptimizeRequest:
+ properties:
+ job_uuid:
+ type: string
+ title: Job Uuid
+ finetuned_model:
+ type: string
+ title: Finetuned Model
+ algorithm_config:
+ $ref: '#/components/schemas/DPOAlignmentConfig'
+ training_config:
+ $ref: '#/components/schemas/TrainingConfig'
+ hyperparam_search_config:
+ additionalProperties: true
+ type: object
+ title: Hyperparam Search Config
+ logger_config:
+ additionalProperties: true
+ type: object
+ title: Logger Config
+ type: object
+ required:
+ - job_uuid
+ - finetuned_model
+ - algorithm_config
+ - training_config
+ - hyperparam_search_config
+ - logger_config
+ title: PreferenceOptimizeRequest
+ PostTrainingJob:
+ properties:
+ job_uuid:
+ type: string
+ title: Job Uuid
+ type: object
+ required:
+ - job_uuid
+ title: PostTrainingJob
+ AlgorithmConfig:
+ discriminator:
+ mapping:
+ LoRA: '#/components/schemas/LoraFinetuningConfig'
+ QAT: '#/components/schemas/QATFinetuningConfig'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/LoraFinetuningConfig'
+ title: LoraFinetuningConfig
+ - $ref: '#/components/schemas/QATFinetuningConfig'
+ title: QATFinetuningConfig
+ title: LoraFinetuningConfig | QATFinetuningConfig
+ LoraFinetuningConfig:
+ properties:
+ type:
+ type: string
+ const: LoRA
+ title: Type
+ default: LoRA
+ lora_attn_modules:
+ items:
+ type: string
+ type: array
+ title: Lora Attn Modules
+ apply_lora_to_mlp:
+ type: boolean
+ title: Apply Lora To Mlp
+ apply_lora_to_output:
+ type: boolean
+ title: Apply Lora To Output
+ rank:
+ type: integer
+ title: Rank
+ alpha:
+ type: integer
+ title: Alpha
+ use_dora:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ quantize_base:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ type: object
+ required:
+ - lora_attn_modules
+ - apply_lora_to_mlp
+ - apply_lora_to_output
+ - rank
+ - alpha
+ title: LoraFinetuningConfig
+ description: Configuration for Low-Rank Adaptation (LoRA) fine-tuning.
+ QATFinetuningConfig:
+ properties:
+ type:
+ type: string
+ const: QAT
+ title: Type
+ default: QAT
+ quantizer_name:
+ type: string
+ title: Quantizer Name
+ group_size:
+ type: integer
+ title: Group Size
+ type: object
+ required:
+ - quantizer_name
+ - group_size
+ title: QATFinetuningConfig
+ description: Configuration for Quantization-Aware Training (QAT) fine-tuning.
+ SupervisedFineTuneRequest:
+ properties:
+ job_uuid:
+ type: string
+ title: Job Uuid
+ training_config:
+ $ref: '#/components/schemas/TrainingConfig'
+ hyperparam_search_config:
+ additionalProperties: true
+ type: object
+ title: Hyperparam Search Config
+ logger_config:
+ additionalProperties: true
+ type: object
+ title: Logger Config
+ model:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Model descriptor for training if not in provider config`
+ checkpoint_dir:
+ anyOf:
+ - type: string
+ - type: 'null'
+ algorithm_config:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/LoraFinetuningConfig'
+ title: LoraFinetuningConfig
+ - $ref: '#/components/schemas/QATFinetuningConfig'
+ title: QATFinetuningConfig
+ discriminator:
+ propertyName: type
+ mapping:
+ LoRA: '#/components/schemas/LoraFinetuningConfig'
+ QAT: '#/components/schemas/QATFinetuningConfig'
+ title: LoraFinetuningConfig | QATFinetuningConfig
+ - type: 'null'
+ title: Algorithm Config
+ type: object
+ required:
+ - job_uuid
+ - training_config
+ - hyperparam_search_config
+ - logger_config
+ title: SupervisedFineTuneRequest
+ RegisterModelRequest:
+ properties:
+ model_id:
+ type: string
+ title: Model Id
+ provider_model_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ provider_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ model_type:
+ anyOf:
+ - $ref: '#/components/schemas/ModelType'
+ title: ModelType
+ - type: 'null'
+ title: ModelType
+ type: object
+ required:
+ - model_id
+ title: RegisterModelRequest
+ ParamType:
+ discriminator:
+ mapping:
+ array: '#/components/schemas/ArrayType'
+ boolean: '#/components/schemas/BooleanType'
+ chat_completion_input: '#/components/schemas/ChatCompletionInputType'
+ completion_input: '#/components/schemas/CompletionInputType'
+ json: '#/components/schemas/JsonType'
+ number: '#/components/schemas/NumberType'
+ object: '#/components/schemas/ObjectType'
+ string: '#/components/schemas/StringType'
+ union: '#/components/schemas/UnionType'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/StringType'
+ title: StringType
+ - $ref: '#/components/schemas/NumberType'
+ title: NumberType
+ - $ref: '#/components/schemas/BooleanType'
+ title: BooleanType
+ - $ref: '#/components/schemas/ArrayType'
+ title: ArrayType
+ - $ref: '#/components/schemas/ObjectType'
+ title: ObjectType
+ - $ref: '#/components/schemas/JsonType'
+ title: JsonType
+ - $ref: '#/components/schemas/UnionType'
+ title: UnionType
+ - $ref: '#/components/schemas/ChatCompletionInputType'
+ title: ChatCompletionInputType
+ - $ref: '#/components/schemas/CompletionInputType'
+ title: CompletionInputType
+ title: StringType | ... (9 variants)
+ RegisterShieldRequest:
+ properties:
+ shield_id:
+ type: string
+ title: Shield Id
+ provider_shield_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ provider_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ params:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - shield_id
+ title: RegisterShieldRequest
+ RegisterToolGroupRequest:
+ properties:
+ toolgroup_id:
+ type: string
+ title: Toolgroup Id
+ provider_id:
+ type: string
+ title: Provider Id
+ mcp_endpoint:
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ title: URL
+ - type: 'null'
+ title: URL
+ args:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - toolgroup_id
+ - provider_id
+ title: RegisterToolGroupRequest
+ DataSource:
+ discriminator:
+ mapping:
+ rows: '#/components/schemas/RowsDataSource'
+ uri: '#/components/schemas/URIDataSource'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/URIDataSource'
+ title: URIDataSource
+ - $ref: '#/components/schemas/RowsDataSource'
+ title: RowsDataSource
+ title: URIDataSource | RowsDataSource
+ RegisterBenchmarkRequest:
+ properties:
+ benchmark_id:
+ type: string
+ title: Benchmark Id
+ dataset_id:
+ type: string
+ title: Dataset Id
+ scoring_functions:
+ items:
+ type: string
+ type: array
+ title: Scoring Functions
+ provider_benchmark_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ provider_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - benchmark_id
+ - dataset_id
+ - scoring_functions
+ title: RegisterBenchmarkRequest
+ AllowedToolsFilter:
+ properties:
+ tool_names:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ type: object
+ title: AllowedToolsFilter
+ description: Filter configuration for restricting which MCP tools can be used.
+ ApprovalFilter:
+ properties:
+ always:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ never:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ type: object
+ title: ApprovalFilter
+ description: Filter configuration for MCP tool approval requirements.
+ BatchError:
+ properties:
+ code:
+ anyOf:
+ - type: string
+ - type: 'null'
+ line:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ message:
+ anyOf:
+ - type: string
+ - type: 'null'
+ param:
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
+ title: BatchError
+ BatchRequestCounts:
+ properties:
+ completed:
+ type: integer
+ title: Completed
+ failed:
+ type: integer
+ title: Failed
+ total:
+ type: integer
+ title: Total
+ additionalProperties: true
+ type: object
+ required:
+ - completed
+ - failed
+ - total
+ title: BatchRequestCounts
+ BatchUsage:
+ properties:
+ input_tokens:
+ type: integer
+ title: Input Tokens
+ input_tokens_details:
+ $ref: '#/components/schemas/InputTokensDetails'
+ output_tokens:
+ type: integer
+ title: Output Tokens
+ output_tokens_details:
+ $ref: '#/components/schemas/OutputTokensDetails'
+ total_tokens:
+ type: integer
+ title: Total Tokens
+ additionalProperties: true
+ type: object
+ required:
+ - input_tokens
+ - input_tokens_details
+ - output_tokens
+ - output_tokens_details
+ - total_tokens
+ title: BatchUsage
+ Body_openai_upload_file_v1_files_post:
+ properties:
+ file:
+ type: string
+ format: binary
+ title: File
+ purpose:
+ $ref: '#/components/schemas/OpenAIFilePurpose'
+ expires_after:
+ anyOf:
+ - $ref: '#/components/schemas/ExpiresAfter'
+ title: ExpiresAfter
+ - type: 'null'
+ title: ExpiresAfter
+ type: object
+ required:
+ - file
+ - purpose
+ title: Body_openai_upload_file_v1_files_post
+ Chunk-Input:
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ type: array
+ title: list[ImageContentItem-Input | TextContentItem]
+ title: string | list[ImageContentItem-Input | TextContentItem]
+ chunk_id:
+ type: string
+ title: Chunk Id
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ embedding:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ chunk_metadata:
+ anyOf:
+ - $ref: '#/components/schemas/ChunkMetadata'
+ title: ChunkMetadata
+ - type: 'null'
+ title: ChunkMetadata
+ type: object
+ required:
+ - content
+ - chunk_id
+ title: Chunk
+ description: A chunk of content that can be inserted into a vector database.
+ Chunk-Output:
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ type: array
+ title: list[ImageContentItem-Output | TextContentItem]
+ title: string | list[ImageContentItem-Output | TextContentItem]
+ chunk_id:
+ type: string
+ title: Chunk Id
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ embedding:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ chunk_metadata:
+ anyOf:
+ - $ref: '#/components/schemas/ChunkMetadata'
+ title: ChunkMetadata
+ - type: 'null'
+ title: ChunkMetadata
+ type: object
+ required:
+ - content
+ - chunk_id
+ title: Chunk
+ description: A chunk of content that can be inserted into a vector database.
+ ConversationItemInclude:
+ type: string
+ enum:
+ - web_search_call.action.sources
+ - code_interpreter_call.outputs
+ - computer_call_output.output.image_url
+ - file_search_call.results
+ - message.input_image.image_url
+ - message.output_text.logprobs
+ - reasoning.encrypted_content
+ title: ConversationItemInclude
+ description: Specify additional output data to include in the model response.
+ DatasetPurpose:
+ type: string
+ enum:
+ - post-training/messages
+ - eval/question-answer
+ - eval/messages-answer
+ title: DatasetPurpose
+ description: Purpose of the dataset. Each purpose has a required input data schema.
+ Errors:
+ properties:
+ data:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/BatchError'
+ type: array
+ - type: 'null'
+ object:
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
+ title: Errors
+ HealthStatus:
+ type: string
+ enum:
+ - OK
+ - Error
+ - Not Implemented
+ title: HealthStatus
+ ImageContentItem-Input:
+ properties:
+ type:
+ type: string
+ const: image
+ title: Type
+ default: image
+ image:
+ $ref: '#/components/schemas/_URLOrData'
+ type: object
+ required:
+ - image
+ title: ImageContentItem
+ description: A image content item
+ ImageContentItem-Output:
+ properties:
+ type:
+ type: string
+ const: image
+ title: Type
+ default: image
+ image:
+ $ref: '#/components/schemas/_URLOrData'
+ type: object
+ required:
+ - image
+ title: ImageContentItem
+ description: A image content item
+ InputTokensDetails:
+ properties:
+ cached_tokens:
+ type: integer
+ title: Cached Tokens
+ additionalProperties: true
+ type: object
+ required:
+ - cached_tokens
+ title: InputTokensDetails
+ JobStatus:
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - failed
+ - scheduled
+ - cancelled
+ title: JobStatus
+ description: Status of a job execution.
+ MCPListToolsTool:
+ properties:
+ input_schema:
+ additionalProperties: true
+ type: object
+ title: Input Schema
+ name:
+ type: string
+ title: Name
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - input_schema
+ - name
+ title: MCPListToolsTool
+ description: Tool definition returned by MCP list tools operation.
+ OpenAIAssistantMessageParam-Input:
+ properties:
+ role:
+ type: string
+ const: assistant
+ title: Role
+ default: assistant
+ content:
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ - type: 'null'
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ tool_calls:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
+ type: object
+ title: OpenAIAssistantMessageParam
+ description: A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
+ OpenAIAssistantMessageParam-Output:
+ properties:
+ role:
+ type: string
+ const: assistant
+ title: Role
+ default: assistant
+ content:
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ - type: 'null'
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ tool_calls:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
+ type: object
+ title: OpenAIAssistantMessageParam
+ description: A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
+ OpenAIChatCompletionUsageCompletionTokensDetails:
+ properties:
+ reasoning_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ title: OpenAIChatCompletionUsageCompletionTokensDetails
+ description: Token details for output tokens in OpenAI chat completion usage.
+ OpenAIChatCompletionUsagePromptTokensDetails:
+ properties:
+ cached_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ title: OpenAIChatCompletionUsagePromptTokensDetails
+ description: Token details for prompt tokens in OpenAI chat completion usage.
+ OpenAIResponseMessage-Input:
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ discriminator:
+ propertyName: type
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ type: array
+ title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ title: OpenAIResponseOutputMessageContentOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ discriminator:
+ propertyName: type
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
+ type: array
+ title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ role:
+ title: Role
+ type: string
+ enum:
+ - system
+ - developer
+ - user
+ - assistant
+ default: system
+ type:
+ type: string
+ const: message
+ title: Type
+ default: message
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ status:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ - role
+ 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.
+ OpenAIResponseMessage-Output:
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ discriminator:
+ propertyName: type
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ type: array
+ title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ title: OpenAIResponseOutputMessageContentOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ discriminator:
+ propertyName: type
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
+ type: array
+ title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ role:
+ title: Role
+ type: string
+ enum:
+ - system
+ - developer
+ - user
+ - assistant
+ default: system
+ type:
+ type: string
+ const: message
+ title: Type
+ default: message
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ status:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ - role
+ 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.
+ OpenAIResponseOutputMessageFileSearchToolCallResults:
+ properties:
+ attributes:
+ additionalProperties: true
+ type: object
+ title: Attributes
+ file_id:
+ type: string
+ title: File Id
+ filename:
+ type: string
+ title: Filename
+ score:
+ type: number
+ title: Score
+ text:
+ type: string
+ title: Text
+ type: object
+ required:
+ - attributes
+ - file_id
+ - filename
+ - score
+ - text
+ title: OpenAIResponseOutputMessageFileSearchToolCallResults
+ description: Search results returned by the file search operation.
+ OpenAIResponseTextFormat:
+ properties:
+ type:
+ title: Type
+ type: string
+ enum:
+ - text
+ - json_schema
+ - json_object
+ default: text
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ schema:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ strict:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ type: object
+ title: OpenAIResponseTextFormat
+ description: Configuration for Responses API text format.
+ OpenAIResponseUsageInputTokensDetails:
+ properties:
+ cached_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ title: OpenAIResponseUsageInputTokensDetails
+ description: Token details for input tokens in OpenAI response usage.
+ OpenAIResponseUsageOutputTokensDetails:
+ properties:
+ reasoning_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ title: OpenAIResponseUsageOutputTokensDetails
+ description: Token details for output tokens in OpenAI response usage.
+ OpenAIUserMessageParam-Input:
+ properties:
+ role:
+ type: string
+ const: user
+ title: Role
+ default: user
+ content:
+ anyOf:
+ - type: string
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ discriminator:
+ propertyName: type
+ mapping:
+ file: '#/components/schemas/OpenAIFile'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ title: string | list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ title: OpenAIUserMessageParam
+ description: A message from the user in an OpenAI-compatible chat completion request.
+ OpenAIUserMessageParam-Output:
+ properties:
+ role:
+ type: string
+ const: user
+ title: Role
+ default: user
+ content:
+ anyOf:
+ - type: string
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ discriminator:
+ propertyName: type
+ mapping:
+ file: '#/components/schemas/OpenAIFile'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ title: string | list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ title: OpenAIUserMessageParam
+ description: A message from the user in an OpenAI-compatible chat completion request.
+ OutputTokensDetails:
+ properties:
+ reasoning_tokens:
+ type: integer
+ title: Reasoning Tokens
+ additionalProperties: true
+ type: object
+ required:
+ - reasoning_tokens
+ title: OutputTokensDetails
+ RegisterDatasetRequestLoose:
+ properties:
+ purpose:
+ title: Purpose
+ source:
+ title: Source
metadata:
+ title: Metadata
+ dataset_id:
+ title: Dataset Id
+ type: object
+ required:
+ - purpose
+ - source
+ title: RegisterDatasetRequestLoose
+ RegisterScoringFunctionRequestLoose:
+ properties:
+ scoring_fn_id:
+ title: Scoring Fn Id
+ description:
+ title: Description
+ return_type:
+ title: Return Type
+ provider_scoring_fn_id:
+ title: Provider Scoring Fn Id
+ provider_id:
+ title: Provider Id
+ params:
+ title: Params
+ type: object
+ required:
+ - scoring_fn_id
+ - description
+ - return_type
+ title: RegisterScoringFunctionRequestLoose
+ SearchRankingOptions:
+ properties:
+ ranker:
+ anyOf:
+ - type: string
+ - type: 'null'
+ score_threshold:
+ anyOf:
+ - type: number
+ - type: 'null'
+ default: 0.0
+ type: object
+ title: SearchRankingOptions
+ description: Options for ranking and filtering search results.
+ _URLOrData:
+ properties:
+ url:
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ title: URL
+ - type: 'null'
+ title: URL
+ data:
+ anyOf:
+ - type: string
+ - type: 'null'
+ contentEncoding: base64
+ type: object
+ title: _URLOrData
+ description: A URL or a base64 encoded string
+ SamplingStrategy:
+ discriminator:
+ mapping:
+ greedy: '#/components/schemas/GreedySamplingStrategy'
+ top_k: '#/components/schemas/TopKSamplingStrategy'
+ top_p: '#/components/schemas/TopPSamplingStrategy'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/GreedySamplingStrategy'
+ title: GreedySamplingStrategy
+ - $ref: '#/components/schemas/TopPSamplingStrategy'
+ title: TopPSamplingStrategy
+ - $ref: '#/components/schemas/TopKSamplingStrategy'
+ title: TopKSamplingStrategy
+ title: GreedySamplingStrategy | TopPSamplingStrategy | TopKSamplingStrategy
+ GrammarResponseFormat:
+ description: Configuration for grammar-guided response generation.
+ properties:
+ type:
+ const: grammar
+ default: grammar
+ title: Type
+ type: string
+ bnf:
+ additionalProperties: true
+ title: Bnf
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.
- AggregationFunctionType:
+ required:
+ - bnf
+ title: GrammarResponseFormat
+ type: object
+ JsonSchemaResponseFormat:
+ description: Configuration for JSON schema-guided response generation.
+ properties:
+ type:
+ const: json_schema
+ default: json_schema
+ title: Type
+ type: string
+ json_schema:
+ additionalProperties: true
+ title: Json Schema
+ type: object
+ required:
+ - json_schema
+ title: JsonSchemaResponseFormat
+ type: object
+ ResponseFormat:
+ discriminator:
+ mapping:
+ grammar: '#/components/schemas/GrammarResponseFormat'
+ json_schema: '#/components/schemas/JsonSchemaResponseFormat'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/JsonSchemaResponseFormat'
+ title: JsonSchemaResponseFormat
+ - $ref: '#/components/schemas/GrammarResponseFormat'
+ title: GrammarResponseFormat
+ title: JsonSchemaResponseFormat | GrammarResponseFormat
+ OpenAIResponseContentPart:
+ discriminator:
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ reasoning_text: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ title: OpenAIResponseContentPartOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ title: OpenAIResponseContentPartReasoningText
+ title: OpenAIResponseContentPartOutputText | OpenAIResponseContentPartRefusal | OpenAIResponseContentPartReasoningText
+ SpanEndPayload:
+ description: Payload for a span end event.
+ properties:
+ type:
+ const: span_end
+ default: span_end
+ title: Type
+ type: string
+ status:
+ $ref: '#/components/schemas/SpanStatus'
+ required:
+ - status
+ title: SpanEndPayload
+ type: object
+ SpanStartPayload:
+ description: Payload for a span start event.
+ properties:
+ type:
+ const: span_start
+ default: span_start
+ title: Type
+ type: string
+ name:
+ title: Name
+ type: string
+ parent_span_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ required:
+ - name
+ title: SpanStartPayload
+ type: object
+ SpanStatus:
+ description: The status of a span indicating whether it completed successfully or with an error.
+ enum:
+ - ok
+ - error
+ title: SpanStatus
type: string
+ StructuredLogPayload:
+ discriminator:
+ mapping:
+ span_end: '#/components/schemas/SpanEndPayload'
+ span_start: '#/components/schemas/SpanStartPayload'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/SpanStartPayload'
+ title: SpanStartPayload
+ - $ref: '#/components/schemas/SpanEndPayload'
+ title: SpanEndPayload
+ title: SpanStartPayload | SpanEndPayload
+ LogSeverity:
+ description: The severity level of a log message.
enum:
- - average
- - weighted_average
- - median
- - categorical_count
- - accuracy
- title: AggregationFunctionType
- description: >-
- Types of aggregation functions for scoring results.
- ArrayType:
- type: object
+ - verbose
+ - debug
+ - info
+ - warn
+ - error
+ - critical
+ title: LogSeverity
+ type: string
+ MetricEvent:
+ description: A metric event containing a measured value.
properties:
+ trace_id:
+ title: Trace Id
+ type: string
+ span_id:
+ title: Span Id
+ type: string
+ timestamp:
+ format: date-time
+ title: Timestamp
+ type: string
+ attributes:
+ anyOf:
+ - additionalProperties:
+ anyOf:
+ - type: string
+ - type: integer
+ - type: number
+ - type: boolean
+ - type: 'null'
+ title: string | ... (4 variants)
+ type: object
+ - type: 'null'
type:
+ const: metric
+ default: metric
+ title: Type
+ type: string
+ metric:
+ title: Metric
+ type: string
+ value:
+ anyOf:
+ - type: integer
+ - type: number
+ title: integer | number
+ unit:
+ title: Unit
type: string
- const: array
- default: array
- description: Discriminator type. Always "array"
- additionalProperties: false
required:
- - type
- title: ArrayType
- description: Parameter type for array values.
- BasicScoringFnParams:
+ - trace_id
+ - span_id
+ - timestamp
+ - metric
+ - value
+ - unit
+ title: MetricEvent
type: object
+ StructuredLogEvent:
+ description: A structured log event containing typed payload data.
properties:
+ trace_id:
+ title: Trace Id
+ type: string
+ span_id:
+ title: Span Id
+ type: string
+ timestamp:
+ format: date-time
+ title: Timestamp
+ type: string
+ attributes:
+ anyOf:
+ - additionalProperties:
+ anyOf:
+ - type: string
+ - type: integer
+ - type: number
+ - type: boolean
+ - type: 'null'
+ title: string | ... (4 variants)
+ type: object
+ - type: 'null'
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
+ const: structured_log
+ default: structured_log
+ title: Type
+ type: string
+ payload:
+ discriminator:
+ mapping:
+ span_end: '#/components/schemas/SpanEndPayload'
+ span_start: '#/components/schemas/SpanStartPayload'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/SpanStartPayload'
+ title: SpanStartPayload
+ - $ref: '#/components/schemas/SpanEndPayload'
+ title: SpanEndPayload
+ title: SpanStartPayload | SpanEndPayload
required:
- - type
- - aggregation_functions
- title: BasicScoringFnParams
- description: >-
- Parameters for basic scoring function configuration.
- BooleanType:
+ - trace_id
+ - span_id
+ - timestamp
+ - payload
+ title: StructuredLogEvent
type: object
+ UnstructuredLogEvent:
+ description: An unstructured log event containing a simple text message.
properties:
+ trace_id:
+ title: Trace Id
+ type: string
+ span_id:
+ title: Span Id
+ type: string
+ timestamp:
+ format: date-time
+ title: Timestamp
+ type: string
+ attributes:
+ anyOf:
+ - additionalProperties:
+ anyOf:
+ - type: string
+ - type: integer
+ - type: number
+ - type: boolean
+ - type: 'null'
+ title: string | ... (4 variants)
+ type: object
+ - type: 'null'
type:
+ const: unstructured_log
+ default: unstructured_log
+ title: Type
type: string
- const: boolean
- default: boolean
- description: Discriminator type. Always "boolean"
- additionalProperties: false
+ message:
+ title: Message
+ type: string
+ severity:
+ $ref: '#/components/schemas/LogSeverity'
required:
- - type
- title: BooleanType
- description: Parameter type for boolean values.
- ChatCompletionInputType:
+ - trace_id
+ - span_id
+ - timestamp
+ - message
+ - severity
+ title: UnstructuredLogEvent
+ type: object
+ Event:
+ discriminator:
+ mapping:
+ metric: '#/components/schemas/MetricEvent'
+ structured_log: '#/components/schemas/StructuredLogEvent'
+ unstructured_log: '#/components/schemas/UnstructuredLogEvent'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/UnstructuredLogEvent'
+ title: UnstructuredLogEvent
+ - $ref: '#/components/schemas/MetricEvent'
+ title: MetricEvent
+ - $ref: '#/components/schemas/StructuredLogEvent'
+ title: StructuredLogEvent
+ title: UnstructuredLogEvent | MetricEvent | StructuredLogEvent
+ MetricInResponse:
+ description: A metric value included in API responses.
+ properties:
+ metric:
+ title: Metric
+ type: string
+ value:
+ anyOf:
+ - type: integer
+ - type: number
+ title: integer | number
+ unit:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ required:
+ - metric
+ - value
+ title: MetricInResponse
type: object
+ TextDelta:
+ description: A text content delta for streaming responses.
properties:
type:
+ const: text
+ default: text
+ title: Type
+ type: string
+ text:
+ title: Text
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:
+ - text
+ title: TextDelta
type: object
+ ImageDelta:
+ description: An image content delta for streaming responses.
properties:
type:
+ const: image
+ default: image
+ title: Type
+ type: string
+ image:
+ format: binary
+ title: Image
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:
+ - image
+ title: ImageDelta
type: object
+ Fp8QuantizationConfig:
+ description: Configuration for 8-bit floating point quantization.
properties:
type:
+ const: fp8_mixed
+ default: fp8_mixed
+ title: Type
type: string
- const: json
- default: json
- description: Discriminator type. Always "json"
- additionalProperties: false
+ title: Fp8QuantizationConfig
+ type: object
+ Bf16QuantizationConfig:
+ description: Configuration for BFloat16 precision (typically no quantization).
+ properties:
+ type:
+ const: bf16
+ default: bf16
+ title: Type
+ type: string
+ title: Bf16QuantizationConfig
+ type: object
+ Int4QuantizationConfig:
+ description: Configuration for 4-bit integer quantization.
+ properties:
+ type:
+ const: int4_mixed
+ default: int4_mixed
+ title: Type
+ type: string
+ scheme:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: int4_weight_int8_dynamic_activation
+ title: Int4QuantizationConfig
+ type: object
+ UserMessage:
+ description: A message from the user in a chat conversation.
+ properties:
+ role:
+ const: user
+ default: user
+ title: Role
+ type: string
+ content:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
+ context:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ - type: 'null'
+ title: string | list[ImageContentItem | TextContentItem]
+ nullable: true
required:
- - type
- title: JsonType
- description: Parameter type for JSON values.
- LLMAsJudgeScoringFnParams:
+ - content
+ title: UserMessage
+ type: object
+ ToolResponseMessage:
+ description: A message representing the result of a tool invocation.
+ properties:
+ role:
+ const: tool
+ default: tool
+ title: Role
+ type: string
+ call_id:
+ title: Call Id
+ type: string
+ content:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
+ required:
+ - call_id
+ - content
+ title: ToolResponseMessage
+ type: object
+ TokenLogProbs:
+ description: Log probabilities for generated tokens.
+ properties:
+ logprobs_by_token:
+ additionalProperties:
+ type: number
+ title: Logprobs By Token
+ type: object
+ required:
+ - logprobs_by_token
+ title: TokenLogProbs
+ type: object
+ EmbeddingsResponse:
+ description: Response containing generated embeddings.
+ properties:
+ embeddings:
+ items:
+ items:
+ type: number
+ type: array
+ title: Embeddings
+ type: array
+ required:
+ - embeddings
+ title: EmbeddingsResponse
+ type: object
+ OpenAICompletionLogprobs:
+ description: |-
+ The log probabilities for the tokens in the message from an OpenAI-compatible completion response.
+
+ :text_offset: (Optional) The offset of the token in the text
+ :token_logprobs: (Optional) The log probabilities for the tokens
+ :tokens: (Optional) The tokens
+ :top_logprobs: (Optional) The top log probabilities for the tokens
+ properties:
+ text_offset:
+ anyOf:
+ - items:
+ type: integer
+ type: array
+ - type: 'null'
+ nullable: true
+ token_logprobs:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ nullable: true
+ tokens:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ nullable: true
+ top_logprobs:
+ anyOf:
+ - items:
+ additionalProperties:
+ type: number
+ type: object
+ type: array
+ - type: 'null'
+ nullable: true
+ title: OpenAICompletionLogprobs
+ type: object
+ VectorStoreCreateRequest:
+ description: Request to create a vector store.
+ properties:
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ file_ids:
+ items:
+ type: string
+ title: File Ids
+ type: array
+ expires_after:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ chunking_strategy:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ metadata:
+ additionalProperties: true
+ title: Metadata
+ type: object
+ title: VectorStoreCreateRequest
+ type: object
+ VectorStoreModifyRequest:
+ description: Request to modify a vector store.
+ properties:
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ expires_after:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ title: VectorStoreModifyRequest
+ type: object
+ VectorStoreSearchRequest:
+ description: Request to search a vector store.
+ properties:
+ query:
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ title: string | list[string]
+ filters:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ max_num_results:
+ default: 10
+ title: Max Num Results
+ type: integer
+ ranking_options:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ rewrite_query:
+ default: false
+ title: Rewrite Query
+ type: boolean
+ required:
+ - query
+ title: VectorStoreSearchRequest
type: object
+ DialogType:
+ description: Parameter type for dialog data with semantic output labels.
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:
+ const: dialog
+ default: dialog
+ title: Type
type: string
- description: >-
- Identifier of the LLM model to use as a judge for scoring
- prompt_template:
+ title: DialogType
+ type: object
+ ConversationMessage:
+ description: OpenAI-compatible message item for conversations.
+ properties:
+ id:
+ description: unique identifier for this message
+ title: Id
type: string
- description: >-
- (Optional) Custom prompt template for the judge model
- judge_score_regexes:
+ content:
+ description: message content
+ items:
+ additionalProperties: true
+ type: object
+ title: Content
+ type: array
+ role:
+ description: message role
+ title: Role
+ type: string
+ status:
+ description: message status
+ title: Status
+ type: string
+ type:
+ const: message
+ default: message
+ title: Type
+ type: string
+ object:
+ const: message
+ default: message
+ title: Object
+ type: string
+ required:
+ - id
+ - content
+ - role
+ - status
+ title: ConversationMessage
+ type: object
+ ConversationItemCreateRequest:
+ description: Request body for creating conversation items.
+ properties:
+ items:
+ description: Items to include in the conversation context. You may add up to 20 items at a time.
+ items:
+ discriminator:
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ title: OpenAIResponseMessage | ... (9 variants)
+ maxItems: 20
+ title: Items
+ type: array
+ required:
+ - items
+ title: ConversationItemCreateRequest
+ type: object
+ ToolGroupInput:
+ description: Input data for registering a tool group.
+ properties:
+ toolgroup_id:
+ title: Toolgroup Id
+ type: string
+ provider_id:
+ title: Provider Id
+ type: string
+ args:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ mcp_endpoint:
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ title: URL
+ - type: 'null'
+ nullable: true
+ title: URL
+ required:
+ - toolgroup_id
+ - provider_id
+ title: ToolGroupInput
+ type: object
+ Api:
+ description: Enumeration of all available APIs in the Llama Stack system.
+ enum:
+ - providers
+ - inference
+ - safety
+ - agents
+ - batches
+ - vector_io
+ - datasetio
+ - scoring
+ - eval
+ - post_training
+ - tool_runtime
+ - models
+ - shields
+ - vector_stores
+ - datasets
+ - scoring_functions
+ - benchmarks
+ - tool_groups
+ - files
+ - prompts
+ - conversations
+ - inspect
+ title: Api
+ type: string
+ ProviderSpec:
+ properties:
+ api:
+ $ref: '#/components/schemas/Api'
+ provider_type:
+ title: Provider Type
+ type: string
+ config_class:
+ description: Fully-qualified classname of the config for this provider
+ title: Config Class
+ type: string
+ api_dependencies:
+ description: Higher-level API surfaces may depend on other providers to provide their functionality
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Api Dependencies
+ type: array
+ optional_api_dependencies:
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Optional Api Dependencies
type: array
+ deprecation_warning:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated, specify the warning message here
+ nullable: true
+ deprecation_error:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated and does NOT work, specify the error message here
+ nullable: true
+ module:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2-
+
+ Fully-qualified name of the module to import. The module is expected to have:
+
+ - `get_adapter_impl(config, deps)`: returns the adapter implementation
+
+ Example: `module: ramalama_stack`
+
+ nullable: true
+ pip_packages:
+ description: The pip dependencies needed for this implementation
items:
type: string
- description: >-
- Regexes to extract the answer from generated response
- aggregation_functions:
+ title: Pip Packages
type: array
+ provider_data_validator:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ is_external:
+ default: false
+ description: Notes whether this provider is an external provider.
+ title: Is External
+ type: boolean
+ deps__:
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: string
+ title: Deps
+ type: array
+ required:
+ - api
+ - provider_type
+ - config_class
+ title: ProviderSpec
type: object
+ InlineProviderSpec:
properties:
- type:
+ api:
+ $ref: '#/components/schemas/Api'
+ provider_type:
+ title: Provider Type
type: string
- const: number
- default: number
- description: Discriminator type. Always "number"
- additionalProperties: false
+ config_class:
+ description: Fully-qualified classname of the config for this provider
+ title: Config Class
+ type: string
+ api_dependencies:
+ description: Higher-level API surfaces may depend on other providers to provide their functionality
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Api Dependencies
+ type: array
+ optional_api_dependencies:
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Optional Api Dependencies
+ type: array
+ deprecation_warning:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated, specify the warning message here
+ nullable: true
+ deprecation_error:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated and does NOT work, specify the error message here
+ nullable: true
+ module:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2-
+
+ Fully-qualified name of the module to import. The module is expected to have:
+
+ - `get_adapter_impl(config, deps)`: returns the adapter implementation
+
+ Example: `module: ramalama_stack`
+
+ nullable: true
+ pip_packages:
+ description: The pip dependencies needed for this implementation
+ items:
+ type: string
+ title: Pip Packages
+ type: array
+ provider_data_validator:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ is_external:
+ default: false
+ description: Notes whether this provider is an external provider.
+ title: Is External
+ type: boolean
+ deps__:
+ items:
+ type: string
+ title: Deps
+ type: array
+ container_image:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2
+
+ The container image to use for this implementation. If one is provided, pip_packages will be ignored.
+ If a provider depends on other providers, the dependencies MUST NOT specify a container image.
+ nullable: true
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2
+
+ A description of the provider. This is used to display in the documentation.
+ nullable: true
required:
- - type
- title: NumberType
- description: Parameter type for numeric values.
- ObjectType:
+ - api
+ - provider_type
+ - config_class
+ title: InlineProviderSpec
type: object
+ RemoteProviderSpec:
properties:
- type:
+ api:
+ $ref: '#/components/schemas/Api'
+ provider_type:
+ title: Provider Type
type: string
- const: object
- default: object
- description: Discriminator type. Always "object"
- additionalProperties: false
- required:
- - type
- title: ObjectType
- description: Parameter type for object values.
- 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'
- 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'
- 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:
+ config_class:
+ description: Fully-qualified classname of the config for this provider
+ title: Config Class
+ type: string
+ api_dependencies:
+ description: Higher-level API surfaces may depend on other providers to provide their functionality
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Api Dependencies
type: array
+ optional_api_dependencies:
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Optional Api Dependencies
+ type: array
+ deprecation_warning:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated, specify the warning message here
+ nullable: true
+ deprecation_error:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated and does NOT work, specify the error message here
+ nullable: true
+ module:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2-
+
+ Fully-qualified name of the module to import. The module is expected to have:
+
+ - `get_adapter_impl(config, deps)`: returns the adapter implementation
+
+ Example: `module: ramalama_stack`
+
+ nullable: true
+ pip_packages:
+ description: The pip dependencies needed for this implementation
items:
type: string
- description: >-
- Regex to extract the answer from generated response
- aggregation_functions:
+ title: Pip Packages
type: array
+ provider_data_validator:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ is_external:
+ default: false
+ description: Notes whether this provider is an external provider.
+ title: Is External
+ type: boolean
+ deps__:
items:
- $ref: '#/components/schemas/AggregationFunctionType'
- description: >-
- Aggregation functions to apply to the scores of each row
- additionalProperties: false
+ type: string
+ title: Deps
+ type: array
+ adapter_type:
+ description: Unique identifier for this adapter
+ title: Adapter Type
+ type: string
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2
+
+ A description of the provider. This is used to display in the documentation.
+ nullable: true
required:
- - type
- - parsing_regexes
- - aggregation_functions
- title: RegexParserScoringFnParams
- description: >-
- Parameters for regex parser scoring function configuration.
- 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:
+ - api
+ - provider_type
+ - config_class
+ - adapter_type
+ title: RemoteProviderSpec
type: object
+ PostTrainingJobLogStream:
+ description: Stream of logs from a finetuning job.
properties:
- type:
+ job_uuid:
+ title: Job Uuid
type: string
- const: string
- default: string
- description: Discriminator type. Always "string"
- additionalProperties: false
+ log_lines:
+ items:
+ type: string
+ title: Log Lines
+ type: array
required:
- - type
- title: StringType
- description: Parameter type for string values.
- UnionType:
+ - job_uuid
+ - log_lines
+ title: PostTrainingJobLogStream
type: object
+ RLHFAlgorithm:
+ description: Available reinforcement learning from human feedback algorithms.
+ enum:
+ - dpo
+ title: RLHFAlgorithm
+ type: string
+ PostTrainingRLHFRequest:
+ description: Request to finetune a model using reinforcement learning from human feedback.
properties:
- type:
+ job_uuid:
+ title: Job Uuid
type: string
- const: union
- default: union
- description: Discriminator type. Always "union"
- additionalProperties: false
+ finetuned_model:
+ $ref: '#/components/schemas/URL'
+ dataset_id:
+ title: Dataset Id
+ type: string
+ validation_dataset_id:
+ title: Validation Dataset Id
+ type: string
+ algorithm:
+ $ref: '#/components/schemas/RLHFAlgorithm'
+ algorithm_config:
+ $ref: '#/components/schemas/DPOAlignmentConfig'
+ optimizer_config:
+ $ref: '#/components/schemas/OptimizerConfig'
+ training_config:
+ $ref: '#/components/schemas/TrainingConfig'
+ hyperparam_search_config:
+ additionalProperties: true
+ title: Hyperparam Search Config
+ type: object
+ logger_config:
+ additionalProperties: true
+ title: Logger Config
+ type: object
required:
- - type
- title: UnionType
- description: Parameter type for union values.
- RegisterScoringFunctionRequest:
+ - job_uuid
+ - finetuned_model
+ - dataset_id
+ - validation_dataset_id
+ - algorithm
+ - algorithm_config
+ - optimizer_config
+ - training_config
+ - hyperparam_search_config
+ - logger_config
+ title: PostTrainingRLHFRequest
type: object
+ Span:
+ description: A span representing a single operation within a trace.
properties:
- scoring_fn_id:
+ span_id:
+ title: Span Id
type: string
- description: >-
- The ID of the scoring function to register.
- description:
+ trace_id:
+ title: Trace Id
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:
+ parent_span_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ name:
+ title: Name
type: string
- description: >-
- The ID of the provider scoring function to use for the scoring function.
- provider_id:
+ start_time:
+ format: date-time
+ title: Start Time
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
- RegisterShieldRequest:
+ end_time:
+ anyOf:
+ - format: date-time
+ type: string
+ - type: 'null'
+ nullable: true
+ attributes:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ required:
+ - span_id
+ - trace_id
+ - name
+ - start_time
+ title: Span
type: object
+ Trace:
+ description: A trace representing the complete execution path of a request across multiple operations.
properties:
- shield_id:
+ trace_id:
+ title: Trace Id
type: string
- description: >-
- The identifier of the shield to register.
- provider_shield_id:
+ root_span_id:
+ title: Root Span Id
type: string
- description: >-
- The identifier of the shield in the provider.
- provider_id:
+ start_time:
+ format: date-time
+ title: Start Time
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
+ end_time:
+ anyOf:
+ - format: date-time
+ type: string
+ - type: 'null'
+ nullable: true
required:
- - shield_id
- title: RegisterShieldRequest
- Shield:
+ - trace_id
+ - root_span_id
+ - start_time
+ title: Trace
type: object
+ EventType:
+ description: The type of telemetry event being logged.
+ enum:
+ - unstructured_log
+ - structured_log
+ - metric
+ title: EventType
+ type: string
+ StructuredLogType:
+ description: The type of structured log event payload.
+ enum:
+ - span_start
+ - span_end
+ title: StructuredLogType
+ type: string
+ EvalTrace:
+ description: A trace record for evaluation purposes.
properties:
- identifier:
+ session_id:
+ title: Session Id
type: string
- provider_resource_id:
+ step:
+ title: Step
type: string
- provider_id:
+ input:
+ title: Input
type: string
- type:
+ output:
+ title: Output
type: string
- enum:
- - model
- - shield
- - vector_store
- - 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.
- URL:
- type: object
- properties:
- uri:
+ expected_output:
+ title: Expected Output
type: string
- description: The URL string pointing to the resource
- additionalProperties: false
required:
- - uri
- title: URL
- description: A URL reference to external content.
- RegisterToolGroupRequest:
+ - session_id
+ - step
+ - input
+ - output
+ - expected_output
+ title: EvalTrace
type: object
+ SpanWithStatus:
+ description: A span that includes status information.
properties:
- toolgroup_id:
+ span_id:
+ title: Span Id
type: string
- description: The ID of the tool group to register.
- provider_id:
+ trace_id:
+ title: Trace 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
- DataSource:
- oneOf:
- - $ref: '#/components/schemas/URIDataSource'
- - $ref: '#/components/schemas/RowsDataSource'
- discriminator:
- propertyName: type
- mapping:
- uri: '#/components/schemas/URIDataSource'
- rows: '#/components/schemas/RowsDataSource'
- RowsDataSource:
- type: object
- properties:
- type:
+ parent_span_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ name:
+ title: Name
type: string
- const: rows
- default: rows
- rows:
- type: array
- items:
+ start_time:
+ format: date-time
+ title: Start Time
+ type: string
+ end_time:
+ anyOf:
+ - format: date-time
+ type: string
+ - type: 'null'
+ nullable: true
+ attributes:
+ anyOf:
+ - additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- The dataset is stored in rows. E.g. - [ {"messages": [{"role": "user",
- "content": "Hello, world!"}, {"role": "assistant", "content": "Hello,
- world!"}]} ]
- additionalProperties: false
- required:
- - type
- - rows
- title: RowsDataSource
- description: A dataset stored in rows.
- URIDataSource:
+ - type: 'null'
+ status:
+ anyOf:
+ - $ref: '#/components/schemas/SpanStatus'
+ title: SpanStatus
+ - type: 'null'
+ nullable: true
+ title: SpanStatus
+ required:
+ - span_id
+ - trace_id
+ - name
+ - start_time
+ title: SpanWithStatus
type: object
+ QueryConditionOp:
+ description: Comparison operators for query conditions.
+ enum:
+ - eq
+ - ne
+ - gt
+ - lt
+ title: QueryConditionOp
+ type: string
+ QueryCondition:
+ description: A condition for filtering query results.
properties:
- type:
- type: string
- const: uri
- default: uri
- uri:
+ key:
+ title: Key
type: string
- description: >-
- The dataset can be obtained from a URI. E.g. - "https://mywebsite.com/mydata.jsonl"
- - "lsfs://mydata.jsonl" - "data:csv;base64,{base64_content}"
- additionalProperties: false
+ op:
+ $ref: '#/components/schemas/QueryConditionOp'
+ value:
+ title: Value
required:
- - type
- - uri
- title: URIDataSource
- description: >-
- A dataset that can be obtained from a URI.
- RegisterDatasetRequest:
+ - key
+ - op
+ - value
+ title: QueryCondition
type: object
+ MetricLabel:
+ description: A label associated with a metric.
properties:
- purpose:
+ name:
+ title: Name
type: string
- enum:
- - post-training/messages
- - eval/question-answer
- - eval/messages-answer
- description: >-
- The purpose of the dataset. One of: - "post-training/messages": The dataset
- contains a messages column with list of messages for post-training. {
- "messages": [ {"role": "user", "content": "Hello, world!"}, {"role": "assistant",
- "content": "Hello, world!"}, ] } - "eval/question-answer": The dataset
- contains a question column and an answer column for evaluation. { "question":
- "What is the capital of France?", "answer": "Paris" } - "eval/messages-answer":
- The dataset contains a messages column with list of messages and an answer
- column for evaluation. { "messages": [ {"role": "user", "content": "Hello,
- my name is John Doe."}, {"role": "assistant", "content": "Hello, John
- Doe. How can I help you today?"}, {"role": "user", "content": "What's
- my name?"}, ], "answer": "John Doe" }
- source:
- $ref: '#/components/schemas/DataSource'
- description: >-
- The data source of the dataset. Ensure that the data source schema is
- compatible with the purpose of the dataset. Examples: - { "type": "uri",
- "uri": "https://mywebsite.com/mydata.jsonl" } - { "type": "uri", "uri":
- "lsfs://mydata.jsonl" } - { "type": "uri", "uri": "data:csv;base64,{base64_content}"
- } - { "type": "uri", "uri": "huggingface://llamastack/simpleqa?split=train"
- } - { "type": "rows", "rows": [ { "messages": [ {"role": "user", "content":
- "Hello, world!"}, {"role": "assistant", "content": "Hello, world!"}, ]
- } ] }
- metadata:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- The metadata for the dataset. - E.g. {"description": "My dataset"}.
- dataset_id:
+ value:
+ title: Value
type: string
- description: >-
- The ID of the dataset. If not provided, an ID will be generated.
- additionalProperties: false
required:
- - purpose
- - source
- title: RegisterDatasetRequest
- Dataset:
+ - name
+ - value
+ title: MetricLabel
type: object
+ MetricDataPoint:
+ description: A single data point in a metric time series.
properties:
- identifier:
- type: string
- provider_resource_id:
- type: string
- provider_id:
- type: string
- type:
- type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
- const: dataset
- default: dataset
- description: >-
- Type of resource, always 'dataset' for datasets
- purpose:
+ timestamp:
+ title: Timestamp
+ type: integer
+ value:
+ title: Value
+ type: number
+ unit:
+ title: Unit
type: string
- enum:
- - post-training/messages
- - eval/question-answer
- - eval/messages-answer
- description: >-
- Purpose of the dataset indicating its intended use
- source:
- oneOf:
- - $ref: '#/components/schemas/URIDataSource'
- - $ref: '#/components/schemas/RowsDataSource'
- discriminator:
- propertyName: type
- mapping:
- uri: '#/components/schemas/URIDataSource'
- rows: '#/components/schemas/RowsDataSource'
- description: >-
- Data source configuration for the dataset
- metadata:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: Additional metadata for the dataset
- additionalProperties: false
- required:
- - identifier
- - provider_id
- - type
- - purpose
- - source
- - metadata
- title: Dataset
- description: >-
- Dataset resource for storing and accessing training or evaluation data.
- RegisterBenchmarkRequest:
+ required:
+ - timestamp
+ - value
+ - unit
+ title: MetricDataPoint
type: object
+ MetricSeries:
+ description: A time series of metric data points.
properties:
- benchmark_id:
- type: string
- description: The ID of the benchmark to register.
- dataset_id:
+ metric:
+ title: Metric
type: string
- description: >-
- The ID of the dataset to use for the benchmark.
- scoring_functions:
+ labels:
+ items:
+ $ref: '#/components/schemas/MetricLabel'
+ title: Labels
type: array
+ values:
items:
- type: string
- description: >-
- The scoring functions to use for the benchmark.
- provider_benchmark_id:
- type: string
- description: >-
- The ID of the provider benchmark to use for the benchmark.
- provider_id:
- type: string
- description: >-
- The ID of the provider to use for the benchmark.
- metadata:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The metadata to use for the benchmark.
- additionalProperties: false
- required:
- - benchmark_id
- - dataset_id
- - scoring_functions
- title: RegisterBenchmarkRequest
+ $ref: '#/components/schemas/MetricDataPoint'
+ title: Values
+ type: array
+ required:
+ - metric
+ - labels
+ - values
+ title: MetricSeries
+ type: object
responses:
BadRequest400:
description: The request was invalid or malformed
@@ -1127,8 +10232,7 @@ components:
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
+ description: The client has sent too many requests in a given amount of time
content:
application/json:
schema:
@@ -1136,11 +10240,9 @@ components:
example:
status: 429
title: Too Many Requests
- detail: >-
- You have exceeded the rate limit. Please try again later.
+ detail: You have exceeded the rate limit. Please try again later.
InternalServerError500:
- description: >-
- The server encountered an unexpected error
+ description: The server encountered an unexpected error
content:
application/json:
schema:
@@ -1148,39 +10250,101 @@ components:
example:
status: 500
title: Internal Server Error
- detail: >-
- An unexpected error occurred. Our team has been notified.
+ detail: An unexpected error occurred
DefaultError:
- description: An unexpected error occurred
+ description: An error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
- example:
- status: 0
- title: Error
- detail: An unexpected error occurred
-security:
- - Default: []
tags:
- - name: Benchmarks
- description: ''
- - name: Datasets
- description: ''
- - name: Models
- description: ''
- - name: ScoringFunctions
- description: ''
- - name: Shields
- description: ''
- - name: ToolGroups
- description: ''
+- description: APIs for creating and interacting with agentic systems.
+ name: Agents
+ x-displayName: Agents
+- description: |-
+ The API is designed to allow use of openai client libraries for seamless integration.
+
+ This API provides the following extensions:
+ - idempotent batch creation
+
+ Note: This API is currently under active development and may undergo changes.
+ name: Batches
+ x-displayName: The Batches API enables efficient processing of multiple requests in a single operation, particularly useful for processing large datasets, batch evaluation workflows, and cost-effective inference at scale.
+- description: ''
+ name: Benchmarks
+- description: Protocol for conversation management operations.
+ name: Conversations
+ x-displayName: Conversations
+- description: ''
+ name: DatasetIO
+- description: ''
+ name: Datasets
+- description: Llama Stack Evaluation API for running evaluations on model and agent candidates.
+ name: Eval
+ x-displayName: Evaluations
+- description: This API is used to upload documents that can be used with other Llama Stack APIs.
+ name: Files
+ x-displayName: Files
+- description: |-
+ Llama Stack Inference API for generating completions, chat completions, and embeddings.
+
+ This API provides the raw interface to the underlying models. Three 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.
+ - Rerank models: these models reorder the documents based on their relevance to a query.
+ name: Inference
+ x-displayName: Inference
+- description: APIs for inspecting the Llama Stack service, including health status, available API routes with methods and implementing providers.
+ name: Inspect
+ x-displayName: Inspect
+- description: ''
+ name: Models
+- description: ''
+ name: PostTraining (Coming Soon)
+- description: Protocol for prompt management operations.
+ name: Prompts
+ x-displayName: Prompts
+- description: Providers API for inspecting, listing, and modifying providers and their configurations.
+ name: Providers
+ x-displayName: Providers
+- description: OpenAI-compatible Moderations API.
+ name: Safety
+ x-displayName: Safety
+- description: ''
+ name: Scoring
+- description: ''
+ name: ScoringFunctions
+- description: ''
+ name: Shields
+- description: ''
+ name: ToolGroups
+- description: ''
+ name: ToolRuntime
+- description: ''
+ name: VectorIO
x-tagGroups:
- - name: Operations
- tags:
- - Benchmarks
- - Datasets
- - Models
- - ScoringFunctions
- - Shields
- - ToolGroups
+- name: Operations
+ tags:
+ - Agents
+ - Batches
+ - Benchmarks
+ - Conversations
+ - DatasetIO
+ - Datasets
+ - Eval
+ - Files
+ - Inference
+ - Inspect
+ - Models
+ - PostTraining (Coming Soon)
+ - Prompts
+ - Providers
+ - Safety
+ - Scoring
+ - ScoringFunctions
+ - Shields
+ - ToolGroups
+ - ToolRuntime
+ - VectorIO
+security:
+- Default: []
diff --git a/docs/static/experimental-llama-stack-spec.yaml b/docs/static/experimental-llama-stack-spec.yaml
index 6f379d17cd..2b36ebf473 100644
--- a/docs/static/experimental-llama-stack-spec.yaml
+++ b/docs/static/experimental-llama-stack-spec.yaml
@@ -1,53 +1,53 @@
openapi: 3.1.0
info:
- title: >-
- Llama Stack Specification - Experimental APIs
- version: v1
- description: >-
+ title: Llama Stack Specification - Experimental APIs
+ 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.
+ a set of endpoints and their corresponding interfaces that are
+ tailored to
+ best leverage Llama Models.
- **🧪 EXPERIMENTAL**: Pre-release APIs (v1alpha, v1beta) that may change before
- becoming stable.
+ **🧪 EXPERIMENTAL**: Pre-release APIs (v1alpha, v1beta) that may change before
+ becoming stable.
+ version: v1
servers:
- - url: http://any-hosted-llama-stack.com
+- url: http://any-hosted-llama-stack.com
paths:
/v1beta/datasetio/append-rows/{dataset_id}:
post:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - DatasetIO
- summary: Append rows to a dataset.
+ - Datasetio
+ summary: Append Rows
description: Append rows to a dataset.
+ operationId: append_rows_v1beta_datasetio_append_rows__dataset_id__post
parameters:
- - name: dataset_id
- in: path
- description: >-
- The ID of the dataset to append the rows to.
- required: true
- schema:
- type: string
+ - name: dataset_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: dataset_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AppendRowsRequest'
required: true
- deprecated: false
/v1beta/datasetio/iterrows/{dataset_id}:
get:
responses:
@@ -59,55 +59,53 @@ paths:
$ref: '#/components/schemas/PaginatedResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - DatasetIO
- summary: >-
- Get a paginated list of rows from a dataset.
- description: >-
+ - Datasetio
+ summary: Iterrows
+ description: |-
Get a paginated list of rows from a dataset.
Uses offset-based pagination where:
-
- start_index: The starting index (0-based). If None, starts from beginning.
-
- limit: Number of items to return. If None or -1, returns all items.
-
The response includes:
-
- data: List of items for the current page.
-
- has_more: Whether there are more items available after this set.
+ operationId: iterrows_v1beta_datasetio_iterrows__dataset_id__get
parameters:
- - name: dataset_id
- in: path
- description: >-
- The ID of the dataset to get the rows from.
- required: true
- schema:
- type: string
- - name: start_index
- in: query
- description: >-
- Index into dataset for the first row to get. Get all rows if None.
- required: false
- schema:
- type: integer
- - name: limit
- in: query
- description: The number of rows to get.
- required: false
- schema:
- type: integer
- deprecated: false
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ title: Limit
+ - name: start_index
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ title: Start Index
+ - name: dataset_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: dataset_id'
/v1beta/datasets:
get:
responses:
@@ -118,51 +116,22 @@ paths:
schema:
$ref: '#/components/schemas/ListDatasetsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Datasets
- summary: List all datasets.
+ - Datasets
+ summary: List Datasets
description: List all datasets.
- parameters: []
- deprecated: false
- post:
- responses:
- '200':
- description: A Dataset.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/Dataset'
- '400':
- $ref: '#/components/responses/BadRequest400'
- '429':
- $ref: >-
- #/components/responses/TooManyRequests429
- '500':
- $ref: >-
- #/components/responses/InternalServerError500
- default:
- $ref: '#/components/responses/DefaultError'
- tags:
- - Datasets
- summary: Register a new dataset.
- description: Register a new dataset.
- parameters: []
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/RegisterDatasetRequest'
- required: true
- deprecated: true
+ operationId: list_datasets_v1beta_datasets_get
/v1beta/datasets/{dataset_id}:
get:
responses:
@@ -173,53 +142,29 @@ paths:
schema:
$ref: '#/components/schemas/Dataset'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Datasets
- summary: Get a dataset by its ID.
+ - Datasets
+ summary: Get Dataset
description: Get a dataset by its ID.
+ operationId: get_dataset_v1beta_datasets__dataset_id__get
parameters:
- - name: dataset_id
- in: path
- description: The ID of the dataset 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:
- - Datasets
- summary: Unregister a dataset by its ID.
- description: Unregister a dataset by its ID.
- parameters:
- - name: dataset_id
- in: path
- description: The ID of the dataset to unregister.
- required: true
- schema:
- type: string
- deprecated: true
+ - name: dataset_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: dataset_id'
/v1alpha/eval/benchmarks:
get:
responses:
@@ -230,47 +175,22 @@ paths:
schema:
$ref: '#/components/schemas/ListBenchmarksResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Benchmarks
- summary: List all benchmarks.
+ - Benchmarks
+ summary: List Benchmarks
description: List all benchmarks.
- 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:
- - Benchmarks
- summary: Register a benchmark.
- description: Register a benchmark.
- parameters: []
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/RegisterBenchmarkRequest'
- required: true
- deprecated: true
+ operationId: list_benchmarks_v1alpha_eval_benchmarks_get
/v1alpha/eval/benchmarks/{benchmark_id}:
get:
responses:
@@ -281,131 +201,107 @@ paths:
schema:
$ref: '#/components/schemas/Benchmark'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Benchmarks
- summary: Get a benchmark by its ID.
+ - Benchmarks
+ summary: Get Benchmark
description: Get a benchmark by its ID.
+ operationId: get_benchmark_v1alpha_eval_benchmarks__benchmark_id__get
parameters:
- - name: benchmark_id
- in: path
- description: The ID of the benchmark 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:
- - Benchmarks
- summary: Unregister a benchmark.
- description: Unregister a benchmark.
- parameters:
- - name: benchmark_id
- in: path
- description: The ID of the benchmark to unregister.
- required: true
- schema:
- type: string
- deprecated: true
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
/v1alpha/eval/benchmarks/{benchmark_id}/evaluations:
post:
responses:
'200':
- description: >-
- EvaluateResponse object containing generations and scores.
+ description: EvaluateResponse object containing generations and scores.
content:
application/json:
schema:
$ref: '#/components/schemas/EvaluateResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Eval
- summary: Evaluate a list of rows on a benchmark.
+ - Eval
+ summary: Evaluate Rows
description: Evaluate a list of rows on a benchmark.
+ operationId: evaluate_rows_v1alpha_eval_benchmarks__benchmark_id__evaluations_post
parameters:
- - name: benchmark_id
- in: path
- description: >-
- The ID of the benchmark to run the evaluation on.
- required: true
- schema:
- type: string
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EvaluateRowsRequest'
required: true
- deprecated: false
/v1alpha/eval/benchmarks/{benchmark_id}/jobs:
post:
responses:
'200':
- description: >-
- The job that was created to run the evaluation.
+ description: The job that was created to run the evaluation.
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Eval
- summary: Run an evaluation on a benchmark.
+ - Eval
+ summary: Run Eval
description: Run an evaluation on a benchmark.
+ operationId: run_eval_v1alpha_eval_benchmarks__benchmark_id__jobs_post
parameters:
- - name: benchmark_id
- in: path
- description: >-
- The ID of the benchmark to run the evaluation on.
- required: true
- schema:
- type: string
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
requestBody:
content:
application/json:
schema:
- $ref: '#/components/schemas/RunEvalRequest'
+ $ref: '#/components/schemas/BenchmarkConfig'
required: true
- deprecated: false
/v1alpha/eval/benchmarks/{benchmark_id}/jobs/{job_id}:
get:
responses:
@@ -416,67 +312,69 @@ paths:
schema:
$ref: '#/components/schemas/Job'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Eval
- summary: Get the status of a job.
+ - Eval
+ summary: Job Status
description: Get the status of a job.
+ operationId: job_status_v1alpha_eval_benchmarks__benchmark_id__jobs__job_id__get
parameters:
- - name: benchmark_id
- in: path
- description: >-
- The ID of the benchmark to run the evaluation on.
- required: true
- schema:
- type: string
- - name: job_id
- in: path
- description: The ID of the job to get the status of.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
+ - name: job_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: job_id'
delete:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - Eval
- summary: Cancel a job.
+ - Eval
+ summary: Job Cancel
description: Cancel a job.
+ operationId: job_cancel_v1alpha_eval_benchmarks__benchmark_id__jobs__job_id__delete
parameters:
- - name: benchmark_id
- in: path
- description: >-
- The ID of the benchmark to run the evaluation on.
- required: true
- schema:
- type: string
- - name: job_id
- in: path
- description: The ID of the job to cancel.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
+ - name: job_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: job_id'
/v1alpha/eval/benchmarks/{benchmark_id}/jobs/{job_id}/result:
get:
responses:
@@ -487,68 +385,67 @@ paths:
schema:
$ref: '#/components/schemas/EvaluateResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Eval
- summary: Get the result of a job.
+ - Eval
+ summary: Job Result
description: Get the result of a job.
+ operationId: job_result_v1alpha_eval_benchmarks__benchmark_id__jobs__job_id__result_get
parameters:
- - name: benchmark_id
- in: path
- description: >-
- The ID of the benchmark to run the evaluation on.
- required: true
- schema:
- type: string
- - name: job_id
- in: path
- description: The ID of the job to get the result of.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
+ - name: job_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: job_id'
/v1alpha/inference/rerank:
post:
responses:
'200':
- description: >-
- RerankResponse with indices sorted by relevance score (descending).
+ description: RerankResponse with indices sorted by relevance score (descending).
content:
application/json:
schema:
$ref: '#/components/schemas/RerankResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Inference
- summary: >-
- Rerank a list of documents based on their relevance to a query.
- description: >-
- Rerank a list of documents based on their relevance to a query.
- parameters: []
+ - Inference
+ summary: Rerank
+ description: Rerank a list of documents based on their relevance to a query.
+ operationId: rerank_v1alpha_inference_rerank_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RerankRequest'
required: true
- deprecated: false
/v1alpha/post-training/job/artifacts:
get:
responses:
@@ -560,54 +457,56 @@ paths:
$ref: '#/components/schemas/PostTrainingJobArtifactsResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - PostTraining (Coming Soon)
- summary: Get the artifacts of a training job.
+ - Post Training
+ summary: Get Training Job Artifacts
description: Get the artifacts of a training job.
+ operationId: get_training_job_artifacts_v1alpha_post_training_job_artifacts_get
parameters:
- - name: job_uuid
- in: query
- description: >-
- The UUID of the job to get the artifacts of.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: job_uuid
+ in: query
+ required: true
+ schema:
+ type: string
+ title: Job Uuid
/v1alpha/post-training/job/cancel:
post:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - PostTraining (Coming Soon)
- summary: Cancel a training job.
+ - Post Training
+ summary: Cancel Training Job
description: Cancel a training job.
- parameters: []
+ operationId: cancel_training_job_v1alpha_post_training_job_cancel_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CancelTrainingJobRequest'
required: true
- deprecated: false
/v1alpha/post-training/job/status:
get:
responses:
@@ -619,27 +518,28 @@ paths:
$ref: '#/components/schemas/PostTrainingJobStatusResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - PostTraining (Coming Soon)
- summary: Get the status of a training job.
+ - Post Training
+ summary: Get Training Job Status
description: Get the status of a training job.
+ operationId: get_training_job_status_v1alpha_post_training_job_status_get
parameters:
- - name: job_uuid
- in: query
- description: >-
- The UUID of the job to get the status of.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: job_uuid
+ in: query
+ required: true
+ schema:
+ type: string
+ title: Job Uuid
/v1alpha/post-training/jobs:
get:
responses:
@@ -650,21 +550,22 @@ paths:
schema:
$ref: '#/components/schemas/ListPostTrainingJobsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - PostTraining (Coming Soon)
- summary: Get all training jobs.
+ - Post Training
+ summary: Get Training Jobs
description: Get all training jobs.
- parameters: []
- deprecated: false
+ operationId: get_training_jobs_v1alpha_post_training_jobs_get
/v1alpha/post-training/preference-optimize:
post:
responses:
@@ -675,27 +576,28 @@ paths:
schema:
$ref: '#/components/schemas/PostTrainingJob'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - PostTraining (Coming Soon)
- summary: Run preference optimization of a model.
+ - Post Training
+ summary: Preference Optimize
description: Run preference optimization of a model.
- parameters: []
+ operationId: preference_optimize_v1alpha_post_training_preference_optimize_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PreferenceOptimizeRequest'
required: true
- deprecated: false
/v1alpha/post-training/supervised-fine-tune:
post:
responses:
@@ -706,1554 +608,8603 @@ paths:
schema:
$ref: '#/components/schemas/PostTrainingJob'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - PostTraining (Coming Soon)
- summary: Run supervised fine-tuning of a model.
+ - Post Training
+ summary: Supervised Fine Tune
description: Run supervised fine-tuning of a model.
- parameters: []
+ operationId: supervised_fine_tune_v1alpha_post_training_supervised_fine_tune_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SupervisedFineTuneRequest'
required: true
- deprecated: false
-jsonSchemaDialect: >-
- https://json-schema.org/draft/2020-12/schema
components:
schemas:
Error:
- type: object
+ description: Error response from the API. Roughly follows RFC 7807.
properties:
status:
+ title: Status
type: integer
- description: HTTP status code
title:
+ title: Title
type: string
- description: >-
- Error title, a short summary of the error which is invariant for an error
- type
detail:
+ title: 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
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
required:
- - status
- - title
- - detail
+ - status
+ - title
+ - detail
title: Error
- description: >-
- Error response from the API. Roughly follows RFC 7807.
- AppendRowsRequest:
- type: object
- properties:
- rows:
- type: array
- items:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The rows to append to the dataset.
- additionalProperties: false
- required:
- - rows
- title: AppendRowsRequest
- PaginatedResponse:
type: object
+ ListBatchesResponse:
properties:
+ object:
+ type: string
+ const: list
+ title: Object
+ default: list
data:
- type: array
items:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The list of items for the current page
+ $ref: '#/components/schemas/Batch'
+ type: array
+ title: Data
+ description: List of batch objects
+ first_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: ID of the first batch in the list
+ last_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: ID of the last batch in the list
has_more:
type: boolean
- description: >-
- Whether there are more items available after this set
- url:
- type: string
- description: The URL for accessing this list
- additionalProperties: false
- required:
- - data
- - has_more
- title: PaginatedResponse
- description: >-
- A generic paginated response that follows a simple format.
- Dataset:
+ title: Has More
+ description: Whether there are more batches available
+ default: false
type: object
+ required:
+ - data
+ title: ListBatchesResponse
+ description: Response containing a list of batch objects.
+ Batch:
properties:
- identifier:
+ id:
type: string
- provider_resource_id:
+ title: Id
+ completion_window:
type: string
- provider_id:
+ title: Completion Window
+ created_at:
+ type: integer
+ title: Created At
+ endpoint:
type: string
- type:
+ title: Endpoint
+ input_file_id:
type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
- const: dataset
- default: dataset
- description: >-
- Type of resource, always 'dataset' for datasets
- purpose:
+ title: Input File Id
+ object:
+ type: string
+ const: batch
+ title: Object
+ status:
type: string
enum:
- - post-training/messages
- - eval/question-answer
- - eval/messages-answer
- description: >-
- Purpose of the dataset indicating its intended use
- source:
- oneOf:
- - $ref: '#/components/schemas/URIDataSource'
- - $ref: '#/components/schemas/RowsDataSource'
- discriminator:
- propertyName: type
- mapping:
- uri: '#/components/schemas/URIDataSource'
- rows: '#/components/schemas/RowsDataSource'
- description: >-
- Data source configuration for the dataset
+ - validating
+ - failed
+ - in_progress
+ - finalizing
+ - completed
+ - expired
+ - cancelling
+ - cancelled
+ title: Status
+ cancelled_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ cancelling_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ completed_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ error_file_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ errors:
+ anyOf:
+ - $ref: '#/components/schemas/Errors'
+ title: Errors
+ - type: 'null'
+ title: Errors
+ expired_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ expires_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ failed_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ finalizing_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ in_progress_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
metadata:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: Additional metadata for the dataset
- additionalProperties: false
- required:
- - identifier
- - provider_id
- - type
- - purpose
- - source
- - metadata
- title: Dataset
- description: >-
- Dataset resource for storing and accessing training or evaluation data.
- RowsDataSource:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - type: 'null'
+ model:
+ anyOf:
+ - type: string
+ - type: 'null'
+ output_file_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ request_counts:
+ anyOf:
+ - $ref: '#/components/schemas/BatchRequestCounts'
+ title: BatchRequestCounts
+ - type: 'null'
+ title: BatchRequestCounts
+ usage:
+ anyOf:
+ - $ref: '#/components/schemas/BatchUsage'
+ title: BatchUsage
+ - type: 'null'
+ title: BatchUsage
+ additionalProperties: true
+ type: object
+ required:
+ - id
+ - completion_window
+ - created_at
+ - endpoint
+ - input_file_id
+ - object
+ - status
+ title: Batch
+ ListOpenAIChatCompletionResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/OpenAICompletionWithInputMessages'
+ type: array
+ title: Data
+ has_more:
+ type: boolean
+ title: Has More
+ first_id:
+ type: string
+ title: First Id
+ last_id:
+ type: string
+ title: Last Id
+ object:
+ type: string
+ const: list
+ title: Object
+ default: list
+ type: object
+ required:
+ - data
+ - has_more
+ - first_id
+ - last_id
+ title: ListOpenAIChatCompletionResponse
+ description: Response from listing OpenAI-compatible chat completions.
+ OpenAIAssistantMessageParam:
+ description: A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
+ properties:
+ role:
+ const: assistant
+ default: assistant
+ title: Role
+ type: string
+ content:
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ - type: 'null'
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ nullable: true
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ tool_calls:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
+ nullable: true
+ title: OpenAIAssistantMessageParam
type: object
+ OpenAIChatCompletionContentPartImageParam:
properties:
type:
type: string
- const: rows
- default: rows
- rows:
- type: array
- items:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- The dataset is stored in rows. E.g. - [ {"messages": [{"role": "user",
- "content": "Hello, world!"}, {"role": "assistant", "content": "Hello,
- world!"}]} ]
- additionalProperties: false
- required:
- - type
- - rows
- title: RowsDataSource
- description: A dataset stored in rows.
- URIDataSource:
+ const: image_url
+ title: Type
+ default: image_url
+ image_url:
+ $ref: '#/components/schemas/OpenAIImageURL'
type: object
+ required:
+ - image_url
+ title: OpenAIChatCompletionContentPartImageParam
+ description: Image content part for OpenAI-compatible chat completion messages.
+ OpenAIChatCompletionContentPartParam:
+ discriminator:
+ mapping:
+ file: '#/components/schemas/OpenAIFile'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
+ OpenAIChatCompletionContentPartTextParam:
properties:
type:
type: string
- const: uri
- default: uri
- uri:
+ const: text
+ title: Type
+ default: text
+ text:
type: string
- description: >-
- The dataset can be obtained from a URI. E.g. - "https://mywebsite.com/mydata.jsonl"
- - "lsfs://mydata.jsonl" - "data:csv;base64,{base64_content}"
- additionalProperties: false
+ title: Text
+ type: object
required:
- - type
- - uri
- title: URIDataSource
- description: >-
- A dataset that can be obtained from a URI.
- ListDatasetsResponse:
+ - text
+ title: OpenAIChatCompletionContentPartTextParam
+ description: Text content part for OpenAI-compatible chat completion messages.
+ OpenAIChatCompletionToolCall:
+ properties:
+ index:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type:
+ type: string
+ const: function
+ title: Type
+ default: function
+ function:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionToolCallFunction'
+ title: OpenAIChatCompletionToolCallFunction
+ - type: 'null'
+ title: OpenAIChatCompletionToolCallFunction
type: object
+ title: OpenAIChatCompletionToolCall
+ description: Tool call specification for OpenAI-compatible chat completion responses.
+ OpenAIChatCompletionToolCallFunction:
properties:
- data:
- type: array
- items:
- $ref: '#/components/schemas/Dataset'
- description: List of datasets
- additionalProperties: false
- required:
- - data
- title: ListDatasetsResponse
- description: Response from listing datasets.
- Benchmark:
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ arguments:
+ anyOf:
+ - type: string
+ - type: 'null'
type: object
+ title: OpenAIChatCompletionToolCallFunction
+ description: Function call details for OpenAI-compatible tool calls.
+ OpenAIChatCompletionUsage:
properties:
- identifier:
- type: string
- provider_resource_id:
+ prompt_tokens:
+ type: integer
+ title: Prompt Tokens
+ completion_tokens:
+ type: integer
+ title: Completion Tokens
+ total_tokens:
+ type: integer
+ title: Total Tokens
+ prompt_tokens_details:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsagePromptTokensDetails'
+ title: OpenAIChatCompletionUsagePromptTokensDetails
+ - type: 'null'
+ title: OpenAIChatCompletionUsagePromptTokensDetails
+ completion_tokens_details:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsageCompletionTokensDetails'
+ title: OpenAIChatCompletionUsageCompletionTokensDetails
+ - type: 'null'
+ title: OpenAIChatCompletionUsageCompletionTokensDetails
+ type: object
+ required:
+ - prompt_tokens
+ - completion_tokens
+ - total_tokens
+ title: OpenAIChatCompletionUsage
+ description: Usage information for OpenAI chat completion.
+ OpenAIChoice:
+ properties:
+ message:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam-Output'
+ title: OpenAIUserMessageParam-Output
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ title: OpenAIAssistantMessageParam-Output
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ title: OpenAIUserMessageParam-Output | ... (5 variants)
+ discriminator:
+ propertyName: role
+ mapping:
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam-Output'
+ finish_reason:
type: string
- provider_id:
+ title: Finish Reason
+ index:
+ type: integer
+ title: Index
+ logprobs:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChoiceLogprobs'
+ title: OpenAIChoiceLogprobs
+ - type: 'null'
+ title: OpenAIChoiceLogprobs
+ type: object
+ required:
+ - message
+ - finish_reason
+ - index
+ title: OpenAIChoice
+ description: A choice from an OpenAI-compatible chat completion response.
+ OpenAIChoiceLogprobs:
+ properties:
+ content:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAITokenLogProb'
+ type: array
+ - type: 'null'
+ refusal:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAITokenLogProb'
+ type: array
+ - type: 'null'
+ type: object
+ title: OpenAIChoiceLogprobs
+ description: The log probabilities for the tokens in the message from an OpenAI-compatible chat completion response.
+ OpenAIDeveloperMessageParam:
+ properties:
+ role:
type: string
+ const: developer
+ title: Role
+ default: developer
+ content:
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ title: OpenAIDeveloperMessageParam
+ description: A message from the developer in an OpenAI-compatible chat completion request.
+ OpenAIFile:
+ properties:
type:
type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
- const: benchmark
- default: benchmark
- description: The resource type, always benchmark
- dataset_id:
+ const: file
+ title: Type
+ default: file
+ file:
+ $ref: '#/components/schemas/OpenAIFileFile'
+ type: object
+ required:
+ - file
+ title: OpenAIFile
+ OpenAIFileFile:
+ properties:
+ file_data:
+ anyOf:
+ - type: string
+ - type: 'null'
+ file_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ filename:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ title: OpenAIFileFile
+ OpenAIImageURL:
+ properties:
+ url:
type: string
- description: >-
- Identifier of the dataset to use for the benchmark evaluation
- scoring_functions:
+ title: Url
+ detail:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - url
+ title: OpenAIImageURL
+ description: Image URL specification for OpenAI-compatible chat completion messages.
+ OpenAIMessageParam:
+ discriminator:
+ mapping:
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam'
+ propertyName: role
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam'
+ title: OpenAIUserMessageParam
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam'
+ title: OpenAIAssistantMessageParam
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ title: OpenAIUserMessageParam | ... (5 variants)
+ OpenAISystemMessageParam:
+ properties:
+ role:
+ type: string
+ const: system
+ title: Role
+ default: system
+ content:
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ title: OpenAISystemMessageParam
+ description: A system message providing instructions or context to the model.
+ OpenAITokenLogProb:
+ properties:
+ token:
+ type: string
+ title: Token
+ bytes:
+ anyOf:
+ - items:
+ type: integer
+ type: array
+ - type: 'null'
+ logprob:
+ type: number
+ title: Logprob
+ top_logprobs:
+ items:
+ $ref: '#/components/schemas/OpenAITopLogProb'
type: array
+ title: Top Logprobs
+ type: object
+ required:
+ - token
+ - logprob
+ - top_logprobs
+ title: OpenAITokenLogProb
+ description: |-
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
+ OpenAIToolMessageParam:
+ properties:
+ role:
+ type: string
+ const: tool
+ title: Role
+ default: tool
+ tool_call_id:
+ type: string
+ title: Tool Call Id
+ content:
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ type: object
+ required:
+ - tool_call_id
+ - content
+ title: OpenAIToolMessageParam
+ description: A message representing the result of a tool invocation in an OpenAI-compatible chat completion request.
+ OpenAITopLogProb:
+ properties:
+ token:
+ type: string
+ title: Token
+ bytes:
+ anyOf:
+ - items:
+ type: integer
+ type: array
+ - type: 'null'
+ logprob:
+ type: number
+ title: Logprob
+ type: object
+ required:
+ - token
+ - logprob
+ title: OpenAITopLogProb
+ description: |-
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ OpenAIUserMessageParam:
+ description: A message from the user in an OpenAI-compatible chat completion request.
+ properties:
+ role:
+ const: user
+ default: user
+ title: Role
+ type: string
+ content:
+ anyOf:
+ - type: string
+ - items:
+ discriminator:
+ mapping:
+ file: '#/components/schemas/OpenAIFile'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ title: string | list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ required:
+ - content
+ title: OpenAIUserMessageParam
+ type: object
+ OpenAIJSONSchema:
+ properties:
+ name:
+ type: string
+ title: Name
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ strict:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ schema:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ title: OpenAIJSONSchema
+ description: JSON schema specification for OpenAI-compatible structured response format.
+ OpenAIResponseFormatJSONObject:
+ properties:
+ type:
+ type: string
+ const: json_object
+ title: Type
+ default: json_object
+ type: object
+ title: OpenAIResponseFormatJSONObject
+ description: JSON object response format for OpenAI-compatible chat completion requests.
+ OpenAIResponseFormatJSONSchema:
+ properties:
+ type:
+ type: string
+ const: json_schema
+ title: Type
+ default: json_schema
+ json_schema:
+ $ref: '#/components/schemas/OpenAIJSONSchema'
+ type: object
+ required:
+ - json_schema
+ title: OpenAIResponseFormatJSONSchema
+ description: JSON schema response format for OpenAI-compatible chat completion requests.
+ OpenAIResponseFormatParam:
+ discriminator:
+ mapping:
+ json_object: '#/components/schemas/OpenAIResponseFormatJSONObject'
+ json_schema: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ text: '#/components/schemas/OpenAIResponseFormatText'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseFormatText'
+ title: OpenAIResponseFormatText
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ title: OpenAIResponseFormatJSONSchema
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONObject'
+ title: OpenAIResponseFormatJSONObject
+ title: OpenAIResponseFormatText | OpenAIResponseFormatJSONSchema | OpenAIResponseFormatJSONObject
+ OpenAIResponseFormatText:
+ properties:
+ type:
+ type: string
+ const: text
+ title: Type
+ default: text
+ type: object
+ title: OpenAIResponseFormatText
+ description: Text response format for OpenAI-compatible chat completion requests.
+ OpenAIChatCompletionRequestWithExtraBody:
+ properties:
+ model:
+ type: string
+ title: Model
+ messages:
items:
- type: string
- description: >-
- List of scoring function identifiers to apply during evaluation
- metadata:
- type: object
- additionalProperties:
oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: Metadata for this evaluation task
- additionalProperties: false
- required:
- - identifier
- - provider_id
- - type
- - dataset_id
- - scoring_functions
- - metadata
- title: Benchmark
- description: >-
- A benchmark resource for evaluating model performance.
- ListBenchmarksResponse:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam-Input'
+ title: OpenAIUserMessageParam-Input
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam-Input'
+ title: OpenAIAssistantMessageParam-Input
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ discriminator:
+ propertyName: role
+ mapping:
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam-Input'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam-Input'
+ title: OpenAIUserMessageParam-Input | ... (5 variants)
+ type: array
+ minItems: 1
+ title: Messages
+ frequency_penalty:
+ anyOf:
+ - type: number
+ - type: 'null'
+ function_call:
+ anyOf:
+ - type: string
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ title: string | object
+ functions:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
+ logit_bias:
+ anyOf:
+ - additionalProperties:
+ type: number
+ type: object
+ - type: 'null'
+ logprobs:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ max_completion_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ max_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ n:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ parallel_tool_calls:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ presence_penalty:
+ anyOf:
+ - type: number
+ - type: 'null'
+ response_format:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseFormatText'
+ title: OpenAIResponseFormatText
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ title: OpenAIResponseFormatJSONSchema
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONObject'
+ title: OpenAIResponseFormatJSONObject
+ discriminator:
+ propertyName: type
+ mapping:
+ json_object: '#/components/schemas/OpenAIResponseFormatJSONObject'
+ json_schema: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ text: '#/components/schemas/OpenAIResponseFormatText'
+ title: OpenAIResponseFormatText | OpenAIResponseFormatJSONSchema | OpenAIResponseFormatJSONObject
+ - type: 'null'
+ title: Response Format
+ seed:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ stop:
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - type: 'null'
+ title: string | list[string]
+ stream:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ stream_options:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ temperature:
+ anyOf:
+ - type: number
+ - type: 'null'
+ tool_choice:
+ anyOf:
+ - type: string
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ title: string | object
+ tools:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
+ top_logprobs:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ top_p:
+ anyOf:
+ - type: number
+ - type: 'null'
+ user:
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
type: object
+ required:
+ - model
+ - messages
+ title: OpenAIChatCompletionRequestWithExtraBody
+ description: Request parameters for OpenAI-compatible chat completion endpoint.
+ OpenAIChatCompletion:
properties:
- data:
+ id:
+ type: string
+ title: Id
+ choices:
+ items:
+ $ref: '#/components/schemas/OpenAIChoice'
type: array
+ title: Choices
+ object:
+ type: string
+ const: chat.completion
+ title: Object
+ default: chat.completion
+ created:
+ type: integer
+ title: Created
+ model:
+ type: string
+ title: Model
+ usage:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsage'
+ title: OpenAIChatCompletionUsage
+ - type: 'null'
+ title: OpenAIChatCompletionUsage
+ type: object
+ required:
+ - id
+ - choices
+ - created
+ - model
+ title: OpenAIChatCompletion
+ description: Response from an OpenAI-compatible chat completion request.
+ OpenAIChatCompletionChunk:
+ description: Chunk from a streaming response to an OpenAI-compatible chat completion request.
+ properties:
+ id:
+ title: Id
+ type: string
+ choices:
items:
- $ref: '#/components/schemas/Benchmark'
- additionalProperties: false
+ $ref: '#/components/schemas/OpenAIChunkChoice'
+ title: Choices
+ type: array
+ object:
+ const: chat.completion.chunk
+ default: chat.completion.chunk
+ title: Object
+ type: string
+ created:
+ title: Created
+ type: integer
+ model:
+ title: Model
+ type: string
+ usage:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsage'
+ title: OpenAIChatCompletionUsage
+ - type: 'null'
+ nullable: true
+ title: OpenAIChatCompletionUsage
required:
- - data
- title: ListBenchmarksResponse
- AggregationFunctionType:
- type: string
- enum:
- - average
- - weighted_average
- - median
- - categorical_count
- - accuracy
- title: AggregationFunctionType
- description: >-
- Types of aggregation functions for scoring results.
- BasicScoringFnParams:
+ - id
+ - choices
+ - created
+ - model
+ title: OpenAIChatCompletionChunk
type: object
+ OpenAIChoiceDelta:
+ description: A delta from an OpenAI-compatible chat completion streaming response.
properties:
- type:
- $ref: '#/components/schemas/ScoringFnParamsType'
- const: basic
- default: basic
- description: >-
- The type of scoring function parameters, always basic
- aggregation_functions:
+ content:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ refusal:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ role:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ tool_calls:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
+ nullable: true
+ reasoning_content:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ title: OpenAIChoiceDelta
+ type: object
+ OpenAIChunkChoice:
+ description: A chunk choice from an OpenAI-compatible chat completion streaming response.
+ properties:
+ delta:
+ $ref: '#/components/schemas/OpenAIChoiceDelta'
+ finish_reason:
+ title: Finish Reason
+ type: string
+ index:
+ title: Index
+ type: integer
+ logprobs:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChoiceLogprobs'
+ title: OpenAIChoiceLogprobs
+ - type: 'null'
+ nullable: true
+ title: OpenAIChoiceLogprobs
+ required:
+ - delta
+ - finish_reason
+ - index
+ title: OpenAIChunkChoice
+ type: object
+ OpenAICompletionWithInputMessages:
+ properties:
+ id:
+ type: string
+ title: Id
+ choices:
+ items:
+ $ref: '#/components/schemas/OpenAIChoice'
type: array
+ title: Choices
+ object:
+ type: string
+ const: chat.completion
+ title: Object
+ default: chat.completion
+ created:
+ type: integer
+ title: Created
+ model:
+ type: string
+ title: Model
+ usage:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsage'
+ title: OpenAIChatCompletionUsage
+ - type: 'null'
+ title: OpenAIChatCompletionUsage
+ input_messages:
items:
- $ref: '#/components/schemas/AggregationFunctionType'
- description: >-
- Aggregation functions to apply to the scores of each row
- additionalProperties: false
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam-Output'
+ title: OpenAIUserMessageParam-Output
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ title: OpenAIAssistantMessageParam-Output
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ discriminator:
+ propertyName: role
+ mapping:
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam-Output'
+ title: OpenAIUserMessageParam-Output | ... (5 variants)
+ type: array
+ title: Input Messages
+ type: object
required:
- - type
- - aggregation_functions
- title: BasicScoringFnParams
- description: >-
- Parameters for basic scoring function configuration.
- BenchmarkConfig:
+ - id
+ - choices
+ - created
+ - model
+ - input_messages
+ title: OpenAICompletionWithInputMessages
+ OpenAICompletionRequestWithExtraBody:
+ properties:
+ model:
+ type: string
+ title: Model
+ prompt:
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - items:
+ type: integer
+ type: array
+ title: list[integer]
+ - items:
+ items:
+ type: integer
+ type: array
+ type: array
+ title: list[array]
+ title: string | ... (4 variants)
+ best_of:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ echo:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ frequency_penalty:
+ anyOf:
+ - type: number
+ - type: 'null'
+ logit_bias:
+ anyOf:
+ - additionalProperties:
+ type: number
+ type: object
+ - type: 'null'
+ logprobs:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ max_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ n:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ presence_penalty:
+ anyOf:
+ - type: number
+ - type: 'null'
+ seed:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ stop:
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - type: 'null'
+ title: string | list[string]
+ stream:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ stream_options:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ temperature:
+ anyOf:
+ - type: number
+ - type: 'null'
+ top_p:
+ anyOf:
+ - type: number
+ - type: 'null'
+ user:
+ anyOf:
+ - type: string
+ - type: 'null'
+ suffix:
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
type: object
+ required:
+ - model
+ - prompt
+ title: OpenAICompletionRequestWithExtraBody
+ description: Request parameters for OpenAI-compatible completion endpoint.
+ OpenAICompletion:
properties:
- eval_candidate:
- $ref: '#/components/schemas/ModelCandidate'
- description: The candidate to evaluate.
- scoring_params:
- type: object
- additionalProperties:
- $ref: '#/components/schemas/ScoringFnParams'
- description: >-
- Map between scoring function id and parameters for each scoring function
- you want to run
- num_examples:
+ id:
+ type: string
+ title: Id
+ choices:
+ items:
+ $ref: '#/components/schemas/OpenAICompletionChoice'
+ type: array
+ title: Choices
+ created:
type: integer
- description: >-
- (Optional) The number of examples to evaluate. If not provided, all examples
- in the dataset will be evaluated
- additionalProperties: false
+ title: Created
+ model:
+ type: string
+ title: Model
+ object:
+ type: string
+ const: text_completion
+ title: Object
+ default: text_completion
+ type: object
required:
- - eval_candidate
- - scoring_params
- title: BenchmarkConfig
- description: >-
- A benchmark configuration for evaluation.
- GreedySamplingStrategy:
+ - id
+ - choices
+ - created
+ - model
+ title: OpenAICompletion
+ description: |-
+ Response from an OpenAI-compatible completion request.
+
+ :id: The ID of the completion
+ :choices: List of choices
+ :created: The Unix timestamp in seconds when the completion was created
+ :model: The model that was used to generate the completion
+ :object: The object type, which will be "text_completion"
+ OpenAICompletionChoice:
+ properties:
+ finish_reason:
+ type: string
+ title: Finish Reason
+ text:
+ type: string
+ title: Text
+ index:
+ type: integer
+ title: Index
+ logprobs:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChoiceLogprobs'
+ title: OpenAIChoiceLogprobs
+ - type: 'null'
+ title: OpenAIChoiceLogprobs
+ type: object
+ required:
+ - finish_reason
+ - text
+ - index
+ title: OpenAICompletionChoice
+ description: |-
+ A choice from an OpenAI-compatible completion response.
+
+ :finish_reason: The reason the model stopped generating
+ :text: The text of the choice
+ :index: The index of the choice
+ :logprobs: (Optional) The log probabilities for the tokens in the choice
+ ConversationItem:
+ discriminator:
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ title: OpenAIResponseMessage | ... (9 variants)
+ OpenAIResponseAnnotationCitation:
+ properties:
+ type:
+ type: string
+ const: url_citation
+ title: Type
+ default: url_citation
+ end_index:
+ type: integer
+ title: End Index
+ start_index:
+ type: integer
+ title: Start Index
+ title:
+ type: string
+ title: Title
+ url:
+ type: string
+ title: Url
+ type: object
+ required:
+ - end_index
+ - start_index
+ - title
+ - url
+ title: OpenAIResponseAnnotationCitation
+ description: URL citation annotation for referencing external web resources.
+ OpenAIResponseAnnotationContainerFileCitation:
+ properties:
+ type:
+ type: string
+ const: container_file_citation
+ title: Type
+ default: container_file_citation
+ container_id:
+ type: string
+ title: Container Id
+ end_index:
+ type: integer
+ title: End Index
+ file_id:
+ type: string
+ title: File Id
+ filename:
+ type: string
+ title: Filename
+ start_index:
+ type: integer
+ title: Start Index
+ type: object
+ required:
+ - container_id
+ - end_index
+ - file_id
+ - filename
+ - start_index
+ title: OpenAIResponseAnnotationContainerFileCitation
+ OpenAIResponseAnnotationFileCitation:
+ properties:
+ type:
+ type: string
+ const: file_citation
+ title: Type
+ default: file_citation
+ file_id:
+ type: string
+ title: File Id
+ filename:
+ type: string
+ title: Filename
+ index:
+ type: integer
+ title: Index
+ type: object
+ required:
+ - file_id
+ - filename
+ - index
+ title: OpenAIResponseAnnotationFileCitation
+ description: File citation annotation for referencing specific files in response content.
+ OpenAIResponseAnnotationFilePath:
+ properties:
+ type:
+ type: string
+ const: file_path
+ title: Type
+ default: file_path
+ file_id:
+ type: string
+ title: File Id
+ index:
+ type: integer
+ title: Index
+ type: object
+ required:
+ - file_id
+ - index
+ title: OpenAIResponseAnnotationFilePath
+ OpenAIResponseAnnotations:
+ discriminator:
+ mapping:
+ container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
+ OpenAIResponseContentPartRefusal:
+ properties:
+ type:
+ type: string
+ const: refusal
+ title: Type
+ default: refusal
+ refusal:
+ type: string
+ title: Refusal
+ type: object
+ required:
+ - refusal
+ title: OpenAIResponseContentPartRefusal
+ description: Refusal content within a streamed response part.
+ OpenAIResponseInputFunctionToolCallOutput:
+ properties:
+ call_id:
+ type: string
+ title: Call Id
+ output:
+ type: string
+ title: Output
+ type:
+ type: string
+ const: function_call_output
+ title: Type
+ default: function_call_output
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ status:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - call_id
+ - output
+ title: OpenAIResponseInputFunctionToolCallOutput
+ description: This represents the output of a function call that gets passed back to the model.
+ OpenAIResponseInputMessageContent:
+ discriminator:
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ OpenAIResponseInputMessageContentFile:
+ properties:
+ type:
+ type: string
+ const: input_file
+ title: Type
+ default: input_file
+ file_data:
+ anyOf:
+ - type: string
+ - type: 'null'
+ file_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ file_url:
+ anyOf:
+ - type: string
+ - type: 'null'
+ filename:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ title: OpenAIResponseInputMessageContentFile
+ description: File content for input messages in OpenAI response format.
+ OpenAIResponseInputMessageContentImage:
+ properties:
+ detail:
+ title: Detail
+ default: auto
+ type: string
+ enum:
+ - low
+ - high
+ - auto
+ type:
+ type: string
+ const: input_image
+ title: Type
+ default: input_image
+ file_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ image_url:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ title: OpenAIResponseInputMessageContentImage
+ description: Image content for input messages in OpenAI response format.
+ OpenAIResponseInputMessageContentText:
+ properties:
+ text:
+ type: string
+ title: Text
+ type:
+ type: string
+ const: input_text
+ title: Type
+ default: input_text
+ type: object
+ required:
+ - text
+ title: OpenAIResponseInputMessageContentText
+ description: Text content for input messages in OpenAI response format.
+ OpenAIResponseMCPApprovalRequest:
+ properties:
+ arguments:
+ type: string
+ title: Arguments
+ id:
+ type: string
+ title: Id
+ name:
+ type: string
+ title: Name
+ server_label:
+ type: string
+ title: Server Label
+ type:
+ type: string
+ const: mcp_approval_request
+ title: Type
+ default: mcp_approval_request
+ type: object
+ required:
+ - arguments
+ - id
+ - name
+ - server_label
+ title: OpenAIResponseMCPApprovalRequest
+ description: A request for human approval of a tool invocation.
+ OpenAIResponseMCPApprovalResponse:
+ properties:
+ approval_request_id:
+ type: string
+ title: Approval Request Id
+ approve:
+ type: boolean
+ title: Approve
+ type:
+ type: string
+ const: mcp_approval_response
+ title: Type
+ default: mcp_approval_response
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ reason:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - approval_request_id
+ - approve
+ title: OpenAIResponseMCPApprovalResponse
+ description: A response to an MCP approval request.
+ 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.
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - items:
+ discriminator:
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ type: array
+ title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
+ - items:
+ discriminator:
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ title: OpenAIResponseOutputMessageContentOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
+ type: array
+ title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ role:
+ title: Role
+ type: string
+ enum:
+ - system
+ - developer
+ - user
+ - assistant
+ default: system
+ type:
+ const: message
+ default: message
+ title: Type
+ type: string
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ status:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ required:
+ - content
+ - role
+ title: OpenAIResponseMessage
+ type: object
+ OpenAIResponseOutputMessageContent:
+ discriminator:
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ title: OpenAIResponseOutputMessageContentOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
+ OpenAIResponseOutputMessageContentOutputText:
+ properties:
+ text:
+ type: string
+ title: Text
+ type:
+ type: string
+ const: output_text
+ title: Type
+ default: output_text
+ annotations:
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ discriminator:
+ propertyName: type
+ mapping:
+ container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
+ type: array
+ title: Annotations
+ type: object
+ required:
+ - text
+ title: OpenAIResponseOutputMessageContentOutputText
+ OpenAIResponseOutputMessageFileSearchToolCall:
+ properties:
+ id:
+ type: string
+ title: Id
+ queries:
+ items:
+ type: string
+ type: array
+ title: Queries
+ status:
+ type: string
+ title: Status
+ type:
+ type: string
+ const: file_search_call
+ title: Type
+ default: file_search_call
+ results:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCallResults'
+ type: array
+ - type: 'null'
+ type: object
+ required:
+ - id
+ - queries
+ - status
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ description: File search tool call output message for OpenAI responses.
+ OpenAIResponseOutputMessageFunctionToolCall:
+ properties:
+ call_id:
+ type: string
+ title: Call Id
+ name:
+ type: string
+ title: Name
+ arguments:
+ type: string
+ title: Arguments
+ type:
+ type: string
+ const: function_call
+ title: Type
+ default: function_call
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ status:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - call_id
+ - name
+ - arguments
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ description: Function tool call output message for OpenAI responses.
+ OpenAIResponseOutputMessageMCPCall:
+ properties:
+ id:
+ type: string
+ title: Id
+ type:
+ type: string
+ const: mcp_call
+ title: Type
+ default: mcp_call
+ arguments:
+ type: string
+ title: Arguments
+ name:
+ type: string
+ title: Name
+ server_label:
+ type: string
+ title: Server Label
+ error:
+ anyOf:
+ - type: string
+ - type: 'null'
+ output:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - id
+ - arguments
+ - name
+ - server_label
+ title: OpenAIResponseOutputMessageMCPCall
+ description: Model Context Protocol (MCP) call output message for OpenAI responses.
+ OpenAIResponseOutputMessageMCPListTools:
+ properties:
+ id:
+ type: string
+ title: Id
+ type:
+ type: string
+ const: mcp_list_tools
+ title: Type
+ default: mcp_list_tools
+ server_label:
+ type: string
+ title: Server Label
+ tools:
+ items:
+ $ref: '#/components/schemas/MCPListToolsTool'
+ type: array
+ title: Tools
+ type: object
+ required:
+ - id
+ - server_label
+ - tools
+ title: OpenAIResponseOutputMessageMCPListTools
+ description: MCP list tools output message containing available tools from an MCP server.
+ OpenAIResponseOutputMessageWebSearchToolCall:
+ properties:
+ id:
+ type: string
+ title: Id
+ status:
+ type: string
+ title: Status
+ type:
+ type: string
+ const: web_search_call
+ title: Type
+ default: web_search_call
+ type: object
+ required:
+ - id
+ - status
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ description: Web search tool call output message for OpenAI responses.
+ Conversation:
+ properties:
+ id:
+ type: string
+ title: Id
+ description: The unique ID of the conversation.
+ object:
+ type: string
+ const: conversation
+ title: Object
+ description: The object type, which is always conversation.
+ default: conversation
+ created_at:
+ type: integer
+ title: Created At
+ description: The time at which the conversation was created, measured in seconds since the Unix epoch.
+ metadata:
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - type: 'null'
+ description: Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard.
+ items:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
+ description: Initial items to include in the conversation context. You may add up to 20 items at a time.
+ type: object
+ required:
+ - id
+ - created_at
+ title: Conversation
+ description: OpenAI-compatible conversation object.
+ ConversationDeletedResource:
+ properties:
+ id:
+ type: string
+ title: Id
+ description: The deleted conversation identifier
+ object:
+ type: string
+ title: Object
+ description: Object type
+ default: conversation.deleted
+ deleted:
+ type: boolean
+ title: Deleted
+ description: Whether the object was deleted
+ default: true
+ type: object
+ required:
+ - id
+ title: ConversationDeletedResource
+ description: Response for deleted conversation.
+ ConversationItemList:
+ properties:
+ object:
+ type: string
+ title: Object
+ description: Object type
+ default: list
+ data:
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (9 variants)
+ type: array
+ title: Data
+ description: List of conversation items
+ first_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: The ID of the first item in the list
+ last_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: The ID of the last item in the list
+ has_more:
+ type: boolean
+ title: Has More
+ description: Whether there are more items available
+ default: false
+ type: object
+ required:
+ - data
+ title: ConversationItemList
+ description: List of conversation items with pagination.
+ ConversationItemDeletedResource:
+ properties:
+ id:
+ type: string
+ title: Id
+ description: The deleted item identifier
+ object:
+ type: string
+ title: Object
+ description: Object type
+ default: conversation.item.deleted
+ deleted:
+ type: boolean
+ title: Deleted
+ description: Whether the object was deleted
+ default: true
+ type: object
+ required:
+ - id
+ title: ConversationItemDeletedResource
+ description: Response for deleted conversation item.
+ OpenAIEmbeddingsRequestWithExtraBody:
+ properties:
+ model:
+ type: string
+ title: Model
+ input:
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ title: string | list[string]
+ encoding_format:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: float
+ dimensions:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ user:
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
+ required:
+ - model
+ - input
+ title: OpenAIEmbeddingsRequestWithExtraBody
+ description: Request parameters for OpenAI-compatible embeddings endpoint.
+ OpenAIEmbeddingData:
+ properties:
+ object:
+ type: string
+ const: embedding
+ title: Object
+ default: embedding
+ embedding:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ title: list[number]
+ - type: string
+ title: list[number] | string
+ index:
+ type: integer
+ title: Index
+ type: object
+ required:
+ - embedding
+ - index
+ title: OpenAIEmbeddingData
+ description: A single embedding data object from an OpenAI-compatible embeddings response.
+ OpenAIEmbeddingUsage:
+ properties:
+ prompt_tokens:
+ type: integer
+ title: Prompt Tokens
+ total_tokens:
+ type: integer
+ title: Total Tokens
+ type: object
+ required:
+ - prompt_tokens
+ - total_tokens
+ title: OpenAIEmbeddingUsage
+ description: Usage information for an OpenAI-compatible embeddings response.
+ OpenAIEmbeddingsResponse:
+ properties:
+ object:
+ type: string
+ const: list
+ title: Object
+ default: list
+ data:
+ items:
+ $ref: '#/components/schemas/OpenAIEmbeddingData'
+ type: array
+ title: Data
+ model:
+ type: string
+ title: Model
+ usage:
+ $ref: '#/components/schemas/OpenAIEmbeddingUsage'
+ type: object
+ required:
+ - 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:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/OpenAIFileObject'
+ type: array
+ title: Data
+ has_more:
+ type: boolean
+ title: Has More
+ first_id:
+ type: string
+ title: First Id
+ last_id:
+ type: string
+ title: Last Id
+ object:
+ type: string
+ const: list
+ title: Object
+ default: list
+ type: object
+ required:
+ - data
+ - has_more
+ - first_id
+ - last_id
+ title: ListOpenAIFileResponse
+ description: Response for listing files in OpenAI Files API.
+ OpenAIFileObject:
+ properties:
+ object:
+ type: string
+ const: file
+ title: Object
+ default: file
+ id:
+ type: string
+ title: Id
+ bytes:
+ type: integer
+ title: Bytes
+ created_at:
+ type: integer
+ title: Created At
+ expires_at:
+ type: integer
+ title: Expires At
+ filename:
+ type: string
+ title: Filename
+ purpose:
+ $ref: '#/components/schemas/OpenAIFilePurpose'
+ type: object
+ required:
+ - id
+ - bytes
+ - created_at
+ - expires_at
+ - filename
+ - purpose
+ title: OpenAIFileObject
+ description: OpenAI File object as defined in the OpenAI Files API.
+ ExpiresAfter:
+ properties:
+ anchor:
+ type: string
+ const: created_at
+ title: Anchor
+ seconds:
+ type: integer
+ maximum: 2592000.0
+ minimum: 3600.0
+ title: Seconds
+ type: object
+ 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:
+ properties:
+ id:
+ type: string
+ title: Id
+ object:
+ type: string
+ const: file
+ title: Object
+ default: file
+ deleted:
+ type: boolean
+ title: Deleted
+ type: object
+ required:
+ - id
+ - deleted
+ title: OpenAIFileDeleteResponse
+ description: Response for deleting a file in OpenAI Files API.
+ HealthInfo:
+ properties:
+ status:
+ $ref: '#/components/schemas/HealthStatus'
+ type: object
+ required:
+ - status
+ title: HealthInfo
+ description: Health status information for the service.
+ RouteInfo:
+ properties:
+ route:
+ type: string
+ title: Route
+ method:
+ type: string
+ title: Method
+ provider_types:
+ items:
+ type: string
+ type: array
+ title: Provider Types
+ type: object
+ required:
+ - route
+ - method
+ - provider_types
+ title: RouteInfo
+ description: Information about an API route including its path, method, and implementing providers.
+ ListRoutesResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/RouteInfo'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListRoutesResponse
+ description: Response containing a list of all available API routes.
+ OpenAIModel:
+ properties:
+ id:
+ type: string
+ title: Id
+ object:
+ type: string
+ const: model
+ title: Object
+ default: model
+ created:
+ type: integer
+ title: Created
+ owned_by:
+ type: string
+ title: Owned By
+ custom_metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - id
+ - created
+ - owned_by
+ title: OpenAIModel
+ description: |-
+ A model from OpenAI.
+
+ :id: The ID of the model
+ :object: The object type, which will be "model"
+ :created: The Unix timestamp in seconds when the model was created
+ :owned_by: The owner of the model
+ :custom_metadata: Llama Stack-specific metadata including model_type, provider info, and additional metadata
+ OpenAIListModelsResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/OpenAIModel'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: OpenAIListModelsResponse
+ Model:
+ properties:
+ identifier:
+ type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
+ provider_resource_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
+ provider_id:
+ type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
+ type:
+ type: string
+ const: model
+ title: Type
+ default: model
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ description: Any additional metadata for this model
+ model_type:
+ $ref: '#/components/schemas/ModelType'
+ default: llm
+ type: object
+ required:
+ - identifier
+ - provider_id
+ title: Model
+ description: A model resource representing an AI model registered in Llama Stack.
+ ModelType:
+ type: string
+ enum:
+ - llm
+ - embedding
+ - rerank
+ title: ModelType
+ description: Enumeration of supported model types in Llama Stack.
+ ModerationObject:
+ properties:
+ id:
+ type: string
+ title: Id
+ model:
+ type: string
+ title: Model
+ results:
+ items:
+ $ref: '#/components/schemas/ModerationObjectResults'
+ type: array
+ title: Results
+ type: object
+ required:
+ - id
+ - model
+ - results
+ title: ModerationObject
+ description: A moderation object.
+ ModerationObjectResults:
+ properties:
+ flagged:
+ type: boolean
+ title: Flagged
+ categories:
+ anyOf:
+ - additionalProperties:
+ type: boolean
+ type: object
+ - type: 'null'
+ category_applied_input_types:
+ anyOf:
+ - additionalProperties:
+ items:
+ type: string
+ type: array
+ type: object
+ - type: 'null'
+ category_scores:
+ anyOf:
+ - additionalProperties:
+ type: number
+ type: object
+ - type: 'null'
+ user_message:
+ anyOf:
+ - type: string
+ - type: 'null'
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ type: object
+ required:
+ - flagged
+ title: ModerationObjectResults
+ description: A moderation object.
+ Prompt:
+ properties:
+ prompt:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: The system prompt with variable placeholders
+ version:
+ type: integer
+ minimum: 1.0
+ title: Version
+ description: Version (integer starting at 1, incremented on save)
+ prompt_id:
+ type: string
+ title: Prompt Id
+ description: Unique identifier in format 'pmpt_<48-digit-hash>'
+ variables:
+ items:
+ type: string
+ type: array
+ title: Variables
+ description: List of variable names that can be used in the prompt template
+ is_default:
+ type: boolean
+ title: Is Default
+ description: Boolean indicating whether this version is the default version
+ default: false
+ type: object
+ required:
+ - version
+ - prompt_id
+ title: Prompt
+ description: A prompt resource representing a stored OpenAI Compatible prompt template in Llama Stack.
+ ListPromptsResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/Prompt'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListPromptsResponse
+ description: Response model to list prompts.
+ ProviderInfo:
+ properties:
+ api:
+ type: string
+ title: Api
+ provider_id:
+ type: string
+ title: Provider Id
+ provider_type:
+ type: string
+ title: Provider Type
+ config:
+ additionalProperties: true
+ type: object
+ title: Config
+ health:
+ additionalProperties: true
+ type: object
+ title: Health
+ type: object
+ required:
+ - api
+ - provider_id
+ - provider_type
+ - config
+ - health
+ title: ProviderInfo
+ description: Information about a registered provider including its configuration and health status.
+ ListProvidersResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/ProviderInfo'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListProvidersResponse
+ description: Response containing a list of all available providers.
+ ListOpenAIResponseObject:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/OpenAIResponseObjectWithInput'
+ type: array
+ title: Data
+ has_more:
+ type: boolean
+ title: Has More
+ first_id:
+ type: string
+ title: First Id
+ last_id:
+ type: string
+ title: Last Id
+ object:
+ type: string
+ const: list
+ title: Object
+ default: list
+ type: object
+ required:
+ - data
+ - has_more
+ - first_id
+ - last_id
+ title: ListOpenAIResponseObject
+ description: Paginated list of OpenAI response objects with navigation metadata.
+ OpenAIResponseError:
+ properties:
+ code:
+ type: string
+ title: Code
+ message:
+ type: string
+ title: Message
+ type: object
+ required:
+ - code
+ - message
+ title: OpenAIResponseError
+ description: Error details for failed OpenAI response requests.
+ OpenAIResponseInput:
+ anyOf:
+ - discriminator:
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ title: OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessage
+ OpenAIResponseInputToolFileSearch:
+ properties:
+ type:
+ type: string
+ const: file_search
+ title: Type
+ default: file_search
+ vector_store_ids:
+ items:
+ type: string
+ type: array
+ title: Vector Store Ids
+ filters:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ max_num_results:
+ anyOf:
+ - type: integer
+ maximum: 50.0
+ minimum: 1.0
+ - type: 'null'
+ default: 10
+ ranking_options:
+ anyOf:
+ - $ref: '#/components/schemas/SearchRankingOptions'
+ title: SearchRankingOptions
+ - type: 'null'
+ title: SearchRankingOptions
+ type: object
+ required:
+ - vector_store_ids
+ title: OpenAIResponseInputToolFileSearch
+ description: File search tool configuration for OpenAI response inputs.
+ OpenAIResponseInputToolFunction:
+ properties:
+ type:
+ type: string
+ const: function
+ title: Type
+ default: function
+ name:
+ type: string
+ title: Name
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ parameters:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ strict:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ type: object
+ required:
+ - name
+ - parameters
+ title: OpenAIResponseInputToolFunction
+ description: Function tool configuration for OpenAI response inputs.
+ OpenAIResponseInputToolWebSearch:
+ properties:
+ type:
+ title: Type
+ default: web_search
+ type: string
+ enum:
+ - web_search
+ - web_search_preview
+ - web_search_preview_2025_03_11
+ - web_search_2025_08_26
+ search_context_size:
+ anyOf:
+ - type: string
+ pattern: ^low|medium|high$
+ - type: 'null'
+ default: medium
+ type: object
+ title: OpenAIResponseInputToolWebSearch
+ description: Web search tool configuration for OpenAI response inputs.
+ OpenAIResponseObjectWithInput:
+ properties:
+ created_at:
+ type: integer
+ title: Created At
+ error:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseError'
+ title: OpenAIResponseError
+ - type: 'null'
+ title: OpenAIResponseError
+ id:
+ type: string
+ title: Id
+ model:
+ type: string
+ title: Model
+ object:
+ type: string
+ const: response
+ title: Object
+ default: response
+ output:
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ type: array
+ title: Output
+ parallel_tool_calls:
+ type: boolean
+ title: Parallel Tool Calls
+ default: false
+ previous_response_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ prompt:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponsePrompt'
+ title: OpenAIResponsePrompt
+ - type: 'null'
+ title: OpenAIResponsePrompt
+ status:
+ type: string
+ title: Status
+ temperature:
+ anyOf:
+ - type: number
+ - type: 'null'
+ text:
+ $ref: '#/components/schemas/OpenAIResponseText'
+ default:
+ format:
+ type: text
+ top_p:
+ anyOf:
+ - type: number
+ - type: 'null'
+ tools:
+ anyOf:
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseToolMCP'
+ title: OpenAIResponseToolMCP
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ function: '#/components/schemas/OpenAIResponseInputToolFunction'
+ mcp: '#/components/schemas/OpenAIResponseToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
+ type: array
+ - type: 'null'
+ truncation:
+ anyOf:
+ - type: string
+ - type: 'null'
+ usage:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsage'
+ title: OpenAIResponseUsage
+ - type: 'null'
+ title: OpenAIResponseUsage
+ instructions:
+ anyOf:
+ - type: string
+ - type: 'null'
+ max_tool_calls:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ input:
+ items:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ title: OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessage-Output
+ type: array
+ title: Input
+ type: object
+ required:
+ - created_at
+ - id
+ - model
+ - output
+ - status
+ - input
+ title: OpenAIResponseObjectWithInput
+ description: OpenAI response object extended with input context information.
+ OpenAIResponseOutput:
+ discriminator:
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
+ OpenAIResponsePrompt:
+ properties:
+ id:
+ type: string
+ title: Id
+ variables:
+ anyOf:
+ - additionalProperties:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ discriminator:
+ propertyName: type
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ type: object
+ - type: 'null'
+ version:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - id
+ title: OpenAIResponsePrompt
+ description: OpenAI compatible Prompt object that is used in OpenAI responses.
+ OpenAIResponseText:
+ properties:
+ format:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseTextFormat'
+ title: OpenAIResponseTextFormat
+ - type: 'null'
+ title: OpenAIResponseTextFormat
+ type: object
+ title: OpenAIResponseText
+ description: Text response configuration for OpenAI responses.
+ OpenAIResponseTool:
+ discriminator:
+ mapping:
+ file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ function: '#/components/schemas/OpenAIResponseInputToolFunction'
+ mcp: '#/components/schemas/OpenAIResponseToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseToolMCP'
+ title: OpenAIResponseToolMCP
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
+ OpenAIResponseToolMCP:
+ properties:
+ type:
+ type: string
+ const: mcp
+ title: Type
+ default: mcp
+ server_label:
+ type: string
+ title: Server Label
+ allowed_tools:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - $ref: '#/components/schemas/AllowedToolsFilter'
+ title: AllowedToolsFilter
+ - type: 'null'
+ title: list[string] | AllowedToolsFilter
+ type: object
+ required:
+ - server_label
+ title: OpenAIResponseToolMCP
+ description: Model Context Protocol (MCP) tool configuration for OpenAI response object.
+ OpenAIResponseUsage:
+ properties:
+ input_tokens:
+ type: integer
+ title: Input Tokens
+ output_tokens:
+ type: integer
+ title: Output Tokens
+ total_tokens:
+ type: integer
+ title: Total Tokens
+ input_tokens_details:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsageInputTokensDetails'
+ title: OpenAIResponseUsageInputTokensDetails
+ - type: 'null'
+ title: OpenAIResponseUsageInputTokensDetails
+ output_tokens_details:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsageOutputTokensDetails'
+ title: OpenAIResponseUsageOutputTokensDetails
+ - type: 'null'
+ title: OpenAIResponseUsageOutputTokensDetails
+ type: object
+ required:
+ - input_tokens
+ - output_tokens
+ - total_tokens
+ title: OpenAIResponseUsage
+ description: Usage information for OpenAI response.
+ ResponseGuardrailSpec:
+ description: Specification for a guardrail to apply during response generation.
+ properties:
+ type:
+ title: Type
+ type: string
+ required:
+ - type
+ title: ResponseGuardrailSpec
+ type: object
+ OpenAIResponseInputTool:
+ discriminator:
+ mapping:
+ file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ function: '#/components/schemas/OpenAIResponseInputToolFunction'
+ mcp: '#/components/schemas/OpenAIResponseInputToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseInputToolMCP'
+ title: OpenAIResponseInputToolMCP
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
+ OpenAIResponseInputToolMCP:
+ properties:
+ type:
+ type: string
+ const: mcp
+ title: Type
+ default: mcp
+ server_label:
+ type: string
+ title: Server Label
+ server_url:
+ type: string
+ title: Server Url
+ headers:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ authorization:
+ anyOf:
+ - type: string
+ - type: 'null'
+ require_approval:
+ anyOf:
+ - type: string
+ const: always
+ - type: string
+ const: never
+ - $ref: '#/components/schemas/ApprovalFilter'
+ title: ApprovalFilter
+ title: string | ApprovalFilter
+ default: never
+ allowed_tools:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - $ref: '#/components/schemas/AllowedToolsFilter'
+ title: AllowedToolsFilter
+ - type: 'null'
+ title: list[string] | AllowedToolsFilter
+ type: object
+ required:
+ - server_label
+ - server_url
+ title: OpenAIResponseInputToolMCP
+ description: Model Context Protocol (MCP) tool configuration for OpenAI response inputs.
+ OpenAIResponseObject:
+ properties:
+ created_at:
+ type: integer
+ title: Created At
+ error:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseError'
+ title: OpenAIResponseError
+ - type: 'null'
+ title: OpenAIResponseError
+ id:
+ type: string
+ title: Id
+ model:
+ type: string
+ title: Model
+ object:
+ type: string
+ const: response
+ title: Object
+ default: response
+ output:
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ type: array
+ title: Output
+ parallel_tool_calls:
+ type: boolean
+ title: Parallel Tool Calls
+ default: false
+ previous_response_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ prompt:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponsePrompt'
+ title: OpenAIResponsePrompt
+ - type: 'null'
+ title: OpenAIResponsePrompt
+ status:
+ type: string
+ title: Status
+ temperature:
+ anyOf:
+ - type: number
+ - type: 'null'
+ text:
+ $ref: '#/components/schemas/OpenAIResponseText'
+ default:
+ format:
+ type: text
+ top_p:
+ anyOf:
+ - type: number
+ - type: 'null'
+ tools:
+ anyOf:
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseToolMCP'
+ title: OpenAIResponseToolMCP
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ function: '#/components/schemas/OpenAIResponseInputToolFunction'
+ mcp: '#/components/schemas/OpenAIResponseToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
+ type: array
+ - type: 'null'
+ truncation:
+ anyOf:
+ - type: string
+ - type: 'null'
+ usage:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsage'
+ title: OpenAIResponseUsage
+ - type: 'null'
+ title: OpenAIResponseUsage
+ instructions:
+ anyOf:
+ - type: string
+ - type: 'null'
+ max_tool_calls:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ required:
+ - created_at
+ - id
+ - model
+ - output
+ - status
+ title: OpenAIResponseObject
+ description: Complete OpenAI response object containing generation results and metadata.
+ OpenAIResponseContentPartOutputText:
+ description: Text content within a streamed response part.
+ properties:
+ type:
+ const: output_text
+ default: output_text
+ title: Type
+ type: string
+ text:
+ title: Text
+ type: string
+ annotations:
+ items:
+ discriminator:
+ mapping:
+ container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
+ title: Annotations
+ type: array
+ logprobs:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
+ nullable: true
+ required:
+ - text
+ title: OpenAIResponseContentPartOutputText
+ type: object
+ OpenAIResponseContentPartReasoningSummary:
+ description: Reasoning summary part in a streamed response.
+ properties:
+ type:
+ const: summary_text
+ default: summary_text
+ title: Type
+ type: string
+ text:
+ title: Text
+ type: string
+ required:
+ - text
+ title: OpenAIResponseContentPartReasoningSummary
+ type: object
+ OpenAIResponseContentPartReasoningText:
+ description: Reasoning text emitted as part of a streamed response.
+ properties:
+ type:
+ const: reasoning_text
+ default: reasoning_text
+ title: Type
+ type: string
+ text:
+ title: Text
+ type: string
+ required:
+ - text
+ title: OpenAIResponseContentPartReasoningText
+ type: object
+ OpenAIResponseObjectStream:
+ discriminator:
+ mapping:
+ response.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseCompleted'
+ response.content_part.added: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartAdded'
+ response.content_part.done: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartDone'
+ response.created: '#/components/schemas/OpenAIResponseObjectStreamResponseCreated'
+ response.failed: '#/components/schemas/OpenAIResponseObjectStreamResponseFailed'
+ response.file_search_call.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallCompleted'
+ response.file_search_call.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallInProgress'
+ response.file_search_call.searching: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallSearching'
+ response.function_call_arguments.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta'
+ response.function_call_arguments.done: '#/components/schemas/OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone'
+ response.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseInProgress'
+ response.incomplete: '#/components/schemas/OpenAIResponseObjectStreamResponseIncomplete'
+ response.mcp_call.arguments.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta'
+ response.mcp_call.arguments.done: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallArgumentsDone'
+ response.mcp_call.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallCompleted'
+ response.mcp_call.failed: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallFailed'
+ response.mcp_call.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallInProgress'
+ response.mcp_list_tools.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsCompleted'
+ response.mcp_list_tools.failed: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsFailed'
+ response.mcp_list_tools.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsInProgress'
+ response.output_item.added: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemAdded'
+ response.output_item.done: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemDone'
+ response.output_text.annotation.added: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded'
+ response.output_text.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDelta'
+ response.output_text.done: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDone'
+ response.reasoning_summary_part.added: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded'
+ response.reasoning_summary_part.done: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartDone'
+ response.reasoning_summary_text.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta'
+ response.reasoning_summary_text.done: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDone'
+ response.reasoning_text.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDelta'
+ response.reasoning_text.done: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDone'
+ response.refusal.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDelta'
+ response.refusal.done: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDone'
+ response.web_search_call.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallCompleted'
+ response.web_search_call.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallInProgress'
+ response.web_search_call.searching: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallSearching'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseCreated'
+ title: OpenAIResponseObjectStreamResponseCreated
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseInProgress'
+ title: OpenAIResponseObjectStreamResponseInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemAdded'
+ title: OpenAIResponseObjectStreamResponseOutputItemAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemDone'
+ title: OpenAIResponseObjectStreamResponseOutputItemDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDelta'
+ title: OpenAIResponseObjectStreamResponseOutputTextDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDone'
+ title: OpenAIResponseObjectStreamResponseOutputTextDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta'
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone'
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallInProgress'
+ title: OpenAIResponseObjectStreamResponseWebSearchCallInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallSearching'
+ title: OpenAIResponseObjectStreamResponseWebSearchCallSearching
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallCompleted'
+ title: OpenAIResponseObjectStreamResponseWebSearchCallCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsInProgress'
+ title: OpenAIResponseObjectStreamResponseMcpListToolsInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsFailed'
+ title: OpenAIResponseObjectStreamResponseMcpListToolsFailed
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsCompleted'
+ title: OpenAIResponseObjectStreamResponseMcpListToolsCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta'
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallArgumentsDone'
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallInProgress'
+ title: OpenAIResponseObjectStreamResponseMcpCallInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallFailed'
+ title: OpenAIResponseObjectStreamResponseMcpCallFailed
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallCompleted'
+ title: OpenAIResponseObjectStreamResponseMcpCallCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartAdded'
+ title: OpenAIResponseObjectStreamResponseContentPartAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartDone'
+ title: OpenAIResponseObjectStreamResponseContentPartDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDelta'
+ title: OpenAIResponseObjectStreamResponseReasoningTextDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDone'
+ title: OpenAIResponseObjectStreamResponseReasoningTextDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartDone'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDone'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDelta'
+ title: OpenAIResponseObjectStreamResponseRefusalDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDone'
+ title: OpenAIResponseObjectStreamResponseRefusalDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded'
+ title: OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallInProgress'
+ title: OpenAIResponseObjectStreamResponseFileSearchCallInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallSearching'
+ title: OpenAIResponseObjectStreamResponseFileSearchCallSearching
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallCompleted'
+ title: OpenAIResponseObjectStreamResponseFileSearchCallCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseIncomplete'
+ title: OpenAIResponseObjectStreamResponseIncomplete
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFailed'
+ title: OpenAIResponseObjectStreamResponseFailed
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseCompleted'
+ title: OpenAIResponseObjectStreamResponseCompleted
+ title: OpenAIResponseObjectStreamResponseCreated | ... (36 variants)
+ OpenAIResponseObjectStreamResponseCompleted:
+ description: Streaming event indicating a response has been completed.
+ properties:
+ response:
+ $ref: '#/components/schemas/OpenAIResponseObject'
+ type:
+ const: response.completed
+ default: response.completed
+ title: Type
+ type: string
+ required:
+ - response
+ title: OpenAIResponseObjectStreamResponseCompleted
+ type: object
+ OpenAIResponseObjectStreamResponseContentPartAdded:
+ description: Streaming event for when a new content part is added to a response item.
+ properties:
+ content_index:
+ title: Content Index
+ type: integer
+ response_id:
+ title: Response Id
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ part:
+ discriminator:
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ reasoning_text: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ title: OpenAIResponseContentPartOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ title: OpenAIResponseContentPartReasoningText
+ title: OpenAIResponseContentPartOutputText | OpenAIResponseContentPartRefusal | OpenAIResponseContentPartReasoningText
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.content_part.added
+ default: response.content_part.added
+ title: Type
+ type: string
+ required:
+ - content_index
+ - response_id
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseContentPartAdded
+ type: object
+ OpenAIResponseObjectStreamResponseContentPartDone:
+ description: Streaming event for when a content part is completed.
+ properties:
+ content_index:
+ title: Content Index
+ type: integer
+ response_id:
+ title: Response Id
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ part:
+ discriminator:
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ reasoning_text: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ title: OpenAIResponseContentPartOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ title: OpenAIResponseContentPartReasoningText
+ title: OpenAIResponseContentPartOutputText | OpenAIResponseContentPartRefusal | OpenAIResponseContentPartReasoningText
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.content_part.done
+ default: response.content_part.done
+ title: Type
+ type: string
+ required:
+ - content_index
+ - response_id
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseContentPartDone
+ type: object
+ OpenAIResponseObjectStreamResponseCreated:
+ description: Streaming event indicating a new response has been created.
+ properties:
+ response:
+ $ref: '#/components/schemas/OpenAIResponseObject'
+ type:
+ const: response.created
+ default: response.created
+ title: Type
+ type: string
+ required:
+ - response
+ title: OpenAIResponseObjectStreamResponseCreated
+ type: object
+ OpenAIResponseObjectStreamResponseFailed:
+ description: Streaming event emitted when a response fails.
+ properties:
+ response:
+ $ref: '#/components/schemas/OpenAIResponseObject'
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.failed
+ default: response.failed
+ title: Type
+ type: string
+ required:
+ - response
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFailed
+ type: object
+ OpenAIResponseObjectStreamResponseFileSearchCallCompleted:
+ description: Streaming event for completed file search calls.
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.file_search_call.completed
+ default: response.file_search_call.completed
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFileSearchCallCompleted
+ type: object
+ OpenAIResponseObjectStreamResponseFileSearchCallInProgress:
+ description: Streaming event for file search calls in progress.
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.file_search_call.in_progress
+ default: response.file_search_call.in_progress
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFileSearchCallInProgress
+ type: object
+ OpenAIResponseObjectStreamResponseFileSearchCallSearching:
+ description: Streaming event for file search currently searching.
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.file_search_call.searching
+ default: response.file_search_call.searching
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFileSearchCallSearching
+ type: object
+ OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta:
+ description: Streaming event for incremental function call argument updates.
+ properties:
+ delta:
+ title: Delta
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.function_call_arguments.delta
+ default: response.function_call_arguments.delta
+ title: Type
+ type: string
+ required:
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta
+ type: object
+ OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone:
+ description: Streaming event for when function call arguments are completed.
+ properties:
+ arguments:
+ title: Arguments
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.function_call_arguments.done
+ default: response.function_call_arguments.done
+ title: Type
+ type: string
+ required:
+ - arguments
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone
+ type: object
+ OpenAIResponseObjectStreamResponseInProgress:
+ description: Streaming event indicating the response remains in progress.
+ properties:
+ response:
+ $ref: '#/components/schemas/OpenAIResponseObject'
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.in_progress
+ default: response.in_progress
+ title: Type
+ type: string
+ required:
+ - response
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseInProgress
+ type: object
+ OpenAIResponseObjectStreamResponseIncomplete:
+ description: Streaming event emitted when a response ends in an incomplete state.
+ properties:
+ response:
+ $ref: '#/components/schemas/OpenAIResponseObject'
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.incomplete
+ default: response.incomplete
+ title: Type
+ type: string
+ required:
+ - response
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseIncomplete
+ type: object
+ OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta:
+ properties:
+ delta:
+ title: Delta
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.mcp_call.arguments.delta
+ default: response.mcp_call.arguments.delta
+ title: Type
+ type: string
+ required:
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta
+ type: object
+ OpenAIResponseObjectStreamResponseMcpCallArgumentsDone:
+ properties:
+ arguments:
+ title: Arguments
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.mcp_call.arguments.done
+ default: response.mcp_call.arguments.done
+ title: Type
+ type: string
+ required:
+ - arguments
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDone
+ type: object
+ OpenAIResponseObjectStreamResponseMcpCallCompleted:
+ description: Streaming event for completed MCP calls.
+ properties:
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.mcp_call.completed
+ default: response.mcp_call.completed
+ title: Type
+ type: string
+ required:
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallCompleted
+ type: object
+ OpenAIResponseObjectStreamResponseMcpCallFailed:
+ description: Streaming event for failed MCP calls.
+ properties:
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.mcp_call.failed
+ default: response.mcp_call.failed
+ title: Type
+ type: string
+ required:
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallFailed
+ type: object
+ OpenAIResponseObjectStreamResponseMcpCallInProgress:
+ description: Streaming event for MCP calls in progress.
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.mcp_call.in_progress
+ default: response.mcp_call.in_progress
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallInProgress
+ type: object
+ OpenAIResponseObjectStreamResponseMcpListToolsCompleted:
+ properties:
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.mcp_list_tools.completed
+ default: response.mcp_list_tools.completed
+ title: Type
+ type: string
+ required:
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpListToolsCompleted
+ type: object
+ OpenAIResponseObjectStreamResponseMcpListToolsFailed:
+ properties:
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.mcp_list_tools.failed
+ default: response.mcp_list_tools.failed
+ title: Type
+ type: string
+ required:
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpListToolsFailed
+ type: object
+ OpenAIResponseObjectStreamResponseMcpListToolsInProgress:
+ properties:
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.mcp_list_tools.in_progress
+ default: response.mcp_list_tools.in_progress
+ title: Type
+ type: string
+ required:
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpListToolsInProgress
+ type: object
+ OpenAIResponseObjectStreamResponseOutputItemAdded:
+ description: Streaming event for when a new output item is added to the response.
+ properties:
+ response_id:
+ title: Response Id
+ type: string
+ item:
+ discriminator:
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.output_item.added
+ default: response.output_item.added
+ title: Type
+ type: string
+ required:
+ - response_id
+ - item
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputItemAdded
+ type: object
+ OpenAIResponseObjectStreamResponseOutputItemDone:
+ description: Streaming event for when an output item is completed.
+ properties:
+ response_id:
+ title: Response Id
+ type: string
+ item:
+ discriminator:
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.output_item.done
+ default: response.output_item.done
+ title: Type
+ type: string
+ required:
+ - response_id
+ - item
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputItemDone
+ type: object
+ OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded:
+ description: Streaming event for when an annotation is added to output text.
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ content_index:
+ title: Content Index
+ type: integer
+ annotation_index:
+ title: Annotation Index
+ type: integer
+ annotation:
+ discriminator:
+ mapping:
+ container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.output_text.annotation.added
+ default: response.output_text.annotation.added
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - content_index
+ - annotation_index
+ - annotation
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded
+ type: object
+ OpenAIResponseObjectStreamResponseOutputTextDelta:
+ description: Streaming event for incremental text content updates.
+ properties:
+ content_index:
+ title: Content Index
+ type: integer
+ delta:
+ title: Delta
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.output_text.delta
+ default: response.output_text.delta
+ title: Type
+ type: string
+ required:
+ - content_index
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputTextDelta
+ type: object
+ OpenAIResponseObjectStreamResponseOutputTextDone:
+ description: Streaming event for when text output is completed.
+ properties:
+ content_index:
+ title: Content Index
+ type: integer
+ text:
+ title: Text
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.output_text.done
+ default: response.output_text.done
+ title: Type
+ type: string
+ required:
+ - content_index
+ - text
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputTextDone
+ type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded:
+ description: Streaming event for when a new reasoning summary part is added.
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ part:
+ $ref: '#/components/schemas/OpenAIResponseContentPartReasoningSummary'
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ summary_index:
+ title: Summary Index
+ type: integer
+ type:
+ const: response.reasoning_summary_part.added
+ default: response.reasoning_summary_part.added
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded
+ type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryPartDone:
+ description: Streaming event for when a reasoning summary part is completed.
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ part:
+ $ref: '#/components/schemas/OpenAIResponseContentPartReasoningSummary'
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ summary_index:
+ title: Summary Index
+ type: integer
+ type:
+ const: response.reasoning_summary_part.done
+ default: response.reasoning_summary_part.done
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartDone
+ type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta:
+ description: Streaming event for incremental reasoning summary text updates.
+ properties:
+ delta:
+ title: Delta
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ summary_index:
+ title: Summary Index
+ type: integer
+ type:
+ const: response.reasoning_summary_text.delta
+ default: response.reasoning_summary_text.delta
+ title: Type
+ type: string
+ required:
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta
+ type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryTextDone:
+ description: Streaming event for when reasoning summary text is completed.
+ properties:
+ text:
+ title: Text
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ summary_index:
+ title: Summary Index
+ type: integer
+ type:
+ const: response.reasoning_summary_text.done
+ default: response.reasoning_summary_text.done
+ title: Type
+ type: string
+ required:
+ - text
+ - item_id
+ - output_index
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDone
+ type: object
+ OpenAIResponseObjectStreamResponseReasoningTextDelta:
+ description: Streaming event for incremental reasoning text updates.
+ properties:
+ content_index:
+ title: Content Index
+ type: integer
+ delta:
+ title: Delta
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.reasoning_text.delta
+ default: response.reasoning_text.delta
+ title: Type
+ type: string
+ required:
+ - content_index
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseReasoningTextDelta
+ type: object
+ OpenAIResponseObjectStreamResponseReasoningTextDone:
+ description: Streaming event for when reasoning text is completed.
+ properties:
+ content_index:
+ title: Content Index
+ type: integer
+ text:
+ title: Text
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.reasoning_text.done
+ default: response.reasoning_text.done
+ title: Type
+ type: string
+ required:
+ - content_index
+ - text
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseReasoningTextDone
+ type: object
+ OpenAIResponseObjectStreamResponseRefusalDelta:
+ description: Streaming event for incremental refusal text updates.
+ properties:
+ content_index:
+ title: Content Index
+ type: integer
+ delta:
+ title: Delta
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.refusal.delta
+ default: response.refusal.delta
+ title: Type
+ type: string
+ required:
+ - content_index
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseRefusalDelta
+ type: object
+ OpenAIResponseObjectStreamResponseRefusalDone:
+ description: Streaming event for when refusal text is completed.
+ properties:
+ content_index:
+ title: Content Index
+ type: integer
+ refusal:
+ title: Refusal
+ type: string
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.refusal.done
+ default: response.refusal.done
+ title: Type
+ type: string
+ required:
+ - content_index
+ - refusal
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseRefusalDone
+ type: object
+ OpenAIResponseObjectStreamResponseWebSearchCallCompleted:
+ description: Streaming event for completed web search calls.
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.web_search_call.completed
+ default: response.web_search_call.completed
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseWebSearchCallCompleted
+ type: object
+ OpenAIResponseObjectStreamResponseWebSearchCallInProgress:
+ description: Streaming event for web search calls in progress.
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.web_search_call.in_progress
+ default: response.web_search_call.in_progress
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseWebSearchCallInProgress
+ type: object
+ OpenAIResponseObjectStreamResponseWebSearchCallSearching:
+ properties:
+ item_id:
+ title: Item Id
+ type: string
+ output_index:
+ title: Output Index
+ type: integer
+ sequence_number:
+ title: Sequence Number
+ type: integer
+ type:
+ const: response.web_search_call.searching
+ default: response.web_search_call.searching
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseWebSearchCallSearching
+ type: object
+ OpenAIDeleteResponseObject:
+ properties:
+ id:
+ type: string
+ title: Id
+ object:
+ type: string
+ const: response
+ title: Object
+ default: response
+ deleted:
+ type: boolean
+ title: Deleted
+ default: true
+ type: object
+ required:
+ - id
+ title: OpenAIDeleteResponseObject
+ description: Response object confirming deletion of an OpenAI response.
+ ListOpenAIResponseInputItem:
+ properties:
+ data:
+ items:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ title: OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessage-Output
+ type: array
+ title: Data
+ object:
+ type: string
+ const: list
+ title: Object
+ default: list
+ type: object
+ required:
+ - data
+ title: ListOpenAIResponseInputItem
+ description: List container for OpenAI response input items.
+ RunShieldResponse:
+ properties:
+ violation:
+ anyOf:
+ - $ref: '#/components/schemas/SafetyViolation'
+ title: SafetyViolation
+ - type: 'null'
+ title: SafetyViolation
+ type: object
+ title: RunShieldResponse
+ description: Response from running a safety shield.
+ SafetyViolation:
+ properties:
+ violation_level:
+ $ref: '#/components/schemas/ViolationLevel'
+ user_message:
+ anyOf:
+ - type: string
+ - type: 'null'
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ type: object
+ required:
+ - violation_level
+ 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.
+ AggregationFunctionType:
+ type: string
+ enum:
+ - average
+ - weighted_average
+ - median
+ - categorical_count
+ - accuracy
+ title: AggregationFunctionType
+ description: Types of aggregation functions for scoring results.
+ ArrayType:
+ properties:
+ type:
+ type: string
+ const: array
+ title: Type
+ default: array
+ type: object
+ title: ArrayType
+ description: Parameter type for array values.
+ BasicScoringFnParams:
+ properties:
+ type:
+ type: string
+ const: basic
+ title: Type
+ default: basic
+ aggregation_functions:
+ items:
+ $ref: '#/components/schemas/AggregationFunctionType'
+ type: array
+ title: Aggregation Functions
+ description: Aggregation functions to apply to the scores of each row
+ type: object
+ title: BasicScoringFnParams
+ description: Parameters for basic scoring function configuration.
+ BooleanType:
+ properties:
+ type:
+ type: string
+ const: boolean
+ title: Type
+ default: boolean
+ type: object
+ title: BooleanType
+ description: Parameter type for boolean values.
+ ChatCompletionInputType:
+ properties:
+ type:
+ type: string
+ const: chat_completion_input
+ title: Type
+ default: chat_completion_input
+ type: object
+ title: ChatCompletionInputType
+ description: Parameter type for chat completion input.
+ CompletionInputType:
+ properties:
+ type:
+ type: string
+ const: completion_input
+ title: Type
+ default: completion_input
+ type: object
+ title: CompletionInputType
+ description: Parameter type for completion input.
+ JsonType:
+ properties:
+ type:
+ type: string
+ const: json
+ title: Type
+ default: json
+ type: object
+ title: JsonType
+ description: Parameter type for JSON values.
+ LLMAsJudgeScoringFnParams:
+ properties:
+ type:
+ type: string
+ const: llm_as_judge
+ title: Type
+ default: llm_as_judge
+ judge_model:
+ type: string
+ title: Judge Model
+ prompt_template:
+ anyOf:
+ - type: string
+ - type: 'null'
+ judge_score_regexes:
+ items:
+ type: string
+ type: array
+ title: Judge Score Regexes
+ description: Regexes to extract the answer from generated response
+ aggregation_functions:
+ items:
+ $ref: '#/components/schemas/AggregationFunctionType'
+ type: array
+ title: Aggregation Functions
+ description: Aggregation functions to apply to the scores of each row
+ type: object
+ required:
+ - judge_model
+ title: LLMAsJudgeScoringFnParams
+ description: Parameters for LLM-as-judge scoring function configuration.
+ NumberType:
+ properties:
+ type:
+ type: string
+ const: number
+ title: Type
+ default: number
+ type: object
+ title: NumberType
+ description: Parameter type for numeric values.
+ ObjectType:
+ properties:
+ type:
+ type: string
+ const: object
+ title: Type
+ default: object
+ type: object
+ title: ObjectType
+ description: Parameter type for object values.
+ RegexParserScoringFnParams:
+ properties:
+ type:
+ type: string
+ const: regex_parser
+ title: Type
+ default: regex_parser
+ parsing_regexes:
+ items:
+ type: string
+ type: array
+ title: Parsing Regexes
+ description: Regex to extract the answer from generated response
+ aggregation_functions:
+ items:
+ $ref: '#/components/schemas/AggregationFunctionType'
+ type: array
+ title: Aggregation Functions
+ description: Aggregation functions to apply to the scores of each row
+ type: object
+ title: RegexParserScoringFnParams
+ description: Parameters for regex parser scoring function configuration.
+ ScoringFn:
+ properties:
+ identifier:
+ type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
+ provider_resource_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
+ provider_id:
+ type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
+ type:
+ type: string
+ const: scoring_function
+ title: Type
+ default: scoring_function
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ description: Any additional metadata for this definition
+ return_type:
+ oneOf:
+ - $ref: '#/components/schemas/StringType'
+ title: StringType
+ - $ref: '#/components/schemas/NumberType'
+ title: NumberType
+ - $ref: '#/components/schemas/BooleanType'
+ title: BooleanType
+ - $ref: '#/components/schemas/ArrayType'
+ title: ArrayType
+ - $ref: '#/components/schemas/ObjectType'
+ title: ObjectType
+ - $ref: '#/components/schemas/JsonType'
+ title: JsonType
+ - $ref: '#/components/schemas/UnionType'
+ title: UnionType
+ - $ref: '#/components/schemas/ChatCompletionInputType'
+ title: ChatCompletionInputType
+ - $ref: '#/components/schemas/CompletionInputType'
+ title: CompletionInputType
+ title: StringType | ... (9 variants)
+ description: The return type of the deterministic function
+ discriminator:
+ propertyName: type
+ mapping:
+ array: '#/components/schemas/ArrayType'
+ boolean: '#/components/schemas/BooleanType'
+ chat_completion_input: '#/components/schemas/ChatCompletionInputType'
+ completion_input: '#/components/schemas/CompletionInputType'
+ json: '#/components/schemas/JsonType'
+ number: '#/components/schemas/NumberType'
+ object: '#/components/schemas/ObjectType'
+ string: '#/components/schemas/StringType'
+ union: '#/components/schemas/UnionType'
+ params:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ discriminator:
+ propertyName: type
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ - type: 'null'
+ title: Params
+ description: The parameters for the scoring function for benchmark eval, these can be overridden for app eval
+ type: object
+ required:
+ - identifier
+ - provider_id
+ - return_type
+ title: ScoringFn
+ description: A scoring function resource for evaluating model outputs.
+ ScoringFnParams:
+ discriminator:
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ ScoringFnParamsType:
+ description: Types of scoring function parameter configurations.
+ enum:
+ - llm_as_judge
+ - regex_parser
+ - basic
+ title: ScoringFnParamsType
+ type: string
+ StringType:
+ properties:
+ type:
+ type: string
+ const: string
+ title: Type
+ default: string
+ type: object
+ title: StringType
+ description: Parameter type for string values.
+ UnionType:
+ properties:
+ type:
+ type: string
+ const: union
+ title: Type
+ default: union
+ type: object
+ title: UnionType
+ description: Parameter type for union values.
+ ListScoringFunctionsResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/ScoringFn'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListScoringFunctionsResponse
+ ScoreResponse:
+ properties:
+ results:
+ additionalProperties:
+ $ref: '#/components/schemas/ScoringResult'
+ type: object
+ title: Results
+ type: object
+ required:
+ - results
+ title: ScoreResponse
+ description: The response from scoring.
+ ScoringResult:
+ properties:
+ score_rows:
+ items:
+ additionalProperties: true
+ type: object
+ type: array
+ title: Score Rows
+ aggregated_results:
+ additionalProperties: true
+ type: object
+ title: Aggregated Results
+ type: object
+ required:
+ - score_rows
+ - aggregated_results
+ title: ScoringResult
+ description: A scoring result for a single row.
+ ScoreBatchResponse:
+ properties:
+ dataset_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ results:
+ additionalProperties:
+ $ref: '#/components/schemas/ScoringResult'
+ type: object
+ title: Results
+ type: object
+ required:
+ - results
+ title: ScoreBatchResponse
+ description: Response from batch scoring operations on datasets.
+ Shield:
+ properties:
+ identifier:
+ type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
+ provider_resource_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
+ provider_id:
+ type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
+ type:
+ type: string
+ const: shield
+ title: Type
+ default: shield
+ params:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - identifier
+ - provider_id
+ title: Shield
+ description: A safety shield resource that can be used to check content.
+ ListShieldsResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/Shield'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListShieldsResponse
+ ImageContentItem:
+ description: A image content item
+ properties:
+ type:
+ const: image
+ default: image
+ title: Type
+ type: string
+ image:
+ $ref: '#/components/schemas/_URLOrData'
+ required:
+ - image
+ title: ImageContentItem
+ type: object
+ InterleavedContent:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
+ InterleavedContentItem:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ TextContentItem:
+ properties:
+ type:
+ type: string
+ const: text
+ title: Type
+ default: text
+ text:
+ type: string
+ title: Text
+ type: object
+ required:
+ - text
+ title: TextContentItem
+ description: A text content item
+ ToolInvocationResult:
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ type: array
+ title: list[ImageContentItem-Output | TextContentItem]
+ - type: 'null'
+ title: string | list[ImageContentItem-Output | TextContentItem]
+ error_message:
+ anyOf:
+ - type: string
+ - type: 'null'
+ error_code:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ title: ToolInvocationResult
+ description: Result of a tool invocation.
+ URL:
+ properties:
+ uri:
+ type: string
+ title: Uri
+ type: object
+ required:
+ - uri
+ title: URL
+ description: A URL reference to external content.
+ ToolDef:
+ properties:
+ toolgroup_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ name:
+ type: string
+ title: Name
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ input_schema:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ output_schema:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - name
+ title: ToolDef
+ description: Tool definition used in runtime contexts.
+ ListToolDefsResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/ToolDef'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListToolDefsResponse
+ description: Response containing a list of tool definitions.
+ ToolGroup:
+ properties:
+ identifier:
+ type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
+ provider_resource_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
+ provider_id:
+ type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
+ type:
+ type: string
+ const: tool_group
+ title: Type
+ default: tool_group
+ mcp_endpoint:
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ title: URL
+ - type: 'null'
+ title: URL
+ args:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - identifier
+ - provider_id
+ title: ToolGroup
+ description: A group of related tools managed together.
+ ListToolGroupsResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/ToolGroup'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListToolGroupsResponse
+ description: Response containing a list of tool groups.
+ Chunk:
+ description: A chunk of content that can be inserted into a vector database.
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
+ chunk_id:
+ title: Chunk Id
+ type: string
+ metadata:
+ additionalProperties: true
+ title: Metadata
+ type: object
+ embedding:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ nullable: true
+ chunk_metadata:
+ anyOf:
+ - $ref: '#/components/schemas/ChunkMetadata'
+ title: ChunkMetadata
+ - type: 'null'
+ nullable: true
+ title: ChunkMetadata
+ required:
+ - content
+ - chunk_id
+ title: Chunk
+ type: object
+ ChunkMetadata:
+ properties:
+ chunk_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ document_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ source:
+ anyOf:
+ - type: string
+ - type: 'null'
+ created_timestamp:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ updated_timestamp:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ chunk_window:
+ anyOf:
+ - type: string
+ - type: 'null'
+ chunk_tokenizer:
+ anyOf:
+ - type: string
+ - type: 'null'
+ chunk_embedding_model:
+ anyOf:
+ - type: string
+ - type: 'null'
+ chunk_embedding_dimension:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ content_token_count:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ metadata_token_count:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ 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.
+ QueryChunksResponse:
+ properties:
+ chunks:
+ items:
+ $ref: '#/components/schemas/Chunk-Output'
+ type: array
+ title: Chunks
+ scores:
+ items:
+ type: number
+ type: array
+ title: Scores
+ type: object
+ required:
+ - chunks
+ - scores
+ title: QueryChunksResponse
+ description: Response from querying chunks in a vector database.
+ VectorStoreFileCounts:
+ properties:
+ completed:
+ type: integer
+ title: Completed
+ cancelled:
+ type: integer
+ title: Cancelled
+ failed:
+ type: integer
+ title: Failed
+ in_progress:
+ type: integer
+ title: In Progress
+ total:
+ type: integer
+ title: Total
+ type: object
+ required:
+ - completed
+ - cancelled
+ - failed
+ - in_progress
+ - total
+ title: VectorStoreFileCounts
+ description: File processing status counts for a vector store.
+ VectorStoreListResponse:
+ properties:
+ object:
+ type: string
+ title: Object
+ default: list
+ data:
+ items:
+ $ref: '#/components/schemas/VectorStoreObject'
+ type: array
+ title: Data
+ first_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ last_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ has_more:
+ type: boolean
+ title: Has More
+ default: false
+ type: object
+ required:
+ - data
+ title: VectorStoreListResponse
+ description: Response from listing vector stores.
+ VectorStoreObject:
+ properties:
+ id:
+ type: string
+ title: Id
+ object:
+ type: string
+ title: Object
+ default: vector_store
+ created_at:
+ type: integer
+ title: Created At
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ usage_bytes:
+ type: integer
+ title: Usage Bytes
+ default: 0
+ file_counts:
+ $ref: '#/components/schemas/VectorStoreFileCounts'
+ status:
+ type: string
+ title: Status
+ default: completed
+ expires_after:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ expires_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ last_active_at:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ type: object
+ required:
+ - id
+ - created_at
+ - file_counts
+ title: VectorStoreObject
+ description: OpenAI Vector Store object.
+ VectorStoreChunkingStrategy:
+ discriminator:
+ mapping:
+ auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
+ VectorStoreChunkingStrategyAuto:
+ properties:
+ type:
+ type: string
+ const: auto
+ title: Type
+ default: auto
+ type: object
+ title: VectorStoreChunkingStrategyAuto
+ description: Automatic chunking strategy for vector store files.
+ VectorStoreChunkingStrategyStatic:
+ properties:
+ type:
+ type: string
+ const: static
+ title: Type
+ default: static
+ static:
+ $ref: '#/components/schemas/VectorStoreChunkingStrategyStaticConfig'
+ type: object
+ required:
+ - static
+ title: VectorStoreChunkingStrategyStatic
+ description: Static chunking strategy with configurable parameters.
+ VectorStoreChunkingStrategyStaticConfig:
+ properties:
+ chunk_overlap_tokens:
+ type: integer
+ title: Chunk Overlap Tokens
+ default: 400
+ max_chunk_size_tokens:
+ type: integer
+ maximum: 4096.0
+ minimum: 100.0
+ title: Max Chunk Size Tokens
+ default: 800
+ type: object
+ title: VectorStoreChunkingStrategyStaticConfig
+ description: Configuration for static chunking strategy.
+ OpenAICreateVectorStoreRequestWithExtraBody:
+ properties:
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ file_ids:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ expires_after:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ chunking_strategy:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ discriminator:
+ propertyName: type
+ mapping:
+ auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
+ - type: 'null'
+ title: Chunking Strategy
+ metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ additionalProperties: true
+ type: object
+ title: OpenAICreateVectorStoreRequestWithExtraBody
+ description: Request to create a vector store with extra_body support.
+ VectorStoreDeleteResponse:
+ properties:
+ id:
+ type: string
+ title: Id
+ object:
+ type: string
+ title: Object
+ default: vector_store.deleted
+ deleted:
+ type: boolean
+ title: Deleted
+ default: true
+ type: object
+ required:
+ - id
+ title: VectorStoreDeleteResponse
+ description: Response from deleting a vector store.
+ OpenAICreateVectorStoreFileBatchRequestWithExtraBody:
+ properties:
+ file_ids:
+ items:
+ type: string
+ type: array
+ title: File Ids
+ attributes:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ chunking_strategy:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ discriminator:
+ propertyName: type
+ mapping:
+ auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
+ - type: 'null'
+ title: Chunking Strategy
+ additionalProperties: true
+ type: object
+ required:
+ - file_ids
+ title: OpenAICreateVectorStoreFileBatchRequestWithExtraBody
+ description: Request to create a vector store file batch with extra_body support.
+ VectorStoreFileBatchObject:
+ properties:
+ id:
+ type: string
+ title: Id
+ object:
+ type: string
+ title: Object
+ default: vector_store.file_batch
+ created_at:
+ type: integer
+ title: Created At
+ vector_store_id:
+ type: string
+ title: Vector Store Id
+ status:
+ title: Status
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - cancelled
+ - failed
+ default: completed
+ file_counts:
+ $ref: '#/components/schemas/VectorStoreFileCounts'
+ type: object
+ required:
+ - id
+ - created_at
+ - vector_store_id
+ - status
+ - file_counts
+ title: VectorStoreFileBatchObject
+ description: OpenAI Vector Store File Batch object.
+ VectorStoreFileStatus:
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - cancelled
+ - failed
+ default: completed
+ VectorStoreFileLastError:
+ properties:
+ code:
+ title: Code
+ type: string
+ enum:
+ - server_error
+ - rate_limit_exceeded
+ default: server_error
+ message:
+ type: string
+ title: Message
+ type: object
+ required:
+ - code
+ - message
+ title: VectorStoreFileLastError
+ description: Error information for failed vector store file processing.
+ VectorStoreFileObject:
+ properties:
+ id:
+ type: string
+ title: Id
+ object:
+ type: string
+ title: Object
+ default: vector_store.file
+ attributes:
+ additionalProperties: true
+ type: object
+ title: Attributes
+ chunking_strategy:
+ oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
+ discriminator:
+ propertyName: type
+ mapping:
+ auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ created_at:
+ type: integer
+ title: Created At
+ last_error:
+ anyOf:
+ - $ref: '#/components/schemas/VectorStoreFileLastError'
+ title: VectorStoreFileLastError
+ - type: 'null'
+ title: VectorStoreFileLastError
+ status:
+ title: Status
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - cancelled
+ - failed
+ default: completed
+ usage_bytes:
+ type: integer
+ title: Usage Bytes
+ default: 0
+ vector_store_id:
+ type: string
+ title: Vector Store Id
+ type: object
+ required:
+ - id
+ - chunking_strategy
+ - created_at
+ - status
+ - vector_store_id
+ title: VectorStoreFileObject
+ description: OpenAI Vector Store File object.
+ VectorStoreFilesListInBatchResponse:
+ properties:
+ object:
+ type: string
+ title: Object
+ default: list
+ data:
+ items:
+ $ref: '#/components/schemas/VectorStoreFileObject'
+ type: array
+ title: Data
+ first_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ last_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ has_more:
+ type: boolean
+ title: Has More
+ default: false
+ type: object
+ required:
+ - data
+ title: VectorStoreFilesListInBatchResponse
+ description: Response from listing files in a vector store file batch.
+ VectorStoreListFilesResponse:
+ properties:
+ object:
+ type: string
+ title: Object
+ default: list
+ data:
+ items:
+ $ref: '#/components/schemas/VectorStoreFileObject'
+ type: array
+ title: Data
+ first_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ last_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ has_more:
+ type: boolean
+ title: Has More
+ default: false
+ type: object
+ required:
+ - data
+ title: VectorStoreListFilesResponse
+ description: Response from listing files in a vector store.
+ VectorStoreFileDeleteResponse:
+ properties:
+ id:
+ type: string
+ title: Id
+ object:
+ type: string
+ title: Object
+ default: vector_store.file.deleted
+ deleted:
+ type: boolean
+ title: Deleted
+ default: true
+ type: object
+ required:
+ - id
+ title: VectorStoreFileDeleteResponse
+ description: Response from deleting a vector store file.
+ VectorStoreContent:
+ properties:
+ type:
+ type: string
+ const: text
+ title: Type
+ text:
+ type: string
+ title: Text
+ embedding:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ chunk_metadata:
+ anyOf:
+ - $ref: '#/components/schemas/ChunkMetadata'
+ title: ChunkMetadata
+ - type: 'null'
+ title: ChunkMetadata
+ metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - type
+ - text
+ title: VectorStoreContent
+ description: Content item from a vector store file or search result.
+ VectorStoreFileContentResponse:
+ properties:
+ object:
+ type: string
+ const: vector_store.file_content.page
+ title: Object
+ default: vector_store.file_content.page
+ data:
+ items:
+ $ref: '#/components/schemas/VectorStoreContent'
+ type: array
+ title: Data
+ has_more:
+ type: boolean
+ title: Has More
+ default: false
+ next_page:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - data
+ title: VectorStoreFileContentResponse
+ description: Represents the parsed content of a vector store file.
+ VectorStoreSearchResponse:
+ properties:
+ file_id:
+ type: string
+ title: File Id
+ filename:
+ type: string
+ title: Filename
+ score:
+ type: number
+ title: Score
+ attributes:
+ anyOf:
+ - additionalProperties:
+ anyOf:
+ - type: string
+ - type: number
+ - type: boolean
+ title: string | number | boolean
+ type: object
+ - type: 'null'
+ content:
+ items:
+ $ref: '#/components/schemas/VectorStoreContent'
+ type: array
+ title: Content
+ type: object
+ required:
+ - file_id
+ - filename
+ - score
+ - content
+ title: VectorStoreSearchResponse
+ description: Response from searching a vector store.
+ VectorStoreSearchResponsePage:
+ properties:
+ object:
+ type: string
+ title: Object
+ default: vector_store.search_results.page
+ search_query:
+ items:
+ type: string
+ type: array
+ title: Search Query
+ data:
+ items:
+ $ref: '#/components/schemas/VectorStoreSearchResponse'
+ type: array
+ title: Data
+ has_more:
+ type: boolean
+ title: Has More
+ default: false
+ next_page:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - search_query
+ - data
+ title: VectorStoreSearchResponsePage
+ description: Paginated response from searching a vector store.
+ VersionInfo:
+ properties:
+ version:
+ type: string
+ title: Version
+ type: object
+ required:
+ - version
+ title: VersionInfo
+ description: Version information for the service.
+ AppendRowsRequest:
+ properties:
+ rows:
+ items:
+ additionalProperties: true
+ type: object
+ type: array
+ title: Rows
+ type: object
+ required:
+ - rows
+ title: AppendRowsRequest
+ PaginatedResponse:
+ properties:
+ data:
+ items:
+ additionalProperties: true
+ type: object
+ type: array
+ title: Data
+ has_more:
+ type: boolean
+ title: Has More
+ url:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - data
+ - has_more
+ title: PaginatedResponse
+ description: A generic paginated response that follows a simple format.
+ Dataset:
+ properties:
+ identifier:
+ type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
+ provider_resource_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
+ provider_id:
+ type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
+ type:
+ type: string
+ const: dataset
+ title: Type
+ default: dataset
+ purpose:
+ $ref: '#/components/schemas/DatasetPurpose'
+ source:
+ oneOf:
+ - $ref: '#/components/schemas/URIDataSource'
+ title: URIDataSource
+ - $ref: '#/components/schemas/RowsDataSource'
+ title: RowsDataSource
+ title: URIDataSource | RowsDataSource
+ discriminator:
+ propertyName: type
+ mapping:
+ rows: '#/components/schemas/RowsDataSource'
+ uri: '#/components/schemas/URIDataSource'
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ description: Any additional metadata for this dataset
+ type: object
+ required:
+ - identifier
+ - provider_id
+ - purpose
+ - source
+ title: Dataset
+ description: Dataset resource for storing and accessing training or evaluation data.
+ RowsDataSource:
+ properties:
+ type:
+ type: string
+ const: rows
+ title: Type
+ default: rows
+ rows:
+ items:
+ additionalProperties: true
+ type: object
+ type: array
+ title: Rows
+ type: object
+ required:
+ - rows
+ title: RowsDataSource
+ description: A dataset stored in rows.
+ URIDataSource:
+ properties:
+ type:
+ type: string
+ const: uri
+ title: Type
+ default: uri
+ uri:
+ type: string
+ title: Uri
+ type: object
+ required:
+ - uri
+ title: URIDataSource
+ description: A dataset that can be obtained from a URI.
+ ListDatasetsResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/Dataset'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListDatasetsResponse
+ description: Response from listing datasets.
+ Benchmark:
+ properties:
+ identifier:
+ type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
+ provider_resource_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
+ provider_id:
+ type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
+ type:
+ type: string
+ const: benchmark
+ title: Type
+ default: benchmark
+ dataset_id:
+ type: string
+ title: Dataset Id
+ scoring_functions:
+ items:
+ type: string
+ type: array
+ title: Scoring Functions
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ description: Metadata for this evaluation task
+ type: object
+ required:
+ - identifier
+ - provider_id
+ - dataset_id
+ - scoring_functions
+ title: Benchmark
+ description: A benchmark resource for evaluating model performance.
+ ListBenchmarksResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/Benchmark'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListBenchmarksResponse
+ BenchmarkConfig:
+ properties:
+ eval_candidate:
+ $ref: '#/components/schemas/ModelCandidate'
+ scoring_params:
+ additionalProperties:
+ oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ discriminator:
+ propertyName: type
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ type: object
+ title: Scoring Params
+ description: Map between scoring function id and parameters for each scoring function you want to run
+ num_examples:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ description: Number of examples to evaluate (useful for testing), if not provided, all examples in the dataset will be evaluated
+ type: object
+ required:
+ - eval_candidate
+ title: BenchmarkConfig
+ description: A benchmark configuration for evaluation.
+ GreedySamplingStrategy:
+ properties:
+ type:
+ type: string
+ const: greedy
+ title: Type
+ default: greedy
+ type: object
+ title: GreedySamplingStrategy
+ description: Greedy sampling strategy that selects the highest probability token at each step.
+ ModelCandidate:
+ properties:
+ type:
+ type: string
+ const: model
+ title: Type
+ default: model
+ model:
+ type: string
+ title: Model
+ sampling_params:
+ $ref: '#/components/schemas/SamplingParams'
+ system_message:
+ anyOf:
+ - $ref: '#/components/schemas/SystemMessage'
+ title: SystemMessage
+ - type: 'null'
+ title: SystemMessage
+ type: object
+ required:
+ - model
+ - sampling_params
+ title: ModelCandidate
+ description: A model candidate for evaluation.
+ SamplingParams:
+ properties:
+ strategy:
+ oneOf:
+ - $ref: '#/components/schemas/GreedySamplingStrategy'
+ title: GreedySamplingStrategy
+ - $ref: '#/components/schemas/TopPSamplingStrategy'
+ title: TopPSamplingStrategy
+ - $ref: '#/components/schemas/TopKSamplingStrategy'
+ title: TopKSamplingStrategy
+ title: GreedySamplingStrategy | TopPSamplingStrategy | TopKSamplingStrategy
+ discriminator:
+ propertyName: type
+ mapping:
+ greedy: '#/components/schemas/GreedySamplingStrategy'
+ top_k: '#/components/schemas/TopKSamplingStrategy'
+ top_p: '#/components/schemas/TopPSamplingStrategy'
+ max_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ repetition_penalty:
+ anyOf:
+ - type: number
+ - type: 'null'
+ default: 1.0
+ stop:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ type: object
+ title: SamplingParams
+ description: Sampling parameters.
+ SystemMessage:
+ properties:
+ role:
+ type: string
+ const: system
+ title: Role
+ default: system
+ content:
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ type: array
+ title: list[ImageContentItem-Input | TextContentItem]
+ title: string | list[ImageContentItem-Input | TextContentItem]
+ type: object
+ required:
+ - content
+ title: SystemMessage
+ description: A system message providing instructions or context to the model.
+ TopKSamplingStrategy:
+ properties:
+ type:
+ type: string
+ const: top_k
+ title: Type
+ default: top_k
+ top_k:
+ type: integer
+ minimum: 1.0
+ title: Top K
+ type: object
+ required:
+ - top_k
+ title: TopKSamplingStrategy
+ description: Top-k sampling strategy that restricts sampling to the k most likely tokens.
+ TopPSamplingStrategy:
+ properties:
+ type:
+ type: string
+ const: top_p
+ title: Type
+ default: top_p
+ temperature:
+ anyOf:
+ - type: number
+ minimum: 0.0
+ - type: 'null'
+ top_p:
+ anyOf:
+ - type: number
+ - type: 'null'
+ default: 0.95
+ type: object
+ required:
+ - temperature
+ title: TopPSamplingStrategy
+ description: Top-p (nucleus) sampling strategy that samples from the smallest set of tokens with cumulative probability >= p.
+ EvaluateRowsRequest:
+ properties:
+ input_rows:
+ items:
+ additionalProperties: true
+ type: object
+ type: array
+ title: Input Rows
+ scoring_functions:
+ items:
+ type: string
+ type: array
+ title: Scoring Functions
+ benchmark_config:
+ $ref: '#/components/schemas/BenchmarkConfig'
+ type: object
+ required:
+ - input_rows
+ - scoring_functions
+ - benchmark_config
+ title: EvaluateRowsRequest
+ EvaluateResponse:
+ properties:
+ generations:
+ items:
+ additionalProperties: true
+ type: object
+ type: array
+ title: Generations
+ scores:
+ additionalProperties:
+ $ref: '#/components/schemas/ScoringResult'
+ type: object
+ title: Scores
+ type: object
+ required:
+ - generations
+ - scores
+ title: EvaluateResponse
+ description: The response from an evaluation.
+ Job:
+ properties:
+ job_id:
+ type: string
+ title: Job Id
+ status:
+ $ref: '#/components/schemas/JobStatus'
+ type: object
+ required:
+ - job_id
+ - status
+ title: Job
+ description: A job execution instance with status tracking.
+ RerankRequest:
+ properties:
+ model:
+ type: string
+ title: Model
+ query:
+ anyOf:
+ - type: string
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ title: string | OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam
+ items:
+ items:
+ anyOf:
+ - type: string
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ title: string | OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam
+ type: array
+ title: Items
+ max_num_results:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ required:
+ - model
+ - query
+ - items
+ title: RerankRequest
+ RerankData:
+ properties:
+ index:
+ type: integer
+ title: Index
+ relevance_score:
+ type: number
+ title: Relevance Score
+ type: object
+ required:
+ - index
+ - relevance_score
+ title: RerankData
+ description: A single rerank result from a reranking response.
+ RerankResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/RerankData'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: RerankResponse
+ description: Response from a reranking request.
+ Checkpoint:
+ properties:
+ identifier:
+ type: string
+ title: Identifier
+ created_at:
+ type: string
+ format: date-time
+ title: Created At
+ epoch:
+ type: integer
+ title: Epoch
+ post_training_job_id:
+ type: string
+ title: Post Training Job Id
+ path:
+ type: string
+ title: Path
+ training_metrics:
+ anyOf:
+ - $ref: '#/components/schemas/PostTrainingMetric'
+ title: PostTrainingMetric
+ - type: 'null'
+ title: PostTrainingMetric
+ type: object
+ required:
+ - identifier
+ - created_at
+ - epoch
+ - post_training_job_id
+ - path
+ title: Checkpoint
+ description: Checkpoint created during training runs.
+ PostTrainingJobArtifactsResponse:
+ properties:
+ job_uuid:
+ type: string
+ title: Job Uuid
+ checkpoints:
+ items:
+ $ref: '#/components/schemas/Checkpoint'
+ type: array
+ title: Checkpoints
+ type: object
+ required:
+ - job_uuid
+ title: PostTrainingJobArtifactsResponse
+ description: Artifacts of a finetuning job.
+ PostTrainingMetric:
+ properties:
+ epoch:
+ type: integer
+ title: Epoch
+ train_loss:
+ type: number
+ title: Train Loss
+ validation_loss:
+ type: number
+ title: Validation Loss
+ perplexity:
+ type: number
+ title: Perplexity
+ type: object
+ required:
+ - epoch
+ - train_loss
+ - validation_loss
+ - perplexity
+ title: PostTrainingMetric
+ description: Training metrics captured during post-training jobs.
+ CancelTrainingJobRequest:
+ properties:
+ job_uuid:
+ type: string
+ title: Job Uuid
+ type: object
+ required:
+ - job_uuid
+ title: CancelTrainingJobRequest
+ PostTrainingJobStatusResponse:
+ properties:
+ job_uuid:
+ type: string
+ title: Job Uuid
+ status:
+ $ref: '#/components/schemas/JobStatus'
+ scheduled_at:
+ anyOf:
+ - type: string
+ format: date-time
+ - type: 'null'
+ started_at:
+ anyOf:
+ - type: string
+ format: date-time
+ - type: 'null'
+ completed_at:
+ anyOf:
+ - type: string
+ format: date-time
+ - type: 'null'
+ resources_allocated:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ checkpoints:
+ items:
+ $ref: '#/components/schemas/Checkpoint'
+ type: array
+ title: Checkpoints
+ type: object
+ required:
+ - job_uuid
+ - status
+ title: PostTrainingJobStatusResponse
+ description: Status of a finetuning job.
+ ListPostTrainingJobsResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/PostTrainingJob'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListPostTrainingJobsResponse
+ DPOAlignmentConfig:
+ properties:
+ beta:
+ type: number
+ title: Beta
+ loss_type:
+ $ref: '#/components/schemas/DPOLossType'
+ default: sigmoid
+ type: object
+ required:
+ - beta
+ title: DPOAlignmentConfig
+ description: Configuration for Direct Preference Optimization (DPO) alignment.
+ DPOLossType:
+ type: string
+ enum:
+ - sigmoid
+ - hinge
+ - ipo
+ - kto_pair
+ title: DPOLossType
+ DataConfig:
+ properties:
+ dataset_id:
+ type: string
+ title: Dataset Id
+ batch_size:
+ type: integer
+ title: Batch Size
+ shuffle:
+ type: boolean
+ title: Shuffle
+ data_format:
+ $ref: '#/components/schemas/DatasetFormat'
+ validation_dataset_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ packed:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ train_on_input:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ type: object
+ required:
+ - dataset_id
+ - batch_size
+ - shuffle
+ - data_format
+ title: DataConfig
+ description: Configuration for training data and data loading.
+ DatasetFormat:
+ type: string
+ enum:
+ - instruct
+ - dialog
+ title: DatasetFormat
+ description: Format of the training dataset.
+ EfficiencyConfig:
+ properties:
+ enable_activation_checkpointing:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ enable_activation_offloading:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ memory_efficient_fsdp_wrap:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ fsdp_cpu_offload:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ type: object
+ title: EfficiencyConfig
+ description: Configuration for memory and compute efficiency optimizations.
+ OptimizerConfig:
+ properties:
+ optimizer_type:
+ $ref: '#/components/schemas/OptimizerType'
+ lr:
+ type: number
+ title: Lr
+ weight_decay:
+ type: number
+ title: Weight Decay
+ num_warmup_steps:
+ type: integer
+ title: Num Warmup Steps
+ type: object
+ required:
+ - optimizer_type
+ - lr
+ - weight_decay
+ - num_warmup_steps
+ title: OptimizerConfig
+ description: Configuration parameters for the optimization algorithm.
+ OptimizerType:
+ type: string
+ enum:
+ - adam
+ - adamw
+ - sgd
+ title: OptimizerType
+ description: Available optimizer algorithms for training.
+ TrainingConfig:
+ properties:
+ n_epochs:
+ type: integer
+ title: N Epochs
+ max_steps_per_epoch:
+ type: integer
+ title: Max Steps Per Epoch
+ default: 1
+ gradient_accumulation_steps:
+ type: integer
+ title: Gradient Accumulation Steps
+ default: 1
+ max_validation_steps:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 1
+ data_config:
+ anyOf:
+ - $ref: '#/components/schemas/DataConfig'
+ title: DataConfig
+ - type: 'null'
+ title: DataConfig
+ optimizer_config:
+ anyOf:
+ - $ref: '#/components/schemas/OptimizerConfig'
+ title: OptimizerConfig
+ - type: 'null'
+ title: OptimizerConfig
+ efficiency_config:
+ anyOf:
+ - $ref: '#/components/schemas/EfficiencyConfig'
+ title: EfficiencyConfig
+ - type: 'null'
+ title: EfficiencyConfig
+ dtype:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: bf16
+ type: object
+ required:
+ - n_epochs
+ title: TrainingConfig
+ description: Comprehensive configuration for the training process.
+ PreferenceOptimizeRequest:
+ properties:
+ job_uuid:
+ type: string
+ title: Job Uuid
+ finetuned_model:
+ type: string
+ title: Finetuned Model
+ algorithm_config:
+ $ref: '#/components/schemas/DPOAlignmentConfig'
+ training_config:
+ $ref: '#/components/schemas/TrainingConfig'
+ hyperparam_search_config:
+ additionalProperties: true
+ type: object
+ title: Hyperparam Search Config
+ logger_config:
+ additionalProperties: true
+ type: object
+ title: Logger Config
+ type: object
+ required:
+ - job_uuid
+ - finetuned_model
+ - algorithm_config
+ - training_config
+ - hyperparam_search_config
+ - logger_config
+ title: PreferenceOptimizeRequest
+ PostTrainingJob:
+ properties:
+ job_uuid:
+ type: string
+ title: Job Uuid
+ type: object
+ required:
+ - job_uuid
+ title: PostTrainingJob
+ AlgorithmConfig:
+ discriminator:
+ mapping:
+ LoRA: '#/components/schemas/LoraFinetuningConfig'
+ QAT: '#/components/schemas/QATFinetuningConfig'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/LoraFinetuningConfig'
+ title: LoraFinetuningConfig
+ - $ref: '#/components/schemas/QATFinetuningConfig'
+ title: QATFinetuningConfig
+ title: LoraFinetuningConfig | QATFinetuningConfig
+ LoraFinetuningConfig:
+ properties:
+ type:
+ type: string
+ const: LoRA
+ title: Type
+ default: LoRA
+ lora_attn_modules:
+ items:
+ type: string
+ type: array
+ title: Lora Attn Modules
+ apply_lora_to_mlp:
+ type: boolean
+ title: Apply Lora To Mlp
+ apply_lora_to_output:
+ type: boolean
+ title: Apply Lora To Output
+ rank:
+ type: integer
+ title: Rank
+ alpha:
+ type: integer
+ title: Alpha
+ use_dora:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ quantize_base:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ type: object
+ required:
+ - lora_attn_modules
+ - apply_lora_to_mlp
+ - apply_lora_to_output
+ - rank
+ - alpha
+ title: LoraFinetuningConfig
+ description: Configuration for Low-Rank Adaptation (LoRA) fine-tuning.
+ QATFinetuningConfig:
+ properties:
+ type:
+ type: string
+ const: QAT
+ title: Type
+ default: QAT
+ quantizer_name:
+ type: string
+ title: Quantizer Name
+ group_size:
+ type: integer
+ title: Group Size
+ type: object
+ required:
+ - quantizer_name
+ - group_size
+ title: QATFinetuningConfig
+ description: Configuration for Quantization-Aware Training (QAT) fine-tuning.
+ SupervisedFineTuneRequest:
+ properties:
+ job_uuid:
+ type: string
+ title: Job Uuid
+ training_config:
+ $ref: '#/components/schemas/TrainingConfig'
+ hyperparam_search_config:
+ additionalProperties: true
+ type: object
+ title: Hyperparam Search Config
+ logger_config:
+ additionalProperties: true
+ type: object
+ title: Logger Config
+ model:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Model descriptor for training if not in provider config`
+ checkpoint_dir:
+ anyOf:
+ - type: string
+ - type: 'null'
+ algorithm_config:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/LoraFinetuningConfig'
+ title: LoraFinetuningConfig
+ - $ref: '#/components/schemas/QATFinetuningConfig'
+ title: QATFinetuningConfig
+ discriminator:
+ propertyName: type
+ mapping:
+ LoRA: '#/components/schemas/LoraFinetuningConfig'
+ QAT: '#/components/schemas/QATFinetuningConfig'
+ title: LoraFinetuningConfig | QATFinetuningConfig
+ - type: 'null'
+ title: Algorithm Config
+ type: object
+ required:
+ - job_uuid
+ - training_config
+ - hyperparam_search_config
+ - logger_config
+ title: SupervisedFineTuneRequest
+ ParamType:
+ discriminator:
+ mapping:
+ array: '#/components/schemas/ArrayType'
+ boolean: '#/components/schemas/BooleanType'
+ chat_completion_input: '#/components/schemas/ChatCompletionInputType'
+ completion_input: '#/components/schemas/CompletionInputType'
+ json: '#/components/schemas/JsonType'
+ number: '#/components/schemas/NumberType'
+ object: '#/components/schemas/ObjectType'
+ string: '#/components/schemas/StringType'
+ union: '#/components/schemas/UnionType'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/StringType'
+ title: StringType
+ - $ref: '#/components/schemas/NumberType'
+ title: NumberType
+ - $ref: '#/components/schemas/BooleanType'
+ title: BooleanType
+ - $ref: '#/components/schemas/ArrayType'
+ title: ArrayType
+ - $ref: '#/components/schemas/ObjectType'
+ title: ObjectType
+ - $ref: '#/components/schemas/JsonType'
+ title: JsonType
+ - $ref: '#/components/schemas/UnionType'
+ title: UnionType
+ - $ref: '#/components/schemas/ChatCompletionInputType'
+ title: ChatCompletionInputType
+ - $ref: '#/components/schemas/CompletionInputType'
+ title: CompletionInputType
+ title: StringType | ... (9 variants)
+ DataSource:
+ discriminator:
+ mapping:
+ rows: '#/components/schemas/RowsDataSource'
+ uri: '#/components/schemas/URIDataSource'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/URIDataSource'
+ title: URIDataSource
+ - $ref: '#/components/schemas/RowsDataSource'
+ title: RowsDataSource
+ title: URIDataSource | RowsDataSource
+ AllowedToolsFilter:
+ properties:
+ tool_names:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ type: object
+ title: AllowedToolsFilter
+ description: Filter configuration for restricting which MCP tools can be used.
+ ApprovalFilter:
+ properties:
+ always:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ never:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ type: object
+ title: ApprovalFilter
+ description: Filter configuration for MCP tool approval requirements.
+ BatchError:
+ properties:
+ code:
+ anyOf:
+ - type: string
+ - type: 'null'
+ line:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ message:
+ anyOf:
+ - type: string
+ - type: 'null'
+ param:
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
+ title: BatchError
+ BatchRequestCounts:
+ properties:
+ completed:
+ type: integer
+ title: Completed
+ failed:
+ type: integer
+ title: Failed
+ total:
+ type: integer
+ title: Total
+ additionalProperties: true
+ type: object
+ required:
+ - completed
+ - failed
+ - total
+ title: BatchRequestCounts
+ BatchUsage:
+ properties:
+ input_tokens:
+ type: integer
+ title: Input Tokens
+ input_tokens_details:
+ $ref: '#/components/schemas/InputTokensDetails'
+ output_tokens:
+ type: integer
+ title: Output Tokens
+ output_tokens_details:
+ $ref: '#/components/schemas/OutputTokensDetails'
+ total_tokens:
+ type: integer
+ title: Total Tokens
+ additionalProperties: true
+ type: object
+ required:
+ - input_tokens
+ - input_tokens_details
+ - output_tokens
+ - output_tokens_details
+ - total_tokens
+ title: BatchUsage
+ Chunk-Output:
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ type: array
+ title: list[ImageContentItem-Output | TextContentItem]
+ title: string | list[ImageContentItem-Output | TextContentItem]
+ chunk_id:
+ type: string
+ title: Chunk Id
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ embedding:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ chunk_metadata:
+ anyOf:
+ - $ref: '#/components/schemas/ChunkMetadata'
+ title: ChunkMetadata
+ - type: 'null'
+ title: ChunkMetadata
+ type: object
+ required:
+ - content
+ - chunk_id
+ title: Chunk
+ description: A chunk of content that can be inserted into a vector database.
+ DatasetPurpose:
+ type: string
+ enum:
+ - post-training/messages
+ - eval/question-answer
+ - eval/messages-answer
+ title: DatasetPurpose
+ description: Purpose of the dataset. Each purpose has a required input data schema.
+ Errors:
+ properties:
+ data:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/BatchError'
+ type: array
+ - type: 'null'
+ object:
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
+ title: Errors
+ HealthStatus:
+ type: string
+ enum:
+ - OK
+ - Error
+ - Not Implemented
+ title: HealthStatus
+ ImageContentItem-Input:
+ properties:
+ type:
+ type: string
+ const: image
+ title: Type
+ default: image
+ image:
+ $ref: '#/components/schemas/_URLOrData'
+ type: object
+ required:
+ - image
+ title: ImageContentItem
+ description: A image content item
+ ImageContentItem-Output:
+ properties:
+ type:
+ type: string
+ const: image
+ title: Type
+ default: image
+ image:
+ $ref: '#/components/schemas/_URLOrData'
+ type: object
+ required:
+ - image
+ title: ImageContentItem
+ description: A image content item
+ InputTokensDetails:
+ properties:
+ cached_tokens:
+ type: integer
+ title: Cached Tokens
+ additionalProperties: true
+ type: object
+ required:
+ - cached_tokens
+ title: InputTokensDetails
+ JobStatus:
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - failed
+ - scheduled
+ - cancelled
+ title: JobStatus
+ description: Status of a job execution.
+ MCPListToolsTool:
+ properties:
+ input_schema:
+ additionalProperties: true
+ type: object
+ title: Input Schema
+ name:
+ type: string
+ title: Name
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - input_schema
+ - name
+ title: MCPListToolsTool
+ description: Tool definition returned by MCP list tools operation.
+ OpenAIAssistantMessageParam-Input:
+ properties:
+ role:
+ type: string
+ const: assistant
+ title: Role
+ default: assistant
+ content:
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ - type: 'null'
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ tool_calls:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
type: object
+ title: OpenAIAssistantMessageParam
+ description: A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
+ OpenAIAssistantMessageParam-Output:
properties:
- type:
+ role:
type: string
- const: greedy
- default: greedy
- description: >-
- Must be "greedy" to identify this sampling strategy
- additionalProperties: false
- required:
- - type
- title: GreedySamplingStrategy
- description: >-
- Greedy sampling strategy that selects the highest probability token at each
- step.
- ImageContentItem:
+ const: assistant
+ title: Role
+ default: assistant
+ content:
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ - type: 'null'
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ tool_calls:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
+ type: object
+ title: OpenAIAssistantMessageParam
+ description: A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
+ OpenAIChatCompletionUsageCompletionTokensDetails:
+ properties:
+ reasoning_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ title: OpenAIChatCompletionUsageCompletionTokensDetails
+ description: Token details for output tokens in OpenAI chat completion usage.
+ OpenAIChatCompletionUsagePromptTokensDetails:
+ properties:
+ cached_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
type: object
+ title: OpenAIChatCompletionUsagePromptTokensDetails
+ description: Token details for prompt tokens in OpenAI chat completion usage.
+ OpenAIResponseMessage-Output:
properties:
+ content:
+ anyOf:
+ - type: string
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ discriminator:
+ propertyName: type
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ type: array
+ title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ title: OpenAIResponseOutputMessageContentOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ discriminator:
+ propertyName: type
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
+ type: array
+ title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ role:
+ title: Role
+ type: string
+ enum:
+ - system
+ - developer
+ - user
+ - assistant
+ default: system
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'
- LLMAsJudgeScoringFnParams:
+ const: message
+ title: Type
+ default: message
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ status:
+ anyOf:
+ - type: string
+ - type: 'null'
type: object
+ required:
+ - content
+ - role
+ 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.
+ OpenAIResponseOutputMessageFileSearchToolCallResults:
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:
+ attributes:
+ additionalProperties: true
+ type: object
+ title: Attributes
+ file_id:
type: string
- description: >-
- Identifier of the LLM model to use as a judge for scoring
- prompt_template:
+ title: File Id
+ filename:
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.
- ModelCandidate:
+ title: Filename
+ score:
+ type: number
+ title: Score
+ text:
+ type: string
+ title: Text
type: object
+ required:
+ - attributes
+ - file_id
+ - filename
+ - score
+ - text
+ title: OpenAIResponseOutputMessageFileSearchToolCallResults
+ description: Search results returned by the file search operation.
+ OpenAIResponseTextFormat:
properties:
type:
+ title: Type
type: string
- const: model
- default: model
- model:
- type: string
- description: The model ID to evaluate.
- sampling_params:
- $ref: '#/components/schemas/SamplingParams'
- description: The sampling parameters for the model.
- system_message:
- $ref: '#/components/schemas/SystemMessage'
- description: >-
- (Optional) The system message providing instructions or context to the
- model.
- additionalProperties: false
- required:
- - type
- - model
- - sampling_params
- title: ModelCandidate
- description: A model candidate for evaluation.
- RegexParserScoringFnParams:
+ enum:
+ - text
+ - json_schema
+ - json_object
+ default: text
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ schema:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ strict:
+ anyOf:
+ - type: boolean
+ - type: 'null'
type: object
+ title: OpenAIResponseTextFormat
+ description: Configuration for Responses API text format.
+ OpenAIResponseUsageInputTokensDetails:
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
+ cached_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ title: OpenAIResponseUsageInputTokensDetails
+ description: Token details for input tokens in OpenAI response usage.
+ OpenAIResponseUsageOutputTokensDetails:
+ properties:
+ reasoning_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ title: OpenAIResponseUsageOutputTokensDetails
+ description: Token details for output tokens in OpenAI response usage.
+ OpenAIUserMessageParam-Input:
+ properties:
+ role:
+ type: string
+ const: user
+ title: Role
+ default: user
+ content:
+ anyOf:
+ - type: string
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ discriminator:
+ propertyName: type
+ mapping:
+ file: '#/components/schemas/OpenAIFile'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ title: string | list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - type
- - parsing_regexes
- - aggregation_functions
- title: RegexParserScoringFnParams
- description: >-
- Parameters for regex parser scoring function configuration.
- SamplingParams:
+ - content
+ title: OpenAIUserMessageParam
+ description: A message from the user in an OpenAI-compatible chat completion request.
+ OpenAIUserMessageParam-Output:
+ properties:
+ role:
+ type: string
+ const: user
+ title: Role
+ default: user
+ content:
+ anyOf:
+ - type: string
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ discriminator:
+ propertyName: type
+ mapping:
+ file: '#/components/schemas/OpenAIFile'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ title: string | list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
type: object
+ required:
+ - content
+ title: OpenAIUserMessageParam
+ description: A message from the user in an OpenAI-compatible chat completion request.
+ OutputTokensDetails:
properties:
- strategy:
- oneOf:
- - $ref: '#/components/schemas/GreedySamplingStrategy'
- - $ref: '#/components/schemas/TopPSamplingStrategy'
- - $ref: '#/components/schemas/TopKSamplingStrategy'
- discriminator:
- propertyName: type
- mapping:
- greedy: '#/components/schemas/GreedySamplingStrategy'
- top_p: '#/components/schemas/TopPSamplingStrategy'
- top_k: '#/components/schemas/TopKSamplingStrategy'
- description: The sampling strategy.
- max_tokens:
+ reasoning_tokens:
type: integer
- description: >-
- The maximum number of tokens that can be generated in the completion.
- The token count of your prompt plus max_tokens cannot exceed the model's
- context length.
- repetition_penalty:
- type: number
- default: 1.0
- description: >-
- Number between -2.0 and 2.0. Positive values penalize new tokens based
- on whether they appear in the text so far, increasing the model's likelihood
- to talk about new topics.
- stop:
- type: array
- items:
- type: string
- description: >-
- Up to 4 sequences where the API will stop generating further tokens. The
- returned text will not contain the stop sequence.
- additionalProperties: false
+ title: Reasoning Tokens
+ additionalProperties: true
+ type: object
required:
- - strategy
- title: SamplingParams
- description: Sampling parameters.
- ScoringFnParams:
- oneOf:
- - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
- - $ref: '#/components/schemas/RegexParserScoringFnParams'
- - $ref: '#/components/schemas/BasicScoringFnParams'
+ - reasoning_tokens
+ title: OutputTokensDetails
+ SearchRankingOptions:
+ properties:
+ ranker:
+ anyOf:
+ - type: string
+ - type: 'null'
+ score_threshold:
+ anyOf:
+ - type: number
+ - type: 'null'
+ default: 0.0
+ type: object
+ title: SearchRankingOptions
+ description: Options for ranking and filtering search results.
+ _URLOrData:
+ properties:
+ url:
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ title: URL
+ - type: 'null'
+ title: URL
+ data:
+ anyOf:
+ - type: string
+ - type: 'null'
+ contentEncoding: base64
+ type: object
+ title: _URLOrData
+ description: A URL or a base64 encoded string
+ SamplingStrategy:
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.
- SystemMessage:
- type: object
+ greedy: '#/components/schemas/GreedySamplingStrategy'
+ top_k: '#/components/schemas/TopKSamplingStrategy'
+ top_p: '#/components/schemas/TopPSamplingStrategy'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/GreedySamplingStrategy'
+ title: GreedySamplingStrategy
+ - $ref: '#/components/schemas/TopPSamplingStrategy'
+ title: TopPSamplingStrategy
+ - $ref: '#/components/schemas/TopKSamplingStrategy'
+ title: TopKSamplingStrategy
+ title: GreedySamplingStrategy | TopPSamplingStrategy | TopKSamplingStrategy
+ GrammarResponseFormat:
+ description: Configuration for grammar-guided response generation.
properties:
- role:
+ type:
+ const: grammar
+ default: grammar
+ title: Type
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:
+ bnf:
+ additionalProperties: true
+ title: Bnf
+ type: object
+ required:
+ - bnf
+ title: GrammarResponseFormat
type: object
+ JsonSchemaResponseFormat:
+ description: Configuration for JSON schema-guided response generation.
properties:
type:
+ const: json_schema
+ default: json_schema
+ title: Type
type: string
- const: text
- default: text
- description: >-
- Discriminator type of the content item. Always "text"
- text:
- type: string
- description: Text content
- additionalProperties: false
+ json_schema:
+ additionalProperties: true
+ title: Json Schema
+ type: object
required:
- - type
- - text
- title: TextContentItem
- description: A text content item
- TopKSamplingStrategy:
+ - json_schema
+ title: JsonSchemaResponseFormat
type: object
+ ResponseFormat:
+ discriminator:
+ mapping:
+ grammar: '#/components/schemas/GrammarResponseFormat'
+ json_schema: '#/components/schemas/JsonSchemaResponseFormat'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/JsonSchemaResponseFormat'
+ title: JsonSchemaResponseFormat
+ - $ref: '#/components/schemas/GrammarResponseFormat'
+ title: GrammarResponseFormat
+ title: JsonSchemaResponseFormat | GrammarResponseFormat
+ OpenAIResponseContentPart:
+ discriminator:
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ reasoning_text: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ title: OpenAIResponseContentPartOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ title: OpenAIResponseContentPartReasoningText
+ title: OpenAIResponseContentPartOutputText | OpenAIResponseContentPartRefusal | OpenAIResponseContentPartReasoningText
+ SpanEndPayload:
+ description: Payload for a span end event.
properties:
type:
+ const: span_end
+ default: span_end
+ title: Type
type: string
- const: top_k
- default: top_k
- description: >-
- Must be "top_k" to identify this sampling strategy
- top_k:
- type: integer
- description: >-
- Number of top tokens to consider for sampling. Must be at least 1
- additionalProperties: false
+ status:
+ $ref: '#/components/schemas/SpanStatus'
required:
- - type
- - top_k
- title: TopKSamplingStrategy
- description: >-
- Top-k sampling strategy that restricts sampling to the k most likely tokens.
- TopPSamplingStrategy:
+ - status
+ title: SpanEndPayload
type: object
+ SpanStartPayload:
+ description: Payload for a span start event.
properties:
type:
+ const: span_start
+ default: span_start
+ title: Type
type: string
- const: top_p
- default: top_p
- description: >-
- Must be "top_p" to identify this sampling strategy
- temperature:
- type: number
- description: >-
- Controls randomness in sampling. Higher values increase randomness
- top_p:
- type: number
- default: 0.95
- description: >-
- Cumulative probability threshold for nucleus sampling. Defaults to 0.95
- additionalProperties: false
+ name:
+ title: Name
+ type: string
+ parent_span_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
required:
- - type
- title: TopPSamplingStrategy
- description: >-
- Top-p (nucleus) sampling strategy that samples from the smallest set of tokens
- with cumulative probability >= p.
- URL:
+ - name
+ title: SpanStartPayload
type: object
+ SpanStatus:
+ description: The status of a span indicating whether it completed successfully or with an error.
+ enum:
+ - ok
+ - error
+ title: SpanStatus
+ type: string
+ StructuredLogPayload:
+ discriminator:
+ mapping:
+ span_end: '#/components/schemas/SpanEndPayload'
+ span_start: '#/components/schemas/SpanStartPayload'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/SpanStartPayload'
+ title: SpanStartPayload
+ - $ref: '#/components/schemas/SpanEndPayload'
+ title: SpanEndPayload
+ title: SpanStartPayload | SpanEndPayload
+ LogSeverity:
+ description: The severity level of a log message.
+ enum:
+ - verbose
+ - debug
+ - info
+ - warn
+ - error
+ - critical
+ title: LogSeverity
+ type: string
+ MetricEvent:
+ description: A metric event containing a measured value.
properties:
- uri:
+ trace_id:
+ title: Trace Id
+ type: string
+ span_id:
+ title: Span Id
+ type: string
+ timestamp:
+ format: date-time
+ title: Timestamp
+ type: string
+ attributes:
+ anyOf:
+ - additionalProperties:
+ anyOf:
+ - type: string
+ - type: integer
+ - type: number
+ - type: boolean
+ - type: 'null'
+ title: string | ... (4 variants)
+ type: object
+ - type: 'null'
+ type:
+ const: metric
+ default: metric
+ title: Type
+ type: string
+ metric:
+ title: Metric
+ type: string
+ value:
+ anyOf:
+ - type: integer
+ - type: number
+ title: integer | number
+ unit:
+ title: Unit
type: string
- description: The URL string pointing to the resource
- additionalProperties: false
required:
- - uri
- title: URL
- description: A URL reference to external content.
- EvaluateRowsRequest:
+ - trace_id
+ - span_id
+ - timestamp
+ - metric
+ - value
+ - unit
+ title: MetricEvent
type: object
+ StructuredLogEvent:
+ description: A structured log event containing typed payload data.
properties:
- input_rows:
- type: array
- items:
+ trace_id:
+ title: Trace Id
+ type: string
+ span_id:
+ title: Span Id
+ type: string
+ timestamp:
+ format: date-time
+ title: Timestamp
+ type: string
+ attributes:
+ anyOf:
+ - additionalProperties:
+ anyOf:
+ - type: string
+ - type: integer
+ - type: number
+ - type: boolean
+ - type: 'null'
+ title: string | ... (4 variants)
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The rows to evaluate.
- scoring_functions:
- type: array
- items:
- type: string
- description: >-
- The scoring functions to use for the evaluation.
- benchmark_config:
- $ref: '#/components/schemas/BenchmarkConfig'
- description: The configuration for the benchmark.
- additionalProperties: false
+ - type: 'null'
+ type:
+ const: structured_log
+ default: structured_log
+ title: Type
+ type: string
+ payload:
+ discriminator:
+ mapping:
+ span_end: '#/components/schemas/SpanEndPayload'
+ span_start: '#/components/schemas/SpanStartPayload'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/SpanStartPayload'
+ title: SpanStartPayload
+ - $ref: '#/components/schemas/SpanEndPayload'
+ title: SpanEndPayload
+ title: SpanStartPayload | SpanEndPayload
required:
- - input_rows
- - scoring_functions
- - benchmark_config
- title: EvaluateRowsRequest
- EvaluateResponse:
+ - trace_id
+ - span_id
+ - timestamp
+ - payload
+ title: StructuredLogEvent
type: object
+ UnstructuredLogEvent:
+ description: An unstructured log event containing a simple text message.
properties:
- generations:
- type: array
- items:
+ trace_id:
+ title: Trace Id
+ type: string
+ span_id:
+ title: Span Id
+ type: string
+ timestamp:
+ format: date-time
+ title: Timestamp
+ type: string
+ attributes:
+ anyOf:
+ - additionalProperties:
+ anyOf:
+ - type: string
+ - type: integer
+ - type: number
+ - type: boolean
+ - type: 'null'
+ title: string | ... (4 variants)
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The generations from the evaluation.
- scores:
- type: object
- additionalProperties:
- $ref: '#/components/schemas/ScoringResult'
- description: The scores from the evaluation.
- additionalProperties: false
+ - type: 'null'
+ type:
+ const: unstructured_log
+ default: unstructured_log
+ title: Type
+ type: string
+ message:
+ title: Message
+ type: string
+ severity:
+ $ref: '#/components/schemas/LogSeverity'
required:
- - generations
- - scores
- title: EvaluateResponse
- description: The response from an evaluation.
- ScoringResult:
+ - trace_id
+ - span_id
+ - timestamp
+ - message
+ - severity
+ title: UnstructuredLogEvent
type: object
+ Event:
+ discriminator:
+ mapping:
+ metric: '#/components/schemas/MetricEvent'
+ structured_log: '#/components/schemas/StructuredLogEvent'
+ unstructured_log: '#/components/schemas/UnstructuredLogEvent'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/UnstructuredLogEvent'
+ title: UnstructuredLogEvent
+ - $ref: '#/components/schemas/MetricEvent'
+ title: MetricEvent
+ - $ref: '#/components/schemas/StructuredLogEvent'
+ title: StructuredLogEvent
+ title: UnstructuredLogEvent | MetricEvent | StructuredLogEvent
+ MetricInResponse:
+ description: A metric value included in API responses.
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
+ metric:
+ title: Metric
+ type: string
+ value:
+ anyOf:
+ - type: integer
+ - type: number
+ title: integer | number
+ unit:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
required:
- - score_rows
- - aggregated_results
- title: ScoringResult
- description: A scoring result for a single row.
- RunEvalRequest:
+ - metric
+ - value
+ title: MetricInResponse
type: object
+ TextDelta:
+ description: A text content delta for streaming responses.
properties:
- benchmark_config:
- $ref: '#/components/schemas/BenchmarkConfig'
- description: The configuration for the benchmark.
- additionalProperties: false
+ type:
+ const: text
+ default: text
+ title: Type
+ type: string
+ text:
+ title: Text
+ type: string
required:
- - benchmark_config
- title: RunEvalRequest
- Job:
+ - text
+ title: TextDelta
type: object
+ ImageDelta:
+ description: An image content delta for streaming responses.
properties:
- job_id:
+ type:
+ const: image
+ default: image
+ title: Type
type: string
- description: Unique identifier for the job
- status:
+ image:
+ format: binary
+ title: Image
type: string
- enum:
- - completed
- - in_progress
- - failed
- - scheduled
- - cancelled
- description: Current execution status of the job
- additionalProperties: false
- required:
- - job_id
- - status
- title: Job
- description: >-
- A job execution instance with status tracking.
- "OpenAIChatCompletionContentPartImageParam":
+ required:
+ - image
+ title: ImageDelta
type: object
+ Fp8QuantizationConfig:
+ description: Configuration for 8-bit floating point quantization.
properties:
type:
+ const: fp8_mixed
+ default: fp8_mixed
+ title: 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.
- OpenAIChatCompletionContentPartTextParam:
+ title: Fp8QuantizationConfig
type: object
+ Bf16QuantizationConfig:
+ description: Configuration for BFloat16 precision (typically no quantization).
properties:
type:
+ const: bf16
+ default: bf16
+ title: 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.
- OpenAIImageURL:
+ title: Bf16QuantizationConfig
type: object
+ Int4QuantizationConfig:
+ description: Configuration for 4-bit integer quantization.
properties:
- url:
+ type:
+ const: int4_mixed
+ default: int4_mixed
+ title: Type
type: string
- description: >-
- URL of the image to include in the message
- detail:
+ scheme:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: int4_weight_int8_dynamic_activation
+ title: Int4QuantizationConfig
+ type: object
+ UserMessage:
+ description: A message from the user in a chat conversation.
+ properties:
+ role:
+ const: user
+ default: user
+ title: Role
type: string
- description: >-
- (Optional) Level of detail for image processing. Can be "low", "high",
- or "auto"
- additionalProperties: false
+ content:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
+ context:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ - type: 'null'
+ title: string | list[ImageContentItem | TextContentItem]
+ nullable: true
required:
- - url
- title: OpenAIImageURL
- description: >-
- Image URL specification for OpenAI-compatible chat completion messages.
- RerankRequest:
+ - content
+ title: UserMessage
type: object
+ ToolResponseMessage:
+ description: A message representing the result of a tool invocation.
properties:
- model:
+ role:
+ const: tool
+ default: tool
+ title: Role
type: string
- description: >-
- The identifier of the reranking model to use.
- query:
- oneOf:
- - type: string
- - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
- - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
- description: >-
- The search query to rank items against. Can be a string, text content
- part, or image content part. The input must not exceed the model's max
- input token length.
- items:
- type: array
- items:
+ call_id:
+ title: Call Id
+ type: string
+ content:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
oneOf:
- - type: string
- - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
- - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
- description: >-
- List of items to rerank. Each item can be a string, text content part,
- or image content part. Each input must not exceed the model's max input
- token length.
- max_num_results:
- type: integer
- description: >-
- (Optional) Maximum number of results to return. Default: returns all.
- additionalProperties: false
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
required:
- - model
- - query
- - items
- title: RerankRequest
- RerankData:
+ - call_id
+ - content
+ title: ToolResponseMessage
type: object
+ TokenLogProbs:
+ description: Log probabilities for generated tokens.
properties:
- index:
- type: integer
- description: >-
- The original index of the document in the input list
- relevance_score:
- type: number
- description: >-
- The relevance score from the model output. Values are inverted when applicable
- so that higher scores indicate greater relevance.
- additionalProperties: false
+ logprobs_by_token:
+ additionalProperties:
+ type: number
+ title: Logprobs By Token
+ type: object
required:
- - index
- - relevance_score
- title: RerankData
- description: >-
- A single rerank result from a reranking response.
- RerankResponse:
+ - logprobs_by_token
+ title: TokenLogProbs
type: object
+ EmbeddingsResponse:
+ description: Response containing generated embeddings.
properties:
- data:
- type: array
+ embeddings:
items:
- $ref: '#/components/schemas/RerankData'
- description: >-
- List of rerank result objects, sorted by relevance score (descending)
- additionalProperties: false
+ items:
+ type: number
+ type: array
+ title: Embeddings
+ type: array
required:
- - data
- title: RerankResponse
- description: Response from a reranking request.
- Checkpoint:
+ - embeddings
+ title: EmbeddingsResponse
type: object
+ OpenAICompletionLogprobs:
+ description: |-
+ The log probabilities for the tokens in the message from an OpenAI-compatible completion response.
+
+ :text_offset: (Optional) The offset of the token in the text
+ :token_logprobs: (Optional) The log probabilities for the tokens
+ :tokens: (Optional) The tokens
+ :top_logprobs: (Optional) The top log probabilities for the tokens
properties:
- identifier:
- type: string
- description: Unique identifier for the checkpoint
- created_at:
- type: string
- format: date-time
- description: >-
- Timestamp when the checkpoint was created
- epoch:
- type: integer
- description: >-
- Training epoch when the checkpoint was saved
- post_training_job_id:
- type: string
- description: >-
- Identifier of the training job that created this checkpoint
- path:
- type: string
- description: >-
- File system path where the checkpoint is stored
- training_metrics:
- $ref: '#/components/schemas/PostTrainingMetric'
- description: >-
- (Optional) Training metrics associated with this checkpoint
- additionalProperties: false
- required:
- - identifier
- - created_at
- - epoch
- - post_training_job_id
- - path
- title: Checkpoint
- description: Checkpoint created during training runs.
- PostTrainingJobArtifactsResponse:
+ text_offset:
+ anyOf:
+ - items:
+ type: integer
+ type: array
+ - type: 'null'
+ nullable: true
+ token_logprobs:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ nullable: true
+ tokens:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ nullable: true
+ top_logprobs:
+ anyOf:
+ - items:
+ additionalProperties:
+ type: number
+ type: object
+ type: array
+ - type: 'null'
+ nullable: true
+ title: OpenAICompletionLogprobs
type: object
+ VectorStoreCreateRequest:
+ description: Request to create a vector store.
properties:
- job_uuid:
- type: string
- description: Unique identifier for the training job
- checkpoints:
- type: array
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ file_ids:
items:
- $ref: '#/components/schemas/Checkpoint'
- description: >-
- List of model checkpoints created during training
- additionalProperties: false
- required:
- - job_uuid
- - checkpoints
- title: PostTrainingJobArtifactsResponse
- description: Artifacts of a finetuning job.
- PostTrainingMetric:
+ type: string
+ title: File Ids
+ type: array
+ expires_after:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ chunking_strategy:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ metadata:
+ additionalProperties: true
+ title: Metadata
+ type: object
+ title: VectorStoreCreateRequest
type: object
+ VectorStoreModifyRequest:
+ description: Request to modify a vector store.
properties:
- epoch:
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ expires_after:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ title: VectorStoreModifyRequest
+ type: object
+ VectorStoreSearchRequest:
+ description: Request to search a vector store.
+ properties:
+ query:
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ title: string | list[string]
+ filters:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ max_num_results:
+ default: 10
+ title: Max Num Results
type: integer
- description: Training epoch number
- train_loss:
- type: number
- description: Loss value on the training dataset
- validation_loss:
- type: number
- description: Loss value on the validation dataset
- perplexity:
- type: number
- description: >-
- Perplexity metric indicating model confidence
- additionalProperties: false
- required:
- - epoch
- - train_loss
- - validation_loss
- - perplexity
- title: PostTrainingMetric
- description: >-
- Training metrics captured during post-training jobs.
- CancelTrainingJobRequest:
+ ranking_options:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ rewrite_query:
+ default: false
+ title: Rewrite Query
+ type: boolean
+ required:
+ - query
+ title: VectorStoreSearchRequest
type: object
+ DialogType:
+ description: Parameter type for dialog data with semantic output labels.
properties:
- job_uuid:
+ type:
+ const: dialog
+ default: dialog
+ title: Type
type: string
- description: The UUID of the job to cancel.
- additionalProperties: false
- required:
- - job_uuid
- title: CancelTrainingJobRequest
- PostTrainingJobStatusResponse:
+ title: DialogType
type: object
+ ConversationMessage:
+ description: OpenAI-compatible message item for conversations.
properties:
- job_uuid:
+ id:
+ description: unique identifier for this message
+ title: Id
type: string
- description: Unique identifier for the training job
- status:
+ content:
+ description: message content
+ items:
+ additionalProperties: true
+ type: object
+ title: Content
+ type: array
+ role:
+ description: message role
+ title: Role
type: string
- enum:
- - completed
- - in_progress
- - failed
- - scheduled
- - cancelled
- description: Current status of the training job
- scheduled_at:
+ status:
+ description: message status
+ title: Status
type: string
- format: date-time
- description: >-
- (Optional) Timestamp when the job was scheduled
- started_at:
+ type:
+ const: message
+ default: message
+ title: Type
type: string
- format: date-time
- description: >-
- (Optional) Timestamp when the job execution began
- completed_at:
+ object:
+ const: message
+ default: message
+ title: Object
type: string
- format: date-time
- description: >-
- (Optional) Timestamp when the job finished, if completed
- resources_allocated:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- (Optional) Information about computational resources allocated to the
- job
- checkpoints:
- type: array
- items:
- $ref: '#/components/schemas/Checkpoint'
- description: >-
- List of model checkpoints created during training
- additionalProperties: false
required:
- - job_uuid
- - status
- - checkpoints
- title: PostTrainingJobStatusResponse
- description: Status of a finetuning job.
- ListPostTrainingJobsResponse:
+ - id
+ - content
+ - role
+ - status
+ title: ConversationMessage
type: object
+ ConversationItemCreateRequest:
+ description: Request body for creating conversation items.
properties:
- data:
- type: array
+ items:
+ description: Items to include in the conversation context. You may add up to 20 items at a time.
items:
- type: object
- properties:
- job_uuid:
- type: string
- additionalProperties: false
- required:
- - job_uuid
- title: PostTrainingJob
- additionalProperties: false
+ discriminator:
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ title: OpenAIResponseMessage | ... (9 variants)
+ maxItems: 20
+ title: Items
+ type: array
required:
- - data
- title: ListPostTrainingJobsResponse
- DPOAlignmentConfig:
+ - items
+ title: ConversationItemCreateRequest
type: object
+ ToolGroupInput:
+ description: Input data for registering a tool group.
properties:
- beta:
- type: number
- description: Temperature parameter for the DPO loss
- loss_type:
- $ref: '#/components/schemas/DPOLossType'
- default: sigmoid
- description: The type of loss function to use for DPO
- additionalProperties: false
+ toolgroup_id:
+ title: Toolgroup Id
+ type: string
+ provider_id:
+ title: Provider Id
+ type: string
+ args:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ mcp_endpoint:
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ title: URL
+ - type: 'null'
+ nullable: true
+ title: URL
required:
- - beta
- - loss_type
- title: DPOAlignmentConfig
- description: >-
- Configuration for Direct Preference Optimization (DPO) alignment.
- DPOLossType:
- type: string
- enum:
- - sigmoid
- - hinge
- - ipo
- - kto_pair
- title: DPOLossType
- DataConfig:
+ - toolgroup_id
+ - provider_id
+ title: ToolGroupInput
type: object
+ Api:
+ description: Enumeration of all available APIs in the Llama Stack system.
+ enum:
+ - providers
+ - inference
+ - safety
+ - agents
+ - batches
+ - vector_io
+ - datasetio
+ - scoring
+ - eval
+ - post_training
+ - tool_runtime
+ - models
+ - shields
+ - vector_stores
+ - datasets
+ - scoring_functions
+ - benchmarks
+ - tool_groups
+ - files
+ - prompts
+ - conversations
+ - inspect
+ title: Api
+ type: string
+ ProviderSpec:
properties:
- dataset_id:
+ api:
+ $ref: '#/components/schemas/Api'
+ provider_type:
+ title: Provider Type
type: string
- description: >-
- Unique identifier for the training dataset
- batch_size:
- type: integer
- description: Number of samples per training batch
- shuffle:
- type: boolean
- description: >-
- Whether to shuffle the dataset during training
- data_format:
- $ref: '#/components/schemas/DatasetFormat'
- description: >-
- Format of the dataset (instruct or dialog)
- validation_dataset_id:
+ config_class:
+ description: Fully-qualified classname of the config for this provider
+ title: Config Class
type: string
- description: >-
- (Optional) Unique identifier for the validation dataset
- packed:
- type: boolean
- default: false
- description: >-
- (Optional) Whether to pack multiple samples into a single sequence for
- efficiency
- train_on_input:
- type: boolean
- default: false
- description: >-
- (Optional) Whether to compute loss on input tokens as well as output tokens
- additionalProperties: false
- required:
- - dataset_id
- - batch_size
- - shuffle
- - data_format
- title: DataConfig
- description: >-
- Configuration for training data and data loading.
- DatasetFormat:
- type: string
- enum:
- - instruct
- - dialog
- title: DatasetFormat
- description: Format of the training dataset.
- EfficiencyConfig:
- type: object
- properties:
- enable_activation_checkpointing:
- type: boolean
- default: false
- description: >-
- (Optional) Whether to use activation checkpointing to reduce memory usage
- enable_activation_offloading:
- type: boolean
+ api_dependencies:
+ description: Higher-level API surfaces may depend on other providers to provide their functionality
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Api Dependencies
+ type: array
+ optional_api_dependencies:
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Optional Api Dependencies
+ type: array
+ deprecation_warning:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated, specify the warning message here
+ nullable: true
+ deprecation_error:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated and does NOT work, specify the error message here
+ nullable: true
+ module:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2-
+
+ Fully-qualified name of the module to import. The module is expected to have:
+
+ - `get_adapter_impl(config, deps)`: returns the adapter implementation
+
+ Example: `module: ramalama_stack`
+
+ nullable: true
+ pip_packages:
+ description: The pip dependencies needed for this implementation
+ items:
+ type: string
+ title: Pip Packages
+ type: array
+ provider_data_validator:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ is_external:
default: false
- description: >-
- (Optional) Whether to offload activations to CPU to save GPU memory
- memory_efficient_fsdp_wrap:
+ description: Notes whether this provider is an external provider.
+ title: Is External
type: boolean
+ deps__:
+ items:
+ type: string
+ title: Deps
+ type: array
+ required:
+ - api
+ - provider_type
+ - config_class
+ title: ProviderSpec
+ type: object
+ InlineProviderSpec:
+ properties:
+ api:
+ $ref: '#/components/schemas/Api'
+ provider_type:
+ title: Provider Type
+ type: string
+ config_class:
+ description: Fully-qualified classname of the config for this provider
+ title: Config Class
+ type: string
+ api_dependencies:
+ description: Higher-level API surfaces may depend on other providers to provide their functionality
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Api Dependencies
+ type: array
+ optional_api_dependencies:
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Optional Api Dependencies
+ type: array
+ deprecation_warning:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated, specify the warning message here
+ nullable: true
+ deprecation_error:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated and does NOT work, specify the error message here
+ nullable: true
+ module:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2-
+
+ Fully-qualified name of the module to import. The module is expected to have:
+
+ - `get_adapter_impl(config, deps)`: returns the adapter implementation
+
+ Example: `module: ramalama_stack`
+
+ nullable: true
+ pip_packages:
+ description: The pip dependencies needed for this implementation
+ items:
+ type: string
+ title: Pip Packages
+ type: array
+ provider_data_validator:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ is_external:
default: false
- description: >-
- (Optional) Whether to use memory-efficient FSDP wrapping
- fsdp_cpu_offload:
+ description: Notes whether this provider is an external provider.
+ title: Is External
type: boolean
- default: false
- description: >-
- (Optional) Whether to offload FSDP parameters to CPU
- additionalProperties: false
- title: EfficiencyConfig
- description: >-
- Configuration for memory and compute efficiency optimizations.
- OptimizerConfig:
+ deps__:
+ items:
+ type: string
+ title: Deps
+ type: array
+ container_image:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2
+
+ The container image to use for this implementation. If one is provided, pip_packages will be ignored.
+ If a provider depends on other providers, the dependencies MUST NOT specify a container image.
+ nullable: true
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2
+
+ A description of the provider. This is used to display in the documentation.
+ nullable: true
+ required:
+ - api
+ - provider_type
+ - config_class
+ title: InlineProviderSpec
type: object
+ RemoteProviderSpec:
properties:
- optimizer_type:
- $ref: '#/components/schemas/OptimizerType'
- description: >-
- Type of optimizer to use (adam, adamw, or sgd)
- lr:
- type: number
- description: Learning rate for the optimizer
- weight_decay:
- type: number
- description: >-
- Weight decay coefficient for regularization
- num_warmup_steps:
- type: integer
- description: Number of steps for learning rate warmup
- additionalProperties: false
+ api:
+ $ref: '#/components/schemas/Api'
+ provider_type:
+ title: Provider Type
+ type: string
+ config_class:
+ description: Fully-qualified classname of the config for this provider
+ title: Config Class
+ type: string
+ api_dependencies:
+ description: Higher-level API surfaces may depend on other providers to provide their functionality
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Api Dependencies
+ type: array
+ optional_api_dependencies:
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Optional Api Dependencies
+ type: array
+ deprecation_warning:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated, specify the warning message here
+ nullable: true
+ deprecation_error:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated and does NOT work, specify the error message here
+ nullable: true
+ module:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2-
+
+ Fully-qualified name of the module to import. The module is expected to have:
+
+ - `get_adapter_impl(config, deps)`: returns the adapter implementation
+
+ Example: `module: ramalama_stack`
+
+ nullable: true
+ pip_packages:
+ description: The pip dependencies needed for this implementation
+ items:
+ type: string
+ title: Pip Packages
+ type: array
+ provider_data_validator:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ is_external:
+ default: false
+ description: Notes whether this provider is an external provider.
+ title: Is External
+ type: boolean
+ deps__:
+ items:
+ type: string
+ title: Deps
+ type: array
+ adapter_type:
+ description: Unique identifier for this adapter
+ title: Adapter Type
+ type: string
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2
+
+ A description of the provider. This is used to display in the documentation.
+ nullable: true
required:
- - optimizer_type
- - lr
- - weight_decay
- - num_warmup_steps
- title: OptimizerConfig
- description: >-
- Configuration parameters for the optimization algorithm.
- OptimizerType:
- type: string
- enum:
- - adam
- - adamw
- - sgd
- title: OptimizerType
- description: >-
- Available optimizer algorithms for training.
- TrainingConfig:
+ - api
+ - provider_type
+ - config_class
+ - adapter_type
+ title: RemoteProviderSpec
type: object
+ PostTrainingJobLogStream:
+ description: Stream of logs from a finetuning job.
properties:
- n_epochs:
- type: integer
- description: Number of training epochs to run
- max_steps_per_epoch:
- type: integer
- default: 1
- description: Maximum number of steps to run per epoch
- gradient_accumulation_steps:
- type: integer
- default: 1
- description: >-
- Number of steps to accumulate gradients before updating
- max_validation_steps:
- type: integer
- default: 1
- description: >-
- (Optional) Maximum number of validation steps per epoch
- data_config:
- $ref: '#/components/schemas/DataConfig'
- description: >-
- (Optional) Configuration for data loading and formatting
- optimizer_config:
- $ref: '#/components/schemas/OptimizerConfig'
- description: >-
- (Optional) Configuration for the optimization algorithm
- efficiency_config:
- $ref: '#/components/schemas/EfficiencyConfig'
- description: >-
- (Optional) Configuration for memory and compute optimizations
- dtype:
+ job_uuid:
+ title: Job Uuid
type: string
- default: bf16
- description: >-
- (Optional) Data type for model parameters (bf16, fp16, fp32)
- additionalProperties: false
+ log_lines:
+ items:
+ type: string
+ title: Log Lines
+ type: array
required:
- - n_epochs
- - max_steps_per_epoch
- - gradient_accumulation_steps
- title: TrainingConfig
- description: >-
- Comprehensive configuration for the training process.
- PreferenceOptimizeRequest:
+ - job_uuid
+ - log_lines
+ title: PostTrainingJobLogStream
type: object
+ RLHFAlgorithm:
+ description: Available reinforcement learning from human feedback algorithms.
+ enum:
+ - dpo
+ title: RLHFAlgorithm
+ type: string
+ PostTrainingRLHFRequest:
+ description: Request to finetune a model using reinforcement learning from human feedback.
properties:
job_uuid:
+ title: Job Uuid
type: string
- description: The UUID of the job to create.
finetuned_model:
+ $ref: '#/components/schemas/URL'
+ dataset_id:
+ title: Dataset Id
type: string
- description: The model to fine-tune.
+ validation_dataset_id:
+ title: Validation Dataset Id
+ type: string
+ algorithm:
+ $ref: '#/components/schemas/RLHFAlgorithm'
algorithm_config:
$ref: '#/components/schemas/DPOAlignmentConfig'
- description: The algorithm configuration.
+ optimizer_config:
+ $ref: '#/components/schemas/OptimizerConfig'
training_config:
$ref: '#/components/schemas/TrainingConfig'
- description: The training configuration.
hyperparam_search_config:
+ additionalProperties: true
+ title: Hyperparam Search Config
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The hyperparam search configuration.
logger_config:
+ additionalProperties: true
+ title: Logger Config
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The logger configuration.
- additionalProperties: false
- required:
- - job_uuid
- - finetuned_model
- - algorithm_config
- - training_config
- - hyperparam_search_config
- - logger_config
- title: PreferenceOptimizeRequest
- PostTrainingJob:
+ required:
+ - job_uuid
+ - finetuned_model
+ - dataset_id
+ - validation_dataset_id
+ - algorithm
+ - algorithm_config
+ - optimizer_config
+ - training_config
+ - hyperparam_search_config
+ - logger_config
+ title: PostTrainingRLHFRequest
type: object
+ Span:
+ description: A span representing a single operation within a trace.
properties:
- job_uuid:
+ span_id:
+ title: Span Id
type: string
- additionalProperties: false
+ trace_id:
+ title: Trace Id
+ type: string
+ parent_span_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ name:
+ title: Name
+ type: string
+ start_time:
+ format: date-time
+ title: Start Time
+ type: string
+ end_time:
+ anyOf:
+ - format: date-time
+ type: string
+ - type: 'null'
+ nullable: true
+ attributes:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
required:
- - job_uuid
- title: PostTrainingJob
- AlgorithmConfig:
- oneOf:
- - $ref: '#/components/schemas/LoraFinetuningConfig'
- - $ref: '#/components/schemas/QATFinetuningConfig'
- discriminator:
- propertyName: type
- mapping:
- LoRA: '#/components/schemas/LoraFinetuningConfig'
- QAT: '#/components/schemas/QATFinetuningConfig'
- LoraFinetuningConfig:
+ - span_id
+ - trace_id
+ - name
+ - start_time
+ title: Span
type: object
+ Trace:
+ description: A trace representing the complete execution path of a request across multiple operations.
properties:
- type:
+ trace_id:
+ title: Trace Id
type: string
- const: LoRA
- default: LoRA
- description: Algorithm type identifier, always "LoRA"
- lora_attn_modules:
- type: array
- items:
+ root_span_id:
+ title: Root Span Id
+ type: string
+ start_time:
+ format: date-time
+ title: Start Time
+ type: string
+ end_time:
+ anyOf:
+ - format: date-time
type: string
- description: >-
- List of attention module names to apply LoRA to
- apply_lora_to_mlp:
- type: boolean
- description: Whether to apply LoRA to MLP layers
- apply_lora_to_output:
- type: boolean
- description: >-
- Whether to apply LoRA to output projection layers
- rank:
- type: integer
- description: >-
- Rank of the LoRA adaptation (lower rank = fewer parameters)
- alpha:
- type: integer
- description: >-
- LoRA scaling parameter that controls adaptation strength
- use_dora:
- type: boolean
- default: false
- description: >-
- (Optional) Whether to use DoRA (Weight-Decomposed Low-Rank Adaptation)
- quantize_base:
- type: boolean
- default: false
- description: >-
- (Optional) Whether to quantize the base model weights
- additionalProperties: false
- required:
- - type
- - lora_attn_modules
- - apply_lora_to_mlp
- - apply_lora_to_output
- - rank
- - alpha
- title: LoraFinetuningConfig
- description: >-
- Configuration for Low-Rank Adaptation (LoRA) fine-tuning.
- QATFinetuningConfig:
+ - type: 'null'
+ nullable: true
+ required:
+ - trace_id
+ - root_span_id
+ - start_time
+ title: Trace
type: object
+ EventType:
+ description: The type of telemetry event being logged.
+ enum:
+ - unstructured_log
+ - structured_log
+ - metric
+ title: EventType
+ type: string
+ StructuredLogType:
+ description: The type of structured log event payload.
+ enum:
+ - span_start
+ - span_end
+ title: StructuredLogType
+ type: string
+ EvalTrace:
+ description: A trace record for evaluation purposes.
properties:
- type:
+ session_id:
+ title: Session Id
type: string
- const: QAT
- default: QAT
- description: Algorithm type identifier, always "QAT"
- quantizer_name:
+ step:
+ title: Step
+ type: string
+ input:
+ title: Input
+ type: string
+ output:
+ title: Output
+ type: string
+ expected_output:
+ title: Expected Output
type: string
- description: >-
- Name of the quantization algorithm to use
- group_size:
- type: integer
- description: Size of groups for grouped quantization
- additionalProperties: false
required:
- - type
- - quantizer_name
- - group_size
- title: QATFinetuningConfig
- description: >-
- Configuration for Quantization-Aware Training (QAT) fine-tuning.
- SupervisedFineTuneRequest:
+ - session_id
+ - step
+ - input
+ - output
+ - expected_output
+ title: EvalTrace
type: object
+ SpanWithStatus:
+ description: A span that includes status information.
properties:
- job_uuid:
+ span_id:
+ title: Span Id
type: string
- description: The UUID of the job to create.
- training_config:
- $ref: '#/components/schemas/TrainingConfig'
- description: The training configuration.
- hyperparam_search_config:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The hyperparam search configuration.
- logger_config:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The logger configuration.
- model:
+ trace_id:
+ title: Trace Id
type: string
- description: The model to fine-tune.
- checkpoint_dir:
+ parent_span_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ name:
+ title: Name
type: string
- description: The directory to save checkpoint(s) to.
- algorithm_config:
- $ref: '#/components/schemas/AlgorithmConfig'
- description: The algorithm configuration.
- additionalProperties: false
- required:
- - job_uuid
- - training_config
- - hyperparam_search_config
- - logger_config
- title: SupervisedFineTuneRequest
- DataSource:
- oneOf:
- - $ref: '#/components/schemas/URIDataSource'
- - $ref: '#/components/schemas/RowsDataSource'
- discriminator:
- propertyName: type
- mapping:
- uri: '#/components/schemas/URIDataSource'
- rows: '#/components/schemas/RowsDataSource'
- RegisterDatasetRequest:
+ start_time:
+ format: date-time
+ title: Start Time
+ type: string
+ end_time:
+ anyOf:
+ - format: date-time
+ type: string
+ - type: 'null'
+ nullable: true
+ attributes:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ status:
+ anyOf:
+ - $ref: '#/components/schemas/SpanStatus'
+ title: SpanStatus
+ - type: 'null'
+ nullable: true
+ title: SpanStatus
+ required:
+ - span_id
+ - trace_id
+ - name
+ - start_time
+ title: SpanWithStatus
type: object
+ QueryConditionOp:
+ description: Comparison operators for query conditions.
+ enum:
+ - eq
+ - ne
+ - gt
+ - lt
+ title: QueryConditionOp
+ type: string
+ QueryCondition:
+ description: A condition for filtering query results.
properties:
- purpose:
+ key:
+ title: Key
type: string
- enum:
- - post-training/messages
- - eval/question-answer
- - eval/messages-answer
- description: >-
- The purpose of the dataset. One of: - "post-training/messages": The dataset
- contains a messages column with list of messages for post-training. {
- "messages": [ {"role": "user", "content": "Hello, world!"}, {"role": "assistant",
- "content": "Hello, world!"}, ] } - "eval/question-answer": The dataset
- contains a question column and an answer column for evaluation. { "question":
- "What is the capital of France?", "answer": "Paris" } - "eval/messages-answer":
- The dataset contains a messages column with list of messages and an answer
- column for evaluation. { "messages": [ {"role": "user", "content": "Hello,
- my name is John Doe."}, {"role": "assistant", "content": "Hello, John
- Doe. How can I help you today?"}, {"role": "user", "content": "What's
- my name?"}, ], "answer": "John Doe" }
- source:
- $ref: '#/components/schemas/DataSource'
- description: >-
- The data source of the dataset. Ensure that the data source schema is
- compatible with the purpose of the dataset. Examples: - { "type": "uri",
- "uri": "https://mywebsite.com/mydata.jsonl" } - { "type": "uri", "uri":
- "lsfs://mydata.jsonl" } - { "type": "uri", "uri": "data:csv;base64,{base64_content}"
- } - { "type": "uri", "uri": "huggingface://llamastack/simpleqa?split=train"
- } - { "type": "rows", "rows": [ { "messages": [ {"role": "user", "content":
- "Hello, world!"}, {"role": "assistant", "content": "Hello, world!"}, ]
- } ] }
- metadata:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- The metadata for the dataset. - E.g. {"description": "My dataset"}.
- dataset_id:
+ op:
+ $ref: '#/components/schemas/QueryConditionOp'
+ value:
+ title: Value
+ required:
+ - key
+ - op
+ - value
+ title: QueryCondition
+ type: object
+ MetricLabel:
+ description: A label associated with a metric.
+ properties:
+ name:
+ title: Name
+ type: string
+ value:
+ title: Value
type: string
- description: >-
- The ID of the dataset. If not provided, an ID will be generated.
- additionalProperties: false
required:
- - purpose
- - source
- title: RegisterDatasetRequest
- RegisterBenchmarkRequest:
+ - name
+ - value
+ title: MetricLabel
type: object
+ MetricDataPoint:
+ description: A single data point in a metric time series.
properties:
- benchmark_id:
+ timestamp:
+ title: Timestamp
+ type: integer
+ value:
+ title: Value
+ type: number
+ unit:
+ title: Unit
type: string
- description: The ID of the benchmark to register.
- dataset_id:
+ required:
+ - timestamp
+ - value
+ - unit
+ title: MetricDataPoint
+ type: object
+ MetricSeries:
+ description: A time series of metric data points.
+ properties:
+ metric:
+ title: Metric
type: string
- description: >-
- The ID of the dataset to use for the benchmark.
- scoring_functions:
+ labels:
+ items:
+ $ref: '#/components/schemas/MetricLabel'
+ title: Labels
type: array
+ values:
items:
- type: string
- description: >-
- The scoring functions to use for the benchmark.
- provider_benchmark_id:
- type: string
- description: >-
- The ID of the provider benchmark to use for the benchmark.
- provider_id:
- type: string
- description: >-
- The ID of the provider to use for the benchmark.
- metadata:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The metadata to use for the benchmark.
- additionalProperties: false
- required:
- - benchmark_id
- - dataset_id
- - scoring_functions
- title: RegisterBenchmarkRequest
+ $ref: '#/components/schemas/MetricDataPoint'
+ title: Values
+ type: array
+ required:
+ - metric
+ - labels
+ - values
+ title: MetricSeries
+ type: object
responses:
BadRequest400:
description: The request was invalid or malformed
@@ -2266,8 +9217,7 @@ components:
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
+ description: The client has sent too many requests in a given amount of time
content:
application/json:
schema:
@@ -2275,11 +9225,9 @@ components:
example:
status: 429
title: Too Many Requests
- detail: >-
- You have exceeded the rate limit. Please try again later.
+ detail: You have exceeded the rate limit. Please try again later.
InternalServerError500:
- description: >-
- The server encountered an unexpected error
+ description: The server encountered an unexpected error
content:
application/json:
schema:
@@ -2287,38 +9235,101 @@ components:
example:
status: 500
title: Internal Server Error
- detail: >-
- An unexpected error occurred. Our team has been notified.
+ detail: An unexpected error occurred
DefaultError:
- description: An unexpected error occurred
+ description: An error occurred
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
- example:
- status: 0
- title: Error
- detail: An unexpected error occurred
-security:
- - Default: []
tags:
- - name: Benchmarks
- description: ''
- - name: DatasetIO
- description: ''
- - name: Datasets
- description: ''
- - name: Eval
- description: >-
- Llama Stack Evaluation API for running evaluations on model and agent candidates.
- x-displayName: Evaluations
- - name: PostTraining (Coming Soon)
- description: ''
+- description: APIs for creating and interacting with agentic systems.
+ name: Agents
+ x-displayName: Agents
+- description: |-
+ The API is designed to allow use of openai client libraries for seamless integration.
+
+ This API provides the following extensions:
+ - idempotent batch creation
+
+ Note: This API is currently under active development and may undergo changes.
+ name: Batches
+ x-displayName: The Batches API enables efficient processing of multiple requests in a single operation, particularly useful for processing large datasets, batch evaluation workflows, and cost-effective inference at scale.
+- description: ''
+ name: Benchmarks
+- description: Protocol for conversation management operations.
+ name: Conversations
+ x-displayName: Conversations
+- description: ''
+ name: DatasetIO
+- description: ''
+ name: Datasets
+- description: Llama Stack Evaluation API for running evaluations on model and agent candidates.
+ name: Eval
+ x-displayName: Evaluations
+- description: This API is used to upload documents that can be used with other Llama Stack APIs.
+ name: Files
+ x-displayName: Files
+- description: |-
+ Llama Stack Inference API for generating completions, chat completions, and embeddings.
+
+ This API provides the raw interface to the underlying models. Three 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.
+ - Rerank models: these models reorder the documents based on their relevance to a query.
+ name: Inference
+ x-displayName: Inference
+- description: APIs for inspecting the Llama Stack service, including health status, available API routes with methods and implementing providers.
+ name: Inspect
+ x-displayName: Inspect
+- description: ''
+ name: Models
+- description: ''
+ name: PostTraining (Coming Soon)
+- description: Protocol for prompt management operations.
+ name: Prompts
+ x-displayName: Prompts
+- description: Providers API for inspecting, listing, and modifying providers and their configurations.
+ name: Providers
+ x-displayName: Providers
+- description: OpenAI-compatible Moderations API.
+ name: Safety
+ x-displayName: Safety
+- description: ''
+ name: Scoring
+- description: ''
+ name: ScoringFunctions
+- description: ''
+ name: Shields
+- description: ''
+ name: ToolGroups
+- description: ''
+ name: ToolRuntime
+- description: ''
+ name: VectorIO
x-tagGroups:
- - name: Operations
- tags:
- - Benchmarks
- - DatasetIO
- - Datasets
- - Eval
- - PostTraining (Coming Soon)
+- name: Operations
+ tags:
+ - Agents
+ - Batches
+ - Benchmarks
+ - Conversations
+ - DatasetIO
+ - Datasets
+ - Eval
+ - Files
+ - Inference
+ - Inspect
+ - Models
+ - PostTraining (Coming Soon)
+ - Prompts
+ - Providers
+ - Safety
+ - Scoring
+ - ScoringFunctions
+ - Shields
+ - ToolGroups
+ - ToolRuntime
+ - VectorIO
+security:
+- Default: []
diff --git a/docs/static/llama-stack-spec.yaml b/docs/static/llama-stack-spec.yaml
index 759c7501a0..a12ac342f9 100644
--- a/docs/static/llama-stack-spec.yaml
+++ b/docs/static/llama-stack-spec.yaml
@@ -1,16 +1,16 @@
openapi: 3.1.0
info:
title: Llama Stack Specification
- version: v1
- description: >-
+ 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.
+ a set of endpoints and their corresponding interfaces that are
+ tailored to
+ best leverage Llama Models.
- **✅ STABLE**: Production-ready APIs with backward compatibility guarantees.
+ **✅ STABLE**: Production-ready APIs with backward compatibility guarantees.
+ version: v1
servers:
- - url: http://any-hosted-llama-stack.com
+- url: http://any-hosted-llama-stack.com
paths:
/v1/batches:
get:
@@ -23,34 +23,37 @@ paths:
$ref: '#/components/schemas/ListBatchesResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Batches
- summary: List all batches for the current user.
+ - Batches
+ summary: List Batches
description: List all batches for the current user.
+ operationId: list_batches_v1_batches_get
parameters:
- - name: after
- in: query
- description: >-
- A cursor for pagination; returns batches after this batch ID.
- required: false
- schema:
- type: string
- - name: limit
- in: query
- description: >-
- Number of batches to return (default 20, max 100).
- required: true
- schema:
- type: integer
- deprecated: false
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: limit
+ in: query
+ required: false
+ schema:
+ type: integer
+ default: 20
+ title: Limit
post:
responses:
'200':
@@ -61,28 +64,27 @@ paths:
$ref: '#/components/schemas/Batch'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Batches
- summary: >-
- Create a new batch for processing multiple API requests.
- description: >-
- Create a new batch for processing multiple API requests.
- parameters: []
+ - Batches
+ summary: Create Batch
+ description: Create a new batch for processing multiple API requests.
+ operationId: create_batch_v1_batches_post
requestBody:
+ required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBatchRequest'
- required: true
- deprecated: false
/v1/batches/{batch_id}:
get:
responses:
@@ -93,29 +95,29 @@ paths:
schema:
$ref: '#/components/schemas/Batch'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Batches
- summary: >-
- Retrieve information about a specific batch.
- description: >-
- Retrieve information about a specific batch.
+ - Batches
+ summary: Retrieve Batch
+ description: Retrieve information about a specific batch.
+ operationId: retrieve_batch_v1_batches__batch_id__get
parameters:
- - name: batch_id
- in: path
- description: The ID of the batch to retrieve.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: batch_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: batch_id'
/v1/batches/{batch_id}/cancel:
post:
responses:
@@ -126,27 +128,29 @@ paths:
schema:
$ref: '#/components/schemas/Batch'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Batches
- summary: Cancel a batch that is in progress.
+ - Batches
+ summary: Cancel Batch
description: Cancel a batch that is in progress.
+ operationId: cancel_batch_v1_batches__batch_id__cancel_post
parameters:
- - name: batch_id
- in: path
- description: The ID of the batch to cancel.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: batch_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: batch_id'
/v1/chat/completions:
get:
responses:
@@ -158,48 +162,56 @@ paths:
$ref: '#/components/schemas/ListOpenAIChatCompletionResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Inference
- summary: List chat completions.
+ - Inference
+ summary: List Chat Completions
description: List chat completions.
+ operationId: list_chat_completions_v1_chat_completions_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 20
+ title: Limit
+ - name: model
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Model
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - $ref: '#/components/schemas/Order'
+ - type: 'null'
+ default: desc
+ title: Order
post:
responses:
'200':
@@ -207,35 +219,36 @@ paths:
content:
application/json:
schema:
- oneOf:
- - $ref: '#/components/schemas/OpenAIChatCompletion'
- - $ref: '#/components/schemas/OpenAIChatCompletionChunk'
+ $ref: '#/components/schemas/OpenAIChatCompletion'
+ text/event-stream:
+ schema:
+ $ref: '#/components/schemas/OpenAIChatCompletionChunk'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Inference
- summary: Create chat completions.
- description: >-
+ - Inference
+ summary: Openai Chat Completion
+ description: |-
Create chat completions.
- Generate an OpenAI-compatible chat completion for the given messages using
- the specified model.
- parameters: []
+ Generate an OpenAI-compatible chat completion for the given messages using the specified model.
+ operationId: openai_chat_completion_v1_chat_completions_post
requestBody:
+ required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAIChatCompletionRequestWithExtraBody'
- required: true
- deprecated: false
/v1/chat/completions/{completion_id}:
get:
responses:
@@ -246,30 +259,32 @@ paths:
schema:
$ref: '#/components/schemas/OpenAICompletionWithInputMessages'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Inference
- summary: Get chat completion.
- description: >-
+ - Inference
+ summary: Get Chat Completion
+ description: |-
Get chat completion.
Describe a chat completion by its ID.
+ operationId: get_chat_completion_v1_chat_completions__completion_id__get
parameters:
- - name: completion_id
- in: path
- description: ID of the chat completion.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: completion_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: completion_id'
/v1/completions:
post:
responses:
@@ -280,31 +295,31 @@ paths:
schema:
$ref: '#/components/schemas/OpenAICompletion'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Inference
- summary: Create completion.
- description: >-
+ - Inference
+ summary: Openai Completion
+ description: |-
Create completion.
- Generate an OpenAI-compatible completion for the given prompt using the specified
- model.
- parameters: []
+ Generate an OpenAI-compatible completion for the given prompt using the specified model.
+ operationId: openai_completion_v1_completions_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAICompletionRequestWithExtraBody'
required: true
- deprecated: false
/v1/conversations:
post:
responses:
@@ -315,30 +330,31 @@ paths:
schema:
$ref: '#/components/schemas/Conversation'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Conversations
- summary: Create a conversation.
- description: >-
+ - Conversations
+ summary: Create Conversation
+ description: |-
Create a conversation.
Create a conversation.
- parameters: []
+ operationId: create_conversation_v1_conversations_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateConversationRequest'
required: true
- deprecated: false
/v1/conversations/{conversation_id}:
get:
responses:
@@ -349,30 +365,32 @@ paths:
schema:
$ref: '#/components/schemas/Conversation'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Conversations
- summary: Retrieve a conversation.
- description: >-
+ - Conversations
+ summary: Get Conversation
+ description: |-
Retrieve a conversation.
Get a conversation with the given ID.
+ operationId: get_conversation_v1_conversations__conversation_id__get
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
post:
responses:
'200':
@@ -382,36 +400,38 @@ paths:
schema:
$ref: '#/components/schemas/Conversation'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Conversations
- summary: Update a conversation.
- description: >-
+ - Conversations
+ summary: Update Conversation
+ description: |-
Update a conversation.
Update a conversation's metadata with the given ID.
+ operationId: update_conversation_v1_conversations__conversation_id__post
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateConversationRequest'
required: true
- deprecated: false
delete:
responses:
'200':
@@ -421,30 +441,32 @@ paths:
schema:
$ref: '#/components/schemas/ConversationDeletedResource'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Conversations
- summary: Delete a conversation.
- description: >-
+ - Conversations
+ summary: Openai Delete Conversation
+ description: |-
Delete a conversation.
Delete a conversation with the given ID.
+ operationId: openai_delete_conversation_v1_conversations__conversation_id__delete
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
/v1/conversations/{conversation_id}/items:
get:
responses:
@@ -456,73 +478,68 @@ paths:
$ref: '#/components/schemas/ConversationItemList'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Conversations
- summary: List items.
- description: >-
+ - Conversations
+ summary: List Items
+ description: |-
List items.
List items in the conversation.
+ operationId: list_items_v1_conversations__conversation_id__items_get
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
- - name: after
- in: query
- description: >-
- An item ID to list items after, used in pagination.
- required: false
- schema:
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ title: Limit
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - enum:
+ - asc
+ - desc
type: string
- - name: include
- in: query
- description: >-
- Specify additional output data to include in the response.
- required: false
- schema:
- type: array
+ - type: 'null'
+ title: Order
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
+ - name: include
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: array
items:
- type: string
- enum:
- - web_search_call.action.sources
- - code_interpreter_call.outputs
- - computer_call_output.output.image_url
- - file_search_call.results
- - message.input_image.image_url
- - message.output_text.logprobs
- - reasoning.encrypted_content
- title: ConversationItemInclude
- description: >-
- Specify additional output data to include in the model response.
- - name: limit
- in: query
- description: >-
- A limit on the number of objects to be returned (1-100, default 20).
- required: false
- schema:
- type: integer
- - name: order
- in: query
- description: >-
- The order to return items in (asc or desc, default desc).
- required: false
- schema:
- type: string
- enum:
- - asc
- - desc
- deprecated: false
+ $ref: '#/components/schemas/ConversationItemInclude'
+ - type: 'null'
+ title: Include
post:
responses:
'200':
@@ -533,35 +550,37 @@ paths:
$ref: '#/components/schemas/ConversationItemList'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Conversations
- summary: Create items.
- description: >-
+ - Conversations
+ summary: Add Items
+ description: |-
Create items.
Create items in the conversation.
+ operationId: add_items_v1_conversations__conversation_id__items_post
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
requestBody:
+ required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddItemsRequest'
- required: true
- deprecated: false
/v1/conversations/{conversation_id}/items/{item_id}:
get:
responses:
@@ -570,38 +589,40 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ConversationItem'
+ $ref: '#/components/schemas/OpenAIResponseMessage'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Conversations
- summary: Retrieve an item.
- description: >-
+ - Conversations
+ summary: Retrieve
+ description: |-
Retrieve an item.
Retrieve a conversation item.
+ operationId: retrieve_v1_conversations__conversation_id__items__item_id__get
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
- - name: item_id
- in: path
- description: The item identifier.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
+ - name: item_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: item_id'
delete:
responses:
'200':
@@ -611,365 +632,352 @@ paths:
schema:
$ref: '#/components/schemas/ConversationItemDeletedResource'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Conversations
- summary: Delete an item.
- description: >-
+ - Conversations
+ summary: Openai Delete Conversation Item
+ description: |-
Delete an item.
Delete a conversation item.
+ operationId: openai_delete_conversation_item_v1_conversations__conversation_id__items__item_id__delete
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
- - name: item_id
- in: path
- description: The item identifier.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
+ - name: item_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: item_id'
/v1/embeddings:
post:
responses:
'200':
- description: >-
- An OpenAIEmbeddingsResponse containing the embeddings.
+ description: An OpenAIEmbeddingsResponse containing the embeddings.
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAIEmbeddingsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Inference
- summary: Create embeddings.
- description: >-
+ - Inference
+ summary: Openai Embeddings
+ description: |-
Create embeddings.
- Generate OpenAI-compatible embeddings for the given input using the specified
- model.
- parameters: []
+ Generate OpenAI-compatible embeddings for the given input using the specified model.
+ operationId: openai_embeddings_v1_embeddings_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAIEmbeddingsRequestWithExtraBody'
required: true
- deprecated: false
/v1/files:
get:
responses:
'200':
- description: >-
- An ListOpenAIFileResponse containing the list of files.
+ description: An ListOpenAIFileResponse containing the list of files.
content:
application/json:
schema:
$ref: '#/components/schemas/ListOpenAIFileResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Files
- summary: List files.
- description: >-
+ - Files
+ summary: Openai List Files
+ description: |-
List files.
Returns a list of files that belong to the user's organization.
+ operationId: openai_list_files_v1_files_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 10000
+ title: Limit
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - $ref: '#/components/schemas/Order'
+ - type: 'null'
+ default: desc
+ title: Order
+ - name: purpose
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIFilePurpose'
+ - type: 'null'
+ title: Purpose
post:
responses:
'200':
- description: >-
- An OpenAIFileObject representing the uploaded file.
+ description: An OpenAIFileObject representing the uploaded file.
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAIFileObject'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Files
- summary: Upload file.
- description: >-
+ - Files
+ summary: Openai Upload File
+ description: |-
Upload file.
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: []
+ operationId: openai_upload_file_v1_files_post
requestBody:
+ required: true
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
+ $ref: '#/components/schemas/Body_openai_upload_file_v1_files_post'
/v1/files/{file_id}:
get:
responses:
'200':
- description: >-
- An OpenAIFileObject containing file information.
+ description: An OpenAIFileObject containing file information.
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAIFileObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Files
- summary: Retrieve file.
- description: >-
+ - Files
+ summary: Openai Retrieve File
+ description: |-
Retrieve file.
Returns information about a specific file.
+ operationId: openai_retrieve_file_v1_files__file_id__get
parameters:
- - name: file_id
- in: path
- description: >-
- The ID of the file to use for this request.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
delete:
responses:
'200':
- description: >-
- An OpenAIFileDeleteResponse indicating successful deletion.
+ description: An OpenAIFileDeleteResponse indicating successful deletion.
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAIFileDeleteResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Files
- summary: Delete file.
+ - Files
+ summary: Openai Delete File
description: Delete file.
+ operationId: openai_delete_file_v1_files__file_id__delete
parameters:
- - name: file_id
- in: path
- description: >-
- The ID of the file to use for this request.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
/v1/files/{file_id}/content:
get:
responses:
'200':
- description: >-
- The raw file content as a binary response.
+ description: The raw file content as a binary response.
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Files
- summary: Retrieve file content.
- description: >-
+ - Files
+ summary: Openai Retrieve File Content
+ description: |-
Retrieve file content.
Returns the contents of the specified file.
+ operationId: openai_retrieve_file_content_v1_files__file_id__content_get
parameters:
- - name: file_id
- in: path
- description: >-
- The ID of the file to use for this request.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
/v1/health:
get:
responses:
'200':
- description: >-
- Health information indicating if the service is operational.
+ description: Health information indicating if the service is operational.
content:
application/json:
schema:
$ref: '#/components/schemas/HealthInfo'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Inspect
- summary: Get health status.
- description: >-
+ - Inspect
+ summary: Health
+ description: |-
Get health status.
Get the current health status of the service.
- parameters: []
- deprecated: false
+ operationId: health_v1_health_get
/v1/inspect/routes:
get:
responses:
'200':
- description: >-
- Response containing information about all available routes.
+ description: Response containing information about all available routes.
content:
application/json:
schema:
$ref: '#/components/schemas/ListRoutesResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Inspect
- summary: List routes.
- description: >-
+ - Inspect
+ summary: List Routes
+ description: |-
List routes.
List all available API routes with their methods and implementing providers.
+ operationId: list_routes_v1_inspect_routes_get
parameters:
- - name: api_filter
- in: query
- description: >-
- Optional filter to control which routes are returned. Can be an API level
- ('v1', 'v1alpha', 'v1beta') to show non-deprecated routes at that level,
- or 'deprecated' to show deprecated routes across all levels. If not specified,
- returns all non-deprecated routes.
- required: false
- schema:
+ - name: api_filter
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - enum:
+ - v1
+ - v1alpha
+ - v1beta
+ - deprecated
type: string
- enum:
- - v1
- - v1alpha
- - v1beta
- - deprecated
- deprecated: false
+ - type: 'null'
+ title: Api Filter
/v1/models:
get:
responses:
@@ -980,21 +988,22 @@ paths:
schema:
$ref: '#/components/schemas/OpenAIListModelsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Models
- summary: List models using the OpenAI API.
+ - Models
+ summary: Openai List Models
description: List models using the OpenAI API.
- parameters: []
- deprecated: false
+ operationId: openai_list_models_v1_models_get
/v1/models/{model_id}:
get:
responses:
@@ -1005,30 +1014,32 @@ paths:
schema:
$ref: '#/components/schemas/Model'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Models
- summary: Get model.
- description: >-
+ - Models
+ summary: Get Model
+ description: |-
Get model.
Get a model by its identifier.
+ operationId: get_model_v1_models__model_id__get
parameters:
- - name: model_id
- in: path
- description: The identifier of the model to get.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: model_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: model_id'
/v1/moderations:
post:
responses:
@@ -1039,56 +1050,57 @@ paths:
schema:
$ref: '#/components/schemas/ModerationObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Safety
- summary: Create moderation.
- description: >-
+ - Safety
+ summary: Run Moderation
+ description: |-
Create moderation.
Classifies if text and/or image inputs are potentially harmful.
- parameters: []
+ operationId: run_moderation_v1_moderations_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RunModerationRequest'
required: true
- deprecated: false
/v1/prompts:
get:
responses:
'200':
- description: >-
- A ListPromptsResponse containing all prompts.
+ description: A ListPromptsResponse containing all prompts.
content:
application/json:
schema:
$ref: '#/components/schemas/ListPromptsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Prompts
- summary: List all prompts.
+ - Prompts
+ summary: List Prompts
description: List all prompts.
- parameters: []
- deprecated: false
+ operationId: list_prompts_v1_prompts_get
post:
responses:
'200':
@@ -1098,30 +1110,31 @@ paths:
schema:
$ref: '#/components/schemas/Prompt'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Prompts
- summary: Create prompt.
- description: >-
+ - Prompts
+ summary: Create Prompt
+ description: |-
Create prompt.
Create a new prompt.
- parameters: []
+ operationId: create_prompt_v1_prompts_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePromptRequest'
required: true
- deprecated: false
/v1/prompts/{prompt_id}:
get:
responses:
@@ -1133,246 +1146,254 @@ paths:
$ref: '#/components/schemas/Prompt'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Prompts
- summary: Get prompt.
- description: >-
+ - Prompts
+ summary: Get Prompt
+ description: |-
Get prompt.
Get a prompt by its identifier and optional version.
+ operationId: get_prompt_v1_prompts__prompt_id__get
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
+ - name: version
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ title: Version
+ - name: prompt_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: prompt_id'
post:
responses:
'200':
- description: >-
- The updated Prompt resource with incremented version.
+ description: The updated Prompt resource with incremented version.
content:
application/json:
schema:
$ref: '#/components/schemas/Prompt'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Prompts
- summary: Update prompt.
- description: >-
+ - Prompts
+ summary: Update Prompt
+ description: |-
Update prompt.
Update an existing prompt (increments version).
+ operationId: update_prompt_v1_prompts__prompt_id__post
parameters:
- - name: prompt_id
- in: path
- description: The identifier of the prompt to update.
- required: true
- schema:
- type: string
+ - name: prompt_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: prompt_id'
requestBody:
+ required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePromptRequest'
- required: true
- deprecated: false
delete:
responses:
- '200':
- description: OK
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
+ '204':
+ description: Successful Response
tags:
- - Prompts
- summary: Delete prompt.
- description: >-
+ - Prompts
+ summary: Delete Prompt
+ description: |-
Delete prompt.
Delete a prompt.
+ operationId: delete_prompt_v1_prompts__prompt_id__delete
parameters:
- - name: prompt_id
- in: path
- description: The identifier of the prompt to delete.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: prompt_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: prompt_id'
/v1/prompts/{prompt_id}/set-default-version:
post:
responses:
'200':
- description: >-
- The prompt with the specified version now set as default.
+ description: The prompt with the specified version now set as default.
content:
application/json:
schema:
$ref: '#/components/schemas/Prompt'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Prompts
- summary: Set prompt version.
- description: >-
+ - Prompts
+ summary: Set Default Version
+ description: |-
Set prompt version.
Set which version of a prompt should be the default in get_prompt (latest).
+ operationId: set_default_version_v1_prompts__prompt_id__set_default_version_post
parameters:
- - name: prompt_id
- in: path
- description: The identifier of the prompt.
- required: true
- schema:
- type: string
+ - name: prompt_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: prompt_id'
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.
+ description: A ListPromptsResponse containing all versions of the prompt.
content:
application/json:
schema:
$ref: '#/components/schemas/ListPromptsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Prompts
- summary: List prompt versions.
- description: >-
+ - Prompts
+ summary: List Prompt Versions
+ description: |-
List prompt versions.
List all versions of a specific prompt.
+ operationId: list_prompt_versions_v1_prompts__prompt_id__versions_get
parameters:
- - name: prompt_id
- in: path
- description: >-
- The identifier of the prompt to list versions for.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: prompt_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: prompt_id'
/v1/providers:
get:
responses:
'200':
- description: >-
- A ListProvidersResponse containing information about all providers.
+ description: A ListProvidersResponse containing information about all providers.
content:
application/json:
schema:
$ref: '#/components/schemas/ListProvidersResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Providers
- summary: List providers.
- description: >-
+ - Providers
+ summary: List Providers
+ description: |-
List providers.
List all available providers.
- parameters: []
- deprecated: false
+ operationId: list_providers_v1_providers_get
/v1/providers/{provider_id}:
get:
responses:
'200':
- description: >-
- A ProviderInfo object containing the provider's details.
+ description: A ProviderInfo object containing the provider's details.
content:
application/json:
schema:
$ref: '#/components/schemas/ProviderInfo'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Providers
- summary: Get provider.
- description: >-
+ - Providers
+ summary: Inspect Provider
+ description: |-
Get provider.
Get detailed information about a specific provider.
+ operationId: inspect_provider_v1_providers__provider_id__get
parameters:
- - name: provider_id
- in: path
- description: The ID of the provider to inspect.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: provider_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: provider_id'
/v1/responses:
get:
responses:
@@ -1384,45 +1405,56 @@ paths:
$ref: '#/components/schemas/ListOpenAIResponseObject'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Agents
- summary: List all responses.
+ - Agents
+ summary: List Openai Responses
description: List all responses.
+ operationId: list_openai_responses_v1_responses_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 50
+ title: Limit
+ - name: model
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Model
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - $ref: '#/components/schemas/Order'
+ - type: 'null'
+ default: desc
+ title: Order
post:
responses:
'200':
@@ -1436,38 +1468,51 @@ paths:
$ref: '#/components/schemas/OpenAIResponseObjectStream'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Agents
- summary: Create a model response.
+ - Agents
+ summary: Create Openai Response
description: Create a model response.
- parameters: []
+ operationId: create_openai_response_v1_responses_post
requestBody:
+ required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOpenaiResponseRequest'
- required: true
- deprecated: false
- x-llama-stack-extra-body-params:
- - name: guardrails
- schema:
- type: array
- items:
- oneOf:
+ x-llama-stack-extra-body-params:
+ guardrails:
+ $defs:
+ ResponseGuardrailSpec:
+ description: |-
+ Specification for a guardrail to apply during response generation.
+
+ :param type: The type/identifier of the guardrail.
+ properties:
+ type:
+ title: Type
+ type: string
+ required:
+ - type
+ title: ResponseGuardrailSpec
+ type: object
+ anyOf:
+ - items:
+ anyOf:
- type: string
- $ref: '#/components/schemas/ResponseGuardrailSpec'
- description: >-
- List of guardrails to apply during response generation. Guardrails provide
- safety and content moderation.
- required: false
+ type: array
+ - type: 'null'
+ description: List of guardrails to apply during response generation. Guardrails provide safety and content moderation.
/v1/responses/{response_id}:
get:
responses:
@@ -1478,28 +1523,29 @@ paths:
schema:
$ref: '#/components/schemas/OpenAIResponseObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Agents
- summary: Get a model response.
+ - Agents
+ summary: Get Openai Response
description: Get a model response.
+ operationId: get_openai_response_v1_responses__response_id__get
parameters:
- - name: response_id
- in: path
- description: >-
- The ID of the OpenAI response to retrieve.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: response_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: response_id'
delete:
responses:
'200':
@@ -1509,27 +1555,29 @@ paths:
schema:
$ref: '#/components/schemas/OpenAIDeleteResponseObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Agents
- summary: Delete a response.
+ - Agents
+ summary: Delete Openai Response
description: Delete a response.
+ operationId: delete_openai_response_v1_responses__response_id__delete
parameters:
- - name: response_id
- in: path
- description: The ID of the OpenAI response to delete.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: response_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: response_id'
/v1/responses/{response_id}/input_items:
get:
responses:
@@ -1541,66 +1589,73 @@ paths:
$ref: '#/components/schemas/ListOpenAIResponseInputItem'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Agents
- summary: List input items.
+ - Agents
+ summary: List Openai Response Input Items
description: List input items.
+ operationId: list_openai_response_input_items_v1_responses__response_id__input_items_get
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:
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: before
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Before
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 20
+ title: Limit
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - $ref: '#/components/schemas/Order'
+ - type: 'null'
+ default: desc
+ title: Order
+ - name: response_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: response_id'
+ - name: include
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: array
+ items:
+ type: string
+ - type: 'null'
+ title: Include
+ /v1/safety/run-shield:
post:
responses:
'200':
@@ -1610,30 +1665,31 @@ paths:
schema:
$ref: '#/components/schemas/RunShieldResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Safety
- summary: Run shield.
- description: >-
+ - Safety
+ summary: Run Shield
+ description: |-
Run shield.
Run a shield.
- parameters: []
+ operationId: run_shield_v1_safety_run_shield_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RunShieldRequest'
required: true
- deprecated: false
/v1/scoring-functions:
get:
responses:
@@ -1644,21 +1700,22 @@ paths:
schema:
$ref: '#/components/schemas/ListScoringFunctionsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - ScoringFunctions
- summary: List all scoring functions.
+ - Scoring Functions
+ summary: List Scoring Functions
description: List all scoring functions.
- parameters: []
- deprecated: false
+ operationId: list_scoring_functions_v1_scoring_functions_get
/v1/scoring-functions/{scoring_fn_id}:
get:
responses:
@@ -1669,59 +1726,61 @@ paths:
schema:
$ref: '#/components/schemas/ScoringFn'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - ScoringFunctions
- summary: Get a scoring function by its ID.
+ - Scoring Functions
+ summary: Get Scoring Function
description: Get a scoring function by its ID.
+ operationId: get_scoring_function_v1_scoring_functions__scoring_fn_id__get
parameters:
- - name: scoring_fn_id
- in: path
- description: The ID of the scoring function to get.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: scoring_fn_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: scoring_fn_id'
/v1/scoring/score:
post:
responses:
'200':
- description: >-
- A ScoreResponse object containing rows and aggregated results.
+ description: A ScoreResponse object containing rows and aggregated results.
content:
application/json:
schema:
$ref: '#/components/schemas/ScoreResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Scoring
- summary: Score a list of rows.
+ - Scoring
+ summary: Score
description: Score a list of rows.
- parameters: []
+ operationId: score_v1_scoring_score_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScoreRequest'
required: true
- deprecated: false
/v1/scoring/score-batch:
post:
responses:
@@ -1732,27 +1791,28 @@ paths:
schema:
$ref: '#/components/schemas/ScoreBatchResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Scoring
- summary: Score a batch of rows.
+ - Scoring
+ summary: Score Batch
description: Score a batch of rows.
- parameters: []
+ operationId: score_batch_v1_scoring_score_batch_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScoreBatchRequest'
required: true
- deprecated: false
/v1/shields:
get:
responses:
@@ -1763,21 +1823,22 @@ paths:
schema:
$ref: '#/components/schemas/ListShieldsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Shields
- summary: List all shields.
+ - Shields
+ summary: List Shields
description: List all shields.
- parameters: []
- deprecated: false
+ operationId: list_shields_v1_shields_get
/v1/shields/{identifier}:
get:
responses:
@@ -1788,27 +1849,29 @@ paths:
schema:
$ref: '#/components/schemas/Shield'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Shields
- summary: Get a shield by its identifier.
+ - Shields
+ summary: Get Shield
description: Get a shield by its identifier.
+ operationId: get_shield_v1_shields__identifier__get
parameters:
- - name: identifier
- in: path
- description: The identifier of the shield to get.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: identifier
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: identifier'
/v1/tool-runtime/invoke:
post:
responses:
@@ -1819,27 +1882,28 @@ paths:
schema:
$ref: '#/components/schemas/ToolInvocationResult'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - ToolRuntime
- summary: Run a tool with the given arguments.
+ - Tool Runtime
+ summary: Invoke Tool
description: Run a tool with the given arguments.
- parameters: []
+ operationId: invoke_tool_v1_tool_runtime_invoke_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InvokeToolRequest'
required: true
- deprecated: false
/v1/tool-runtime/list-tools:
get:
responses:
@@ -1851,41 +1915,46 @@ paths:
$ref: '#/components/schemas/ListToolDefsResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - ToolRuntime
- summary: List all tools in the runtime.
+ - Tool Runtime
+ summary: List Runtime Tools
description: List all tools in the runtime.
+ operationId: list_runtime_tools_v1_tool_runtime_list_tools_get
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'
- - name: authorization
- in: query
- description: >-
- (Optional) OAuth access token for authenticating with the MCP server.
- required: false
- schema:
- type: string
- deprecated: false
+ - name: authorization
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Authorization
+ - name: tool_group_id
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Tool Group Id
+ - name: mcp_endpoint
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ - type: 'null'
+ title: Mcp Endpoint
/v1/toolgroups:
get:
responses:
@@ -1896,21 +1965,22 @@ paths:
schema:
$ref: '#/components/schemas/ListToolGroupsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - ToolGroups
- summary: List tool groups with optional provider.
+ - Tool Groups
+ summary: List Tool Groups
description: List tool groups with optional provider.
- parameters: []
- deprecated: false
+ operationId: list_tool_groups_v1_toolgroups_get
/v1/toolgroups/{toolgroup_id}:
get:
responses:
@@ -1921,27 +1991,29 @@ paths:
schema:
$ref: '#/components/schemas/ToolGroup'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - ToolGroups
- summary: Get a tool group by its ID.
+ - Tool Groups
+ summary: Get Tool Group
description: Get a tool group by its ID.
+ operationId: get_tool_group_v1_toolgroups__toolgroup_id__get
parameters:
- - name: toolgroup_id
- in: path
- description: The ID of the tool group to get.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: toolgroup_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: toolgroup_id'
/v1/tools:
get:
responses:
@@ -1953,27 +2025,30 @@ paths:
$ref: '#/components/schemas/ListToolDefsResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - ToolGroups
- summary: List tools with optional tool group.
+ - Tool Groups
+ summary: List Tools
description: List tools with optional tool group.
+ operationId: list_tools_v1_tools_get
parameters:
- - name: toolgroup_id
- in: query
- description: >-
- The ID of the tool group to list tools for.
- required: false
- schema:
- type: string
- deprecated: false
+ - name: toolgroup_id
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Toolgroup Id
/v1/tools/{tool_name}:
get:
responses:
@@ -1984,54 +2059,57 @@ paths:
schema:
$ref: '#/components/schemas/ToolDef'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - ToolGroups
- summary: Get a tool by its name.
+ - Tool Groups
+ summary: Get Tool
description: Get a tool by its name.
+ operationId: get_tool_v1_tools__tool_name__get
parameters:
- - name: tool_name
- in: path
- description: The name of the tool to get.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: tool_name
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: tool_name'
/v1/vector-io/insert:
post:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - VectorIO
- summary: Insert chunks into a vector database.
+ - Vector Io
+ summary: Insert Chunks
description: Insert chunks into a vector database.
- parameters: []
+ operationId: insert_chunks_v1_vector_io_insert_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InsertChunksRequest'
required: true
- deprecated: false
/v1/vector-io/query:
post:
responses:
@@ -2042,2227 +2120,2043 @@ paths:
schema:
$ref: '#/components/schemas/QueryChunksResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Query chunks from a vector database.
+ - Vector Io
+ summary: Query Chunks
description: Query chunks from a vector database.
- parameters: []
+ operationId: query_chunks_v1_vector_io_query_post
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.
+ description: A VectorStoreListResponse containing the list of vector stores.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreListResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - VectorIO
- summary: Returns a list of vector stores.
+ - Vector Io
+ summary: Openai List Vector Stores
description: Returns a list of vector stores.
+ operationId: openai_list_vector_stores_v1_vector_stores_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: before
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Before
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 20
+ title: Limit
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: desc
+ title: Order
post:
responses:
'200':
- description: >-
- A VectorStoreObject representing the created vector store.
+ description: A VectorStoreObject representing the created vector store.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreObject'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - VectorIO
- summary: Creates a vector store.
- description: >-
+ - Vector Io
+ summary: Openai Create Vector Store
+ description: |-
Creates a vector store.
Generate an OpenAI-compatible vector store with the given parameters.
- parameters: []
+ operationId: openai_create_vector_store_v1_vector_stores_post
requestBody:
+ required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAICreateVectorStoreRequestWithExtraBody'
- required: true
- deprecated: false
/v1/vector_stores/{vector_store_id}:
get:
responses:
'200':
- description: >-
- A VectorStoreObject representing the vector store.
+ description: A VectorStoreObject representing the vector store.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Retrieves a vector store.
+ - Vector Io
+ summary: Openai Retrieve Vector Store
description: Retrieves a vector store.
+ operationId: openai_retrieve_vector_store_v1_vector_stores__vector_store_id__get
parameters:
- - name: vector_store_id
- in: path
- description: The ID of the vector store to retrieve.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
post:
responses:
'200':
- description: >-
- A VectorStoreObject representing the updated vector store.
+ description: A VectorStoreObject representing the updated vector store.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Updates a vector store.
+ - Vector Io
+ summary: Openai Update Vector Store
description: Updates a vector store.
+ operationId: openai_update_vector_store_v1_vector_stores__vector_store_id__post
parameters:
- - name: vector_store_id
- in: path
- description: The ID of the vector store to update.
- required: true
- schema:
- type: string
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OpenaiUpdateVectorStoreRequest'
required: true
- deprecated: false
delete:
responses:
'200':
- description: >-
- A VectorStoreDeleteResponse indicating the deletion status.
+ description: A VectorStoreDeleteResponse indicating the deletion status.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreDeleteResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Delete a vector store.
+ - Vector Io
+ summary: Openai Delete Vector Store
description: Delete a vector store.
+ operationId: openai_delete_vector_store_v1_vector_stores__vector_store_id__delete
parameters:
- - name: vector_store_id
- in: path
- description: The ID of the vector store to delete.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
/v1/vector_stores/{vector_store_id}/file_batches:
post:
responses:
'200':
- description: >-
- A VectorStoreFileBatchObject representing the created file batch.
+ description: A VectorStoreFileBatchObject representing the created file batch.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileBatchObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Create a vector store file batch.
- description: >-
+ - Vector Io
+ summary: Openai Create Vector Store File Batch
+ description: |-
Create a vector store file batch.
- Generate an OpenAI-compatible vector store file batch for the given vector
- store.
+ Generate an OpenAI-compatible vector store file batch for the given vector store.
+ operationId: openai_create_vector_store_file_batch_v1_vector_stores__vector_store_id__file_batches_post
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
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAICreateVectorStoreFileBatchRequestWithExtraBody'
required: true
- deprecated: false
/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}:
get:
responses:
'200':
- description: >-
- A VectorStoreFileBatchObject representing the file batch.
+ description: A VectorStoreFileBatchObject representing the file batch.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileBatchObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Retrieve a vector store file batch.
+ - Vector Io
+ summary: Openai Retrieve Vector Store File Batch
description: Retrieve a vector store file batch.
+ operationId: openai_retrieve_vector_store_file_batch_v1_vector_stores__vector_store_id__file_batches__batch_id__get
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
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: batch_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: batch_id'
/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}/cancel:
post:
responses:
'200':
- description: >-
- A VectorStoreFileBatchObject representing the cancelled file batch.
+ description: A VectorStoreFileBatchObject representing the cancelled file batch.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileBatchObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Cancels a vector store file batch.
+ - Vector Io
+ summary: Openai Cancel Vector Store File Batch
description: Cancels a vector store file batch.
+ operationId: openai_cancel_vector_store_file_batch_v1_vector_stores__vector_store_id__file_batches__batch_id__cancel_post
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
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: batch_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: batch_id'
/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.
+ description: A VectorStoreFilesListInBatchResponse containing the list of files in the batch.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFilesListInBatchResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - VectorIO
- summary: >-
- Returns a list of vector store files in a batch.
- description: >-
- Returns a list of vector store files in a batch.
+ - Vector Io
+ summary: Openai List Files In Vector Store File Batch
+ description: Returns a list of vector store files in a batch.
+ operationId: openai_list_files_in_vector_store_file_batch_v1_vector_stores__vector_store_id__file_batches__batch_id__files_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: before
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Before
+ - name: filter
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Filter
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 20
+ title: Limit
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: desc
+ title: Order
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: batch_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: batch_id'
/v1/vector_stores/{vector_store_id}/files:
get:
responses:
'200':
- description: >-
- A VectorStoreListFilesResponse containing the list of files.
+ description: A VectorStoreListFilesResponse containing the list of files.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreListFilesResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - VectorIO
- summary: List files in a vector store.
+ - Vector Io
+ summary: Openai List Files In Vector Store
description: List files in a vector store.
+ operationId: openai_list_files_in_vector_store_v1_vector_stores__vector_store_id__files_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: before
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Before
+ - name: filter
+ in: query
+ required: false
+ schema:
+ title: Filter
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - cancelled
+ - failed
+ default: completed
+ nullable: true
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 20
+ title: Limit
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: desc
+ title: Order
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
post:
responses:
'200':
- description: >-
- A VectorStoreFileObject representing the attached file.
+ description: A VectorStoreFileObject representing the attached file.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileObject'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - VectorIO
- summary: Attach a file to a vector store.
+ - Vector Io
+ summary: Openai Attach File To Vector Store
description: Attach a file to a vector store.
+ operationId: openai_attach_file_to_vector_store_v1_vector_stores__vector_store_id__files_post
parameters:
- - name: vector_store_id
- in: path
- description: >-
- The ID of the vector store to attach the file to.
- required: true
- schema:
- type: string
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
requestBody:
+ required: true
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.
+ description: A VectorStoreFileObject representing the file.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Retrieves a vector store file.
+ - Vector Io
+ summary: Openai Retrieve Vector Store File
description: Retrieves a vector store file.
+ operationId: openai_retrieve_vector_store_file_v1_vector_stores__vector_store_id__files__file_id__get
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
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
post:
responses:
'200':
- description: >-
- A VectorStoreFileObject representing the updated file.
+ description: A VectorStoreFileObject representing the updated file.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Updates a vector store file.
+ - Vector Io
+ summary: Openai Update Vector Store File
description: Updates a vector store file.
+ operationId: openai_update_vector_store_file_v1_vector_stores__vector_store_id__files__file_id__post
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
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OpenaiUpdateVectorStoreFileRequest'
required: true
- deprecated: false
delete:
responses:
'200':
- description: >-
- A VectorStoreFileDeleteResponse indicating the deletion status.
+ description: A VectorStoreFileDeleteResponse indicating the deletion status.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileDeleteResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Delete a vector store file.
+ - Vector Io
+ summary: Openai Delete Vector Store File
description: Delete a vector store file.
+ operationId: openai_delete_vector_store_file_v1_vector_stores__vector_store_id__files__file_id__delete
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
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
/v1/vector_stores/{vector_store_id}/files/{file_id}/content:
get:
responses:
'200':
- description: >-
- File contents, optionally with embeddings and metadata based on query
- parameters.
+ description: File contents, optionally with embeddings and metadata based on query parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileContentResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - VectorIO
- summary: >-
- Retrieves the contents of a vector store file.
- description: >-
- Retrieves the contents of a vector store file.
+ - Vector Io
+ summary: Openai Retrieve Vector Store File Contents
+ description: Retrieves the contents of a vector store file.
+ operationId: openai_retrieve_vector_store_file_contents_v1_vector_stores__vector_store_id__files__file_id__content_get
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
- - name: include_embeddings
- in: query
- description: >-
- Whether to include embedding vectors in the response.
- required: false
- schema:
- $ref: '#/components/schemas/bool'
- - name: include_metadata
- in: query
- description: >-
- Whether to include chunk metadata in the response.
- required: false
- schema:
- $ref: '#/components/schemas/bool'
- deprecated: false
+ - name: include_embeddings
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ title: Include Embeddings
+ - name: include_metadata
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ title: Include Metadata
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
/v1/vector_stores/{vector_store_id}/search:
post:
responses:
'200':
- description: >-
- A VectorStoreSearchResponse containing the search results.
+ description: A VectorStoreSearchResponse containing the search results.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreSearchResponsePage'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Search for chunks in a vector store.
- description: >-
+ - Vector Io
+ summary: Openai Search 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.
+ Searches a vector store for relevant chunks based on a query and optional file attribute filters.
+ operationId: openai_search_vector_store_v1_vector_stores__vector_store_id__search_post
parameters:
- - name: vector_store_id
- in: path
- description: The ID of the vector store to search.
- required: true
- schema:
- type: string
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
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.
+ description: Version information containing the service version number.
content:
application/json:
schema:
$ref: '#/components/schemas/VersionInfo'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Inspect
- summary: Get version.
- description: >-
+ - Inspect
+ summary: Version
+ description: |-
Get version.
Get the version of the service.
- parameters: []
- deprecated: false
-jsonSchemaDialect: >-
- https://json-schema.org/draft/2020-12/schema
+ operationId: version_v1_version_get
components:
schemas:
Error:
- type: object
+ description: Error response from the API. Roughly follows RFC 7807.
properties:
status:
+ title: Status
type: integer
- description: HTTP status code
title:
+ title: Title
type: string
- description: >-
- Error title, a short summary of the error which is invariant for an error
- type
detail:
+ title: 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
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ required:
+ - status
+ - title
+ - detail
title: Error
- description: >-
- Error response from the API. Roughly follows RFC 7807.
- ListBatchesResponse:
type: object
+ ListBatchesResponse:
properties:
object:
type: string
const: list
+ title: Object
default: list
data:
- type: array
items:
- type: object
- properties:
- id:
- type: string
- completion_window:
- type: string
- created_at:
- type: integer
- endpoint:
- type: string
- input_file_id:
- type: string
- object:
- type: string
- const: batch
- status:
- type: string
- enum:
- - validating
- - failed
- - in_progress
- - finalizing
- - completed
- - expired
- - cancelling
- - cancelled
- cancelled_at:
- type: integer
- cancelling_at:
- type: integer
- completed_at:
- type: integer
- error_file_id:
- type: string
- errors:
- type: object
- properties:
- data:
- type: array
- items:
- type: object
- properties:
- code:
- type: string
- line:
- type: integer
- message:
- type: string
- param:
- type: string
- additionalProperties: false
- title: BatchError
- object:
- type: string
- additionalProperties: false
- title: Errors
- expired_at:
- type: integer
- expires_at:
- type: integer
- failed_at:
- type: integer
- finalizing_at:
- type: integer
- in_progress_at:
- type: integer
- metadata:
- type: object
- additionalProperties:
- type: string
- model:
- type: string
- output_file_id:
- type: string
- request_counts:
- type: object
- properties:
- completed:
- type: integer
- failed:
- type: integer
- total:
- type: integer
- additionalProperties: false
- required:
- - completed
- - failed
- - total
- title: BatchRequestCounts
- usage:
- type: object
- properties:
- input_tokens:
- type: integer
- input_tokens_details:
- type: object
- properties:
- cached_tokens:
- type: integer
- additionalProperties: false
- required:
- - cached_tokens
- title: InputTokensDetails
- output_tokens:
- type: integer
- output_tokens_details:
- type: object
- properties:
- reasoning_tokens:
- type: integer
- additionalProperties: false
- required:
- - reasoning_tokens
- title: OutputTokensDetails
- total_tokens:
- type: integer
- additionalProperties: false
- required:
- - input_tokens
- - input_tokens_details
- - output_tokens
- - output_tokens_details
- - total_tokens
- title: BatchUsage
- additionalProperties: false
- required:
- - id
- - completion_window
- - created_at
- - endpoint
- - input_file_id
- - object
- - status
- title: Batch
+ $ref: '#/components/schemas/Batch'
+ type: array
+ title: Data
+ description: List of batch objects
first_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: ID of the first batch in the list
last_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: ID of the last batch in the list
has_more:
type: boolean
+ title: Has More
+ description: Whether there are more batches available
default: false
- additionalProperties: false
+ type: object
required:
- - object
- - data
- - has_more
+ - data
title: ListBatchesResponse
- description: >-
- Response containing a list of batch objects.
+ description: Response containing a list of batch objects.
CreateBatchRequest:
- type: object
properties:
input_file_id:
type: string
- description: >-
- The ID of an uploaded file containing requests for the batch.
+ title: Input File Id
endpoint:
type: string
- description: >-
- The endpoint to be used for all requests in the batch.
+ title: Endpoint
completion_window:
type: string
const: 24h
- description: >-
- The time window within which the batch should be processed.
+ title: Completion Window
metadata:
- type: object
- additionalProperties:
- type: string
- description: Optional metadata for the batch.
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - type: 'null'
idempotency_key:
- type: string
- description: >-
- Optional idempotency key. When provided, enables idempotent behavior.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - input_file_id
- - endpoint
- - completion_window
+ - input_file_id
+ - endpoint
+ - completion_window
title: CreateBatchRequest
Batch:
- type: object
properties:
id:
type: string
+ title: Id
completion_window:
type: string
+ title: Completion Window
created_at:
type: integer
+ title: Created At
endpoint:
type: string
+ title: Endpoint
input_file_id:
type: string
+ title: Input File Id
object:
type: string
const: batch
+ title: Object
status:
type: string
enum:
- - validating
- - failed
- - in_progress
- - finalizing
- - completed
- - expired
- - cancelling
- - cancelled
+ - validating
+ - failed
+ - in_progress
+ - finalizing
+ - completed
+ - expired
+ - cancelling
+ - cancelled
+ title: Status
cancelled_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
cancelling_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
completed_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
error_file_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
errors:
- type: object
- properties:
- data:
- type: array
- items:
- type: object
- properties:
- code:
- type: string
- line:
- type: integer
- message:
- type: string
- param:
- type: string
- additionalProperties: false
- title: BatchError
- object:
- type: string
- additionalProperties: false
+ anyOf:
+ - $ref: '#/components/schemas/Errors'
+ title: Errors
+ - type: 'null'
title: Errors
expired_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
expires_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
failed_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
finalizing_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
in_progress_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
metadata:
- type: object
- additionalProperties:
- type: string
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - type: 'null'
model:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
output_file_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
request_counts:
- type: object
- properties:
- completed:
- type: integer
- failed:
- type: integer
- total:
- type: integer
- additionalProperties: false
- required:
- - completed
- - failed
- - total
+ anyOf:
+ - $ref: '#/components/schemas/BatchRequestCounts'
+ title: BatchRequestCounts
+ - type: 'null'
title: BatchRequestCounts
usage:
- type: object
- properties:
- input_tokens:
- type: integer
- input_tokens_details:
- type: object
- properties:
- cached_tokens:
- type: integer
- additionalProperties: false
- required:
- - cached_tokens
- title: InputTokensDetails
- output_tokens:
- type: integer
- output_tokens_details:
- type: object
- properties:
- reasoning_tokens:
- type: integer
- additionalProperties: false
- required:
- - reasoning_tokens
- title: OutputTokensDetails
- total_tokens:
- type: integer
- additionalProperties: false
- required:
- - input_tokens
- - input_tokens_details
- - output_tokens
- - output_tokens_details
- - total_tokens
+ anyOf:
+ - $ref: '#/components/schemas/BatchUsage'
+ title: BatchUsage
+ - type: 'null'
title: BatchUsage
- additionalProperties: false
- required:
- - id
- - completion_window
- - created_at
- - endpoint
- - input_file_id
- - object
- - status
+ additionalProperties: true
+ type: object
+ required:
+ - id
+ - completion_window
+ - created_at
+ - endpoint
+ - input_file_id
+ - object
+ - status
title: Batch
Order:
type: string
enum:
- - asc
- - desc
+ - 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
- usage:
- $ref: '#/components/schemas/OpenAIChatCompletionUsage'
- description: >-
- Token usage information for the 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
+ $ref: '#/components/schemas/OpenAICompletionWithInputMessages'
+ type: array
+ title: Data
has_more:
type: boolean
- description: >-
- Whether there are more completions available beyond this list
+ title: Has More
first_id:
type: string
- description: ID of the first completion in this list
+ title: First Id
last_id:
type: string
- description: ID of the last completion in this list
+ title: Last Id
object:
type: string
const: list
+ title: Object
default: list
- description: >-
- Must be "list" to identify this as a list response
- additionalProperties: false
- required:
- - data
- - has_more
- - first_id
- - last_id
- - object
+ type: object
+ required:
+ - data
+ - has_more
+ - first_id
+ - last_id
title: ListOpenAIChatCompletionResponse
- description: >-
- Response from listing OpenAI-compatible chat completions.
+ description: Response from listing OpenAI-compatible chat completions.
OpenAIAssistantMessageParam:
- type: object
+ description: A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
properties:
role:
- type: string
const: assistant
default: assistant
- description: >-
- Must be "assistant" to identify this as the model's response
+ title: Role
+ type: string
content:
- oneOf:
- - type: string
- - type: array
- items:
- $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
- description: The content of the model's response
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ - type: 'null'
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ nullable: true
name:
- type: string
- description: >-
- (Optional) The name of the assistant message participant.
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
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
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
+ nullable: true
title: OpenAIAssistantMessageParam
- description: >-
- A message containing the model's (assistant) response in an OpenAI-compatible
- chat completion request.
- "OpenAIChatCompletionContentPartImageParam":
type: object
+ OpenAIChatCompletionContentPartImageParam:
properties:
type:
type: string
const: image_url
+ title: Type
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.
+ type: object
+ required:
+ - 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'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
OpenAIChatCompletionContentPartTextParam:
- type: object
properties:
type:
type: string
const: text
+ title: Type
default: text
- description: >-
- Must be "text" to identify this as text content
text:
type: string
- description: The text content of the message
- additionalProperties: false
+ title: Text
+ type: object
required:
- - type
- - text
+ - text
title: OpenAIChatCompletionContentPartTextParam
- description: >-
- Text content part for OpenAI-compatible chat completion messages.
+ 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
+ anyOf:
+ - type: integer
+ - type: 'null'
id:
- type: string
- description: >-
- (Optional) Unique identifier for the tool call
+ anyOf:
+ - type: string
+ - type: 'null'
type:
type: string
const: function
+ title: Type
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
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionToolCallFunction'
+ title: OpenAIChatCompletionToolCallFunction
+ - type: 'null'
+ title: OpenAIChatCompletionToolCallFunction
+ type: object
title: OpenAIChatCompletionToolCall
- description: >-
- Tool call specification for OpenAI-compatible chat completion responses.
+ 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
+ anyOf:
+ - type: string
+ - type: 'null'
arguments:
- type: string
- description: >-
- (Optional) Arguments to pass to the function as a JSON string
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
title: OpenAIChatCompletionToolCallFunction
- description: >-
- Function call details for OpenAI-compatible tool calls.
+ description: Function call details for OpenAI-compatible tool calls.
OpenAIChatCompletionUsage:
- type: object
properties:
prompt_tokens:
type: integer
- description: Number of tokens in the prompt
+ title: Prompt Tokens
completion_tokens:
type: integer
- description: Number of tokens in the completion
+ title: Completion Tokens
total_tokens:
type: integer
- description: Total tokens used (prompt + completion)
+ title: Total Tokens
prompt_tokens_details:
- type: object
- properties:
- cached_tokens:
- type: integer
- description: Number of tokens retrieved from cache
- additionalProperties: false
- title: >-
- OpenAIChatCompletionUsagePromptTokensDetails
- description: >-
- Token details for prompt tokens in OpenAI chat completion usage.
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsagePromptTokensDetails'
+ title: OpenAIChatCompletionUsagePromptTokensDetails
+ - type: 'null'
+ title: OpenAIChatCompletionUsagePromptTokensDetails
completion_tokens_details:
- type: object
- properties:
- reasoning_tokens:
- type: integer
- description: >-
- Number of tokens used for reasoning (o1/o3 models)
- additionalProperties: false
- title: >-
- OpenAIChatCompletionUsageCompletionTokensDetails
- description: >-
- Token details for output tokens in OpenAI chat completion usage.
- additionalProperties: false
- required:
- - prompt_tokens
- - completion_tokens
- - total_tokens
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsageCompletionTokensDetails'
+ title: OpenAIChatCompletionUsageCompletionTokensDetails
+ - type: 'null'
+ title: OpenAIChatCompletionUsageCompletionTokensDetails
+ type: object
+ required:
+ - prompt_tokens
+ - completion_tokens
+ - total_tokens
title: OpenAIChatCompletionUsage
- description: >-
- Usage information for OpenAI chat completion.
+ description: Usage information for OpenAI chat completion.
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'
+ - $ref: '#/components/schemas/OpenAIUserMessageParam-Output'
+ title: OpenAIUserMessageParam-Output
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ title: OpenAIAssistantMessageParam-Output
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ title: OpenAIUserMessageParam-Output | ... (5 variants)
discriminator:
propertyName: role
mapping:
- user: '#/components/schemas/OpenAIUserMessageParam'
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
system: '#/components/schemas/OpenAISystemMessageParam'
- assistant: '#/components/schemas/OpenAIAssistantMessageParam'
tool: '#/components/schemas/OpenAIToolMessageParam'
- developer: '#/components/schemas/OpenAIDeveloperMessageParam'
- description: The message from the model
+ user: '#/components/schemas/OpenAIUserMessageParam-Output'
finish_reason:
type: string
- description: The reason the model stopped generating
+ title: Finish Reason
index:
type: integer
- description: The index of the choice
+ title: Index
logprobs:
- $ref: '#/components/schemas/OpenAIChoiceLogprobs'
- description: >-
- (Optional) The log probabilities for the tokens in the message
- additionalProperties: false
- required:
- - message
- - finish_reason
- - index
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChoiceLogprobs'
+ title: OpenAIChoiceLogprobs
+ - type: 'null'
+ title: OpenAIChoiceLogprobs
+ type: object
+ required:
+ - message
+ - finish_reason
+ - index
title: OpenAIChoice
- description: >-
- A choice from an OpenAI-compatible chat completion response.
+ 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
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAITokenLogProb'
+ type: array
+ - type: 'null'
refusal:
- type: array
- items:
- $ref: '#/components/schemas/OpenAITokenLogProb'
- description: >-
- (Optional) The log probabilities for the tokens in the message
- additionalProperties: false
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAITokenLogProb'
+ type: array
+ - type: 'null'
+ type: object
title: OpenAIChoiceLogprobs
- description: >-
- The log probabilities for the tokens in the message from an OpenAI-compatible
- chat completion response.
+ 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
+ title: Role
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
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
name:
- type: string
- description: >-
- (Optional) The name of the developer message participant.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - role
- - content
+ - content
title: OpenAIDeveloperMessageParam
- description: >-
- A message from the developer in an OpenAI-compatible chat completion request.
+ description: A message from the developer in an OpenAI-compatible chat completion request.
OpenAIFile:
- type: object
properties:
type:
type: string
const: file
+ title: Type
default: file
file:
$ref: '#/components/schemas/OpenAIFileFile'
- additionalProperties: false
+ type: object
required:
- - type
- - file
+ - file
title: OpenAIFile
OpenAIFileFile:
- type: object
properties:
file_data:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
file_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
filename:
- type: string
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
title: OpenAIFileFile
OpenAIImageURL:
- type: object
properties:
url:
type: string
- description: >-
- URL of the image to include in the message
+ title: Url
detail:
- type: string
- description: >-
- (Optional) Level of detail for image processing. Can be "low", "high",
- or "auto"
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - url
+ - url
title: OpenAIImageURL
- description: >-
- Image URL specification for OpenAI-compatible chat completion messages.
+ 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'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam'
+ propertyName: role
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam'
+ title: OpenAIUserMessageParam
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam'
+ title: OpenAIAssistantMessageParam
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ title: OpenAIUserMessageParam | ... (5 variants)
OpenAISystemMessageParam:
- type: object
properties:
role:
type: string
const: system
+ title: Role
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).
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
name:
- type: string
- description: >-
- (Optional) The name of the system message participant.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - role
- - content
+ - content
title: OpenAISystemMessageParam
- description: >-
- A system message providing instructions or context to the model.
+ description: A system message providing instructions or context to the model.
OpenAITokenLogProb:
- type: object
properties:
token:
type: string
+ title: Token
bytes:
- type: array
- items:
- type: integer
+ anyOf:
+ - items:
+ type: integer
+ type: array
+ - type: 'null'
logprob:
type: number
+ title: Logprob
top_logprobs:
- type: array
items:
$ref: '#/components/schemas/OpenAITopLogProb'
- additionalProperties: false
+ type: array
+ title: Top Logprobs
+ type: object
required:
- - token
- - logprob
- - top_logprobs
+ - token
+ - logprob
+ - top_logprobs
title: OpenAITokenLogProb
- description: >-
- The log probability for a token from an OpenAI-compatible chat completion
- response.
+ description: |-
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
OpenAIToolMessageParam:
- type: object
properties:
role:
type: string
const: tool
+ title: Role
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
+ title: Tool Call Id
content:
- oneOf:
- - type: string
- - type: array
- items:
- $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
- description: The response content from the tool
- additionalProperties: false
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ type: object
required:
- - role
- - tool_call_id
- - content
+ - tool_call_id
+ - content
title: OpenAIToolMessageParam
- description: >-
- A message representing the result of a tool invocation in an OpenAI-compatible
- chat completion request.
+ description: A message representing the result of a tool invocation in an OpenAI-compatible chat completion request.
OpenAITopLogProb:
- type: object
properties:
token:
type: string
+ title: Token
bytes:
- type: array
- items:
- type: integer
+ anyOf:
+ - items:
+ type: integer
+ type: array
+ - type: 'null'
logprob:
type: number
- additionalProperties: false
+ title: Logprob
+ type: object
required:
- - token
- - logprob
+ - token
+ - logprob
title: OpenAITopLogProb
- description: >-
- The top log probability for a token from an OpenAI-compatible chat completion
- response.
+ description: |-
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
OpenAIUserMessageParam:
- type: object
+ description: A message from the user in an OpenAI-compatible chat completion request.
properties:
role:
- type: string
const: user
default: user
- description: >-
- Must be "user" to identify this as a user message
+ title: Role
+ type: string
content:
- oneOf:
- - type: string
- - type: array
- items:
- $ref: '#/components/schemas/OpenAIChatCompletionContentPartParam'
- description: >-
- The content of the message, which can include text and other media
+ anyOf:
+ - type: string
+ - items:
+ discriminator:
+ mapping:
+ file: '#/components/schemas/OpenAIFile'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ title: string | list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
name:
- type: string
- description: >-
- (Optional) The name of the user message participant.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
required:
- - role
- - content
+ - content
title: OpenAIUserMessageParam
- description: >-
- A message from the user in an OpenAI-compatible chat completion request.
- OpenAIJSONSchema:
type: object
+ OpenAIJSONSchema:
properties:
name:
type: string
- description: Name of the schema
+ title: Name
description:
- type: string
- description: (Optional) Description of the schema
+ anyOf:
+ - type: string
+ - type: 'null'
strict:
- type: boolean
- description: >-
- (Optional) Whether to enforce strict adherence to the schema
+ anyOf:
+ - type: boolean
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
title: OpenAIJSONSchema
- description: >-
- JSON schema specification for OpenAI-compatible structured response format.
+ description: JSON schema specification for OpenAI-compatible structured response format.
OpenAIResponseFormatJSONObject:
- type: object
properties:
type:
type: string
const: json_object
+ title: Type
default: json_object
- description: >-
- Must be "json_object" to indicate generic JSON object response format
- additionalProperties: false
- required:
- - type
+ type: object
title: OpenAIResponseFormatJSONObject
- description: >-
- JSON object response format for OpenAI-compatible chat completion requests.
+ description: JSON object response format for OpenAI-compatible chat completion requests.
OpenAIResponseFormatJSONSchema:
- type: object
properties:
type:
type: string
const: json_schema
+ title: Type
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
+ type: object
required:
- - type
- - json_schema
+ - json_schema
title: OpenAIResponseFormatJSONSchema
- description: >-
- JSON schema response format for OpenAI-compatible chat completion requests.
+ 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'
+ json_schema: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ text: '#/components/schemas/OpenAIResponseFormatText'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseFormatText'
+ title: OpenAIResponseFormatText
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ title: OpenAIResponseFormatJSONSchema
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONObject'
+ title: OpenAIResponseFormatJSONObject
+ title: OpenAIResponseFormatText | OpenAIResponseFormatJSONSchema | OpenAIResponseFormatJSONObject
OpenAIResponseFormatText:
- type: object
properties:
type:
type: string
const: text
+ title: Type
default: text
- description: >-
- Must be "text" to indicate plain text response format
- additionalProperties: false
- required:
- - type
+ type: object
title: OpenAIResponseFormatText
- description: >-
- Text response format for OpenAI-compatible chat completion requests.
+ description: Text response format for OpenAI-compatible chat completion requests.
OpenAIChatCompletionRequestWithExtraBody:
- 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.
+ title: Model
messages:
- type: array
items:
- $ref: '#/components/schemas/OpenAIMessageParam'
- description: List of messages in the conversation.
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam-Input'
+ title: OpenAIUserMessageParam-Input
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam-Input'
+ title: OpenAIAssistantMessageParam-Input
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ discriminator:
+ propertyName: role
+ mapping:
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam-Input'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam-Input'
+ title: OpenAIUserMessageParam-Input | ... (5 variants)
+ type: array
+ minItems: 1
+ title: Messages
frequency_penalty:
- type: number
- description: >-
- (Optional) The penalty for repeated tokens.
+ anyOf:
+ - type: number
+ - type: 'null'
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:
+ anyOf:
+ - type: string
+ - additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: (Optional) List of functions to use.
+ - type: 'null'
+ title: string | object
+ functions:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
logit_bias:
- type: object
- additionalProperties:
- type: number
- description: (Optional) The logit bias to use.
+ anyOf:
+ - additionalProperties:
+ type: number
+ type: object
+ - type: 'null'
logprobs:
- type: boolean
- description: (Optional) The log probabilities to use.
+ anyOf:
+ - type: boolean
+ - type: 'null'
max_completion_tokens:
- type: integer
- description: >-
- (Optional) The maximum number of tokens to generate.
+ anyOf:
+ - type: integer
+ - type: 'null'
max_tokens:
- type: integer
- description: >-
- (Optional) The maximum number of tokens to generate.
+ anyOf:
+ - type: integer
+ - type: 'null'
n:
- type: integer
- description: >-
- (Optional) The number of completions to generate.
+ anyOf:
+ - type: integer
+ - type: 'null'
parallel_tool_calls:
- type: boolean
- description: >-
- (Optional) Whether to parallelize tool calls.
+ anyOf:
+ - type: boolean
+ - type: 'null'
presence_penalty:
- type: number
- description: >-
- (Optional) The penalty for repeated tokens.
+ anyOf:
+ - type: number
+ - type: 'null'
response_format:
- $ref: '#/components/schemas/OpenAIResponseFormatParam'
- description: (Optional) The response format to use.
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseFormatText'
+ title: OpenAIResponseFormatText
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ title: OpenAIResponseFormatJSONSchema
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONObject'
+ title: OpenAIResponseFormatJSONObject
+ discriminator:
+ propertyName: type
+ mapping:
+ json_object: '#/components/schemas/OpenAIResponseFormatJSONObject'
+ json_schema: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ text: '#/components/schemas/OpenAIResponseFormatText'
+ title: OpenAIResponseFormatText | OpenAIResponseFormatJSONSchema | OpenAIResponseFormatJSONObject
+ - type: 'null'
+ title: Response Format
seed:
- type: integer
- description: (Optional) The seed to use.
+ anyOf:
+ - type: integer
+ - type: 'null'
stop:
- oneOf:
- - type: string
- - type: array
- items:
- type: string
- description: (Optional) The stop tokens to use.
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - type: 'null'
+ title: string | list[string]
stream:
- type: boolean
- description: >-
- (Optional) Whether to stream the response.
+ anyOf:
+ - type: boolean
+ - type: 'null'
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.
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
temperature:
- type: number
- description: (Optional) The temperature to use.
+ anyOf:
+ - type: number
+ - type: 'null'
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:
+ anyOf:
+ - type: string
+ - additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: (Optional) The tools to use.
+ - type: 'null'
+ title: string | object
+ tools:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
top_logprobs:
- type: integer
- description: >-
- (Optional) The top log probabilities to use.
+ anyOf:
+ - type: integer
+ - type: 'null'
top_p:
- type: number
- description: (Optional) The top p to use.
+ anyOf:
+ - type: number
+ - type: 'null'
user:
- type: string
- description: (Optional) The user to use.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
required:
- - model
- - messages
+ - model
+ - messages
title: OpenAIChatCompletionRequestWithExtraBody
- description: >-
- Request parameters for OpenAI-compatible chat completion endpoint.
+ description: Request parameters for OpenAI-compatible chat completion endpoint.
OpenAIChatCompletion:
- type: object
properties:
id:
type: string
- description: The ID of the chat completion
+ title: Id
choices:
- type: array
items:
$ref: '#/components/schemas/OpenAIChoice'
- description: List of choices
+ type: array
+ title: Choices
object:
type: string
const: chat.completion
+ title: Object
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
+ title: Created
model:
type: string
- description: >-
- The model that was used to generate the chat completion
+ title: Model
usage:
- $ref: '#/components/schemas/OpenAIChatCompletionUsage'
- description: >-
- Token usage information for the completion
- additionalProperties: false
- required:
- - id
- - choices
- - object
- - created
- - model
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsage'
+ title: OpenAIChatCompletionUsage
+ - type: 'null'
+ title: OpenAIChatCompletionUsage
+ type: object
+ required:
+ - id
+ - choices
+ - created
+ - model
title: OpenAIChatCompletion
- description: >-
- Response from an OpenAI-compatible chat completion request.
+ description: Response from an OpenAI-compatible chat completion request.
OpenAIChatCompletionChunk:
- type: object
+ description: Chunk from a streaming response to an OpenAI-compatible chat completion request.
properties:
id:
+ title: Id
type: string
- description: The ID of the chat completion
choices:
- type: array
items:
$ref: '#/components/schemas/OpenAIChunkChoice'
- description: List of choices
+ title: Choices
+ type: array
object:
- type: string
const: chat.completion.chunk
default: chat.completion.chunk
- description: >-
- The object type, which will be "chat.completion.chunk"
+ title: Object
+ type: string
created:
+ title: Created
type: integer
- description: >-
- The Unix timestamp in seconds when the chat completion was created
model:
+ title: Model
type: string
- description: >-
- The model that was used to generate the chat completion
usage:
- $ref: '#/components/schemas/OpenAIChatCompletionUsage'
- description: >-
- Token usage information (typically included in final chunk with stream_options)
- additionalProperties: false
- required:
- - id
- - choices
- - object
- - created
- - model
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsage'
+ title: OpenAIChatCompletionUsage
+ - type: 'null'
+ nullable: true
+ title: OpenAIChatCompletionUsage
+ required:
+ - id
+ - choices
+ - created
+ - model
title: OpenAIChatCompletionChunk
- description: >-
- Chunk from a streaming response to an OpenAI-compatible chat completion request.
- OpenAIChoiceDelta:
type: object
+ OpenAIChoiceDelta:
+ description: A delta from an OpenAI-compatible chat completion streaming response.
properties:
content:
- type: string
- description: (Optional) The content of the delta
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
refusal:
- type: string
- description: (Optional) The refusal of the delta
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
role:
- type: string
- description: (Optional) The role of the delta
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
tool_calls:
- type: array
- items:
- $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
- description: (Optional) The tool calls of the delta
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
+ nullable: true
reasoning_content:
- type: string
- description: >-
- (Optional) The reasoning content from the model (non-standard, for o1/o3
- models)
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
title: OpenAIChoiceDelta
- description: >-
- A delta from an OpenAI-compatible chat completion streaming response.
- OpenAIChunkChoice:
type: object
+ OpenAIChunkChoice:
+ description: A chunk choice from an OpenAI-compatible chat completion streaming response.
properties:
delta:
$ref: '#/components/schemas/OpenAIChoiceDelta'
- description: The delta from the chunk
finish_reason:
+ title: Finish Reason
type: string
- description: The reason the model stopped generating
index:
+ title: 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
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChoiceLogprobs'
+ title: OpenAIChoiceLogprobs
+ - type: 'null'
+ nullable: true
+ title: OpenAIChoiceLogprobs
+ required:
+ - delta
+ - finish_reason
+ - index
title: OpenAIChunkChoice
- description: >-
- A chunk choice from an OpenAI-compatible chat completion streaming response.
- OpenAICompletionWithInputMessages:
type: object
+ OpenAICompletionWithInputMessages:
properties:
id:
type: string
- description: The ID of the chat completion
+ title: Id
choices:
- type: array
items:
$ref: '#/components/schemas/OpenAIChoice'
- description: List of choices
+ type: array
+ title: Choices
object:
type: string
const: chat.completion
+ title: Object
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
+ title: Created
model:
type: string
- description: >-
- The model that was used to generate the chat completion
+ title: Model
usage:
- $ref: '#/components/schemas/OpenAIChatCompletionUsage'
- description: >-
- Token usage information for the completion
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsage'
+ title: OpenAIChatCompletionUsage
+ - type: 'null'
+ title: OpenAIChatCompletionUsage
input_messages:
- type: array
items:
- $ref: '#/components/schemas/OpenAIMessageParam'
- additionalProperties: false
- required:
- - id
- - choices
- - object
- - created
- - model
- - input_messages
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam-Output'
+ title: OpenAIUserMessageParam-Output
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ title: OpenAIAssistantMessageParam-Output
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ discriminator:
+ propertyName: role
+ mapping:
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam-Output'
+ title: OpenAIUserMessageParam-Output | ... (5 variants)
+ type: array
+ title: Input Messages
+ type: object
+ required:
+ - id
+ - choices
+ - created
+ - model
+ - input_messages
title: OpenAICompletionWithInputMessages
OpenAICompletionRequestWithExtraBody:
- 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.
+ title: Model
prompt:
- oneOf:
- - type: string
- - type: array
- items:
- type: string
- - type: array
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - items:
+ type: integer
+ type: array
+ title: list[integer]
+ - items:
items:
type: integer
- - type: array
- items:
- type: array
- items:
- type: integer
- description: The prompt to generate a completion for.
+ type: array
+ type: array
+ title: list[array]
+ title: string | ... (4 variants)
best_of:
- type: integer
- description: >-
- (Optional) The number of completions to generate.
+ anyOf:
+ - type: integer
+ - type: 'null'
echo:
- type: boolean
- description: (Optional) Whether to echo the prompt.
+ anyOf:
+ - type: boolean
+ - type: 'null'
frequency_penalty:
- type: number
- description: >-
- (Optional) The penalty for repeated tokens.
+ anyOf:
+ - type: number
+ - type: 'null'
logit_bias:
- type: object
- additionalProperties:
- type: number
- description: (Optional) The logit bias to use.
+ anyOf:
+ - additionalProperties:
+ type: number
+ type: object
+ - type: 'null'
logprobs:
- type: boolean
- description: (Optional) The log probabilities to use.
+ anyOf:
+ - type: boolean
+ - type: 'null'
max_tokens:
- type: integer
- description: >-
- (Optional) The maximum number of tokens to generate.
+ anyOf:
+ - type: integer
+ - type: 'null'
n:
- type: integer
- description: >-
- (Optional) The number of completions to generate.
+ anyOf:
+ - type: integer
+ - type: 'null'
presence_penalty:
- type: number
- description: >-
- (Optional) The penalty for repeated tokens.
+ anyOf:
+ - type: number
+ - type: 'null'
seed:
- type: integer
- description: (Optional) The seed to use.
+ anyOf:
+ - type: integer
+ - type: 'null'
stop:
- oneOf:
- - type: string
- - type: array
- items:
- type: string
- description: (Optional) The stop tokens to use.
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - type: 'null'
+ title: string | list[string]
stream:
- type: boolean
- description: >-
- (Optional) Whether to stream the response.
+ anyOf:
+ - type: boolean
+ - type: 'null'
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.
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
temperature:
- type: number
- description: (Optional) The temperature to use.
+ anyOf:
+ - type: number
+ - type: 'null'
top_p:
- type: number
- description: (Optional) The top p to use.
+ anyOf:
+ - type: number
+ - type: 'null'
user:
- type: string
- description: (Optional) The user to use.
+ anyOf:
+ - type: string
+ - type: 'null'
suffix:
- type: string
- description: >-
- (Optional) The suffix that should be appended to the completion.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
required:
- - model
- - prompt
+ - model
+ - prompt
title: OpenAICompletionRequestWithExtraBody
- description: >-
- Request parameters for OpenAI-compatible completion endpoint.
+ description: Request parameters for OpenAI-compatible completion endpoint.
OpenAICompletion:
- type: object
properties:
id:
type: string
+ title: Id
choices:
- type: array
items:
$ref: '#/components/schemas/OpenAICompletionChoice'
+ type: array
+ title: Choices
created:
type: integer
+ title: Created
model:
type: string
+ title: Model
object:
type: string
const: text_completion
+ title: Object
default: text_completion
- additionalProperties: false
+ type: object
required:
- - id
- - choices
- - created
- - model
- - object
+ - id
+ - choices
+ - created
+ - model
title: OpenAICompletion
- description: >-
+ description: |-
Response from an OpenAI-compatible completion request.
+
+ :id: The ID of the completion
+ :choices: List of choices
+ :created: The Unix timestamp in seconds when the completion was created
+ :model: The model that was used to generate the completion
+ :object: The object type, which will be "text_completion"
OpenAICompletionChoice:
- type: object
properties:
finish_reason:
type: string
+ title: Finish Reason
text:
type: string
+ title: Text
index:
type: integer
+ title: Index
logprobs:
- $ref: '#/components/schemas/OpenAIChoiceLogprobs'
- additionalProperties: false
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChoiceLogprobs'
+ title: OpenAIChoiceLogprobs
+ - type: 'null'
+ title: OpenAIChoiceLogprobs
+ type: object
required:
- - finish_reason
- - text
- - index
+ - finish_reason
+ - text
+ - index
title: OpenAICompletionChoice
- description: >-
+ description: |-
A choice from an OpenAI-compatible completion response.
+
+ :finish_reason: The reason the model stopped generating
+ :text: The text of the choice
+ :index: The index of the choice
+ :logprobs: (Optional) The log probabilities for the tokens in the choice
ConversationItem:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseMessage'
- - $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/OpenAIResponseOutputMessageMCPCall'
- - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
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'
function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
@@ -4270,5562 +4164,8070 @@ components:
mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ title: OpenAIResponseMessage | ... (9 variants)
OpenAIResponseAnnotationCitation:
- type: object
properties:
type:
type: string
const: url_citation
+ title: Type
default: url_citation
- description: >-
- Annotation type identifier, always "url_citation"
end_index:
type: integer
- description: >-
- End position of the citation span in the content
+ title: End Index
start_index:
type: integer
- description: >-
- Start position of the citation span in the content
+ title: Start Index
title:
type: string
- description: Title of the referenced web resource
+ title: Title
url:
type: string
- description: URL of the referenced web resource
- additionalProperties: false
+ title: Url
+ type: object
required:
- - type
- - end_index
- - start_index
- - title
- - url
+ - end_index
+ - start_index
+ - title
+ - url
title: OpenAIResponseAnnotationCitation
- description: >-
- URL citation annotation for referencing external web resources.
- "OpenAIResponseAnnotationContainerFileCitation":
- type: object
+ description: URL citation annotation for referencing external web resources.
+ OpenAIResponseAnnotationContainerFileCitation:
properties:
type:
type: string
const: container_file_citation
+ title: Type
default: container_file_citation
container_id:
type: string
+ title: Container Id
end_index:
type: integer
+ title: End Index
file_id:
type: string
+ title: File Id
filename:
type: string
+ title: Filename
start_index:
type: integer
- additionalProperties: false
+ title: Start Index
+ type: object
required:
- - type
- - container_id
- - end_index
- - file_id
- - filename
- - start_index
- title: >-
- OpenAIResponseAnnotationContainerFileCitation
+ - container_id
+ - end_index
+ - file_id
+ - filename
+ - start_index
+ title: OpenAIResponseAnnotationContainerFileCitation
OpenAIResponseAnnotationFileCitation:
- type: object
properties:
type:
type: string
const: file_citation
+ title: Type
default: file_citation
- description: >-
- Annotation type identifier, always "file_citation"
file_id:
type: string
- description: Unique identifier of the referenced file
+ title: File Id
filename:
type: string
- description: Name of the referenced file
+ title: Filename
index:
type: integer
- description: >-
- Position index of the citation within the content
- additionalProperties: false
+ title: Index
+ type: object
required:
- - type
- - file_id
- - filename
- - index
+ - file_id
+ - filename
+ - index
title: OpenAIResponseAnnotationFileCitation
- description: >-
- File citation annotation for referencing specific files in response content.
+ description: File citation annotation for referencing specific files in response content.
OpenAIResponseAnnotationFilePath:
- type: object
properties:
type:
type: string
const: file_path
+ title: Type
default: file_path
file_id:
type: string
+ title: File Id
index:
type: integer
- additionalProperties: false
+ title: Index
+ type: object
required:
- - type
- - file_id
- - index
+ - 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_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
OpenAIResponseContentPartRefusal:
- type: object
properties:
type:
type: string
const: refusal
+ title: Type
default: refusal
- description: >-
- Content part type identifier, always "refusal"
refusal:
type: string
- description: Refusal text supplied by the model
- additionalProperties: false
+ title: Refusal
+ type: object
required:
- - type
- - refusal
+ - refusal
title: OpenAIResponseContentPartRefusal
- description: >-
- Refusal content within a streamed response part.
- "OpenAIResponseInputFunctionToolCallOutput":
- type: object
+ description: Refusal content within a streamed response part.
+ OpenAIResponseInputFunctionToolCallOutput:
properties:
call_id:
type: string
+ title: Call Id
output:
type: string
+ title: Output
type:
type: string
const: function_call_output
+ title: Type
default: function_call_output
id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
status:
- type: string
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - call_id
- - output
- - type
- title: >-
- OpenAIResponseInputFunctionToolCallOutput
- description: >-
- This represents the output of a function call that gets passed back to the
- model.
+ - call_id
+ - output
+ 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'
- - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
discriminator:
- propertyName: type
mapping:
- input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
- input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
OpenAIResponseInputMessageContentFile:
- type: object
properties:
type:
type: string
const: input_file
+ title: Type
default: input_file
- description: >-
- The type of the input item. Always `input_file`.
file_data:
- type: string
- description: >-
- The data of the file to be sent to the model.
+ anyOf:
+ - type: string
+ - type: 'null'
file_id:
- type: string
- description: >-
- (Optional) The ID of the file to be sent to the model.
+ anyOf:
+ - type: string
+ - type: 'null'
file_url:
- type: string
- description: >-
- The URL of the file to be sent to the model.
+ anyOf:
+ - type: string
+ - type: 'null'
filename:
- type: string
- description: >-
- The name of the file to be sent to the model.
- additionalProperties: false
- required:
- - type
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
title: OpenAIResponseInputMessageContentFile
- description: >-
- File content for input messages in OpenAI response format.
+ description: File content for input messages in OpenAI response format.
OpenAIResponseInputMessageContentImage:
- type: object
properties:
detail:
- oneOf:
- - type: string
- const: low
- - type: string
- const: high
- - type: string
- const: auto
+ title: Detail
default: auto
- description: >-
- Level of detail for image processing, can be "low", "high", or "auto"
+ type: string
+ enum:
+ - low
+ - high
+ - auto
type:
type: string
const: input_image
+ title: Type
default: input_image
- description: >-
- Content type identifier, always "input_image"
file_id:
- type: string
- description: >-
- (Optional) The ID of the file to be sent to the model.
+ anyOf:
+ - type: string
+ - type: 'null'
image_url:
- type: string
- description: (Optional) URL of the image content
- additionalProperties: false
- required:
- - detail
- - type
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
title: OpenAIResponseInputMessageContentImage
- description: >-
- Image content for input messages in OpenAI response format.
+ 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
+ title: Text
type:
type: string
const: input_text
+ title: Type
default: input_text
- description: >-
- Content type identifier, always "input_text"
- additionalProperties: false
+ type: object
required:
- - text
- - type
+ - text
title: OpenAIResponseInputMessageContentText
- description: >-
- Text content for input messages in OpenAI response format.
+ description: Text content for input messages in OpenAI response format.
OpenAIResponseMCPApprovalRequest:
- type: object
properties:
arguments:
type: string
+ title: Arguments
id:
type: string
+ title: Id
name:
type: string
+ title: Name
server_label:
type: string
+ title: Server Label
type:
type: string
const: mcp_approval_request
+ title: Type
default: mcp_approval_request
- additionalProperties: false
+ type: object
required:
- - arguments
- - id
- - name
- - server_label
- - type
+ - arguments
+ - id
+ - name
+ - server_label
title: OpenAIResponseMCPApprovalRequest
- description: >-
- A request for human approval of a tool invocation.
+ description: A request for human approval of a tool invocation.
OpenAIResponseMCPApprovalResponse:
- type: object
properties:
approval_request_id:
type: string
+ title: Approval Request Id
approve:
type: boolean
+ title: Approve
type:
type: string
const: mcp_approval_response
+ title: Type
default: mcp_approval_response
id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
reason:
- type: string
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - approval_request_id
- - approve
- - type
+ - approval_request_id
+ - approve
title: OpenAIResponseMCPApprovalResponse
description: A response to an MCP approval request.
OpenAIResponseMessage:
- type: object
+ 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.
properties:
content:
- oneOf:
- - type: string
- - type: array
- items:
- $ref: '#/components/schemas/OpenAIResponseInputMessageContent'
- - type: array
- items:
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContent'
+ anyOf:
+ - type: string
+ - items:
+ discriminator:
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ type: array
+ title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
+ - items:
+ discriminator:
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ title: OpenAIResponseOutputMessageContentOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
+ type: array
+ title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
role:
- oneOf:
- - type: string
- const: system
- - type: string
- const: developer
- - type: string
- const: user
- - type: string
- const: assistant
- type:
+ title: Role
type: string
+ enum:
+ - system
+ - developer
+ - user
+ - assistant
+ default: system
+ type:
const: message
default: message
- id:
+ title: Type
type: string
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
status:
- type: string
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
required:
- - content
- - role
- - type
+ - content
+ - role
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.
+ type: object
OpenAIResponseOutputMessageContent:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
- - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
discriminator:
- propertyName: type
mapping:
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
- "OpenAIResponseOutputMessageContentOutputText":
- type: object
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ title: OpenAIResponseOutputMessageContentOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
+ OpenAIResponseOutputMessageContentOutputText:
properties:
text:
type: string
+ title: Text
type:
type: string
const: output_text
+ title: Type
default: output_text
annotations:
- type: array
items:
- $ref: '#/components/schemas/OpenAIResponseAnnotations'
- additionalProperties: false
- required:
- - text
- - type
- - annotations
- title: >-
- OpenAIResponseOutputMessageContentOutputText
- "OpenAIResponseOutputMessageFileSearchToolCall":
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ discriminator:
+ propertyName: type
+ mapping:
+ container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
+ type: array
+ title: Annotations
type: object
+ required:
+ - text
+ title: OpenAIResponseOutputMessageContentOutputText
+ OpenAIResponseOutputMessageFileSearchToolCall:
properties:
id:
type: string
- description: Unique identifier for this tool call
+ title: Id
queries:
- type: array
items:
type: string
- description: List of search queries executed
+ type: array
+ title: Queries
status:
type: string
- description: >-
- Current status of the file search operation
+ title: Status
type:
type: string
const: file_search_call
+ title: Type
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":
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCallResults'
+ type: array
+ - type: 'null'
type: object
+ required:
+ - id
+ - queries
+ - status
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ description: File search tool call output message for OpenAI responses.
+ OpenAIResponseOutputMessageFunctionToolCall:
properties:
call_id:
type: string
- description: Unique identifier for the function call
+ title: Call Id
name:
type: string
- description: Name of the function being called
+ title: Name
arguments:
type: string
- description: >-
- JSON string containing the function arguments
+ title: Arguments
type:
type: string
const: function_call
+ title: Type
default: function_call
- description: >-
- Tool call type identifier, always "function_call"
id:
- type: string
- description: >-
- (Optional) Additional identifier for the tool call
+ anyOf:
+ - type: string
+ - type: 'null'
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:
+ anyOf:
+ - type: string
+ - type: 'null'
type: object
+ required:
+ - call_id
+ - name
+ - arguments
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ description: Function tool call output message for OpenAI responses.
+ OpenAIResponseOutputMessageMCPCall:
properties:
id:
type: string
- description: Unique identifier for this MCP call
+ title: Id
type:
type: string
const: mcp_call
+ title: Type
default: mcp_call
- description: >-
- Tool call type identifier, always "mcp_call"
arguments:
type: string
- description: >-
- JSON string containing the MCP call arguments
+ title: Arguments
name:
type: string
- description: Name of the MCP method being called
+ title: Name
server_label:
type: string
- description: >-
- Label identifying the MCP server handling the call
+ title: Server Label
error:
- type: string
- description: >-
- (Optional) Error message if the MCP call failed
+ anyOf:
+ - type: string
+ - type: 'null'
output:
- type: string
- description: >-
- (Optional) Output result from the successful MCP call
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - id
- - type
- - arguments
- - name
- - server_label
+ - id
+ - arguments
+ - name
+ - server_label
title: OpenAIResponseOutputMessageMCPCall
- description: >-
- Model Context Protocol (MCP) call output message for OpenAI responses.
+ 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
+ title: Id
type:
type: string
const: mcp_list_tools
+ title: Type
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
+ title: Server Label
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":
+ $ref: '#/components/schemas/MCPListToolsTool'
+ type: array
+ title: Tools
type: object
+ required:
+ - id
+ - server_label
+ - tools
+ title: OpenAIResponseOutputMessageMCPListTools
+ description: MCP list tools output message containing available tools from an MCP server.
+ OpenAIResponseOutputMessageWebSearchToolCall:
properties:
id:
type: string
- description: Unique identifier for this tool call
+ title: Id
status:
type: string
- description: >-
- Current status of the web search operation
+ title: Status
type:
type: string
const: web_search_call
+ title: Type
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.
- CreateConversationRequest:
type: object
+ required:
+ - id
+ - status
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ description: Web search tool call output message for OpenAI responses.
+ CreateConversationRequest:
properties:
items:
- type: array
- items:
- $ref: '#/components/schemas/ConversationItem'
- description: >-
- Initial items to include in the conversation context.
+ anyOf:
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Input'
+ title: OpenAIResponseMessage-Input
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Input'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Input | ... (9 variants)
+ type: array
+ - type: 'null'
metadata:
- type: object
- additionalProperties:
- type: string
- description: >-
- Set of key-value pairs that can be attached to an object.
- additionalProperties: false
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - type: 'null'
+ type: object
title: CreateConversationRequest
Conversation:
- type: object
properties:
id:
type: string
+ title: Id
+ description: The unique ID of the conversation.
object:
type: string
const: conversation
+ title: Object
+ description: The object type, which is always conversation.
default: conversation
created_at:
type: integer
+ title: Created At
+ description: The time at which the conversation was created, measured in seconds since the Unix epoch.
metadata:
- type: object
- additionalProperties:
- type: string
- items:
- type: array
- items:
+ anyOf:
+ - additionalProperties:
+ type: string
type: object
- title: dict
- description: >-
- dict() -> new empty dictionary dict(mapping) -> new dictionary initialized
- from a mapping object's (key, value) pairs dict(iterable) -> new
- dictionary initialized as if via: d = {} for k, v in iterable: d[k]
- = v dict(**kwargs) -> new dictionary initialized with the name=value
- pairs in the keyword argument list. For example: dict(one=1, two=2)
- additionalProperties: false
- required:
- - id
- - object
- - created_at
+ - type: 'null'
+ description: Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard.
+ items:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
+ description: Initial items to include in the conversation context. You may add up to 20 items at a time.
+ type: object
+ required:
+ - id
+ - created_at
title: Conversation
description: OpenAI-compatible conversation object.
UpdateConversationRequest:
- type: object
properties:
metadata:
- type: object
additionalProperties:
type: string
- description: >-
- Set of key-value pairs that can be attached to an object.
- additionalProperties: false
+ type: object
+ title: Metadata
+ type: object
required:
- - metadata
+ - metadata
title: UpdateConversationRequest
ConversationDeletedResource:
- type: object
properties:
id:
type: string
+ title: Id
+ description: The deleted conversation identifier
object:
type: string
+ title: Object
+ description: Object type
default: conversation.deleted
deleted:
type: boolean
+ title: Deleted
+ description: Whether the object was deleted
default: true
- additionalProperties: false
+ type: object
required:
- - id
- - object
- - deleted
+ - id
title: ConversationDeletedResource
description: Response for deleted conversation.
ConversationItemList:
- type: object
properties:
object:
type: string
+ title: Object
+ description: Object type
default: list
data:
- type: array
items:
- $ref: '#/components/schemas/ConversationItem'
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (9 variants)
+ type: array
+ title: Data
+ description: List of conversation items
first_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: The ID of the first item in the list
last_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: The ID of the last item in the list
has_more:
type: boolean
+ title: Has More
+ description: Whether there are more items available
default: false
- additionalProperties: false
+ type: object
required:
- - object
- - data
- - has_more
+ - data
title: ConversationItemList
- description: >-
- List of conversation items with pagination.
+ description: List of conversation items with pagination.
AddItemsRequest:
- type: object
properties:
items:
- type: array
items:
- $ref: '#/components/schemas/ConversationItem'
- description: >-
- Items to include in the conversation context.
- additionalProperties: false
- required:
- - items
- title: AddItemsRequest
- ConversationItemDeletedResource:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Input'
+ title: OpenAIResponseMessage-Input
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Input'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Input | ... (9 variants)
+ type: array
+ title: Items
type: object
+ required:
+ - items
+ title: AddItemsRequest
+ ConversationItemDeletedResource:
properties:
id:
type: string
+ title: Id
+ description: The deleted item identifier
object:
type: string
+ title: Object
+ description: Object type
default: conversation.item.deleted
deleted:
type: boolean
+ title: Deleted
+ description: Whether the object was deleted
default: true
- additionalProperties: false
+ type: object
required:
- - id
- - object
- - deleted
+ - id
title: ConversationItemDeletedResource
description: Response for deleted conversation item.
OpenAIEmbeddingsRequestWithExtraBody:
- 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.
+ title: Model
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.
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ title: string | list[string]
encoding_format:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
default: float
- 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.
+ anyOf:
+ - type: integer
+ - type: 'null'
user:
- type: string
- description: >-
- (Optional) A unique identifier representing your end-user, which can help
- OpenAI to monitor and detect abuse.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
required:
- - model
- - input
+ - model
+ - input
title: OpenAIEmbeddingsRequestWithExtraBody
- description: >-
- Request parameters for OpenAI-compatible embeddings endpoint.
+ description: Request parameters for OpenAI-compatible embeddings endpoint.
OpenAIEmbeddingData:
- type: object
properties:
object:
type: string
const: embedding
+ title: Object
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")
+ anyOf:
+ - items:
+ type: number
+ type: array
+ title: list[number]
+ - type: string
+ title: list[number] | string
index:
type: integer
- description: >-
- The index of the embedding in the input list
- additionalProperties: false
+ title: Index
+ type: object
required:
- - object
- - embedding
- - index
+ - embedding
+ - index
title: OpenAIEmbeddingData
- description: >-
- A single embedding data object from an OpenAI-compatible embeddings response.
+ 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
+ title: Prompt Tokens
total_tokens:
type: integer
- description: The total number of tokens used
- additionalProperties: false
+ title: Total Tokens
+ type: object
required:
- - prompt_tokens
- - total_tokens
+ - prompt_tokens
+ - total_tokens
title: OpenAIEmbeddingUsage
- description: >-
- Usage information for an OpenAI-compatible embeddings response.
+ description: Usage information for an OpenAI-compatible embeddings response.
OpenAIEmbeddingsResponse:
- type: object
properties:
object:
type: string
const: list
+ title: Object
default: list
- description: The object type, which will be "list"
data:
- type: array
items:
$ref: '#/components/schemas/OpenAIEmbeddingData'
- description: List of embedding data objects
+ type: array
+ title: Data
model:
type: string
- description: >-
- The model that was used to generate the embeddings
+ title: Model
usage:
$ref: '#/components/schemas/OpenAIEmbeddingUsage'
- description: Usage information
- additionalProperties: false
+ type: object
required:
- - object
- - data
- - model
- - usage
+ - data
+ - model
+ - usage
title: OpenAIEmbeddingsResponse
- description: >-
- Response from an OpenAI-compatible embeddings request.
+ description: Response from an OpenAI-compatible embeddings request.
OpenAIFilePurpose:
type: string
enum:
- - assistants
- - batch
+ - assistants
+ - batch
title: OpenAIFilePurpose
- description: >-
- Valid purpose values for OpenAI Files API.
+ 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
+ type: array
+ title: Data
has_more:
type: boolean
- description: >-
- Whether there are more files available beyond this page
+ title: Has More
first_id:
type: string
- description: >-
- ID of the first file in the list for pagination
+ title: First Id
last_id:
type: string
- description: >-
- ID of the last file in the list for pagination
+ title: Last Id
object:
type: string
const: list
+ title: Object
default: list
- description: The object type, which is always "list"
- additionalProperties: false
- required:
- - data
- - has_more
- - first_id
- - last_id
- - object
+ type: object
+ required:
+ - data
+ - has_more
+ - first_id
+ - last_id
title: ListOpenAIFileResponse
- description: >-
- Response for listing files in OpenAI Files API.
+ description: Response for listing files in OpenAI Files API.
OpenAIFileObject:
- type: object
properties:
object:
type: string
const: file
+ title: Object
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
+ title: Id
bytes:
type: integer
- description: The size of the file, in bytes
+ title: Bytes
created_at:
type: integer
- description: >-
- The Unix timestamp (in seconds) for when the file was created
+ title: Created At
expires_at:
type: integer
- description: >-
- The Unix timestamp (in seconds) for when the file expires
+ title: Expires At
filename:
type: string
- description: The name of the file
+ title: Filename
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
+ $ref: '#/components/schemas/OpenAIFilePurpose'
+ type: object
+ required:
+ - id
+ - bytes
+ - created_at
+ - expires_at
+ - filename
+ - purpose
title: OpenAIFileObject
- description: >-
- OpenAI File object as defined in the OpenAI Files API.
+ description: OpenAI File object as defined in the OpenAI Files API.
ExpiresAfter:
- type: object
properties:
anchor:
type: string
const: created_at
+ title: Anchor
seconds:
type: integer
- additionalProperties: false
+ maximum: 2592000.0
+ minimum: 3600.0
+ title: Seconds
+ type: object
required:
- - anchor
- - seconds
+ - anchor
+ - seconds
title: ExpiresAfter
- description: >-
+ 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
+ title: Id
object:
type: string
const: file
+ title: Object
default: file
- description: The object type, which is always "file"
deleted:
type: boolean
- description: >-
- Whether the file was successfully deleted
- additionalProperties: false
+ title: Deleted
+ type: object
required:
- - id
- - object
- - deleted
+ - id
+ - deleted
title: OpenAIFileDeleteResponse
- description: >-
- Response for deleting a file in OpenAI Files API.
+ description: Response for deleting a file in OpenAI Files API.
Response:
- type: object
title: Response
- HealthInfo:
type: object
+ HealthInfo:
properties:
status:
- type: string
- enum:
- - OK
- - Error
- - Not Implemented
- description: Current health status of the service
- additionalProperties: false
+ $ref: '#/components/schemas/HealthStatus'
+ type: object
required:
- - status
+ - status
title: HealthInfo
- description: >-
- Health status information for the service.
+ description: Health status information for the service.
RouteInfo:
- type: object
properties:
route:
type: string
- description: The API endpoint path
+ title: Route
method:
type: string
- description: HTTP method for the route
+ title: Method
provider_types:
- type: array
items:
type: string
- description: >-
- List of provider types that implement this route
- additionalProperties: false
+ type: array
+ title: Provider Types
+ type: object
required:
- - route
- - method
- - provider_types
+ - route
+ - method
+ - provider_types
title: RouteInfo
- description: >-
- Information about an API route including its path, method, and implementing
- providers.
+ 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
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListRoutesResponse
- description: >-
- Response containing a list of all available API routes.
+ description: Response containing a list of all available API routes.
OpenAIModel:
- type: object
properties:
id:
type: string
+ title: Id
object:
type: string
const: model
+ title: Object
default: model
created:
type: integer
+ title: Created
owned_by:
type: string
+ title: Owned By
custom_metadata:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- additionalProperties: false
- required:
- - id
- - object
- - created
- - owned_by
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - id
+ - created
+ - owned_by
title: OpenAIModel
- description: A model from OpenAI.
+ description: |-
+ A model from OpenAI.
+
+ :id: The ID of the model
+ :object: The object type, which will be "model"
+ :created: The Unix timestamp in seconds when the model was created
+ :owned_by: The owner of the model
+ :custom_metadata: Llama Stack-specific metadata including model_type, provider info, and additional metadata
OpenAIListModelsResponse:
- type: object
properties:
data:
- type: array
items:
$ref: '#/components/schemas/OpenAIModel'
- additionalProperties: false
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: OpenAIListModelsResponse
Model:
- type: object
properties:
identifier:
type: string
- description: >-
- Unique identifier for this resource in llama stack
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
provider_resource_id:
- type: string
- description: >-
- Unique identifier for this resource in the provider
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
provider_id:
type: string
- description: >-
- ID of the provider that owns this resource
+ title: Provider Id
+ description: ID of the provider that owns this resource
type:
type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
const: model
+ title: Type
default: model
- description: >-
- The resource type, always 'model' for model resources
metadata:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
+ title: Metadata
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
+ type: object
+ required:
+ - identifier
+ - provider_id
title: Model
- description: >-
- A model resource representing an AI model registered in Llama Stack.
+ description: A model resource representing an AI model registered in Llama Stack.
ModelType:
type: string
enum:
- - llm
- - embedding
- - rerank
+ - llm
+ - embedding
+ - rerank
title: ModelType
- description: >-
- Enumeration of supported model types in Llama Stack.
+ description: Enumeration of supported model types in Llama Stack.
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.
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ title: string | list[string]
model:
- type: string
- description: >-
- (Optional) The content moderation model you would like to use.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - input
+ - input
title: RunModerationRequest
ModerationObject:
- type: object
properties:
id:
type: string
- description: >-
- The unique identifier for the moderation request.
+ title: Id
model:
type: string
- description: >-
- The model used to generate the moderation results.
+ title: Model
results:
- type: array
items:
$ref: '#/components/schemas/ModerationObjectResults'
- description: A list of moderation objects
- additionalProperties: false
+ type: array
+ title: Results
+ type: object
required:
- - id
- - model
- - results
+ - 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.
+ title: Flagged
categories:
- type: object
- additionalProperties:
- type: boolean
- description: >-
- A list of the categories, and whether they are flagged or not.
+ anyOf:
+ - additionalProperties:
+ type: boolean
+ type: object
+ - type: 'null'
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.
+ anyOf:
+ - additionalProperties:
+ items:
+ type: string
+ type: array
+ type: object
+ - type: 'null'
category_scores:
- type: object
- additionalProperties:
- type: number
- description: >-
- A list of the categories along with their scores as predicted by model.
+ anyOf:
+ - additionalProperties:
+ type: number
+ type: object
+ - type: 'null'
user_message:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
metadata:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- additionalProperties: false
+ title: Metadata
+ type: object
required:
- - flagged
- - metadata
+ - flagged
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.
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: The system prompt with variable placeholders
version:
type: integer
- description: >-
- Version (integer starting at 1, incremented on save)
+ minimum: 1.0
+ title: Version
+ description: Version (integer starting at 1, incremented on save)
prompt_id:
type: string
- description: >-
- Unique identifier formatted as 'pmpt_<48-digit-hash>'
+ title: Prompt Id
+ description: Unique identifier in format 'pmpt_<48-digit-hash>'
variables:
- type: array
items:
type: string
- description: >-
- List of prompt variable names that can be used in the prompt template
+ type: array
+ title: Variables
+ description: List of variable names that can be used in the prompt template
is_default:
type: boolean
+ title: Is Default
+ description: Boolean indicating whether this version is the default version
default: false
- description: >-
- Boolean indicating whether this version is the default version for this
- prompt
- additionalProperties: false
- required:
- - version
- - prompt_id
- - variables
- - is_default
+ type: object
+ required:
+ - version
+ - prompt_id
title: Prompt
- description: >-
- A prompt resource representing a stored OpenAI Compatible prompt template
- in Llama Stack.
+ 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
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListPromptsResponse
description: Response model to list prompts.
CreatePromptRequest:
- type: object
properties:
prompt:
type: string
- description: >-
- The prompt text content with variable placeholders.
+ title: Prompt
variables:
- type: array
- items:
- type: string
- description: >-
- List of variable names that can be used in the prompt template.
- additionalProperties: false
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ type: object
required:
- - prompt
+ - prompt
title: CreatePromptRequest
UpdatePromptRequest:
- type: object
properties:
prompt:
type: string
- description: The updated prompt text content.
+ title: Prompt
version:
type: integer
- description: >-
- The current version of the prompt being updated.
+ title: Version
variables:
- type: array
- items:
- type: string
- description: >-
- Updated list of variable names that can be used in the prompt template.
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
set_as_default:
type: boolean
- description: >-
- Set the new version as the default (default=True).
- additionalProperties: false
+ title: Set As Default
+ default: true
+ type: object
required:
- - prompt
- - version
- - set_as_default
+ - prompt
+ - version
title: UpdatePromptRequest
SetDefaultVersionRequest:
- type: object
properties:
version:
type: integer
- description: The version to set as default.
- additionalProperties: false
+ title: Version
+ type: object
required:
- - version
+ - version
title: SetDefaultVersionRequest
ProviderInfo:
- type: object
properties:
api:
type: string
- description: The API name this provider implements
+ title: Api
provider_id:
type: string
- description: Unique identifier for the provider
+ title: Provider Id
provider_type:
type: string
- description: The type of provider implementation
+ title: Provider Type
config:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- Configuration parameters for the provider
+ title: Config
health:
+ additionalProperties: true
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: Health
+ type: object
+ required:
+ - api
+ - provider_id
+ - provider_type
+ - config
+ - health
title: ProviderInfo
- description: >-
- Information about a registered provider including its configuration and health
- status.
+ 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
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListProvidersResponse
- description: >-
- Response containing a list of all available providers.
+ 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
+ type: array
+ title: Data
has_more:
type: boolean
- description: >-
- Whether there are more results available beyond this page
+ title: Has More
first_id:
type: string
- description: >-
- Identifier of the first item in this page
+ title: First Id
last_id:
type: string
- description: Identifier of the last item in this page
+ title: Last Id
object:
type: string
const: list
+ title: Object
default: list
- description: Object type identifier, always "list"
- additionalProperties: false
- required:
- - data
- - has_more
- - first_id
- - last_id
- - object
+ type: object
+ required:
+ - data
+ - has_more
+ - first_id
+ - last_id
title: ListOpenAIResponseObject
- description: >-
- Paginated list of OpenAI response objects with navigation metadata.
+ description: Paginated list of OpenAI response objects with navigation metadata.
OpenAIResponseError:
- type: object
properties:
code:
type: string
- description: >-
- Error code identifying the type of failure
+ title: Code
message:
type: string
- description: >-
- Human-readable error message describing the failure
- additionalProperties: false
+ title: Message
+ type: object
required:
- - code
- - message
+ - code
+ - message
title: OpenAIResponseError
- description: >-
- Error details for failed OpenAI response requests.
+ description: Error details for failed OpenAI response requests.
OpenAIResponseInput:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseOutput'
- - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
- - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ anyOf:
+ - discriminator:
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
- $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ title: OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessage
OpenAIResponseInputToolFileSearch:
- type: object
properties:
type:
type: string
const: file_search
+ title: Type
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
+ type: array
+ title: Vector Store Ids
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
max_num_results:
- type: integer
+ anyOf:
+ - type: integer
+ maximum: 50.0
+ minimum: 1.0
+ - type: 'null'
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
+ anyOf:
+ - $ref: '#/components/schemas/SearchRankingOptions'
+ title: SearchRankingOptions
+ - type: 'null'
+ title: SearchRankingOptions
+ type: object
+ required:
+ - vector_store_ids
title: OpenAIResponseInputToolFileSearch
- description: >-
- File search tool configuration for OpenAI response inputs.
+ description: File search tool configuration for OpenAI response inputs.
OpenAIResponseInputToolFunction:
- type: object
properties:
type:
type: string
const: function
+ title: Type
default: function
- description: Tool type identifier, always "function"
name:
type: string
- description: Name of the function that can be called
+ title: Name
description:
- type: string
- description: >-
- (Optional) Description of what the function does
+ anyOf:
+ - type: string
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
strict:
- type: boolean
- description: >-
- (Optional) Whether to enforce strict parameter validation
- additionalProperties: false
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ type: object
required:
- - type
- - name
+ - name
+ - parameters
title: OpenAIResponseInputToolFunction
- description: >-
- Function tool configuration for OpenAI response inputs.
+ description: Function 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
- - type: string
- const: web_search_2025_08_26
+ title: Type
default: web_search
- description: Web search tool type variant to use
- search_context_size:
type: string
+ enum:
+ - web_search
+ - web_search_preview
+ - web_search_preview_2025_03_11
+ - web_search_2025_08_26
+ search_context_size:
+ anyOf:
+ - type: string
+ pattern: ^low|medium|high$
+ - type: 'null'
default: medium
- description: >-
- (Optional) Size of search context, must be "low", "medium", or "high"
- additionalProperties: false
- required:
- - type
+ type: object
title: OpenAIResponseInputToolWebSearch
- description: >-
- Web search tool configuration for OpenAI response inputs.
+ description: Web search tool configuration for OpenAI response inputs.
OpenAIResponseObjectWithInput:
- type: object
properties:
created_at:
type: integer
- description: >-
- Unix timestamp when the response was created
+ title: Created At
error:
- $ref: '#/components/schemas/OpenAIResponseError'
- description: >-
- (Optional) Error details if the response generation failed
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseError'
+ title: OpenAIResponseError
+ - type: 'null'
+ title: OpenAIResponseError
id:
type: string
- description: Unique identifier for this response
+ title: Id
model:
type: string
- description: Model identifier used for generation
+ title: Model
object:
type: string
const: response
+ title: Object
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.)
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ type: array
+ title: Output
parallel_tool_calls:
type: boolean
+ title: Parallel Tool Calls
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
+ anyOf:
+ - type: string
+ - type: 'null'
prompt:
- $ref: '#/components/schemas/OpenAIResponsePrompt'
- description: >-
- (Optional) Reference to a prompt template and its variables.
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponsePrompt'
+ title: OpenAIResponsePrompt
+ - type: 'null'
+ title: OpenAIResponsePrompt
status:
type: string
- description: >-
- Current status of the response generation
+ title: Status
temperature:
- type: number
- description: >-
- (Optional) Sampling temperature used for generation
+ anyOf:
+ - type: number
+ - type: 'null'
text:
$ref: '#/components/schemas/OpenAIResponseText'
- description: >-
- Text formatting configuration for the response
+ default:
+ format:
+ type: text
top_p:
- type: number
- description: >-
- (Optional) Nucleus sampling parameter used for generation
+ anyOf:
+ - type: number
+ - type: 'null'
tools:
- type: array
- items:
- $ref: '#/components/schemas/OpenAIResponseTool'
- description: >-
- (Optional) An array of tools the model may call while generating a response.
+ anyOf:
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseToolMCP'
+ title: OpenAIResponseToolMCP
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ function: '#/components/schemas/OpenAIResponseInputToolFunction'
+ mcp: '#/components/schemas/OpenAIResponseToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
+ type: array
+ - type: 'null'
truncation:
- type: string
- description: >-
- (Optional) Truncation strategy applied to the response
+ anyOf:
+ - type: string
+ - type: 'null'
usage:
- $ref: '#/components/schemas/OpenAIResponseUsage'
- description: >-
- (Optional) Token usage information for the response
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsage'
+ title: OpenAIResponseUsage
+ - type: 'null'
+ title: OpenAIResponseUsage
instructions:
- type: string
- description: >-
- (Optional) System message inserted into the model's context
+ anyOf:
+ - type: string
+ - type: 'null'
max_tool_calls:
- type: integer
- description: >-
- (Optional) Max number of total calls to built-in tools that can be processed
- in a response
+ anyOf:
+ - type: integer
+ - type: 'null'
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
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ title: OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessage-Output
+ type: array
+ title: Input
+ type: object
+ required:
+ - created_at
+ - id
+ - model
+ - output
+ - status
+ - input
title: OpenAIResponseObjectWithInput
- description: >-
- OpenAI response object extended with input context information.
+ 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_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
- mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
OpenAIResponsePrompt:
- type: object
properties:
id:
type: string
- description: Unique identifier of the prompt template
+ title: Id
variables:
- type: object
- additionalProperties:
- $ref: '#/components/schemas/OpenAIResponseInputMessageContent'
- description: >-
- Dictionary of variable names to OpenAIResponseInputMessageContent structure
- for template substitution. The substitution values can either be strings,
- or other Response input types like images or files.
+ anyOf:
+ - additionalProperties:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ discriminator:
+ propertyName: type
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ type: object
+ - type: 'null'
version:
- type: string
- description: >-
- Version number of the prompt to use (defaults to latest if not specified)
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - id
+ - id
title: OpenAIResponsePrompt
- description: >-
- OpenAI compatible Prompt object that is used in OpenAI responses.
+ description: OpenAI compatible Prompt object that is used in 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
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseTextFormat'
+ title: OpenAIResponseTextFormat
+ - type: 'null'
+ title: OpenAIResponseTextFormat
+ type: object
title: OpenAIResponseText
- description: >-
- Text response configuration for OpenAI responses.
+ description: Text response configuration for OpenAI responses.
OpenAIResponseTool:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
- - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
- - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
- - $ref: '#/components/schemas/OpenAIResponseToolMCP'
discriminator:
- propertyName: type
mapping:
- web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
function: '#/components/schemas/OpenAIResponseInputToolFunction'
mcp: '#/components/schemas/OpenAIResponseToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseToolMCP'
+ title: OpenAIResponseToolMCP
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
OpenAIResponseToolMCP:
- type: object
properties:
type:
type: string
const: mcp
+ title: Type
default: mcp
- description: Tool type identifier, always "mcp"
server_label:
type: string
- description: Label to identify this MCP server
+ title: Server Label
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
+ anyOf:
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - $ref: '#/components/schemas/AllowedToolsFilter'
+ title: AllowedToolsFilter
+ - type: 'null'
+ title: list[string] | AllowedToolsFilter
+ type: object
+ required:
+ - server_label
title: OpenAIResponseToolMCP
- description: >-
- Model Context Protocol (MCP) tool configuration for OpenAI response object.
+ description: Model Context Protocol (MCP) tool configuration for OpenAI response object.
OpenAIResponseUsage:
- type: object
properties:
input_tokens:
type: integer
- description: Number of tokens in the input
+ title: Input Tokens
output_tokens:
type: integer
- description: Number of tokens in the output
+ title: Output Tokens
total_tokens:
type: integer
- description: Total tokens used (input + output)
+ title: Total Tokens
input_tokens_details:
- type: object
- properties:
- cached_tokens:
- type: integer
- description: Number of tokens retrieved from cache
- additionalProperties: false
- description: Detailed breakdown of input token usage
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsageInputTokensDetails'
+ title: OpenAIResponseUsageInputTokensDetails
+ - type: 'null'
+ title: OpenAIResponseUsageInputTokensDetails
output_tokens_details:
- type: object
- properties:
- reasoning_tokens:
- type: integer
- description: >-
- Number of tokens used for reasoning (o1/o3 models)
- additionalProperties: false
- description: Detailed breakdown of output token usage
- additionalProperties: false
- required:
- - input_tokens
- - output_tokens
- - total_tokens
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsageOutputTokensDetails'
+ title: OpenAIResponseUsageOutputTokensDetails
+ - type: 'null'
+ title: OpenAIResponseUsageOutputTokensDetails
+ type: object
+ required:
+ - input_tokens
+ - output_tokens
+ - total_tokens
title: OpenAIResponseUsage
description: Usage information for OpenAI response.
ResponseGuardrailSpec:
- type: object
+ description: Specification for a guardrail to apply during response generation.
properties:
type:
+ title: Type
type: string
- description: The type/identifier of the guardrail.
- additionalProperties: false
required:
- - type
+ - type
title: ResponseGuardrailSpec
- description: >-
- Specification for a guardrail to apply during response generation.
+ type: object
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'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseInputToolMCP'
+ title: OpenAIResponseInputToolMCP
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
OpenAIResponseInputToolMCP:
- type: object
properties:
type:
type: string
const: mcp
+ title: Type
default: mcp
- description: Tool type identifier, always "mcp"
server_label:
type: string
- description: Label to identify this MCP server
+ title: Server Label
server_url:
type: string
- description: URL endpoint of the MCP server
+ title: Server Url
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
authorization:
- type: string
- description: >-
- (Optional) OAuth access token for authenticating with the MCP server
+ anyOf:
+ - type: string
+ - type: 'null'
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.
+ anyOf:
+ - type: string
+ const: always
+ - type: string
+ const: never
+ - $ref: '#/components/schemas/ApprovalFilter'
+ title: ApprovalFilter
+ title: string | ApprovalFilter
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
+ anyOf:
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - $ref: '#/components/schemas/AllowedToolsFilter'
+ title: AllowedToolsFilter
+ - type: 'null'
+ title: list[string] | AllowedToolsFilter
+ type: object
+ required:
+ - server_label
+ - server_url
title: OpenAIResponseInputToolMCP
- description: >-
- Model Context Protocol (MCP) tool configuration for OpenAI response inputs.
+ description: Model Context Protocol (MCP) 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.
+ anyOf:
+ - type: string
+ - items:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Input'
+ title: OpenAIResponseMessage-Input
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Input'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Input | ... (7 variants)
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Input'
+ title: OpenAIResponseMessage-Input
+ title: OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessage-Input
+ type: array
+ title: list[OpenAIResponseMessageUnion | OpenAIResponseInputFunctionToolCallOutput | ...]
+ title: string | list[OpenAIResponseMessageUnion | OpenAIResponseInputFunctionToolCallOutput | ...]
model:
type: string
- description: The underlying LLM used for completions.
+ title: Model
prompt:
- $ref: '#/components/schemas/OpenAIResponsePrompt'
- description: >-
- (Optional) Prompt object with ID, version, and variables.
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponsePrompt'
+ title: OpenAIResponsePrompt
+ - type: 'null'
+ title: OpenAIResponsePrompt
instructions:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
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.
+ anyOf:
+ - type: string
+ - type: 'null'
conversation:
- type: string
- description: >-
- (Optional) The ID of a conversation to add the response to. Must begin
- with 'conv_'. Input and output messages will be automatically added to
- the conversation.
+ anyOf:
+ - type: string
+ - type: 'null'
store:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: true
stream:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
temperature:
- type: number
+ anyOf:
+ - type: number
+ - type: 'null'
text:
- $ref: '#/components/schemas/OpenAIResponseText'
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseText'
+ title: OpenAIResponseText
+ - type: 'null'
+ title: OpenAIResponseText
tools:
- type: array
- items:
- $ref: '#/components/schemas/OpenAIResponseInputTool'
+ anyOf:
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseInputToolMCP'
+ title: OpenAIResponseInputToolMCP
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ function: '#/components/schemas/OpenAIResponseInputToolFunction'
+ mcp: '#/components/schemas/OpenAIResponseInputToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
+ type: array
+ - type: 'null'
include:
- type: array
- items:
- type: string
- description: >-
- (Optional) Additional fields to include in the response.
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
max_infer_iters:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 10
max_tool_calls:
- type: integer
- description: >-
- (Optional) Max number of total calls to built-in tools that can be processed
- in a response.
- additionalProperties: false
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
required:
- - input
- - model
+ - input
+ - model
title: CreateOpenaiResponseRequest
OpenAIResponseObject:
- type: object
properties:
created_at:
type: integer
- description: >-
- Unix timestamp when the response was created
+ title: Created At
error:
- $ref: '#/components/schemas/OpenAIResponseError'
- description: >-
- (Optional) Error details if the response generation failed
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseError'
+ title: OpenAIResponseError
+ - type: 'null'
+ title: OpenAIResponseError
id:
type: string
- description: Unique identifier for this response
+ title: Id
model:
type: string
- description: Model identifier used for generation
+ title: Model
object:
type: string
const: response
+ title: Object
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.)
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ type: array
+ title: Output
parallel_tool_calls:
type: boolean
+ title: Parallel Tool Calls
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
+ anyOf:
+ - type: string
+ - type: 'null'
prompt:
- $ref: '#/components/schemas/OpenAIResponsePrompt'
- description: >-
- (Optional) Reference to a prompt template and its variables.
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponsePrompt'
+ title: OpenAIResponsePrompt
+ - type: 'null'
+ title: OpenAIResponsePrompt
status:
type: string
- description: >-
- Current status of the response generation
+ title: Status
temperature:
- type: number
- description: >-
- (Optional) Sampling temperature used for generation
+ anyOf:
+ - type: number
+ - type: 'null'
text:
$ref: '#/components/schemas/OpenAIResponseText'
- description: >-
- Text formatting configuration for the response
+ default:
+ format:
+ type: text
top_p:
- type: number
- description: >-
- (Optional) Nucleus sampling parameter used for generation
+ anyOf:
+ - type: number
+ - type: 'null'
tools:
- type: array
- items:
- $ref: '#/components/schemas/OpenAIResponseTool'
- description: >-
- (Optional) An array of tools the model may call while generating a response.
+ anyOf:
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseToolMCP'
+ title: OpenAIResponseToolMCP
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ function: '#/components/schemas/OpenAIResponseInputToolFunction'
+ mcp: '#/components/schemas/OpenAIResponseToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
+ type: array
+ - type: 'null'
truncation:
- type: string
- description: >-
- (Optional) Truncation strategy applied to the response
+ anyOf:
+ - type: string
+ - type: 'null'
usage:
- $ref: '#/components/schemas/OpenAIResponseUsage'
- description: >-
- (Optional) Token usage information for the response
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsage'
+ title: OpenAIResponseUsage
+ - type: 'null'
+ title: OpenAIResponseUsage
instructions:
- type: string
- description: >-
- (Optional) System message inserted into the model's context
+ anyOf:
+ - type: string
+ - type: 'null'
max_tool_calls:
- type: integer
- description: >-
- (Optional) Max number of total calls to built-in tools that can be processed
- in a response
- additionalProperties: false
- required:
- - created_at
- - id
- - model
- - object
- - output
- - parallel_tool_calls
- - status
- - text
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ required:
+ - created_at
+ - id
+ - model
+ - output
+ - status
title: OpenAIResponseObject
- description: >-
- Complete OpenAI response object containing generation results and metadata.
+ description: Complete OpenAI response object containing generation results and metadata.
OpenAIResponseContentPartOutputText:
- type: object
+ description: Text content within a streamed response part.
properties:
type:
- type: string
const: output_text
default: output_text
- description: >-
- Content part type identifier, always "output_text"
+ title: Type
+ type: string
text:
+ title: Text
type: string
- description: Text emitted for this content part
annotations:
- type: array
items:
- $ref: '#/components/schemas/OpenAIResponseAnnotations'
- description: >-
- Structured annotations associated with the text
- logprobs:
+ discriminator:
+ mapping:
+ container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
+ title: Annotations
type: array
- items:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: (Optional) Token log probability details
- additionalProperties: false
- required:
- - type
- - text
- - annotations
+ logprobs:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
+ nullable: true
+ required:
+ - text
title: OpenAIResponseContentPartOutputText
- description: >-
- Text content within a streamed response part.
- "OpenAIResponseContentPartReasoningSummary":
type: object
+ OpenAIResponseContentPartReasoningSummary:
+ description: Reasoning summary part in a streamed response.
properties:
type:
- type: string
const: summary_text
default: summary_text
- description: >-
- Content part type identifier, always "summary_text"
+ title: Type
+ type: string
text:
+ title: Text
type: string
- description: Summary text
- additionalProperties: false
required:
- - type
- - text
- title: >-
- OpenAIResponseContentPartReasoningSummary
- description: >-
- Reasoning summary part in a streamed response.
- OpenAIResponseContentPartReasoningText:
+ - text
+ title: OpenAIResponseContentPartReasoningSummary
type: object
+ OpenAIResponseContentPartReasoningText:
+ description: Reasoning text emitted as part of a streamed response.
properties:
type:
- type: string
const: reasoning_text
default: reasoning_text
- description: >-
- Content part type identifier, always "reasoning_text"
+ title: Type
+ type: string
text:
+ title: Text
type: string
- description: Reasoning text supplied by the model
- additionalProperties: false
required:
- - type
- - text
+ - text
title: OpenAIResponseContentPartReasoningText
- description: >-
- Reasoning text emitted as part of a streamed response.
+ type: object
OpenAIResponseObjectStream:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseCreated'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseInProgress'
- - $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/OpenAIResponseObjectStreamResponseReasoningTextDelta'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDone'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartDone'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDone'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDelta'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDone'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallInProgress'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallSearching'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallCompleted'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseIncomplete'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFailed'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseCompleted'
discriminator:
- propertyName: type
mapping:
+ response.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseCompleted'
+ response.content_part.added: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartAdded'
+ response.content_part.done: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartDone'
response.created: '#/components/schemas/OpenAIResponseObjectStreamResponseCreated'
- response.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseInProgress'
- 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.failed: '#/components/schemas/OpenAIResponseObjectStreamResponseFailed'
+ response.file_search_call.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallCompleted'
+ response.file_search_call.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallInProgress'
+ response.file_search_call.searching: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallSearching'
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.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseInProgress'
+ response.incomplete: '#/components/schemas/OpenAIResponseObjectStreamResponseIncomplete'
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.reasoning_text.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDelta'
- response.reasoning_text.done: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDone'
+ response.mcp_call.failed: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallFailed'
+ response.mcp_call.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallInProgress'
+ response.mcp_list_tools.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsCompleted'
+ response.mcp_list_tools.failed: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsFailed'
+ response.mcp_list_tools.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsInProgress'
+ response.output_item.added: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemAdded'
+ response.output_item.done: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemDone'
+ response.output_text.annotation.added: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded'
+ response.output_text.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDelta'
+ response.output_text.done: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDone'
response.reasoning_summary_part.added: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded'
response.reasoning_summary_part.done: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartDone'
response.reasoning_summary_text.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta'
response.reasoning_summary_text.done: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDone'
+ response.reasoning_text.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDelta'
+ response.reasoning_text.done: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDone'
response.refusal.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDelta'
response.refusal.done: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDone'
- response.output_text.annotation.added: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded'
- response.file_search_call.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallInProgress'
- response.file_search_call.searching: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallSearching'
- response.file_search_call.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallCompleted'
- response.incomplete: '#/components/schemas/OpenAIResponseObjectStreamResponseIncomplete'
- response.failed: '#/components/schemas/OpenAIResponseObjectStreamResponseFailed'
- response.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseCompleted'
- "OpenAIResponseObjectStreamResponseCompleted":
- type: object
+ response.web_search_call.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallCompleted'
+ response.web_search_call.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallInProgress'
+ response.web_search_call.searching: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallSearching'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseCreated'
+ title: OpenAIResponseObjectStreamResponseCreated
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseInProgress'
+ title: OpenAIResponseObjectStreamResponseInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemAdded'
+ title: OpenAIResponseObjectStreamResponseOutputItemAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemDone'
+ title: OpenAIResponseObjectStreamResponseOutputItemDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDelta'
+ title: OpenAIResponseObjectStreamResponseOutputTextDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDone'
+ title: OpenAIResponseObjectStreamResponseOutputTextDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta'
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone'
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallInProgress'
+ title: OpenAIResponseObjectStreamResponseWebSearchCallInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallSearching'
+ title: OpenAIResponseObjectStreamResponseWebSearchCallSearching
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallCompleted'
+ title: OpenAIResponseObjectStreamResponseWebSearchCallCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsInProgress'
+ title: OpenAIResponseObjectStreamResponseMcpListToolsInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsFailed'
+ title: OpenAIResponseObjectStreamResponseMcpListToolsFailed
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsCompleted'
+ title: OpenAIResponseObjectStreamResponseMcpListToolsCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta'
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallArgumentsDone'
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallInProgress'
+ title: OpenAIResponseObjectStreamResponseMcpCallInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallFailed'
+ title: OpenAIResponseObjectStreamResponseMcpCallFailed
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallCompleted'
+ title: OpenAIResponseObjectStreamResponseMcpCallCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartAdded'
+ title: OpenAIResponseObjectStreamResponseContentPartAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartDone'
+ title: OpenAIResponseObjectStreamResponseContentPartDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDelta'
+ title: OpenAIResponseObjectStreamResponseReasoningTextDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDone'
+ title: OpenAIResponseObjectStreamResponseReasoningTextDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartDone'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDone'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDelta'
+ title: OpenAIResponseObjectStreamResponseRefusalDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDone'
+ title: OpenAIResponseObjectStreamResponseRefusalDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded'
+ title: OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallInProgress'
+ title: OpenAIResponseObjectStreamResponseFileSearchCallInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallSearching'
+ title: OpenAIResponseObjectStreamResponseFileSearchCallSearching
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallCompleted'
+ title: OpenAIResponseObjectStreamResponseFileSearchCallCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseIncomplete'
+ title: OpenAIResponseObjectStreamResponseIncomplete
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFailed'
+ title: OpenAIResponseObjectStreamResponseFailed
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseCompleted'
+ title: OpenAIResponseObjectStreamResponseCompleted
+ title: OpenAIResponseObjectStreamResponseCreated | ... (36 variants)
+ OpenAIResponseObjectStreamResponseCompleted:
+ description: Streaming event indicating a response has been completed.
properties:
response:
$ref: '#/components/schemas/OpenAIResponseObject'
- description: Completed response object
type:
- type: string
const: response.completed
default: response.completed
- description: >-
- Event type identifier, always "response.completed"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - response
- - type
- title: >-
- OpenAIResponseObjectStreamResponseCompleted
- description: >-
- Streaming event indicating a response has been completed.
- "OpenAIResponseObjectStreamResponseContentPartAdded":
+ - response
+ title: OpenAIResponseObjectStreamResponseCompleted
type: object
+ OpenAIResponseObjectStreamResponseContentPartAdded:
+ description: Streaming event for when a new content part is added to a response item.
properties:
content_index:
+ title: Content Index
type: integer
- description: >-
- Index position of the part within the content array
response_id:
+ title: Response Id
type: string
- description: >-
- Unique identifier of the response containing this content
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the output item containing this content part
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the output item in the response
part:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
- - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
- - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
discriminator:
- propertyName: type
mapping:
output_text: '#/components/schemas/OpenAIResponseContentPartOutputText'
- refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
reasoning_text: '#/components/schemas/OpenAIResponseContentPartReasoningText'
- description: The content part that was added
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ title: OpenAIResponseContentPartOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ title: OpenAIResponseContentPartReasoningText
+ title: OpenAIResponseContentPartOutputText | OpenAIResponseContentPartRefusal | OpenAIResponseContentPartReasoningText
sequence_number:
+ title: 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:
- - content_index
- - response_id
- - item_id
- - output_index
- - part
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseContentPartAdded
- description: >-
- Streaming event for when a new content part is added to a response item.
- "OpenAIResponseObjectStreamResponseContentPartDone":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - response_id
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseContentPartAdded
type: object
+ OpenAIResponseObjectStreamResponseContentPartDone:
+ description: Streaming event for when a content part is completed.
properties:
content_index:
+ title: Content Index
type: integer
- description: >-
- Index position of the part within the content array
response_id:
+ title: Response Id
type: string
- description: >-
- Unique identifier of the response containing this content
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the output item containing this content part
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the output item in the response
part:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
- - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
- - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
discriminator:
- propertyName: type
mapping:
output_text: '#/components/schemas/OpenAIResponseContentPartOutputText'
- refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
reasoning_text: '#/components/schemas/OpenAIResponseContentPartReasoningText'
- description: The completed content part
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ title: OpenAIResponseContentPartOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ title: OpenAIResponseContentPartReasoningText
+ title: OpenAIResponseContentPartOutputText | OpenAIResponseContentPartRefusal | OpenAIResponseContentPartReasoningText
sequence_number:
+ title: 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:
- - content_index
- - response_id
- - item_id
- - output_index
- - part
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseContentPartDone
- description: >-
- Streaming event for when a content part is completed.
- "OpenAIResponseObjectStreamResponseCreated":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - response_id
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseContentPartDone
type: object
+ OpenAIResponseObjectStreamResponseCreated:
+ description: Streaming event indicating a new response has been created.
properties:
response:
$ref: '#/components/schemas/OpenAIResponseObject'
- description: The response object that was created
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.
- OpenAIResponseObjectStreamResponseFailed:
+ title: Type
+ type: string
+ required:
+ - response
+ title: OpenAIResponseObjectStreamResponseCreated
type: object
+ OpenAIResponseObjectStreamResponseFailed:
+ description: Streaming event emitted when a response fails.
properties:
response:
$ref: '#/components/schemas/OpenAIResponseObject'
- description: Response object describing the failure
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.failed
default: response.failed
- description: >-
- Event type identifier, always "response.failed"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - response
- - sequence_number
- - type
+ - response
+ - sequence_number
title: OpenAIResponseObjectStreamResponseFailed
- description: >-
- Streaming event emitted when a response fails.
- "OpenAIResponseObjectStreamResponseFileSearchCallCompleted":
type: object
+ OpenAIResponseObjectStreamResponseFileSearchCallCompleted:
+ description: Streaming event for completed file search calls.
properties:
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the completed file search call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.file_search_call.completed
default: response.file_search_call.completed
- description: >-
- Event type identifier, always "response.file_search_call.completed"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseFileSearchCallCompleted
- description: >-
- Streaming event for completed file search calls.
- "OpenAIResponseObjectStreamResponseFileSearchCallInProgress":
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFileSearchCallCompleted
type: object
+ OpenAIResponseObjectStreamResponseFileSearchCallInProgress:
+ description: Streaming event for file search calls in progress.
properties:
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the file search call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.file_search_call.in_progress
default: response.file_search_call.in_progress
- description: >-
- Event type identifier, always "response.file_search_call.in_progress"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseFileSearchCallInProgress
- description: >-
- Streaming event for file search calls in progress.
- "OpenAIResponseObjectStreamResponseFileSearchCallSearching":
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFileSearchCallInProgress
type: object
+ OpenAIResponseObjectStreamResponseFileSearchCallSearching:
+ description: Streaming event for file search currently searching.
properties:
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the file search call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.file_search_call.searching
default: response.file_search_call.searching
- description: >-
- Event type identifier, always "response.file_search_call.searching"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseFileSearchCallSearching
- description: >-
- Streaming event for file search currently searching.
- "OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta":
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFileSearchCallSearching
type: object
+ OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta:
+ description: Streaming event for incremental function call argument updates.
properties:
delta:
+ title: Delta
type: string
- description: >-
- Incremental function call arguments being added
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the function call being updated
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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":
+ title: Type
+ type: string
+ required:
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta
type: object
+ OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone:
+ description: Streaming event for when function call arguments are completed.
properties:
arguments:
+ title: Arguments
type: string
- description: >-
- Final complete arguments JSON string for the function call
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the completed function call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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.
- "OpenAIResponseObjectStreamResponseInProgress":
+ title: Type
+ type: string
+ required:
+ - arguments
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone
type: object
+ OpenAIResponseObjectStreamResponseInProgress:
+ description: Streaming event indicating the response remains in progress.
properties:
response:
$ref: '#/components/schemas/OpenAIResponseObject'
- description: Current response state while in progress
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.in_progress
default: response.in_progress
- description: >-
- Event type identifier, always "response.in_progress"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - response
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseInProgress
- description: >-
- Streaming event indicating the response remains in progress.
- "OpenAIResponseObjectStreamResponseIncomplete":
+ - response
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseInProgress
type: object
+ OpenAIResponseObjectStreamResponseIncomplete:
+ description: Streaming event emitted when a response ends in an incomplete state.
properties:
response:
$ref: '#/components/schemas/OpenAIResponseObject'
- description: >-
- Response object describing the incomplete state
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.incomplete
default: response.incomplete
- description: >-
- Event type identifier, always "response.incomplete"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - response
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseIncomplete
- description: >-
- Streaming event emitted when a response ends in an incomplete state.
- "OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta":
+ - response
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseIncomplete
type: object
+ OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta:
properties:
delta:
+ title: Delta
type: string
item_id:
+ title: Item Id
type: string
output_index:
+ title: Output Index
type: integer
sequence_number:
+ title: Sequence Number
type: integer
type:
- type: string
const: response.mcp_call.arguments.delta
default: response.mcp_call.arguments.delta
- additionalProperties: false
+ title: Type
+ type: string
required:
- - delta
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta
- "OpenAIResponseObjectStreamResponseMcpCallArgumentsDone":
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta
type: object
+ OpenAIResponseObjectStreamResponseMcpCallArgumentsDone:
properties:
arguments:
+ title: Arguments
type: string
item_id:
+ title: Item Id
type: string
output_index:
+ title: Output Index
type: integer
sequence_number:
+ title: Sequence Number
type: integer
type:
- type: string
const: response.mcp_call.arguments.done
default: response.mcp_call.arguments.done
- additionalProperties: false
+ title: Type
+ type: string
required:
- - arguments
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseMcpCallArgumentsDone
- "OpenAIResponseObjectStreamResponseMcpCallCompleted":
+ - arguments
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDone
type: object
+ OpenAIResponseObjectStreamResponseMcpCallCompleted:
+ description: Streaming event for completed MCP calls.
properties:
sequence_number:
+ title: 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":
+ title: Type
+ type: string
+ required:
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallCompleted
type: object
+ OpenAIResponseObjectStreamResponseMcpCallFailed:
+ description: Streaming event for failed MCP calls.
properties:
sequence_number:
+ title: 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":
+ title: Type
+ type: string
+ required:
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallFailed
type: object
+ OpenAIResponseObjectStreamResponseMcpCallInProgress:
+ description: Streaming event for MCP calls in progress.
properties:
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the MCP call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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
+ title: Type
+ type: string
required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseMcpCallInProgress
- description: >-
- Streaming event for MCP calls in progress.
- "OpenAIResponseObjectStreamResponseMcpListToolsCompleted":
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallInProgress
type: object
+ OpenAIResponseObjectStreamResponseMcpListToolsCompleted:
properties:
sequence_number:
+ title: Sequence Number
type: integer
type:
- type: string
const: response.mcp_list_tools.completed
default: response.mcp_list_tools.completed
- additionalProperties: false
+ title: Type
+ type: string
required:
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseMcpListToolsCompleted
- "OpenAIResponseObjectStreamResponseMcpListToolsFailed":
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpListToolsCompleted
type: object
+ OpenAIResponseObjectStreamResponseMcpListToolsFailed:
properties:
sequence_number:
+ title: Sequence Number
type: integer
type:
- type: string
const: response.mcp_list_tools.failed
default: response.mcp_list_tools.failed
- additionalProperties: false
+ title: Type
+ type: string
required:
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseMcpListToolsFailed
- "OpenAIResponseObjectStreamResponseMcpListToolsInProgress":
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpListToolsFailed
type: object
+ OpenAIResponseObjectStreamResponseMcpListToolsInProgress:
properties:
sequence_number:
+ title: Sequence Number
type: integer
type:
- type: string
const: response.mcp_list_tools.in_progress
default: response.mcp_list_tools.in_progress
- additionalProperties: false
+ title: Type
+ type: string
required:
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseMcpListToolsInProgress
- "OpenAIResponseObjectStreamResponseOutputItemAdded":
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpListToolsInProgress
type: object
+ OpenAIResponseObjectStreamResponseOutputItemAdded:
+ description: Streaming event for when a new output item is added to the response.
properties:
response_id:
+ title: 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_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
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.)
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of this item in the output list
sequence_number:
+ title: 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":
+ title: Type
+ type: string
+ required:
+ - response_id
+ - item
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputItemAdded
type: object
+ OpenAIResponseObjectStreamResponseOutputItemDone:
+ description: Streaming event for when an output item is completed.
properties:
response_id:
+ title: 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_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
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.)
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of this item in the output list
sequence_number:
+ title: 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.
- "OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded":
+ title: Type
+ type: string
+ required:
+ - response_id
+ - item
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputItemDone
type: object
+ OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded:
+ description: Streaming event for when an annotation is added to output text.
properties:
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the item to which the annotation is being added
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the output item in the response's output array
content_index:
+ title: Content Index
type: integer
- description: >-
- Index position of the content part within the output item
annotation_index:
+ title: Annotation Index
type: integer
- description: >-
- Index of the annotation within the content part
annotation:
- 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_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
- description: The annotation object being added
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.output_text.annotation.added
default: response.output_text.annotation.added
- description: >-
- Event type identifier, always "response.output_text.annotation.added"
- additionalProperties: false
- required:
- - item_id
- - output_index
- - content_index
- - annotation_index
- - annotation
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded
- description: >-
- Streaming event for when an annotation is added to output text.
- "OpenAIResponseObjectStreamResponseOutputTextDelta":
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - content_index
+ - annotation_index
+ - annotation
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded
type: object
+ OpenAIResponseObjectStreamResponseOutputTextDelta:
+ description: Streaming event for incremental text content updates.
properties:
content_index:
+ title: Content Index
type: integer
- description: Index position within the text content
delta:
+ title: Delta
type: string
- description: Incremental text content being added
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the output item being updated
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputTextDelta
type: object
+ OpenAIResponseObjectStreamResponseOutputTextDone:
+ description: Streaming event for when text output is completed.
properties:
content_index:
+ title: Content Index
type: integer
- description: Index position within the text content
text:
+ title: Text
type: string
- description: >-
- Final complete text content of the output item
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the completed output item
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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.
- "OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - text
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputTextDone
type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded:
+ description: Streaming event for when a new reasoning summary part is added.
properties:
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the output item
output_index:
+ title: Output Index
type: integer
- description: Index position of the output item
part:
$ref: '#/components/schemas/OpenAIResponseContentPartReasoningSummary'
- description: The summary part that was added
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
summary_index:
+ title: Summary Index
type: integer
- description: >-
- Index of the summary part within the reasoning summary
type:
- type: string
const: response.reasoning_summary_part.added
default: response.reasoning_summary_part.added
- description: >-
- Event type identifier, always "response.reasoning_summary_part.added"
- additionalProperties: false
- required:
- - item_id
- - output_index
- - part
- - sequence_number
- - summary_index
- - type
- title: >-
- OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded
- description: >-
- Streaming event for when a new reasoning summary part is added.
- "OpenAIResponseObjectStreamResponseReasoningSummaryPartDone":
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded
type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryPartDone:
+ description: Streaming event for when a reasoning summary part is completed.
properties:
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the output item
output_index:
+ title: Output Index
type: integer
- description: Index position of the output item
part:
$ref: '#/components/schemas/OpenAIResponseContentPartReasoningSummary'
- description: The completed summary part
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
summary_index:
+ title: Summary Index
type: integer
- description: >-
- Index of the summary part within the reasoning summary
type:
- type: string
const: response.reasoning_summary_part.done
default: response.reasoning_summary_part.done
- description: >-
- Event type identifier, always "response.reasoning_summary_part.done"
- additionalProperties: false
- required:
- - item_id
- - output_index
- - part
- - sequence_number
- - summary_index
- - type
- title: >-
- OpenAIResponseObjectStreamResponseReasoningSummaryPartDone
- description: >-
- Streaming event for when a reasoning summary part is completed.
- "OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta":
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartDone
type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta:
+ description: Streaming event for incremental reasoning summary text updates.
properties:
delta:
+ title: Delta
type: string
- description: Incremental summary text being added
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the output item
output_index:
+ title: Output Index
type: integer
- description: Index position of the output item
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
summary_index:
+ title: Summary Index
type: integer
- description: >-
- Index of the summary part within the reasoning summary
type:
- type: string
const: response.reasoning_summary_text.delta
default: response.reasoning_summary_text.delta
- description: >-
- Event type identifier, always "response.reasoning_summary_text.delta"
- additionalProperties: false
- required:
- - delta
- - item_id
- - output_index
- - sequence_number
- - summary_index
- - type
- title: >-
- OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta
- description: >-
- Streaming event for incremental reasoning summary text updates.
- "OpenAIResponseObjectStreamResponseReasoningSummaryTextDone":
+ title: Type
+ type: string
+ required:
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta
type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryTextDone:
+ description: Streaming event for when reasoning summary text is completed.
properties:
text:
+ title: Text
type: string
- description: Final complete summary text
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the output item
output_index:
+ title: Output Index
type: integer
- description: Index position of the output item
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
summary_index:
+ title: Summary Index
type: integer
- description: >-
- Index of the summary part within the reasoning summary
type:
- type: string
const: response.reasoning_summary_text.done
default: response.reasoning_summary_text.done
- description: >-
- Event type identifier, always "response.reasoning_summary_text.done"
- additionalProperties: false
- required:
- - text
- - item_id
- - output_index
- - sequence_number
- - summary_index
- - type
- title: >-
- OpenAIResponseObjectStreamResponseReasoningSummaryTextDone
- description: >-
- Streaming event for when reasoning summary text is completed.
- "OpenAIResponseObjectStreamResponseReasoningTextDelta":
+ title: Type
+ type: string
+ required:
+ - text
+ - item_id
+ - output_index
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDone
type: object
+ OpenAIResponseObjectStreamResponseReasoningTextDelta:
+ description: Streaming event for incremental reasoning text updates.
properties:
content_index:
+ title: Content Index
type: integer
- description: >-
- Index position of the reasoning content part
delta:
+ title: Delta
type: string
- description: Incremental reasoning text being added
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the output item being updated
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.reasoning_text.delta
default: response.reasoning_text.delta
- description: >-
- Event type identifier, always "response.reasoning_text.delta"
- additionalProperties: false
- required:
- - content_index
- - delta
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseReasoningTextDelta
- description: >-
- Streaming event for incremental reasoning text updates.
- "OpenAIResponseObjectStreamResponseReasoningTextDone":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseReasoningTextDelta
type: object
+ OpenAIResponseObjectStreamResponseReasoningTextDone:
+ description: Streaming event for when reasoning text is completed.
properties:
content_index:
+ title: Content Index
type: integer
- description: >-
- Index position of the reasoning content part
text:
+ title: Text
type: string
- description: Final complete reasoning text
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the completed output item
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.reasoning_text.done
default: response.reasoning_text.done
- description: >-
- Event type identifier, always "response.reasoning_text.done"
- additionalProperties: false
- required:
- - content_index
- - text
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseReasoningTextDone
- description: >-
- Streaming event for when reasoning text is completed.
- "OpenAIResponseObjectStreamResponseRefusalDelta":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - text
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseReasoningTextDone
type: object
+ OpenAIResponseObjectStreamResponseRefusalDelta:
+ description: Streaming event for incremental refusal text updates.
properties:
content_index:
+ title: Content Index
type: integer
- description: Index position of the content part
delta:
+ title: Delta
type: string
- description: Incremental refusal text being added
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the output item
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.refusal.delta
default: response.refusal.delta
- description: >-
- Event type identifier, always "response.refusal.delta"
- additionalProperties: false
- required:
- - content_index
- - delta
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseRefusalDelta
- description: >-
- Streaming event for incremental refusal text updates.
- "OpenAIResponseObjectStreamResponseRefusalDone":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseRefusalDelta
type: object
+ OpenAIResponseObjectStreamResponseRefusalDone:
+ description: Streaming event for when refusal text is completed.
properties:
content_index:
+ title: Content Index
type: integer
- description: Index position of the content part
refusal:
+ title: Refusal
type: string
- description: Final complete refusal text
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the output item
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.refusal.done
default: response.refusal.done
- description: >-
- Event type identifier, always "response.refusal.done"
- additionalProperties: false
- required:
- - content_index
- - refusal
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseRefusalDone
- description: >-
- Streaming event for when refusal text is completed.
- "OpenAIResponseObjectStreamResponseWebSearchCallCompleted":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - refusal
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseRefusalDone
type: object
+ OpenAIResponseObjectStreamResponseWebSearchCallCompleted:
+ description: Streaming event for completed web search calls.
properties:
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the completed web search call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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
+ title: Type
+ type: string
required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseWebSearchCallCompleted
- description: >-
- Streaming event for completed web search calls.
- "OpenAIResponseObjectStreamResponseWebSearchCallInProgress":
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseWebSearchCallCompleted
type: object
+ OpenAIResponseObjectStreamResponseWebSearchCallInProgress:
+ description: Streaming event for web search calls in progress.
properties:
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the web search call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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
+ title: Type
+ type: string
required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseWebSearchCallInProgress
- description: >-
- Streaming event for web search calls in progress.
- "OpenAIResponseObjectStreamResponseWebSearchCallSearching":
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseWebSearchCallInProgress
type: object
+ OpenAIResponseObjectStreamResponseWebSearchCallSearching:
properties:
item_id:
+ title: Item Id
type: string
output_index:
+ title: Output Index
type: integer
sequence_number:
+ title: Sequence Number
type: integer
type:
- type: string
const: response.web_search_call.searching
default: response.web_search_call.searching
- additionalProperties: false
- required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseWebSearchCallSearching
- OpenAIDeleteResponseObject:
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseWebSearchCallSearching
type: object
+ OpenAIDeleteResponseObject:
properties:
id:
type: string
- description: >-
- Unique identifier of the deleted response
+ title: Id
object:
type: string
const: response
+ title: Object
default: response
- description: >-
- Object type identifier, always "response"
deleted:
type: boolean
+ title: Deleted
default: true
- description: Deletion confirmation flag, always True
- additionalProperties: false
+ type: object
required:
- - id
- - object
- - deleted
+ - id
title: OpenAIDeleteResponseObject
- description: >-
- Response object confirming deletion of an OpenAI response.
+ 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
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ title: OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessage-Output
+ type: array
+ title: Data
object:
type: string
const: list
+ title: Object
default: list
- description: Object type identifier, always "list"
- additionalProperties: false
+ type: object
required:
- - data
- - object
+ - data
title: ListOpenAIResponseInputItem
- description: >-
- List container for OpenAI response input items.
+ description: List container for OpenAI response input items.
RunShieldRequest:
- type: object
properties:
shield_id:
type: string
- description: The identifier of the shield to run.
+ title: Shield Id
messages:
- type: array
items:
- $ref: '#/components/schemas/OpenAIMessageParam'
- description: The messages to run the shield on.
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam-Input'
+ title: OpenAIUserMessageParam-Input
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam-Input'
+ title: OpenAIAssistantMessageParam-Input
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ discriminator:
+ propertyName: role
+ mapping:
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam-Input'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam-Input'
+ title: OpenAIUserMessageParam-Input | ... (5 variants)
+ type: array
+ title: Messages
params:
+ additionalProperties: true
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: Params
+ type: object
+ 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
+ anyOf:
+ - $ref: '#/components/schemas/SafetyViolation'
+ title: SafetyViolation
+ - type: 'null'
+ title: SafetyViolation
+ type: object
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
+ anyOf:
+ - type: string
+ - type: 'null'
metadata:
+ additionalProperties: true
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: Metadata
+ type: object
+ required:
+ - violation_level
title: SafetyViolation
- description: >-
- Details of a safety violation detected by content moderation.
+ description: Details of a safety violation detected by content moderation.
ViolationLevel:
type: string
enum:
- - info
- - warn
- - error
+ - info
+ - warn
+ - error
title: ViolationLevel
description: Severity level of a safety violation.
AggregationFunctionType:
type: string
enum:
- - average
- - weighted_average
- - median
- - categorical_count
- - accuracy
+ - average
+ - weighted_average
+ - median
+ - categorical_count
+ - accuracy
title: AggregationFunctionType
- description: >-
- Types of aggregation functions for scoring results.
+ description: Types of aggregation functions for scoring results.
ArrayType:
- type: object
properties:
type:
type: string
const: array
+ title: Type
default: array
- description: Discriminator type. Always "array"
- additionalProperties: false
- required:
- - type
+ type: object
title: ArrayType
description: Parameter type for array values.
BasicScoringFnParams:
- type: object
properties:
type:
- $ref: '#/components/schemas/ScoringFnParamsType'
+ type: string
const: basic
+ title: Type
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
+ type: array
+ title: Aggregation Functions
+ description: Aggregation functions to apply to the scores of each row
+ type: object
title: BasicScoringFnParams
- description: >-
- Parameters for basic scoring function configuration.
+ description: Parameters for basic scoring function configuration.
BooleanType:
- type: object
properties:
type:
type: string
const: boolean
+ title: Type
default: boolean
- description: Discriminator type. Always "boolean"
- additionalProperties: false
- required:
- - type
+ type: object
title: BooleanType
description: Parameter type for boolean values.
ChatCompletionInputType:
- type: object
properties:
type:
type: string
const: chat_completion_input
+ title: Type
default: chat_completion_input
- description: >-
- Discriminator type. Always "chat_completion_input"
- additionalProperties: false
- required:
- - type
+ type: object
title: ChatCompletionInputType
- description: >-
- Parameter type for chat completion input.
+ description: Parameter type for chat completion input.
CompletionInputType:
- type: object
properties:
type:
type: string
const: completion_input
+ title: Type
default: completion_input
- description: >-
- Discriminator type. Always "completion_input"
- additionalProperties: false
- required:
- - type
+ type: object
title: CompletionInputType
description: Parameter type for completion input.
JsonType:
- type: object
properties:
type:
type: string
const: json
+ title: Type
default: json
- description: Discriminator type. Always "json"
- additionalProperties: false
- required:
- - type
+ type: object
title: JsonType
description: Parameter type for JSON values.
LLMAsJudgeScoringFnParams:
- type: object
properties:
type:
- $ref: '#/components/schemas/ScoringFnParamsType'
+ type: string
const: llm_as_judge
+ title: Type
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
+ title: Judge Model
prompt_template:
- type: string
- description: >-
- (Optional) Custom prompt template for the judge model
+ anyOf:
+ - type: string
+ - type: 'null'
judge_score_regexes:
- type: array
items:
type: string
- description: >-
- Regexes to extract the answer from generated response
- aggregation_functions:
type: array
+ title: Judge Score Regexes
+ description: Regexes to extract the answer from generated response
+ aggregation_functions:
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
+ type: array
+ title: Aggregation Functions
+ description: Aggregation functions to apply to the scores of each row
+ type: object
+ required:
+ - judge_model
title: LLMAsJudgeScoringFnParams
- description: >-
- Parameters for LLM-as-judge scoring function configuration.
+ description: Parameters for LLM-as-judge scoring function configuration.
NumberType:
- type: object
properties:
type:
type: string
const: number
+ title: Type
default: number
- description: Discriminator type. Always "number"
- additionalProperties: false
- required:
- - type
+ type: object
title: NumberType
description: Parameter type for numeric values.
ObjectType:
- type: object
properties:
type:
type: string
const: object
+ title: Type
default: object
- description: Discriminator type. Always "object"
- additionalProperties: false
- required:
- - type
+ type: object
title: ObjectType
description: Parameter type for object values.
RegexParserScoringFnParams:
- type: object
properties:
type:
- $ref: '#/components/schemas/ScoringFnParamsType'
+ type: string
const: regex_parser
+ title: Type
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
+ title: Parsing Regexes
+ description: Regex to extract the answer from generated response
+ aggregation_functions:
items:
$ref: '#/components/schemas/AggregationFunctionType'
- description: >-
- Aggregation functions to apply to the scores of each row
- additionalProperties: false
- required:
- - type
- - parsing_regexes
- - aggregation_functions
+ type: array
+ title: Aggregation Functions
+ description: Aggregation functions to apply to the scores of each row
+ type: object
title: RegexParserScoringFnParams
- description: >-
- Parameters for regex parser scoring function configuration.
+ description: Parameters for regex parser scoring function configuration.
ScoringFn:
- type: object
properties:
identifier:
type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
provider_resource_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
provider_id:
type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
type:
type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
const: scoring_function
+ title: Type
default: scoring_function
- description: >-
- The resource type, always scoring_function
description:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
metadata:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
+ title: Metadata
+ description: Any additional metadata for this definition
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/StringType'
+ title: StringType
+ - $ref: '#/components/schemas/NumberType'
+ title: NumberType
+ - $ref: '#/components/schemas/BooleanType'
+ title: BooleanType
+ - $ref: '#/components/schemas/ArrayType'
+ title: ArrayType
+ - $ref: '#/components/schemas/ObjectType'
+ title: ObjectType
+ - $ref: '#/components/schemas/JsonType'
+ title: JsonType
+ - $ref: '#/components/schemas/UnionType'
+ title: UnionType
+ - $ref: '#/components/schemas/ChatCompletionInputType'
+ title: ChatCompletionInputType
+ - $ref: '#/components/schemas/CompletionInputType'
+ title: CompletionInputType
+ title: StringType | ... (9 variants)
+ description: The return type of the deterministic function
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'
+ boolean: '#/components/schemas/BooleanType'
chat_completion_input: '#/components/schemas/ChatCompletionInputType'
completion_input: '#/components/schemas/CompletionInputType'
+ json: '#/components/schemas/JsonType'
+ number: '#/components/schemas/NumberType'
+ object: '#/components/schemas/ObjectType'
+ string: '#/components/schemas/StringType'
+ union: '#/components/schemas/UnionType'
params:
- $ref: '#/components/schemas/ScoringFnParams'
- additionalProperties: false
- required:
- - identifier
- - provider_id
- - type
- - metadata
- - return_type
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ discriminator:
+ propertyName: type
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ - type: 'null'
+ title: Params
+ description: The parameters for the scoring function for benchmark eval, these can be overridden for app eval
+ type: object
+ required:
+ - identifier
+ - provider_id
+ - return_type
title: ScoringFn
- description: >-
- A scoring function resource for evaluating model outputs.
+ 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:
+ basic: '#/components/schemas/BasicScoringFnParams'
llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
regex_parser: '#/components/schemas/RegexParserScoringFnParams'
- basic: '#/components/schemas/BasicScoringFnParams'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
ScoringFnParamsType:
- type: string
+ description: Types of scoring function parameter configurations.
enum:
- - llm_as_judge
- - regex_parser
- - basic
+ - llm_as_judge
+ - regex_parser
+ - basic
title: ScoringFnParamsType
- description: >-
- Types of scoring function parameter configurations.
+ type: string
StringType:
- type: object
properties:
type:
type: string
const: string
+ title: Type
default: string
- description: Discriminator type. Always "string"
- additionalProperties: false
- required:
- - type
+ type: object
title: StringType
description: Parameter type for string values.
UnionType:
- type: object
properties:
type:
type: string
const: union
+ title: Type
default: union
- description: Discriminator type. Always "union"
- additionalProperties: false
- required:
- - type
+ type: object
title: UnionType
description: Parameter type for union values.
ListScoringFunctionsResponse:
- type: object
properties:
data:
- type: array
items:
$ref: '#/components/schemas/ScoringFn'
- additionalProperties: false
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListScoringFunctionsResponse
ScoreRequest:
- type: object
properties:
input_rows:
- type: array
items:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The rows to score.
+ type: array
+ title: Input Rows
scoring_functions:
- type: object
additionalProperties:
- oneOf:
- - $ref: '#/components/schemas/ScoringFnParams'
- - type: 'null'
- description: >-
- The scoring functions to use for the scoring.
- additionalProperties: false
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ discriminator:
+ propertyName: type
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ - type: 'null'
+ title: AdditionalpropertiesUnion
+ type: object
+ title: Scoring Functions
+ type: object
required:
- - input_rows
- - scoring_functions
+ - 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
+ type: object
+ title: Results
+ type: object
required:
- - results
+ - results
title: ScoreResponse
description: The response from scoring.
ScoringResult:
- type: object
properties:
score_rows:
- type: array
items:
+ additionalProperties: true
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.
+ type: array
+ title: Score Rows
aggregated_results:
+ additionalProperties: true
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
+ title: Aggregated Results
+ type: object
required:
- - score_rows
- - aggregated_results
+ - 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.
+ title: Dataset Id
scoring_functions:
- type: object
additionalProperties:
- oneOf:
- - $ref: '#/components/schemas/ScoringFnParams'
- - type: 'null'
- description: >-
- The scoring functions to use for the scoring.
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ discriminator:
+ propertyName: type
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ - type: 'null'
+ title: AdditionalpropertiesUnion
+ type: object
+ title: Scoring Functions
save_results_dataset:
type: boolean
- description: >-
- Whether to save the results to a dataset.
- additionalProperties: false
+ title: Save Results Dataset
+ default: false
+ type: object
required:
- - dataset_id
- - scoring_functions
- - save_results_dataset
+ - dataset_id
+ - scoring_functions
title: ScoreBatchRequest
ScoreBatchResponse:
- type: object
properties:
dataset_id:
- type: string
- description: >-
- (Optional) The identifier of the dataset that was scored
+ anyOf:
+ - type: string
+ - type: 'null'
results:
- type: object
additionalProperties:
$ref: '#/components/schemas/ScoringResult'
- description: >-
- A map of scoring function name to ScoringResult
- additionalProperties: false
+ type: object
+ title: Results
+ type: object
required:
- - results
+ - results
title: ScoreBatchResponse
- description: >-
- Response from batch scoring operations on datasets.
+ description: Response from batch scoring operations on datasets.
Shield:
- type: object
properties:
identifier:
type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
provider_resource_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
provider_id:
type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
type:
type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
const: shield
+ title: Type
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - identifier
+ - provider_id
title: Shield
- description: >-
- A safety shield resource that can be used to check content.
+ 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
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListShieldsResponse
InvokeToolRequest:
- type: object
properties:
tool_name:
type: string
- description: The name of the tool to invoke.
+ title: Tool Name
kwargs:
+ additionalProperties: true
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.
+ title: Kwargs
authorization:
- type: string
- description: >-
- (Optional) OAuth access token for authenticating with the MCP server.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - tool_name
- - kwargs
+ - tool_name
+ - kwargs
title: InvokeToolRequest
ImageContentItem:
- type: object
+ description: A image content item
properties:
type:
- type: string
const: image
default: image
- description: >-
- Discriminator type of the content item. Always "image"
+ title: Type
+ type: string
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
+ $ref: '#/components/schemas/_URLOrData'
+ required:
+ - image
title: ImageContentItem
- description: A image content item
+ type: object
InterleavedContent:
- oneOf:
- - type: string
- - $ref: '#/components/schemas/InterleavedContentItem'
- - type: array
- items:
- $ref: '#/components/schemas/InterleavedContentItem'
- InterleavedContentItem:
- oneOf:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
- $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
- $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
+ InterleavedContentItem:
discriminator:
- propertyName: type
mapping:
image: '#/components/schemas/ImageContentItem'
text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
TextContentItem:
- type: object
properties:
type:
type: string
const: text
+ title: Type
default: text
- description: >-
- Discriminator type of the content item. Always "text"
text:
type: string
- description: Text content
- additionalProperties: false
+ title: Text
+ type: object
required:
- - type
- - text
+ - text
title: TextContentItem
description: A text content item
ToolInvocationResult:
- type: object
properties:
content:
- $ref: '#/components/schemas/InterleavedContent'
- description: >-
- (Optional) The output content from the tool execution
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ type: array
+ title: list[ImageContentItem-Output | TextContentItem]
+ - type: 'null'
+ title: string | list[ImageContentItem-Output | TextContentItem]
error_message:
- type: string
- description: >-
- (Optional) Error message if the tool execution failed
+ anyOf:
+ - type: string
+ - type: 'null'
error_code:
- type: integer
- description: >-
- (Optional) Numeric error code if the tool execution failed
+ anyOf:
+ - type: integer
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
title: ToolInvocationResult
description: Result of a tool invocation.
URL:
- type: object
properties:
uri:
type: string
- description: The URL string pointing to the resource
- additionalProperties: false
+ title: Uri
+ type: object
required:
- - uri
+ - uri
title: URL
description: A URL reference to external content.
ToolDef:
- type: object
properties:
toolgroup_id:
- type: string
- description: >-
- (Optional) ID of the tool group this tool belongs to
+ anyOf:
+ - type: string
+ - type: 'null'
name:
type: string
- description: Name of the tool
+ title: Name
description:
- type: string
- description: >-
- (Optional) Human-readable description of what the tool does
+ anyOf:
+ - type: string
+ - type: 'null'
input_schema:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- (Optional) JSON Schema for tool inputs (MCP inputSchema)
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
output_schema:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- (Optional) JSON Schema for tool outputs (MCP outputSchema)
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
required:
- - name
+ - name
title: ToolDef
- description: >-
- Tool definition used in runtime contexts.
+ description: Tool definition used in runtime contexts.
ListToolDefsResponse:
- type: object
properties:
data:
- type: array
items:
$ref: '#/components/schemas/ToolDef'
- description: List of tool definitions
- additionalProperties: false
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListToolDefsResponse
- description: >-
- Response containing a list of tool definitions.
+ description: Response containing a list of tool definitions.
ToolGroup:
- type: object
properties:
identifier:
type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
provider_resource_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
provider_id:
type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
type:
type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
const: tool_group
+ title: Type
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
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ title: URL
+ - type: 'null'
+ title: URL
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - identifier
+ - provider_id
title: ToolGroup
- description: >-
- A group of related tools managed together.
+ 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
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListToolGroupsResponse
- description: >-
- Response containing a list of tool groups.
+ description: Response containing a list of tool groups.
Chunk:
- type: object
+ description: A chunk of content that can be inserted into a vector database.
properties:
content:
- $ref: '#/components/schemas/InterleavedContent'
- description: >-
- The content of the chunk, which can be interleaved text, images, or other
- types.
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
chunk_id:
+ title: Chunk Id
type: string
- description: >-
- Unique identifier for the chunk. Must be provided explicitly.
metadata:
+ additionalProperties: true
+ title: 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.
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ nullable: true
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
- - chunk_id
- - metadata
+ anyOf:
+ - $ref: '#/components/schemas/ChunkMetadata'
+ title: ChunkMetadata
+ - type: 'null'
+ nullable: true
+ title: ChunkMetadata
+ required:
+ - content
+ - chunk_id
title: Chunk
- description: >-
- A chunk of content that can be inserted into a vector database.
- ChunkMetadata:
type: object
+ ChunkMetadata:
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.
+ anyOf:
+ - type: string
+ - type: 'null'
document_id:
- type: string
- description: >-
- The ID of the document this chunk belongs to.
+ anyOf:
+ - type: string
+ - type: 'null'
source:
- type: string
- description: >-
- The source of the content, such as a URL, file path, or other identifier.
+ anyOf:
+ - type: string
+ - type: 'null'
created_timestamp:
- type: integer
- description: >-
- An optional timestamp indicating when the chunk was created.
+ anyOf:
+ - type: integer
+ - type: 'null'
updated_timestamp:
- type: integer
- description: >-
- An optional timestamp indicating when the chunk was last updated.
+ anyOf:
+ - type: integer
+ - type: 'null'
chunk_window:
- type: string
- description: >-
- The window of the chunk, which can be used to group related chunks together.
+ anyOf:
+ - type: string
+ - type: 'null'
chunk_tokenizer:
- type: string
- description: >-
- The tokenizer used to create the chunk. Default is Tiktoken.
+ anyOf:
+ - type: string
+ - type: 'null'
chunk_embedding_model:
- type: string
- description: >-
- The embedding model used to create the chunk's embedding.
+ anyOf:
+ - type: string
+ - type: 'null'
chunk_embedding_dimension:
- type: integer
- description: >-
- The dimension of the embedding vector for the chunk.
+ anyOf:
+ - type: integer
+ - type: 'null'
content_token_count:
- type: integer
- description: >-
- The number of tokens in the content of the chunk.
+ anyOf:
+ - type: integer
+ - type: 'null'
metadata_token_count:
- type: integer
- description: >-
- The number of tokens in the metadata of the chunk.
- additionalProperties: false
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
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.
+ 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_store_id:
type: string
- description: >-
- The identifier of the vector database to insert the chunks into.
+ title: Vector Store Id
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.
+ $ref: '#/components/schemas/Chunk-Input'
+ type: array
+ title: Chunks
ttl_seconds:
- type: integer
- description: The time to live of the chunks.
- additionalProperties: false
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
required:
- - vector_store_id
- - chunks
+ - vector_store_id
+ - chunks
title: InsertChunksRequest
QueryChunksRequest:
- type: object
properties:
vector_store_id:
type: string
- description: >-
- The identifier of the vector database to query.
+ title: Vector Store Id
query:
- $ref: '#/components/schemas/InterleavedContent'
- description: The query to search for.
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ type: array
+ title: list[ImageContentItem-Input | TextContentItem]
+ title: string | list[ImageContentItem-Input | TextContentItem]
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
required:
- - vector_store_id
- - query
+ - vector_store_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:
+ $ref: '#/components/schemas/Chunk-Output'
type: array
+ title: Chunks
+ scores:
items:
type: number
- description: >-
- Relevance scores corresponding to each returned chunk
- additionalProperties: false
+ type: array
+ title: Scores
+ type: object
required:
- - chunks
- - scores
+ - chunks
+ - scores
title: QueryChunksResponse
- description: >-
- Response from querying chunks in a vector database.
+ 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
+ title: Completed
cancelled:
type: integer
- description: >-
- Number of files that had their processing cancelled
+ title: Cancelled
failed:
type: integer
- description: Number of files that failed to process
+ title: Failed
in_progress:
type: integer
- description: >-
- Number of files currently being processed
+ title: In Progress
total:
type: integer
- description: >-
- Total number of files in the vector store
- additionalProperties: false
+ title: Total
+ type: object
required:
- - completed
- - cancelled
- - failed
- - in_progress
- - total
+ - completed
+ - cancelled
+ - failed
+ - in_progress
+ - total
title: VectorStoreFileCounts
- description: >-
- File processing status counts for a vector store.
+ description: File processing status counts for a vector store.
VectorStoreListResponse:
- type: object
properties:
object:
type: string
+ title: Object
default: list
- description: Object type identifier, always "list"
data:
- type: array
items:
$ref: '#/components/schemas/VectorStoreObject'
- description: List of vector store objects
+ type: array
+ title: Data
first_id:
- type: string
- description: >-
- (Optional) ID of the first vector store in the list for pagination
+ anyOf:
+ - type: string
+ - type: 'null'
last_id:
- type: string
- description: >-
- (Optional) ID of the last vector store in the list for pagination
+ anyOf:
+ - type: string
+ - type: 'null'
has_more:
type: boolean
+ title: Has More
default: false
- description: >-
- Whether there are more vector stores available beyond this page
- additionalProperties: false
+ type: object
required:
- - object
- - data
- - has_more
+ - data
title: VectorStoreListResponse
description: Response from listing vector stores.
VectorStoreObject:
- type: object
properties:
id:
type: string
- description: Unique identifier for the vector store
+ title: Id
object:
type: string
+ title: Object
default: vector_store
- description: >-
- Object type identifier, always "vector_store"
created_at:
type: integer
- description: >-
- Timestamp when the vector store was created
+ title: Created At
name:
- type: string
- description: (Optional) Name of the vector store
+ anyOf:
+ - type: string
+ - type: 'null'
usage_bytes:
type: integer
+ title: Usage Bytes
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
+ title: Status
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
expires_at:
- type: integer
- description: >-
- (Optional) Timestamp when the vector store will expire
+ anyOf:
+ - type: integer
+ - type: 'null'
last_active_at:
- type: integer
- description: >-
- (Optional) Timestamp of last activity on the vector store
+ anyOf:
+ - type: integer
+ - type: 'null'
metadata:
+ additionalProperties: true
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: Metadata
+ type: object
+ required:
+ - id
+ - created_at
+ - file_counts
title: VectorStoreObject
description: OpenAI Vector Store object.
VectorStoreChunkingStrategy:
- oneOf:
- - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
- - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
discriminator:
- propertyName: type
mapping:
auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
VectorStoreChunkingStrategyAuto:
- type: object
properties:
type:
type: string
const: auto
+ title: Type
default: auto
- description: >-
- Strategy type, always "auto" for automatic chunking
- additionalProperties: false
- required:
- - type
+ type: object
title: VectorStoreChunkingStrategyAuto
- description: >-
- Automatic chunking strategy for vector store files.
+ description: Automatic chunking strategy for vector store files.
VectorStoreChunkingStrategyStatic:
- type: object
properties:
type:
type: string
const: static
+ title: Type
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
+ type: object
required:
- - type
- - static
+ - static
title: VectorStoreChunkingStrategyStatic
- description: >-
- Static chunking strategy with configurable parameters.
+ description: Static chunking strategy with configurable parameters.
VectorStoreChunkingStrategyStaticConfig:
- type: object
properties:
chunk_overlap_tokens:
type: integer
+ title: Chunk Overlap Tokens
default: 400
- description: >-
- Number of tokens to overlap between adjacent chunks
max_chunk_size_tokens:
type: integer
+ maximum: 4096.0
+ minimum: 100.0
+ title: Max Chunk Size Tokens
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.
- "OpenAICreateVectorStoreRequestWithExtraBody":
type: object
+ title: VectorStoreChunkingStrategyStaticConfig
+ description: Configuration for static chunking strategy.
+ OpenAICreateVectorStoreRequestWithExtraBody:
properties:
name:
- type: string
- description: (Optional) A name for the vector store
+ anyOf:
+ - type: string
+ - type: 'null'
file_ids:
- type: array
- items:
- type: string
- description: >-
- List of file IDs to include in the vector store
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
chunking_strategy:
- $ref: '#/components/schemas/VectorStoreChunkingStrategy'
- description: >-
- (Optional) Strategy for splitting files into chunks
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ discriminator:
+ propertyName: type
+ mapping:
+ auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
+ - type: 'null'
+ title: Chunking Strategy
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
- title: >-
- OpenAICreateVectorStoreRequestWithExtraBody
- description: >-
- Request to create a vector store with extra_body support.
- OpenaiUpdateVectorStoreRequest:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ additionalProperties: true
type: object
+ title: OpenAICreateVectorStoreRequestWithExtraBody
+ description: Request to create a vector store with extra_body support.
+ OpenaiUpdateVectorStoreRequest:
properties:
name:
- type: string
- description: The name of the vector store.
+ anyOf:
+ - type: string
+ - type: 'null'
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.
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
title: OpenaiUpdateVectorStoreRequest
VectorStoreDeleteResponse:
- type: object
properties:
id:
type: string
- description: >-
- Unique identifier of the deleted vector store
+ title: Id
object:
type: string
+ title: Object
default: vector_store.deleted
- description: >-
- Object type identifier for the deletion response
deleted:
type: boolean
+ title: Deleted
default: true
- description: >-
- Whether the deletion operation was successful
- additionalProperties: false
+ type: object
required:
- - id
- - object
- - deleted
+ - id
title: VectorStoreDeleteResponse
description: Response from deleting a vector store.
- "OpenAICreateVectorStoreFileBatchRequestWithExtraBody":
- type: object
+ OpenAICreateVectorStoreFileBatchRequestWithExtraBody:
properties:
file_ids:
- type: array
items:
type: string
- description: >-
- A list of File IDs that the vector store should use
+ type: array
+ title: File Ids
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
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: >-
- OpenAICreateVectorStoreFileBatchRequestWithExtraBody
- description: >-
- Request to create a vector store file batch with extra_body support.
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ discriminator:
+ propertyName: type
+ mapping:
+ auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
+ - type: 'null'
+ title: Chunking Strategy
+ additionalProperties: true
+ type: object
+ required:
+ - file_ids
+ title: OpenAICreateVectorStoreFileBatchRequestWithExtraBody
+ description: Request to create a vector store file batch with extra_body support.
VectorStoreFileBatchObject:
- type: object
properties:
id:
type: string
- description: Unique identifier for the file batch
+ title: Id
object:
type: string
+ title: Object
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
+ title: Created At
vector_store_id:
type: string
- description: >-
- ID of the vector store containing the file batch
+ title: Vector Store Id
status:
- $ref: '#/components/schemas/VectorStoreFileStatus'
- description: >-
- Current processing status of the file batch
+ title: Status
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - cancelled
+ - failed
+ default: completed
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
+ type: object
+ required:
+ - id
+ - 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
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - cancelled
+ - failed
+ default: completed
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
+ title: Code
+ type: string
+ enum:
+ - server_error
+ - rate_limit_exceeded
+ default: server_error
message:
type: string
- description: >-
- Human-readable error message describing the failure
- additionalProperties: false
+ title: Message
+ type: object
required:
- - code
- - message
+ - code
+ - message
title: VectorStoreFileLastError
- description: >-
- Error information for failed vector store file processing.
+ description: Error information for failed vector store file processing.
VectorStoreFileObject:
- type: object
properties:
id:
type: string
- description: Unique identifier for the file
+ title: Id
object:
type: string
+ title: Object
default: vector_store.file
- description: >-
- Object type identifier, always "vector_store.file"
attributes:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- Key-value attributes associated with the file
+ title: Attributes
chunking_strategy:
oneOf:
- - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
- - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ title: VectorStoreChunkingStrategyAuto | 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
+ title: Created At
last_error:
- $ref: '#/components/schemas/VectorStoreFileLastError'
- description: >-
- (Optional) Error information if file processing failed
+ anyOf:
+ - $ref: '#/components/schemas/VectorStoreFileLastError'
+ title: VectorStoreFileLastError
+ - type: 'null'
+ title: VectorStoreFileLastError
status:
- $ref: '#/components/schemas/VectorStoreFileStatus'
- description: Current processing status of the file
+ title: Status
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - cancelled
+ - failed
+ default: completed
usage_bytes:
type: integer
+ title: Usage Bytes
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: Vector Store Id
+ type: object
+ required:
+ - id
+ - chunking_strategy
+ - created_at
+ - status
+ - vector_store_id
title: VectorStoreFileObject
description: OpenAI Vector Store File object.
VectorStoreFilesListInBatchResponse:
- type: object
properties:
object:
type: string
+ title: Object
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
+ type: array
+ title: Data
first_id:
- type: string
- description: >-
- (Optional) ID of the first file in the list for pagination
+ anyOf:
+ - type: string
+ - type: 'null'
last_id:
- type: string
- description: >-
- (Optional) ID of the last file in the list for pagination
+ anyOf:
+ - type: string
+ - type: 'null'
has_more:
type: boolean
+ title: Has More
default: false
- description: >-
- Whether there are more files available beyond this page
- additionalProperties: false
+ type: object
required:
- - object
- - data
- - has_more
+ - data
title: VectorStoreFilesListInBatchResponse
- description: >-
- Response from listing files in a vector store file batch.
+ description: Response from listing files in a vector store file batch.
VectorStoreListFilesResponse:
- type: object
properties:
object:
type: string
+ title: Object
default: list
- description: Object type identifier, always "list"
data:
- type: array
items:
$ref: '#/components/schemas/VectorStoreFileObject'
- description: List of vector store file objects
+ type: array
+ title: Data
first_id:
- type: string
- description: >-
- (Optional) ID of the first file in the list for pagination
+ anyOf:
+ - type: string
+ - type: 'null'
last_id:
- type: string
- description: >-
- (Optional) ID of the last file in the list for pagination
+ anyOf:
+ - type: string
+ - type: 'null'
has_more:
type: boolean
+ title: Has More
default: false
- description: >-
- Whether there are more files available beyond this page
- additionalProperties: false
+ type: object
required:
- - object
- - data
- - has_more
+ - data
title: VectorStoreListFilesResponse
- description: >-
- Response from listing files in a vector store.
+ 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.
+ title: File Id
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.
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
chunking_strategy:
- $ref: '#/components/schemas/VectorStoreChunkingStrategy'
- description: >-
- The chunking strategy to use for the file.
- additionalProperties: false
- required:
- - file_id
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ discriminator:
+ propertyName: type
+ mapping:
+ auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
+ - type: 'null'
+ title: Chunking Strategy
+ type: object
+ required:
+ - file_id
title: OpenaiAttachFileToVectorStoreRequest
OpenaiUpdateVectorStoreFileRequest:
- type: object
properties:
attributes:
+ additionalProperties: true
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
+ title: Attributes
+ type: object
required:
- - attributes
+ - attributes
title: OpenaiUpdateVectorStoreFileRequest
VectorStoreFileDeleteResponse:
- type: object
properties:
id:
type: string
- description: Unique identifier of the deleted file
+ title: Id
object:
type: string
+ title: Object
default: vector_store.file.deleted
- description: >-
- Object type identifier for the deletion response
deleted:
type: boolean
+ title: Deleted
default: true
- description: >-
- Whether the deletion operation was successful
- additionalProperties: false
+ type: object
required:
- - id
- - object
- - deleted
+ - id
title: VectorStoreFileDeleteResponse
- description: >-
- Response from deleting a vector store file.
- bool:
- type: boolean
+ 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
+ title: Type
text:
type: string
- description: The actual text content
+ title: Text
embedding:
- type: array
- items:
- type: number
- description: >-
- Optional embedding vector for this content chunk
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
chunk_metadata:
- $ref: '#/components/schemas/ChunkMetadata'
- description: Optional chunk metadata
+ anyOf:
+ - $ref: '#/components/schemas/ChunkMetadata'
+ title: ChunkMetadata
+ - type: 'null'
+ title: ChunkMetadata
metadata:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: Optional user-defined metadata
- additionalProperties: false
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
required:
- - type
- - text
+ - type
+ - text
title: VectorStoreContent
- description: >-
- Content item from a vector store file or search result.
+ description: Content item from a vector store file or search result.
VectorStoreFileContentResponse:
- type: object
properties:
object:
type: string
const: vector_store.file_content.page
+ title: Object
default: vector_store.file_content.page
- description: >-
- The object type, which is always `vector_store.file_content.page`
data:
- type: array
items:
$ref: '#/components/schemas/VectorStoreContent'
- description: Parsed content of the file
+ type: array
+ title: Data
has_more:
type: boolean
+ title: Has More
default: false
- description: >-
- Indicates if there are more content pages to fetch
next_page:
- type: string
- description: The token for the next page, if any
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - object
- - data
- - has_more
+ - data
title: VectorStoreFileContentResponse
- description: >-
- Represents the parsed content of a vector store file.
+ description: Represents the parsed content 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.
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ title: string | list[string]
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.
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
max_num_results:
- type: integer
- description: >-
- Maximum number of results to return (1 to 50 inclusive, default 10).
+ anyOf:
+ - type: integer
+ - type: 'null'
+ 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.
+ anyOf:
+ - $ref: '#/components/schemas/SearchRankingOptions'
+ title: SearchRankingOptions
+ - type: 'null'
+ title: SearchRankingOptions
rewrite_query:
- type: boolean
- description: >-
- Whether to rewrite the natural language query for vector search (default
- false)
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
search_mode:
- type: string
- description: >-
- The search mode to use - "keyword", "vector", or "hybrid" (default "vector")
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: vector
+ type: object
required:
- - query
+ - query
title: OpenaiSearchVectorStoreRequest
VectorStoreSearchResponse:
- type: object
properties:
file_id:
type: string
- description: >-
- Unique identifier of the file containing the result
+ title: File Id
filename:
type: string
- description: Name of the file containing the result
+ title: Filename
score:
type: number
- description: Relevance score for this search result
+ title: Score
attributes:
- type: object
- additionalProperties:
- oneOf:
+ anyOf:
+ - additionalProperties:
+ anyOf:
- type: string
- type: number
- type: boolean
- description: >-
- (Optional) Key-value attributes associated with the file
+ title: string | number | boolean
+ type: object
+ - type: 'null'
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
+ type: array
+ title: Content
+ type: object
+ required:
+ - file_id
+ - filename
+ - score
+ - content
title: VectorStoreSearchResponse
description: Response from searching a vector store.
VectorStoreSearchResponsePage:
- type: object
properties:
object:
type: string
+ title: Object
default: vector_store.search_results.page
- description: >-
- Object type identifier for the search results page
search_query:
- type: array
items:
type: string
- description: >-
- The original search query that was executed
- data:
type: array
+ title: Search Query
+ data:
items:
$ref: '#/components/schemas/VectorStoreSearchResponse'
- description: List of search result objects
+ type: array
+ title: Data
has_more:
type: boolean
+ title: Has More
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
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - object
- - search_query
- - data
- - has_more
+ - search_query
+ - data
title: VectorStoreSearchResponsePage
- description: >-
- Paginated response from searching a vector store.
+ description: Paginated response from searching a vector store.
VersionInfo:
- type: object
properties:
version:
type: string
- description: Version number of the service
- additionalProperties: false
+ title: Version
+ type: object
required:
- - version
+ - 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: Batches
- description: >-
- The API is designed to allow use of openai client libraries for seamless integration.
-
-
- This API provides the following extensions:
- - idempotent batch creation
-
- Note: This API is currently under active development and may undergo changes.
- x-displayName: >-
- The Batches API enables efficient processing of multiple requests in a single
- operation, particularly useful for processing large datasets, batch evaluation
- workflows, and cost-effective inference at scale.
- - name: Conversations
- description: >-
- Protocol for conversation management operations.
- x-displayName: Conversations
- - name: Files
- description: >-
- This API is used to upload documents that can be used with other Llama Stack
- APIs.
- x-displayName: Files
- - name: Inference
- description: >-
- Llama Stack Inference API for generating completions, chat completions, and
- embeddings.
-
-
- This API provides the raw interface to the underlying models. Three 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.
-
- - Rerank models: these models reorder the documents based on their relevance
- to a query.
- x-displayName: Inference
- - name: Inspect
- description: >-
- APIs for inspecting the Llama Stack service, including health status, available
- API routes with methods and implementing providers.
- x-displayName: Inspect
- - name: Models
- description: ''
- - name: Prompts
- description: >-
- Protocol for prompt management operations.
- x-displayName: Prompts
- - name: Providers
- description: >-
- Providers API for inspecting, listing, and modifying providers and their configurations.
- x-displayName: Providers
- - name: Safety
- description: OpenAI-compatible Moderations API.
- x-displayName: Safety
- - name: Scoring
- description: ''
- - name: ScoringFunctions
- description: ''
- - name: Shields
- description: ''
- - name: ToolGroups
- description: ''
- - name: ToolRuntime
- description: ''
- - name: VectorIO
- description: ''
-x-tagGroups:
- - name: Operations
- tags:
- - Agents
- - Batches
- - Conversations
- - Files
- - Inference
- - Inspect
- - Models
- - Prompts
- - Providers
- - Safety
- - Scoring
- - ScoringFunctions
- - Shields
- - ToolGroups
- - ToolRuntime
- - VectorIO
+ PaginatedResponse:
+ properties:
+ data:
+ items:
+ additionalProperties: true
+ type: object
+ type: array
+ title: Data
+ has_more:
+ type: boolean
+ title: Has More
+ url:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - data
+ - has_more
+ title: PaginatedResponse
+ description: A generic paginated response that follows a simple format.
+ Dataset:
+ properties:
+ identifier:
+ type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
+ provider_resource_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
+ provider_id:
+ type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
+ type:
+ type: string
+ const: dataset
+ title: Type
+ default: dataset
+ purpose:
+ $ref: '#/components/schemas/DatasetPurpose'
+ source:
+ oneOf:
+ - $ref: '#/components/schemas/URIDataSource'
+ title: URIDataSource
+ - $ref: '#/components/schemas/RowsDataSource'
+ title: RowsDataSource
+ title: URIDataSource | RowsDataSource
+ discriminator:
+ propertyName: type
+ mapping:
+ rows: '#/components/schemas/RowsDataSource'
+ uri: '#/components/schemas/URIDataSource'
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ description: Any additional metadata for this dataset
+ type: object
+ required:
+ - identifier
+ - provider_id
+ - purpose
+ - source
+ title: Dataset
+ description: Dataset resource for storing and accessing training or evaluation data.
+ RowsDataSource:
+ properties:
+ type:
+ type: string
+ const: rows
+ title: Type
+ default: rows
+ rows:
+ items:
+ additionalProperties: true
+ type: object
+ type: array
+ title: Rows
+ type: object
+ required:
+ - rows
+ title: RowsDataSource
+ description: A dataset stored in rows.
+ URIDataSource:
+ properties:
+ type:
+ type: string
+ const: uri
+ title: Type
+ default: uri
+ uri:
+ type: string
+ title: Uri
+ type: object
+ required:
+ - uri
+ title: URIDataSource
+ description: A dataset that can be obtained from a URI.
+ ListDatasetsResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/Dataset'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListDatasetsResponse
+ description: Response from listing datasets.
+ Benchmark:
+ properties:
+ identifier:
+ type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
+ provider_resource_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
+ provider_id:
+ type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
+ type:
+ type: string
+ const: benchmark
+ title: Type
+ default: benchmark
+ dataset_id:
+ type: string
+ title: Dataset Id
+ scoring_functions:
+ items:
+ type: string
+ type: array
+ title: Scoring Functions
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ description: Metadata for this evaluation task
+ type: object
+ required:
+ - identifier
+ - provider_id
+ - dataset_id
+ - scoring_functions
+ title: Benchmark
+ description: A benchmark resource for evaluating model performance.
+ ListBenchmarksResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/Benchmark'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListBenchmarksResponse
+ BenchmarkConfig:
+ properties:
+ eval_candidate:
+ $ref: '#/components/schemas/ModelCandidate'
+ scoring_params:
+ additionalProperties:
+ oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ discriminator:
+ propertyName: type
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ type: object
+ title: Scoring Params
+ description: Map between scoring function id and parameters for each scoring function you want to run
+ num_examples:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ description: Number of examples to evaluate (useful for testing), if not provided, all examples in the dataset will be evaluated
+ type: object
+ required:
+ - eval_candidate
+ title: BenchmarkConfig
+ description: A benchmark configuration for evaluation.
+ GreedySamplingStrategy:
+ properties:
+ type:
+ type: string
+ const: greedy
+ title: Type
+ default: greedy
+ type: object
+ title: GreedySamplingStrategy
+ description: Greedy sampling strategy that selects the highest probability token at each step.
+ ModelCandidate:
+ properties:
+ type:
+ type: string
+ const: model
+ title: Type
+ default: model
+ model:
+ type: string
+ title: Model
+ sampling_params:
+ $ref: '#/components/schemas/SamplingParams'
+ system_message:
+ anyOf:
+ - $ref: '#/components/schemas/SystemMessage'
+ title: SystemMessage
+ - type: 'null'
+ title: SystemMessage
+ type: object
+ required:
+ - model
+ - sampling_params
+ title: ModelCandidate
+ description: A model candidate for evaluation.
+ SamplingParams:
+ properties:
+ strategy:
+ oneOf:
+ - $ref: '#/components/schemas/GreedySamplingStrategy'
+ title: GreedySamplingStrategy
+ - $ref: '#/components/schemas/TopPSamplingStrategy'
+ title: TopPSamplingStrategy
+ - $ref: '#/components/schemas/TopKSamplingStrategy'
+ title: TopKSamplingStrategy
+ title: GreedySamplingStrategy | TopPSamplingStrategy | TopKSamplingStrategy
+ discriminator:
+ propertyName: type
+ mapping:
+ greedy: '#/components/schemas/GreedySamplingStrategy'
+ top_k: '#/components/schemas/TopKSamplingStrategy'
+ top_p: '#/components/schemas/TopPSamplingStrategy'
+ max_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ repetition_penalty:
+ anyOf:
+ - type: number
+ - type: 'null'
+ default: 1.0
+ stop:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ type: object
+ title: SamplingParams
+ description: Sampling parameters.
+ SystemMessage:
+ properties:
+ role:
+ type: string
+ const: system
+ title: Role
+ default: system
+ content:
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ type: array
+ title: list[ImageContentItem-Input | TextContentItem]
+ title: string | list[ImageContentItem-Input | TextContentItem]
+ type: object
+ required:
+ - content
+ title: SystemMessage
+ description: A system message providing instructions or context to the model.
+ TopKSamplingStrategy:
+ properties:
+ type:
+ type: string
+ const: top_k
+ title: Type
+ default: top_k
+ top_k:
+ type: integer
+ minimum: 1.0
+ title: Top K
+ type: object
+ required:
+ - top_k
+ title: TopKSamplingStrategy
+ description: Top-k sampling strategy that restricts sampling to the k most likely tokens.
+ TopPSamplingStrategy:
+ properties:
+ type:
+ type: string
+ const: top_p
+ title: Type
+ default: top_p
+ temperature:
+ anyOf:
+ - type: number
+ minimum: 0.0
+ - type: 'null'
+ top_p:
+ anyOf:
+ - type: number
+ - type: 'null'
+ default: 0.95
+ type: object
+ required:
+ - temperature
+ title: TopPSamplingStrategy
+ description: Top-p (nucleus) sampling strategy that samples from the smallest set of tokens with cumulative probability >= p.
+ EvaluateResponse:
+ properties:
+ generations:
+ items:
+ additionalProperties: true
+ type: object
+ type: array
+ title: Generations
+ scores:
+ additionalProperties:
+ $ref: '#/components/schemas/ScoringResult'
+ type: object
+ title: Scores
+ type: object
+ required:
+ - generations
+ - scores
+ title: EvaluateResponse
+ description: The response from an evaluation.
+ Job:
+ properties:
+ job_id:
+ type: string
+ title: Job Id
+ status:
+ $ref: '#/components/schemas/JobStatus'
+ type: object
+ required:
+ - job_id
+ - status
+ title: Job
+ description: A job execution instance with status tracking.
+ RerankData:
+ properties:
+ index:
+ type: integer
+ title: Index
+ relevance_score:
+ type: number
+ title: Relevance Score
+ type: object
+ required:
+ - index
+ - relevance_score
+ title: RerankData
+ description: A single rerank result from a reranking response.
+ RerankResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/RerankData'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: RerankResponse
+ description: Response from a reranking request.
+ Checkpoint:
+ properties:
+ identifier:
+ type: string
+ title: Identifier
+ created_at:
+ type: string
+ format: date-time
+ title: Created At
+ epoch:
+ type: integer
+ title: Epoch
+ post_training_job_id:
+ type: string
+ title: Post Training Job Id
+ path:
+ type: string
+ title: Path
+ training_metrics:
+ anyOf:
+ - $ref: '#/components/schemas/PostTrainingMetric'
+ title: PostTrainingMetric
+ - type: 'null'
+ title: PostTrainingMetric
+ type: object
+ required:
+ - identifier
+ - created_at
+ - epoch
+ - post_training_job_id
+ - path
+ title: Checkpoint
+ description: Checkpoint created during training runs.
+ PostTrainingJobArtifactsResponse:
+ properties:
+ job_uuid:
+ type: string
+ title: Job Uuid
+ checkpoints:
+ items:
+ $ref: '#/components/schemas/Checkpoint'
+ type: array
+ title: Checkpoints
+ type: object
+ required:
+ - job_uuid
+ title: PostTrainingJobArtifactsResponse
+ description: Artifacts of a finetuning job.
+ PostTrainingMetric:
+ properties:
+ epoch:
+ type: integer
+ title: Epoch
+ train_loss:
+ type: number
+ title: Train Loss
+ validation_loss:
+ type: number
+ title: Validation Loss
+ perplexity:
+ type: number
+ title: Perplexity
+ type: object
+ required:
+ - epoch
+ - train_loss
+ - validation_loss
+ - perplexity
+ title: PostTrainingMetric
+ description: Training metrics captured during post-training jobs.
+ PostTrainingJobStatusResponse:
+ properties:
+ job_uuid:
+ type: string
+ title: Job Uuid
+ status:
+ $ref: '#/components/schemas/JobStatus'
+ scheduled_at:
+ anyOf:
+ - type: string
+ format: date-time
+ - type: 'null'
+ started_at:
+ anyOf:
+ - type: string
+ format: date-time
+ - type: 'null'
+ completed_at:
+ anyOf:
+ - type: string
+ format: date-time
+ - type: 'null'
+ resources_allocated:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ checkpoints:
+ items:
+ $ref: '#/components/schemas/Checkpoint'
+ type: array
+ title: Checkpoints
+ type: object
+ required:
+ - job_uuid
+ - status
+ title: PostTrainingJobStatusResponse
+ description: Status of a finetuning job.
+ ListPostTrainingJobsResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/PostTrainingJob'
+ type: array
+ title: Data
+ type: object
+ required:
+ - data
+ title: ListPostTrainingJobsResponse
+ DPOAlignmentConfig:
+ properties:
+ beta:
+ type: number
+ title: Beta
+ loss_type:
+ $ref: '#/components/schemas/DPOLossType'
+ default: sigmoid
+ type: object
+ required:
+ - beta
+ title: DPOAlignmentConfig
+ description: Configuration for Direct Preference Optimization (DPO) alignment.
+ DPOLossType:
+ type: string
+ enum:
+ - sigmoid
+ - hinge
+ - ipo
+ - kto_pair
+ title: DPOLossType
+ DataConfig:
+ properties:
+ dataset_id:
+ type: string
+ title: Dataset Id
+ batch_size:
+ type: integer
+ title: Batch Size
+ shuffle:
+ type: boolean
+ title: Shuffle
+ data_format:
+ $ref: '#/components/schemas/DatasetFormat'
+ validation_dataset_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ packed:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ train_on_input:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ type: object
+ required:
+ - dataset_id
+ - batch_size
+ - shuffle
+ - data_format
+ title: DataConfig
+ description: Configuration for training data and data loading.
+ DatasetFormat:
+ type: string
+ enum:
+ - instruct
+ - dialog
+ title: DatasetFormat
+ description: Format of the training dataset.
+ EfficiencyConfig:
+ properties:
+ enable_activation_checkpointing:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ enable_activation_offloading:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ memory_efficient_fsdp_wrap:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ fsdp_cpu_offload:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ type: object
+ title: EfficiencyConfig
+ description: Configuration for memory and compute efficiency optimizations.
+ OptimizerConfig:
+ properties:
+ optimizer_type:
+ $ref: '#/components/schemas/OptimizerType'
+ lr:
+ type: number
+ title: Lr
+ weight_decay:
+ type: number
+ title: Weight Decay
+ num_warmup_steps:
+ type: integer
+ title: Num Warmup Steps
+ type: object
+ required:
+ - optimizer_type
+ - lr
+ - weight_decay
+ - num_warmup_steps
+ title: OptimizerConfig
+ description: Configuration parameters for the optimization algorithm.
+ OptimizerType:
+ type: string
+ enum:
+ - adam
+ - adamw
+ - sgd
+ title: OptimizerType
+ description: Available optimizer algorithms for training.
+ TrainingConfig:
+ properties:
+ n_epochs:
+ type: integer
+ title: N Epochs
+ max_steps_per_epoch:
+ type: integer
+ title: Max Steps Per Epoch
+ default: 1
+ gradient_accumulation_steps:
+ type: integer
+ title: Gradient Accumulation Steps
+ default: 1
+ max_validation_steps:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 1
+ data_config:
+ anyOf:
+ - $ref: '#/components/schemas/DataConfig'
+ title: DataConfig
+ - type: 'null'
+ title: DataConfig
+ optimizer_config:
+ anyOf:
+ - $ref: '#/components/schemas/OptimizerConfig'
+ title: OptimizerConfig
+ - type: 'null'
+ title: OptimizerConfig
+ efficiency_config:
+ anyOf:
+ - $ref: '#/components/schemas/EfficiencyConfig'
+ title: EfficiencyConfig
+ - type: 'null'
+ title: EfficiencyConfig
+ dtype:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: bf16
+ type: object
+ required:
+ - n_epochs
+ title: TrainingConfig
+ description: Comprehensive configuration for the training process.
+ PostTrainingJob:
+ properties:
+ job_uuid:
+ type: string
+ title: Job Uuid
+ type: object
+ required:
+ - job_uuid
+ title: PostTrainingJob
+ AlgorithmConfig:
+ discriminator:
+ mapping:
+ LoRA: '#/components/schemas/LoraFinetuningConfig'
+ QAT: '#/components/schemas/QATFinetuningConfig'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/LoraFinetuningConfig'
+ title: LoraFinetuningConfig
+ - $ref: '#/components/schemas/QATFinetuningConfig'
+ title: QATFinetuningConfig
+ title: LoraFinetuningConfig | QATFinetuningConfig
+ LoraFinetuningConfig:
+ properties:
+ type:
+ type: string
+ const: LoRA
+ title: Type
+ default: LoRA
+ lora_attn_modules:
+ items:
+ type: string
+ type: array
+ title: Lora Attn Modules
+ apply_lora_to_mlp:
+ type: boolean
+ title: Apply Lora To Mlp
+ apply_lora_to_output:
+ type: boolean
+ title: Apply Lora To Output
+ rank:
+ type: integer
+ title: Rank
+ alpha:
+ type: integer
+ title: Alpha
+ use_dora:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ quantize_base:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ type: object
+ required:
+ - lora_attn_modules
+ - apply_lora_to_mlp
+ - apply_lora_to_output
+ - rank
+ - alpha
+ title: LoraFinetuningConfig
+ description: Configuration for Low-Rank Adaptation (LoRA) fine-tuning.
+ QATFinetuningConfig:
+ properties:
+ type:
+ type: string
+ const: QAT
+ title: Type
+ default: QAT
+ quantizer_name:
+ type: string
+ title: Quantizer Name
+ group_size:
+ type: integer
+ title: Group Size
+ type: object
+ required:
+ - quantizer_name
+ - group_size
+ title: QATFinetuningConfig
+ description: Configuration for Quantization-Aware Training (QAT) fine-tuning.
+ ParamType:
+ discriminator:
+ mapping:
+ array: '#/components/schemas/ArrayType'
+ boolean: '#/components/schemas/BooleanType'
+ chat_completion_input: '#/components/schemas/ChatCompletionInputType'
+ completion_input: '#/components/schemas/CompletionInputType'
+ json: '#/components/schemas/JsonType'
+ number: '#/components/schemas/NumberType'
+ object: '#/components/schemas/ObjectType'
+ string: '#/components/schemas/StringType'
+ union: '#/components/schemas/UnionType'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/StringType'
+ title: StringType
+ - $ref: '#/components/schemas/NumberType'
+ title: NumberType
+ - $ref: '#/components/schemas/BooleanType'
+ title: BooleanType
+ - $ref: '#/components/schemas/ArrayType'
+ title: ArrayType
+ - $ref: '#/components/schemas/ObjectType'
+ title: ObjectType
+ - $ref: '#/components/schemas/JsonType'
+ title: JsonType
+ - $ref: '#/components/schemas/UnionType'
+ title: UnionType
+ - $ref: '#/components/schemas/ChatCompletionInputType'
+ title: ChatCompletionInputType
+ - $ref: '#/components/schemas/CompletionInputType'
+ title: CompletionInputType
+ title: StringType | ... (9 variants)
+ DataSource:
+ discriminator:
+ mapping:
+ rows: '#/components/schemas/RowsDataSource'
+ uri: '#/components/schemas/URIDataSource'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/URIDataSource'
+ title: URIDataSource
+ - $ref: '#/components/schemas/RowsDataSource'
+ title: RowsDataSource
+ title: URIDataSource | RowsDataSource
+ AllowedToolsFilter:
+ properties:
+ tool_names:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ type: object
+ title: AllowedToolsFilter
+ description: Filter configuration for restricting which MCP tools can be used.
+ ApprovalFilter:
+ properties:
+ always:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ never:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ type: object
+ title: ApprovalFilter
+ description: Filter configuration for MCP tool approval requirements.
+ BatchError:
+ properties:
+ code:
+ anyOf:
+ - type: string
+ - type: 'null'
+ line:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ message:
+ anyOf:
+ - type: string
+ - type: 'null'
+ param:
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
+ title: BatchError
+ BatchRequestCounts:
+ properties:
+ completed:
+ type: integer
+ title: Completed
+ failed:
+ type: integer
+ title: Failed
+ total:
+ type: integer
+ title: Total
+ additionalProperties: true
+ type: object
+ required:
+ - completed
+ - failed
+ - total
+ title: BatchRequestCounts
+ BatchUsage:
+ properties:
+ input_tokens:
+ type: integer
+ title: Input Tokens
+ input_tokens_details:
+ $ref: '#/components/schemas/InputTokensDetails'
+ output_tokens:
+ type: integer
+ title: Output Tokens
+ output_tokens_details:
+ $ref: '#/components/schemas/OutputTokensDetails'
+ total_tokens:
+ type: integer
+ title: Total Tokens
+ additionalProperties: true
+ type: object
+ required:
+ - input_tokens
+ - input_tokens_details
+ - output_tokens
+ - output_tokens_details
+ - total_tokens
+ title: BatchUsage
+ Body_openai_upload_file_v1_files_post:
+ properties:
+ file:
+ type: string
+ format: binary
+ title: File
+ purpose:
+ $ref: '#/components/schemas/OpenAIFilePurpose'
+ expires_after:
+ anyOf:
+ - $ref: '#/components/schemas/ExpiresAfter'
+ title: ExpiresAfter
+ - type: 'null'
+ title: ExpiresAfter
+ type: object
+ required:
+ - file
+ - purpose
+ title: Body_openai_upload_file_v1_files_post
+ Chunk-Input:
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ type: array
+ title: list[ImageContentItem-Input | TextContentItem]
+ title: string | list[ImageContentItem-Input | TextContentItem]
+ chunk_id:
+ type: string
+ title: Chunk Id
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ embedding:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ chunk_metadata:
+ anyOf:
+ - $ref: '#/components/schemas/ChunkMetadata'
+ title: ChunkMetadata
+ - type: 'null'
+ title: ChunkMetadata
+ type: object
+ required:
+ - content
+ - chunk_id
+ title: Chunk
+ description: A chunk of content that can be inserted into a vector database.
+ Chunk-Output:
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ type: array
+ title: list[ImageContentItem-Output | TextContentItem]
+ title: string | list[ImageContentItem-Output | TextContentItem]
+ chunk_id:
+ type: string
+ title: Chunk Id
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ embedding:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ chunk_metadata:
+ anyOf:
+ - $ref: '#/components/schemas/ChunkMetadata'
+ title: ChunkMetadata
+ - type: 'null'
+ title: ChunkMetadata
+ type: object
+ required:
+ - content
+ - chunk_id
+ title: Chunk
+ description: A chunk of content that can be inserted into a vector database.
+ ConversationItemInclude:
+ type: string
+ enum:
+ - web_search_call.action.sources
+ - code_interpreter_call.outputs
+ - computer_call_output.output.image_url
+ - file_search_call.results
+ - message.input_image.image_url
+ - message.output_text.logprobs
+ - reasoning.encrypted_content
+ title: ConversationItemInclude
+ description: Specify additional output data to include in the model response.
+ DatasetPurpose:
+ type: string
+ enum:
+ - post-training/messages
+ - eval/question-answer
+ - eval/messages-answer
+ title: DatasetPurpose
+ description: Purpose of the dataset. Each purpose has a required input data schema.
+ Errors:
+ properties:
+ data:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/BatchError'
+ type: array
+ - type: 'null'
+ object:
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
+ title: Errors
+ HealthStatus:
+ type: string
+ enum:
+ - OK
+ - Error
+ - Not Implemented
+ title: HealthStatus
+ ImageContentItem-Input:
+ properties:
+ type:
+ type: string
+ const: image
+ title: Type
+ default: image
+ image:
+ $ref: '#/components/schemas/_URLOrData'
+ type: object
+ required:
+ - image
+ title: ImageContentItem
+ description: A image content item
+ ImageContentItem-Output:
+ properties:
+ type:
+ type: string
+ const: image
+ title: Type
+ default: image
+ image:
+ $ref: '#/components/schemas/_URLOrData'
+ type: object
+ required:
+ - image
+ title: ImageContentItem
+ description: A image content item
+ InputTokensDetails:
+ properties:
+ cached_tokens:
+ type: integer
+ title: Cached Tokens
+ additionalProperties: true
+ type: object
+ required:
+ - cached_tokens
+ title: InputTokensDetails
+ JobStatus:
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - failed
+ - scheduled
+ - cancelled
+ title: JobStatus
+ description: Status of a job execution.
+ MCPListToolsTool:
+ properties:
+ input_schema:
+ additionalProperties: true
+ type: object
+ title: Input Schema
+ name:
+ type: string
+ title: Name
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - input_schema
+ - name
+ title: MCPListToolsTool
+ description: Tool definition returned by MCP list tools operation.
+ OpenAIAssistantMessageParam-Input:
+ properties:
+ role:
+ type: string
+ const: assistant
+ title: Role
+ default: assistant
+ content:
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ - type: 'null'
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ tool_calls:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
+ type: object
+ title: OpenAIAssistantMessageParam
+ description: A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
+ OpenAIAssistantMessageParam-Output:
+ properties:
+ role:
+ type: string
+ const: assistant
+ title: Role
+ default: assistant
+ content:
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ - type: 'null'
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ tool_calls:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
+ type: object
+ title: OpenAIAssistantMessageParam
+ description: A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
+ OpenAIChatCompletionUsageCompletionTokensDetails:
+ properties:
+ reasoning_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ title: OpenAIChatCompletionUsageCompletionTokensDetails
+ description: Token details for output tokens in OpenAI chat completion usage.
+ OpenAIChatCompletionUsagePromptTokensDetails:
+ properties:
+ cached_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ title: OpenAIChatCompletionUsagePromptTokensDetails
+ description: Token details for prompt tokens in OpenAI chat completion usage.
+ OpenAIResponseMessage-Input:
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ discriminator:
+ propertyName: type
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ type: array
+ title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ title: OpenAIResponseOutputMessageContentOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ discriminator:
+ propertyName: type
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
+ type: array
+ title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ role:
+ title: Role
+ type: string
+ enum:
+ - system
+ - developer
+ - user
+ - assistant
+ default: system
+ type:
+ type: string
+ const: message
+ title: Type
+ default: message
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ status:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ - role
+ 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.
+ OpenAIResponseMessage-Output:
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ discriminator:
+ propertyName: type
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ type: array
+ title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ title: OpenAIResponseOutputMessageContentOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ discriminator:
+ propertyName: type
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
+ type: array
+ title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ role:
+ title: Role
+ type: string
+ enum:
+ - system
+ - developer
+ - user
+ - assistant
+ default: system
+ type:
+ type: string
+ const: message
+ title: Type
+ default: message
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ status:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ - role
+ 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.
+ OpenAIResponseOutputMessageFileSearchToolCallResults:
+ properties:
+ attributes:
+ additionalProperties: true
+ type: object
+ title: Attributes
+ file_id:
+ type: string
+ title: File Id
+ filename:
+ type: string
+ title: Filename
+ score:
+ type: number
+ title: Score
+ text:
+ type: string
+ title: Text
+ type: object
+ required:
+ - attributes
+ - file_id
+ - filename
+ - score
+ - text
+ title: OpenAIResponseOutputMessageFileSearchToolCallResults
+ description: Search results returned by the file search operation.
+ OpenAIResponseTextFormat:
+ properties:
+ type:
+ title: Type
+ type: string
+ enum:
+ - text
+ - json_schema
+ - json_object
+ default: text
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ schema:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ strict:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ type: object
+ title: OpenAIResponseTextFormat
+ description: Configuration for Responses API text format.
+ OpenAIResponseUsageInputTokensDetails:
+ properties:
+ cached_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ title: OpenAIResponseUsageInputTokensDetails
+ description: Token details for input tokens in OpenAI response usage.
+ OpenAIResponseUsageOutputTokensDetails:
+ properties:
+ reasoning_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ title: OpenAIResponseUsageOutputTokensDetails
+ description: Token details for output tokens in OpenAI response usage.
+ OpenAIUserMessageParam-Input:
+ properties:
+ role:
+ type: string
+ const: user
+ title: Role
+ default: user
+ content:
+ anyOf:
+ - type: string
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ discriminator:
+ propertyName: type
+ mapping:
+ file: '#/components/schemas/OpenAIFile'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ title: string | list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ title: OpenAIUserMessageParam
+ description: A message from the user in an OpenAI-compatible chat completion request.
+ OpenAIUserMessageParam-Output:
+ properties:
+ role:
+ type: string
+ const: user
+ title: Role
+ default: user
+ content:
+ anyOf:
+ - type: string
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ discriminator:
+ propertyName: type
+ mapping:
+ file: '#/components/schemas/OpenAIFile'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ title: string | list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ title: OpenAIUserMessageParam
+ description: A message from the user in an OpenAI-compatible chat completion request.
+ OutputTokensDetails:
+ properties:
+ reasoning_tokens:
+ type: integer
+ title: Reasoning Tokens
+ additionalProperties: true
+ type: object
+ required:
+ - reasoning_tokens
+ title: OutputTokensDetails
+ SearchRankingOptions:
+ properties:
+ ranker:
+ anyOf:
+ - type: string
+ - type: 'null'
+ score_threshold:
+ anyOf:
+ - type: number
+ - type: 'null'
+ default: 0.0
+ type: object
+ title: SearchRankingOptions
+ description: Options for ranking and filtering search results.
+ _URLOrData:
+ properties:
+ url:
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ title: URL
+ - type: 'null'
+ title: URL
+ data:
+ anyOf:
+ - type: string
+ - type: 'null'
+ contentEncoding: base64
+ type: object
+ title: _URLOrData
+ description: A URL or a base64 encoded string
+ SamplingStrategy:
+ discriminator:
+ mapping:
+ greedy: '#/components/schemas/GreedySamplingStrategy'
+ top_k: '#/components/schemas/TopKSamplingStrategy'
+ top_p: '#/components/schemas/TopPSamplingStrategy'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/GreedySamplingStrategy'
+ title: GreedySamplingStrategy
+ - $ref: '#/components/schemas/TopPSamplingStrategy'
+ title: TopPSamplingStrategy
+ - $ref: '#/components/schemas/TopKSamplingStrategy'
+ title: TopKSamplingStrategy
+ title: GreedySamplingStrategy | TopPSamplingStrategy | TopKSamplingStrategy
+ GrammarResponseFormat:
+ description: Configuration for grammar-guided response generation.
+ properties:
+ type:
+ const: grammar
+ default: grammar
+ title: Type
+ type: string
+ bnf:
+ additionalProperties: true
+ title: Bnf
+ type: object
+ required:
+ - bnf
+ title: GrammarResponseFormat
+ type: object
+ JsonSchemaResponseFormat:
+ description: Configuration for JSON schema-guided response generation.
+ properties:
+ type:
+ const: json_schema
+ default: json_schema
+ title: Type
+ type: string
+ json_schema:
+ additionalProperties: true
+ title: Json Schema
+ type: object
+ required:
+ - json_schema
+ title: JsonSchemaResponseFormat
+ type: object
+ ResponseFormat:
+ discriminator:
+ mapping:
+ grammar: '#/components/schemas/GrammarResponseFormat'
+ json_schema: '#/components/schemas/JsonSchemaResponseFormat'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/JsonSchemaResponseFormat'
+ title: JsonSchemaResponseFormat
+ - $ref: '#/components/schemas/GrammarResponseFormat'
+ title: GrammarResponseFormat
+ title: JsonSchemaResponseFormat | GrammarResponseFormat
+ OpenAIResponseContentPart:
+ discriminator:
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ reasoning_text: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ title: OpenAIResponseContentPartOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ title: OpenAIResponseContentPartReasoningText
+ title: OpenAIResponseContentPartOutputText | OpenAIResponseContentPartRefusal | OpenAIResponseContentPartReasoningText
+ SpanEndPayload:
+ description: Payload for a span end event.
+ properties:
+ type:
+ const: span_end
+ default: span_end
+ title: Type
+ type: string
+ status:
+ $ref: '#/components/schemas/SpanStatus'
+ required:
+ - status
+ title: SpanEndPayload
+ type: object
+ SpanStartPayload:
+ description: Payload for a span start event.
+ properties:
+ type:
+ const: span_start
+ default: span_start
+ title: Type
+ type: string
+ name:
+ title: Name
+ type: string
+ parent_span_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ required:
+ - name
+ title: SpanStartPayload
+ type: object
+ SpanStatus:
+ description: The status of a span indicating whether it completed successfully or with an error.
+ enum:
+ - ok
+ - error
+ title: SpanStatus
+ type: string
+ StructuredLogPayload:
+ discriminator:
+ mapping:
+ span_end: '#/components/schemas/SpanEndPayload'
+ span_start: '#/components/schemas/SpanStartPayload'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/SpanStartPayload'
+ title: SpanStartPayload
+ - $ref: '#/components/schemas/SpanEndPayload'
+ title: SpanEndPayload
+ title: SpanStartPayload | SpanEndPayload
+ LogSeverity:
+ description: The severity level of a log message.
+ enum:
+ - verbose
+ - debug
+ - info
+ - warn
+ - error
+ - critical
+ title: LogSeverity
+ type: string
+ MetricEvent:
+ description: A metric event containing a measured value.
+ properties:
+ trace_id:
+ title: Trace Id
+ type: string
+ span_id:
+ title: Span Id
+ type: string
+ timestamp:
+ format: date-time
+ title: Timestamp
+ type: string
+ attributes:
+ anyOf:
+ - additionalProperties:
+ anyOf:
+ - type: string
+ - type: integer
+ - type: number
+ - type: boolean
+ - type: 'null'
+ title: string | ... (4 variants)
+ type: object
+ - type: 'null'
+ type:
+ const: metric
+ default: metric
+ title: Type
+ type: string
+ metric:
+ title: Metric
+ type: string
+ value:
+ anyOf:
+ - type: integer
+ - type: number
+ title: integer | number
+ unit:
+ title: Unit
+ type: string
+ required:
+ - trace_id
+ - span_id
+ - timestamp
+ - metric
+ - value
+ - unit
+ title: MetricEvent
+ type: object
+ StructuredLogEvent:
+ description: A structured log event containing typed payload data.
+ properties:
+ trace_id:
+ title: Trace Id
+ type: string
+ span_id:
+ title: Span Id
+ type: string
+ timestamp:
+ format: date-time
+ title: Timestamp
+ type: string
+ attributes:
+ anyOf:
+ - additionalProperties:
+ anyOf:
+ - type: string
+ - type: integer
+ - type: number
+ - type: boolean
+ - type: 'null'
+ title: string | ... (4 variants)
+ type: object
+ - type: 'null'
+ type:
+ const: structured_log
+ default: structured_log
+ title: Type
+ type: string
+ payload:
+ discriminator:
+ mapping:
+ span_end: '#/components/schemas/SpanEndPayload'
+ span_start: '#/components/schemas/SpanStartPayload'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/SpanStartPayload'
+ title: SpanStartPayload
+ - $ref: '#/components/schemas/SpanEndPayload'
+ title: SpanEndPayload
+ title: SpanStartPayload | SpanEndPayload
+ required:
+ - trace_id
+ - span_id
+ - timestamp
+ - payload
+ title: StructuredLogEvent
+ type: object
+ UnstructuredLogEvent:
+ description: An unstructured log event containing a simple text message.
+ properties:
+ trace_id:
+ title: Trace Id
+ type: string
+ span_id:
+ title: Span Id
+ type: string
+ timestamp:
+ format: date-time
+ title: Timestamp
+ type: string
+ attributes:
+ anyOf:
+ - additionalProperties:
+ anyOf:
+ - type: string
+ - type: integer
+ - type: number
+ - type: boolean
+ - type: 'null'
+ title: string | ... (4 variants)
+ type: object
+ - type: 'null'
+ type:
+ const: unstructured_log
+ default: unstructured_log
+ title: Type
+ type: string
+ message:
+ title: Message
+ type: string
+ severity:
+ $ref: '#/components/schemas/LogSeverity'
+ required:
+ - trace_id
+ - span_id
+ - timestamp
+ - message
+ - severity
+ title: UnstructuredLogEvent
+ type: object
+ Event:
+ discriminator:
+ mapping:
+ metric: '#/components/schemas/MetricEvent'
+ structured_log: '#/components/schemas/StructuredLogEvent'
+ unstructured_log: '#/components/schemas/UnstructuredLogEvent'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/UnstructuredLogEvent'
+ title: UnstructuredLogEvent
+ - $ref: '#/components/schemas/MetricEvent'
+ title: MetricEvent
+ - $ref: '#/components/schemas/StructuredLogEvent'
+ title: StructuredLogEvent
+ title: UnstructuredLogEvent | MetricEvent | StructuredLogEvent
+ MetricInResponse:
+ description: A metric value included in API responses.
+ properties:
+ metric:
+ title: Metric
+ type: string
+ value:
+ anyOf:
+ - type: integer
+ - type: number
+ title: integer | number
+ unit:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ required:
+ - metric
+ - value
+ title: MetricInResponse
+ type: object
+ TextDelta:
+ description: A text content delta for streaming responses.
+ properties:
+ type:
+ const: text
+ default: text
+ title: Type
+ type: string
+ text:
+ title: Text
+ type: string
+ required:
+ - text
+ title: TextDelta
+ type: object
+ ImageDelta:
+ description: An image content delta for streaming responses.
+ properties:
+ type:
+ const: image
+ default: image
+ title: Type
+ type: string
+ image:
+ format: binary
+ title: Image
+ type: string
+ required:
+ - image
+ title: ImageDelta
+ type: object
+ Fp8QuantizationConfig:
+ description: Configuration for 8-bit floating point quantization.
+ properties:
+ type:
+ const: fp8_mixed
+ default: fp8_mixed
+ title: Type
+ type: string
+ title: Fp8QuantizationConfig
+ type: object
+ Bf16QuantizationConfig:
+ description: Configuration for BFloat16 precision (typically no quantization).
+ properties:
+ type:
+ const: bf16
+ default: bf16
+ title: Type
+ type: string
+ title: Bf16QuantizationConfig
+ type: object
+ Int4QuantizationConfig:
+ description: Configuration for 4-bit integer quantization.
+ properties:
+ type:
+ const: int4_mixed
+ default: int4_mixed
+ title: Type
+ type: string
+ scheme:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: int4_weight_int8_dynamic_activation
+ title: Int4QuantizationConfig
+ type: object
+ UserMessage:
+ description: A message from the user in a chat conversation.
+ properties:
+ role:
+ const: user
+ default: user
+ title: Role
+ type: string
+ content:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
+ context:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ - type: 'null'
+ title: string | list[ImageContentItem | TextContentItem]
+ nullable: true
+ required:
+ - content
+ title: UserMessage
+ type: object
+ ToolResponseMessage:
+ description: A message representing the result of a tool invocation.
+ properties:
+ role:
+ const: tool
+ default: tool
+ title: Role
+ type: string
+ call_id:
+ title: Call Id
+ type: string
+ content:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
+ required:
+ - call_id
+ - content
+ title: ToolResponseMessage
+ type: object
+ TokenLogProbs:
+ description: Log probabilities for generated tokens.
+ properties:
+ logprobs_by_token:
+ additionalProperties:
+ type: number
+ title: Logprobs By Token
+ type: object
+ required:
+ - logprobs_by_token
+ title: TokenLogProbs
+ type: object
+ EmbeddingsResponse:
+ description: Response containing generated embeddings.
+ properties:
+ embeddings:
+ items:
+ items:
+ type: number
+ type: array
+ title: Embeddings
+ type: array
+ required:
+ - embeddings
+ title: EmbeddingsResponse
+ type: object
+ OpenAICompletionLogprobs:
+ description: |-
+ The log probabilities for the tokens in the message from an OpenAI-compatible completion response.
+
+ :text_offset: (Optional) The offset of the token in the text
+ :token_logprobs: (Optional) The log probabilities for the tokens
+ :tokens: (Optional) The tokens
+ :top_logprobs: (Optional) The top log probabilities for the tokens
+ properties:
+ text_offset:
+ anyOf:
+ - items:
+ type: integer
+ type: array
+ - type: 'null'
+ nullable: true
+ token_logprobs:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ nullable: true
+ tokens:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ nullable: true
+ top_logprobs:
+ anyOf:
+ - items:
+ additionalProperties:
+ type: number
+ type: object
+ type: array
+ - type: 'null'
+ nullable: true
+ title: OpenAICompletionLogprobs
+ type: object
+ VectorStoreCreateRequest:
+ description: Request to create a vector store.
+ properties:
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ file_ids:
+ items:
+ type: string
+ title: File Ids
+ type: array
+ expires_after:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ chunking_strategy:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ metadata:
+ additionalProperties: true
+ title: Metadata
+ type: object
+ title: VectorStoreCreateRequest
+ type: object
+ VectorStoreModifyRequest:
+ description: Request to modify a vector store.
+ properties:
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ expires_after:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ title: VectorStoreModifyRequest
+ type: object
+ VectorStoreSearchRequest:
+ description: Request to search a vector store.
+ properties:
+ query:
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ title: string | list[string]
+ filters:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ max_num_results:
+ default: 10
+ title: Max Num Results
+ type: integer
+ ranking_options:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ rewrite_query:
+ default: false
+ title: Rewrite Query
+ type: boolean
+ required:
+ - query
+ title: VectorStoreSearchRequest
+ type: object
+ DialogType:
+ description: Parameter type for dialog data with semantic output labels.
+ properties:
+ type:
+ const: dialog
+ default: dialog
+ title: Type
+ type: string
+ title: DialogType
+ type: object
+ ConversationMessage:
+ description: OpenAI-compatible message item for conversations.
+ properties:
+ id:
+ description: unique identifier for this message
+ title: Id
+ type: string
+ content:
+ description: message content
+ items:
+ additionalProperties: true
+ type: object
+ title: Content
+ type: array
+ role:
+ description: message role
+ title: Role
+ type: string
+ status:
+ description: message status
+ title: Status
+ type: string
+ type:
+ const: message
+ default: message
+ title: Type
+ type: string
+ object:
+ const: message
+ default: message
+ title: Object
+ type: string
+ required:
+ - id
+ - content
+ - role
+ - status
+ title: ConversationMessage
+ type: object
+ ConversationItemCreateRequest:
+ description: Request body for creating conversation items.
+ properties:
+ items:
+ description: Items to include in the conversation context. You may add up to 20 items at a time.
+ items:
+ discriminator:
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ title: OpenAIResponseMessage | ... (9 variants)
+ maxItems: 20
+ title: Items
+ type: array
+ required:
+ - items
+ title: ConversationItemCreateRequest
+ type: object
+ ToolGroupInput:
+ description: Input data for registering a tool group.
+ properties:
+ toolgroup_id:
+ title: Toolgroup Id
+ type: string
+ provider_id:
+ title: Provider Id
+ type: string
+ args:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ mcp_endpoint:
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ title: URL
+ - type: 'null'
+ nullable: true
+ title: URL
+ required:
+ - toolgroup_id
+ - provider_id
+ title: ToolGroupInput
+ type: object
+ Api:
+ description: Enumeration of all available APIs in the Llama Stack system.
+ enum:
+ - providers
+ - inference
+ - safety
+ - agents
+ - batches
+ - vector_io
+ - datasetio
+ - scoring
+ - eval
+ - post_training
+ - tool_runtime
+ - models
+ - shields
+ - vector_stores
+ - datasets
+ - scoring_functions
+ - benchmarks
+ - tool_groups
+ - files
+ - prompts
+ - conversations
+ - inspect
+ title: Api
+ type: string
+ ProviderSpec:
+ properties:
+ api:
+ $ref: '#/components/schemas/Api'
+ provider_type:
+ title: Provider Type
+ type: string
+ config_class:
+ description: Fully-qualified classname of the config for this provider
+ title: Config Class
+ type: string
+ api_dependencies:
+ description: Higher-level API surfaces may depend on other providers to provide their functionality
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Api Dependencies
+ type: array
+ optional_api_dependencies:
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Optional Api Dependencies
+ type: array
+ deprecation_warning:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated, specify the warning message here
+ nullable: true
+ deprecation_error:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated and does NOT work, specify the error message here
+ nullable: true
+ module:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2-
+
+ Fully-qualified name of the module to import. The module is expected to have:
+
+ - `get_adapter_impl(config, deps)`: returns the adapter implementation
+
+ Example: `module: ramalama_stack`
+ nullable: true
+ pip_packages:
+ description: The pip dependencies needed for this implementation
+ items:
+ type: string
+ title: Pip Packages
+ type: array
+ provider_data_validator:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ is_external:
+ default: false
+ description: Notes whether this provider is an external provider.
+ title: Is External
+ type: boolean
+ deps__:
+ items:
+ type: string
+ title: Deps
+ type: array
+ required:
+ - api
+ - provider_type
+ - config_class
+ title: ProviderSpec
+ type: object
+ InlineProviderSpec:
+ properties:
+ api:
+ $ref: '#/components/schemas/Api'
+ provider_type:
+ title: Provider Type
+ type: string
+ config_class:
+ description: Fully-qualified classname of the config for this provider
+ title: Config Class
+ type: string
+ api_dependencies:
+ description: Higher-level API surfaces may depend on other providers to provide their functionality
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Api Dependencies
+ type: array
+ optional_api_dependencies:
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Optional Api Dependencies
+ type: array
+ deprecation_warning:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated, specify the warning message here
+ nullable: true
+ deprecation_error:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated and does NOT work, specify the error message here
+ nullable: true
+ module:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2-
+
+ Fully-qualified name of the module to import. The module is expected to have:
+
+ - `get_adapter_impl(config, deps)`: returns the adapter implementation
+
+ Example: `module: ramalama_stack`
+ nullable: true
+ pip_packages:
+ description: The pip dependencies needed for this implementation
+ items:
+ type: string
+ title: Pip Packages
+ type: array
+ provider_data_validator:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ is_external:
+ default: false
+ description: Notes whether this provider is an external provider.
+ title: Is External
+ type: boolean
+ deps__:
+ items:
+ type: string
+ title: Deps
+ type: array
+ container_image:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2
+
+ The container image to use for this implementation. If one is provided, pip_packages will be ignored.
+ If a provider depends on other providers, the dependencies MUST NOT specify a container image.
+ nullable: true
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2
+
+ A description of the provider. This is used to display in the documentation.
+ nullable: true
+ required:
+ - api
+ - provider_type
+ - config_class
+ title: InlineProviderSpec
+ type: object
+ RemoteProviderSpec:
+ properties:
+ api:
+ $ref: '#/components/schemas/Api'
+ provider_type:
+ title: Provider Type
+ type: string
+ config_class:
+ description: Fully-qualified classname of the config for this provider
+ title: Config Class
+ type: string
+ api_dependencies:
+ description: Higher-level API surfaces may depend on other providers to provide their functionality
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Api Dependencies
+ type: array
+ optional_api_dependencies:
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Optional Api Dependencies
+ type: array
+ deprecation_warning:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated, specify the warning message here
+ nullable: true
+ deprecation_error:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated and does NOT work, specify the error message here
+ nullable: true
+ module:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2-
+
+ Fully-qualified name of the module to import. The module is expected to have:
+
+ - `get_adapter_impl(config, deps)`: returns the adapter implementation
+
+ Example: `module: ramalama_stack`
+ nullable: true
+ pip_packages:
+ description: The pip dependencies needed for this implementation
+ items:
+ type: string
+ title: Pip Packages
+ type: array
+ provider_data_validator:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ is_external:
+ default: false
+ description: Notes whether this provider is an external provider.
+ title: Is External
+ type: boolean
+ deps__:
+ items:
+ type: string
+ title: Deps
+ type: array
+ adapter_type:
+ description: Unique identifier for this adapter
+ title: Adapter Type
+ type: string
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2
+
+ A description of the provider. This is used to display in the documentation.
+ nullable: true
+ required:
+ - api
+ - provider_type
+ - config_class
+ - adapter_type
+ title: RemoteProviderSpec
+ type: object
+ PostTrainingJobLogStream:
+ description: Stream of logs from a finetuning job.
+ properties:
+ job_uuid:
+ title: Job Uuid
+ type: string
+ log_lines:
+ items:
+ type: string
+ title: Log Lines
+ type: array
+ required:
+ - job_uuid
+ - log_lines
+ title: PostTrainingJobLogStream
+ type: object
+ RLHFAlgorithm:
+ description: Available reinforcement learning from human feedback algorithms.
+ enum:
+ - dpo
+ title: RLHFAlgorithm
+ type: string
+ PostTrainingRLHFRequest:
+ description: Request to finetune a model using reinforcement learning from human feedback.
+ properties:
+ job_uuid:
+ title: Job Uuid
+ type: string
+ finetuned_model:
+ $ref: '#/components/schemas/URL'
+ dataset_id:
+ title: Dataset Id
+ type: string
+ validation_dataset_id:
+ title: Validation Dataset Id
+ type: string
+ algorithm:
+ $ref: '#/components/schemas/RLHFAlgorithm'
+ algorithm_config:
+ $ref: '#/components/schemas/DPOAlignmentConfig'
+ optimizer_config:
+ $ref: '#/components/schemas/OptimizerConfig'
+ training_config:
+ $ref: '#/components/schemas/TrainingConfig'
+ hyperparam_search_config:
+ additionalProperties: true
+ title: Hyperparam Search Config
+ type: object
+ logger_config:
+ additionalProperties: true
+ title: Logger Config
+ type: object
+ required:
+ - job_uuid
+ - finetuned_model
+ - dataset_id
+ - validation_dataset_id
+ - algorithm
+ - algorithm_config
+ - optimizer_config
+ - training_config
+ - hyperparam_search_config
+ - logger_config
+ title: PostTrainingRLHFRequest
+ type: object
+ Span:
+ description: A span representing a single operation within a trace.
+ properties:
+ span_id:
+ title: Span Id
+ type: string
+ trace_id:
+ title: Trace Id
+ type: string
+ parent_span_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ name:
+ title: Name
+ type: string
+ start_time:
+ format: date-time
+ title: Start Time
+ type: string
+ end_time:
+ anyOf:
+ - format: date-time
+ type: string
+ - type: 'null'
+ nullable: true
+ attributes:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ required:
+ - span_id
+ - trace_id
+ - name
+ - start_time
+ title: Span
+ type: object
+ Trace:
+ description: A trace representing the complete execution path of a request across multiple operations.
+ properties:
+ trace_id:
+ title: Trace Id
+ type: string
+ root_span_id:
+ title: Root Span Id
+ type: string
+ start_time:
+ format: date-time
+ title: Start Time
+ type: string
+ end_time:
+ anyOf:
+ - format: date-time
+ type: string
+ - type: 'null'
+ nullable: true
+ required:
+ - trace_id
+ - root_span_id
+ - start_time
+ title: Trace
+ type: object
+ EventType:
+ description: The type of telemetry event being logged.
+ enum:
+ - unstructured_log
+ - structured_log
+ - metric
+ title: EventType
+ type: string
+ StructuredLogType:
+ description: The type of structured log event payload.
+ enum:
+ - span_start
+ - span_end
+ title: StructuredLogType
+ type: string
+ EvalTrace:
+ description: A trace record for evaluation purposes.
+ properties:
+ session_id:
+ title: Session Id
+ type: string
+ step:
+ title: Step
+ type: string
+ input:
+ title: Input
+ type: string
+ output:
+ title: Output
+ type: string
+ expected_output:
+ title: Expected Output
+ type: string
+ required:
+ - session_id
+ - step
+ - input
+ - output
+ - expected_output
+ title: EvalTrace
+ type: object
+ SpanWithStatus:
+ description: A span that includes status information.
+ properties:
+ span_id:
+ title: Span Id
+ type: string
+ trace_id:
+ title: Trace Id
+ type: string
+ parent_span_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ name:
+ title: Name
+ type: string
+ start_time:
+ format: date-time
+ title: Start Time
+ type: string
+ end_time:
+ anyOf:
+ - format: date-time
+ type: string
+ - type: 'null'
+ nullable: true
+ attributes:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ status:
+ anyOf:
+ - $ref: '#/components/schemas/SpanStatus'
+ title: SpanStatus
+ - type: 'null'
+ nullable: true
+ title: SpanStatus
+ required:
+ - span_id
+ - trace_id
+ - name
+ - start_time
+ title: SpanWithStatus
+ type: object
+ QueryConditionOp:
+ description: Comparison operators for query conditions.
+ enum:
+ - eq
+ - ne
+ - gt
+ - lt
+ title: QueryConditionOp
+ type: string
+ QueryCondition:
+ description: A condition for filtering query results.
+ properties:
+ key:
+ title: Key
+ type: string
+ op:
+ $ref: '#/components/schemas/QueryConditionOp'
+ value:
+ title: Value
+ required:
+ - key
+ - op
+ - value
+ title: QueryCondition
+ type: object
+ MetricLabel:
+ description: A label associated with a metric.
+ properties:
+ name:
+ title: Name
+ type: string
+ value:
+ title: Value
+ type: string
+ required:
+ - name
+ - value
+ title: MetricLabel
+ type: object
+ MetricDataPoint:
+ description: A single data point in a metric time series.
+ properties:
+ timestamp:
+ title: Timestamp
+ type: integer
+ value:
+ title: Value
+ type: number
+ unit:
+ title: Unit
+ type: string
+ required:
+ - timestamp
+ - value
+ - unit
+ title: MetricDataPoint
+ type: object
+ MetricSeries:
+ description: A time series of metric data points.
+ properties:
+ metric:
+ title: Metric
+ type: string
+ labels:
+ items:
+ $ref: '#/components/schemas/MetricLabel'
+ title: Labels
+ type: array
+ values:
+ items:
+ $ref: '#/components/schemas/MetricDataPoint'
+ title: Values
+ type: array
+ required:
+ - metric
+ - labels
+ - values
+ title: MetricSeries
+ type: object
+ 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
+ DefaultError:
+ description: An error occurred
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+tags:
+- description: APIs for creating and interacting with agentic systems.
+ name: Agents
+ x-displayName: Agents
+- description: |-
+ The API is designed to allow use of openai client libraries for seamless integration.
+
+ This API provides the following extensions:
+ - idempotent batch creation
+
+ Note: This API is currently under active development and may undergo changes.
+ name: Batches
+ x-displayName: The Batches API enables efficient processing of multiple requests in a single operation, particularly useful for processing large datasets, batch evaluation workflows, and cost-effective inference at scale.
+- description: ''
+ name: Benchmarks
+- description: Protocol for conversation management operations.
+ name: Conversations
+ x-displayName: Conversations
+- description: ''
+ name: DatasetIO
+- description: ''
+ name: Datasets
+- description: Llama Stack Evaluation API for running evaluations on model and agent candidates.
+ name: Eval
+ x-displayName: Evaluations
+- description: This API is used to upload documents that can be used with other Llama Stack APIs.
+ name: Files
+ x-displayName: Files
+- description: |-
+ Llama Stack Inference API for generating completions, chat completions, and embeddings.
+
+ This API provides the raw interface to the underlying models. Three 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.
+ - Rerank models: these models reorder the documents based on their relevance to a query.
+ name: Inference
+ x-displayName: Inference
+- description: APIs for inspecting the Llama Stack service, including health status, available API routes with methods and implementing providers.
+ name: Inspect
+ x-displayName: Inspect
+- description: ''
+ name: Models
+- description: ''
+ name: PostTraining (Coming Soon)
+- description: Protocol for prompt management operations.
+ name: Prompts
+ x-displayName: Prompts
+- description: Providers API for inspecting, listing, and modifying providers and their configurations.
+ name: Providers
+ x-displayName: Providers
+- description: OpenAI-compatible Moderations API.
+ name: Safety
+ x-displayName: Safety
+- description: ''
+ name: Scoring
+- description: ''
+ name: ScoringFunctions
+- description: ''
+ name: Shields
+- description: ''
+ name: ToolGroups
+- description: ''
+ name: ToolRuntime
+- description: ''
+ name: VectorIO
+x-tagGroups:
+- name: Operations
+ tags:
+ - Agents
+ - Batches
+ - Benchmarks
+ - Conversations
+ - DatasetIO
+ - Datasets
+ - Eval
+ - Files
+ - Inference
+ - Inspect
+ - Models
+ - PostTraining (Coming Soon)
+ - Prompts
+ - Providers
+ - Safety
+ - Scoring
+ - ScoringFunctions
+ - Shields
+ - ToolGroups
+ - ToolRuntime
+ - VectorIO
+security:
+- Default: []
diff --git a/docs/static/stainless-llama-stack-spec.yaml b/docs/static/stainless-llama-stack-spec.yaml
index d0813de4d8..ff86e30e10 100644
--- a/docs/static/stainless-llama-stack-spec.yaml
+++ b/docs/static/stainless-llama-stack-spec.yaml
@@ -1,19 +1,18 @@
openapi: 3.1.0
info:
- title: >-
- Llama Stack Specification - Stable & Experimental APIs
- version: v1
- description: >-
+ title: Llama Stack Specification - Stable & Experimental APIs
+ 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.
+ a set of endpoints and their corresponding interfaces that are
+ tailored to
+ best leverage Llama Models.
- **🔗 COMBINED**: This specification includes both stable production-ready APIs
- and experimental pre-release APIs. Use stable APIs for production deployments
- and experimental APIs for testing new features.
+ **🔗 COMBINED**: This specification includes both stable production-ready APIs
+ and experimental pre-release APIs. Use stable APIs for production deployments
+ and experimental APIs for testing new features.
+ version: v1
servers:
- - url: http://any-hosted-llama-stack.com
+- url: http://any-hosted-llama-stack.com
paths:
/v1/batches:
get:
@@ -26,34 +25,37 @@ paths:
$ref: '#/components/schemas/ListBatchesResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Batches
- summary: List all batches for the current user.
+ - Batches
+ summary: List Batches
description: List all batches for the current user.
+ operationId: list_batches_v1_batches_get
parameters:
- - name: after
- in: query
- description: >-
- A cursor for pagination; returns batches after this batch ID.
- required: false
- schema:
- type: string
- - name: limit
- in: query
- description: >-
- Number of batches to return (default 20, max 100).
- required: true
- schema:
- type: integer
- deprecated: false
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: limit
+ in: query
+ required: false
+ schema:
+ type: integer
+ default: 20
+ title: Limit
post:
responses:
'200':
@@ -64,28 +66,27 @@ paths:
$ref: '#/components/schemas/Batch'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Batches
- summary: >-
- Create a new batch for processing multiple API requests.
- description: >-
- Create a new batch for processing multiple API requests.
- parameters: []
+ - Batches
+ summary: Create Batch
+ description: Create a new batch for processing multiple API requests.
+ operationId: create_batch_v1_batches_post
requestBody:
+ required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBatchRequest'
- required: true
- deprecated: false
/v1/batches/{batch_id}:
get:
responses:
@@ -96,29 +97,29 @@ paths:
schema:
$ref: '#/components/schemas/Batch'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Batches
- summary: >-
- Retrieve information about a specific batch.
- description: >-
- Retrieve information about a specific batch.
+ - Batches
+ summary: Retrieve Batch
+ description: Retrieve information about a specific batch.
+ operationId: retrieve_batch_v1_batches__batch_id__get
parameters:
- - name: batch_id
- in: path
- description: The ID of the batch to retrieve.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: batch_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: batch_id'
/v1/batches/{batch_id}/cancel:
post:
responses:
@@ -129,27 +130,29 @@ paths:
schema:
$ref: '#/components/schemas/Batch'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Batches
- summary: Cancel a batch that is in progress.
+ - Batches
+ summary: Cancel Batch
description: Cancel a batch that is in progress.
+ operationId: cancel_batch_v1_batches__batch_id__cancel_post
parameters:
- - name: batch_id
- in: path
- description: The ID of the batch to cancel.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: batch_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: batch_id'
/v1/chat/completions:
get:
responses:
@@ -161,48 +164,56 @@ paths:
$ref: '#/components/schemas/ListOpenAIChatCompletionResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Inference
- summary: List chat completions.
+ - Inference
+ summary: List Chat Completions
description: List chat completions.
+ operationId: list_chat_completions_v1_chat_completions_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 20
+ title: Limit
+ - name: model
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Model
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - $ref: '#/components/schemas/Order'
+ - type: 'null'
+ default: desc
+ title: Order
post:
responses:
'200':
@@ -210,35 +221,36 @@ paths:
content:
application/json:
schema:
- oneOf:
- - $ref: '#/components/schemas/OpenAIChatCompletion'
- - $ref: '#/components/schemas/OpenAIChatCompletionChunk'
+ $ref: '#/components/schemas/OpenAIChatCompletion'
+ text/event-stream:
+ schema:
+ $ref: '#/components/schemas/OpenAIChatCompletionChunk'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Inference
- summary: Create chat completions.
- description: >-
+ - Inference
+ summary: Openai Chat Completion
+ description: |-
Create chat completions.
- Generate an OpenAI-compatible chat completion for the given messages using
- the specified model.
- parameters: []
+ Generate an OpenAI-compatible chat completion for the given messages using the specified model.
+ operationId: openai_chat_completion_v1_chat_completions_post
requestBody:
+ required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAIChatCompletionRequestWithExtraBody'
- required: true
- deprecated: false
/v1/chat/completions/{completion_id}:
get:
responses:
@@ -249,30 +261,32 @@ paths:
schema:
$ref: '#/components/schemas/OpenAICompletionWithInputMessages'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Inference
- summary: Get chat completion.
- description: >-
+ - Inference
+ summary: Get Chat Completion
+ description: |-
Get chat completion.
Describe a chat completion by its ID.
+ operationId: get_chat_completion_v1_chat_completions__completion_id__get
parameters:
- - name: completion_id
- in: path
- description: ID of the chat completion.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: completion_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: completion_id'
/v1/completions:
post:
responses:
@@ -283,31 +297,31 @@ paths:
schema:
$ref: '#/components/schemas/OpenAICompletion'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Inference
- summary: Create completion.
- description: >-
+ - Inference
+ summary: Openai Completion
+ description: |-
Create completion.
- Generate an OpenAI-compatible completion for the given prompt using the specified
- model.
- parameters: []
+ Generate an OpenAI-compatible completion for the given prompt using the specified model.
+ operationId: openai_completion_v1_completions_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAICompletionRequestWithExtraBody'
required: true
- deprecated: false
/v1/conversations:
post:
responses:
@@ -318,30 +332,31 @@ paths:
schema:
$ref: '#/components/schemas/Conversation'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Conversations
- summary: Create a conversation.
- description: >-
+ - Conversations
+ summary: Create Conversation
+ description: |-
Create a conversation.
Create a conversation.
- parameters: []
+ operationId: create_conversation_v1_conversations_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateConversationRequest'
required: true
- deprecated: false
/v1/conversations/{conversation_id}:
get:
responses:
@@ -352,30 +367,32 @@ paths:
schema:
$ref: '#/components/schemas/Conversation'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Conversations
- summary: Retrieve a conversation.
- description: >-
+ - Conversations
+ summary: Get Conversation
+ description: |-
Retrieve a conversation.
Get a conversation with the given ID.
+ operationId: get_conversation_v1_conversations__conversation_id__get
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
post:
responses:
'200':
@@ -385,36 +402,38 @@ paths:
schema:
$ref: '#/components/schemas/Conversation'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Conversations
- summary: Update a conversation.
- description: >-
+ - Conversations
+ summary: Update Conversation
+ description: |-
Update a conversation.
Update a conversation's metadata with the given ID.
+ operationId: update_conversation_v1_conversations__conversation_id__post
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateConversationRequest'
required: true
- deprecated: false
delete:
responses:
'200':
@@ -424,30 +443,32 @@ paths:
schema:
$ref: '#/components/schemas/ConversationDeletedResource'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Conversations
- summary: Delete a conversation.
- description: >-
+ - Conversations
+ summary: Openai Delete Conversation
+ description: |-
Delete a conversation.
Delete a conversation with the given ID.
+ operationId: openai_delete_conversation_v1_conversations__conversation_id__delete
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
/v1/conversations/{conversation_id}/items:
get:
responses:
@@ -459,73 +480,68 @@ paths:
$ref: '#/components/schemas/ConversationItemList'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Conversations
- summary: List items.
- description: >-
+ - Conversations
+ summary: List Items
+ description: |-
List items.
List items in the conversation.
+ operationId: list_items_v1_conversations__conversation_id__items_get
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
- - name: after
- in: query
- description: >-
- An item ID to list items after, used in pagination.
- required: false
- schema:
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ title: Limit
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - enum:
+ - asc
+ - desc
type: string
- - name: include
- in: query
- description: >-
- Specify additional output data to include in the response.
- required: false
- schema:
- type: array
+ - type: 'null'
+ title: Order
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
+ - name: include
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: array
items:
- type: string
- enum:
- - web_search_call.action.sources
- - code_interpreter_call.outputs
- - computer_call_output.output.image_url
- - file_search_call.results
- - message.input_image.image_url
- - message.output_text.logprobs
- - reasoning.encrypted_content
- title: ConversationItemInclude
- description: >-
- Specify additional output data to include in the model response.
- - name: limit
- in: query
- description: >-
- A limit on the number of objects to be returned (1-100, default 20).
- required: false
- schema:
- type: integer
- - name: order
- in: query
- description: >-
- The order to return items in (asc or desc, default desc).
- required: false
- schema:
- type: string
- enum:
- - asc
- - desc
- deprecated: false
+ $ref: '#/components/schemas/ConversationItemInclude'
+ - type: 'null'
+ title: Include
post:
responses:
'200':
@@ -536,35 +552,37 @@ paths:
$ref: '#/components/schemas/ConversationItemList'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Conversations
- summary: Create items.
- description: >-
+ - Conversations
+ summary: Add Items
+ description: |-
Create items.
Create items in the conversation.
+ operationId: add_items_v1_conversations__conversation_id__items_post
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
requestBody:
+ required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddItemsRequest'
- required: true
- deprecated: false
/v1/conversations/{conversation_id}/items/{item_id}:
get:
responses:
@@ -573,38 +591,40 @@ paths:
content:
application/json:
schema:
- $ref: '#/components/schemas/ConversationItem'
+ $ref: '#/components/schemas/OpenAIResponseMessage'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Conversations
- summary: Retrieve an item.
- description: >-
+ - Conversations
+ summary: Retrieve
+ description: |-
Retrieve an item.
Retrieve a conversation item.
+ operationId: retrieve_v1_conversations__conversation_id__items__item_id__get
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
- - name: item_id
- in: path
- description: The item identifier.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
+ - name: item_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: item_id'
delete:
responses:
'200':
@@ -614,365 +634,352 @@ paths:
schema:
$ref: '#/components/schemas/ConversationItemDeletedResource'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Conversations
- summary: Delete an item.
- description: >-
+ - Conversations
+ summary: Openai Delete Conversation Item
+ description: |-
Delete an item.
Delete a conversation item.
+ operationId: openai_delete_conversation_item_v1_conversations__conversation_id__items__item_id__delete
parameters:
- - name: conversation_id
- in: path
- description: The conversation identifier.
- required: true
- schema:
- type: string
- - name: item_id
- in: path
- description: The item identifier.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: conversation_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: conversation_id'
+ - name: item_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: item_id'
/v1/embeddings:
post:
responses:
'200':
- description: >-
- An OpenAIEmbeddingsResponse containing the embeddings.
+ description: An OpenAIEmbeddingsResponse containing the embeddings.
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAIEmbeddingsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Inference
- summary: Create embeddings.
- description: >-
+ - Inference
+ summary: Openai Embeddings
+ description: |-
Create embeddings.
- Generate OpenAI-compatible embeddings for the given input using the specified
- model.
- parameters: []
+ Generate OpenAI-compatible embeddings for the given input using the specified model.
+ operationId: openai_embeddings_v1_embeddings_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAIEmbeddingsRequestWithExtraBody'
required: true
- deprecated: false
/v1/files:
get:
responses:
'200':
- description: >-
- An ListOpenAIFileResponse containing the list of files.
+ description: An ListOpenAIFileResponse containing the list of files.
content:
application/json:
schema:
$ref: '#/components/schemas/ListOpenAIFileResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Files
- summary: List files.
- description: >-
+ - Files
+ summary: Openai List Files
+ description: |-
List files.
Returns a list of files that belong to the user's organization.
+ operationId: openai_list_files_v1_files_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 10000
+ title: Limit
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - $ref: '#/components/schemas/Order'
+ - type: 'null'
+ default: desc
+ title: Order
+ - name: purpose
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIFilePurpose'
+ - type: 'null'
+ title: Purpose
post:
responses:
'200':
- description: >-
- An OpenAIFileObject representing the uploaded file.
+ description: An OpenAIFileObject representing the uploaded file.
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAIFileObject'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Files
- summary: Upload file.
- description: >-
+ - Files
+ summary: Openai Upload File
+ description: |-
Upload file.
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: []
+ operationId: openai_upload_file_v1_files_post
requestBody:
+ required: true
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
+ $ref: '#/components/schemas/Body_openai_upload_file_v1_files_post'
/v1/files/{file_id}:
get:
responses:
'200':
- description: >-
- An OpenAIFileObject containing file information.
+ description: An OpenAIFileObject containing file information.
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAIFileObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Files
- summary: Retrieve file.
- description: >-
+ - Files
+ summary: Openai Retrieve File
+ description: |-
Retrieve file.
Returns information about a specific file.
+ operationId: openai_retrieve_file_v1_files__file_id__get
parameters:
- - name: file_id
- in: path
- description: >-
- The ID of the file to use for this request.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
delete:
responses:
'200':
- description: >-
- An OpenAIFileDeleteResponse indicating successful deletion.
+ description: An OpenAIFileDeleteResponse indicating successful deletion.
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAIFileDeleteResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Files
- summary: Delete file.
+ - Files
+ summary: Openai Delete File
description: Delete file.
+ operationId: openai_delete_file_v1_files__file_id__delete
parameters:
- - name: file_id
- in: path
- description: >-
- The ID of the file to use for this request.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
/v1/files/{file_id}/content:
get:
responses:
'200':
- description: >-
- The raw file content as a binary response.
+ description: The raw file content as a binary response.
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Files
- summary: Retrieve file content.
- description: >-
+ - Files
+ summary: Openai Retrieve File Content
+ description: |-
Retrieve file content.
Returns the contents of the specified file.
+ operationId: openai_retrieve_file_content_v1_files__file_id__content_get
parameters:
- - name: file_id
- in: path
- description: >-
- The ID of the file to use for this request.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
/v1/health:
get:
responses:
'200':
- description: >-
- Health information indicating if the service is operational.
+ description: Health information indicating if the service is operational.
content:
application/json:
schema:
$ref: '#/components/schemas/HealthInfo'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Inspect
- summary: Get health status.
- description: >-
+ - Inspect
+ summary: Health
+ description: |-
Get health status.
Get the current health status of the service.
- parameters: []
- deprecated: false
+ operationId: health_v1_health_get
/v1/inspect/routes:
get:
responses:
'200':
- description: >-
- Response containing information about all available routes.
+ description: Response containing information about all available routes.
content:
application/json:
schema:
$ref: '#/components/schemas/ListRoutesResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Inspect
- summary: List routes.
- description: >-
+ - Inspect
+ summary: List Routes
+ description: |-
List routes.
List all available API routes with their methods and implementing providers.
+ operationId: list_routes_v1_inspect_routes_get
parameters:
- - name: api_filter
- in: query
- description: >-
- Optional filter to control which routes are returned. Can be an API level
- ('v1', 'v1alpha', 'v1beta') to show non-deprecated routes at that level,
- or 'deprecated' to show deprecated routes across all levels. If not specified,
- returns all non-deprecated routes.
- required: false
- schema:
+ - name: api_filter
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - enum:
+ - v1
+ - v1alpha
+ - v1beta
+ - deprecated
type: string
- enum:
- - v1
- - v1alpha
- - v1beta
- - deprecated
- deprecated: false
+ - type: 'null'
+ title: Api Filter
/v1/models:
get:
responses:
@@ -983,21 +990,22 @@ paths:
schema:
$ref: '#/components/schemas/OpenAIListModelsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Models
- summary: List models using the OpenAI API.
+ - Models
+ summary: Openai List Models
description: List models using the OpenAI API.
- parameters: []
- deprecated: false
+ operationId: openai_list_models_v1_models_get
post:
responses:
'200':
@@ -1007,23 +1015,25 @@ paths:
schema:
$ref: '#/components/schemas/Model'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Models
- summary: Register model.
- description: >-
+ - Models
+ summary: Register Model
+ description: |-
Register model.
Register a model.
- parameters: []
+ operationId: register_model_v1_models_post
requestBody:
content:
application/json:
@@ -1041,59 +1051,63 @@ paths:
schema:
$ref: '#/components/schemas/Model'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Models
- summary: Get model.
- description: >-
+ - Models
+ summary: Get Model
+ description: |-
Get model.
Get a model by its identifier.
+ operationId: get_model_v1_models__model_id__get
parameters:
- - name: model_id
- in: path
- description: The identifier of the model to get.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: model_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: model_id'
delete:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - Models
- summary: Unregister model.
- description: >-
+ - Models
+ summary: Unregister Model
+ description: |-
Unregister model.
Unregister a model.
+ operationId: unregister_model_v1_models__model_id__delete
parameters:
- - name: model_id
- in: path
- description: >-
- The identifier of the model to unregister.
- required: true
- schema:
- type: string
+ - name: model_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: model_id'
deprecated: true
/v1/moderations:
post:
@@ -1105,56 +1119,57 @@ paths:
schema:
$ref: '#/components/schemas/ModerationObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Safety
- summary: Create moderation.
- description: >-
+ - Safety
+ summary: Run Moderation
+ description: |-
Create moderation.
Classifies if text and/or image inputs are potentially harmful.
- parameters: []
+ operationId: run_moderation_v1_moderations_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RunModerationRequest'
required: true
- deprecated: false
/v1/prompts:
get:
responses:
'200':
- description: >-
- A ListPromptsResponse containing all prompts.
+ description: A ListPromptsResponse containing all prompts.
content:
application/json:
schema:
$ref: '#/components/schemas/ListPromptsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Prompts
- summary: List all prompts.
+ - Prompts
+ summary: List Prompts
description: List all prompts.
- parameters: []
- deprecated: false
+ operationId: list_prompts_v1_prompts_get
post:
responses:
'200':
@@ -1164,30 +1179,31 @@ paths:
schema:
$ref: '#/components/schemas/Prompt'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Prompts
- summary: Create prompt.
- description: >-
+ - Prompts
+ summary: Create Prompt
+ description: |-
Create prompt.
Create a new prompt.
- parameters: []
+ operationId: create_prompt_v1_prompts_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePromptRequest'
required: true
- deprecated: false
/v1/prompts/{prompt_id}:
get:
responses:
@@ -1199,246 +1215,254 @@ paths:
$ref: '#/components/schemas/Prompt'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Prompts
- summary: Get prompt.
- description: >-
+ - Prompts
+ summary: Get Prompt
+ description: |-
Get prompt.
Get a prompt by its identifier and optional version.
+ operationId: get_prompt_v1_prompts__prompt_id__get
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
+ - name: version
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ title: Version
+ - name: prompt_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: prompt_id'
post:
responses:
'200':
- description: >-
- The updated Prompt resource with incremented version.
+ description: The updated Prompt resource with incremented version.
content:
application/json:
schema:
$ref: '#/components/schemas/Prompt'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Prompts
- summary: Update prompt.
- description: >-
+ - Prompts
+ summary: Update Prompt
+ description: |-
Update prompt.
Update an existing prompt (increments version).
+ operationId: update_prompt_v1_prompts__prompt_id__post
parameters:
- - name: prompt_id
- in: path
- description: The identifier of the prompt to update.
- required: true
- schema:
- type: string
+ - name: prompt_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: prompt_id'
requestBody:
+ required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePromptRequest'
- required: true
- deprecated: false
delete:
responses:
- '200':
- description: OK
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
+ '204':
+ description: Successful Response
tags:
- - Prompts
- summary: Delete prompt.
- description: >-
+ - Prompts
+ summary: Delete Prompt
+ description: |-
Delete prompt.
Delete a prompt.
+ operationId: delete_prompt_v1_prompts__prompt_id__delete
parameters:
- - name: prompt_id
- in: path
- description: The identifier of the prompt to delete.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: prompt_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: prompt_id'
/v1/prompts/{prompt_id}/set-default-version:
post:
responses:
'200':
- description: >-
- The prompt with the specified version now set as default.
+ description: The prompt with the specified version now set as default.
content:
application/json:
schema:
$ref: '#/components/schemas/Prompt'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Prompts
- summary: Set prompt version.
- description: >-
+ - Prompts
+ summary: Set Default Version
+ description: |-
Set prompt version.
Set which version of a prompt should be the default in get_prompt (latest).
+ operationId: set_default_version_v1_prompts__prompt_id__set_default_version_post
parameters:
- - name: prompt_id
- in: path
- description: The identifier of the prompt.
- required: true
- schema:
- type: string
+ - name: prompt_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: prompt_id'
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.
+ description: A ListPromptsResponse containing all versions of the prompt.
content:
application/json:
schema:
$ref: '#/components/schemas/ListPromptsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Prompts
- summary: List prompt versions.
- description: >-
+ - Prompts
+ summary: List Prompt Versions
+ description: |-
List prompt versions.
List all versions of a specific prompt.
+ operationId: list_prompt_versions_v1_prompts__prompt_id__versions_get
parameters:
- - name: prompt_id
- in: path
- description: >-
- The identifier of the prompt to list versions for.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: prompt_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: prompt_id'
/v1/providers:
get:
responses:
'200':
- description: >-
- A ListProvidersResponse containing information about all providers.
+ description: A ListProvidersResponse containing information about all providers.
content:
application/json:
schema:
$ref: '#/components/schemas/ListProvidersResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Providers
- summary: List providers.
- description: >-
+ - Providers
+ summary: List Providers
+ description: |-
List providers.
List all available providers.
- parameters: []
- deprecated: false
+ operationId: list_providers_v1_providers_get
/v1/providers/{provider_id}:
get:
responses:
'200':
- description: >-
- A ProviderInfo object containing the provider's details.
+ description: A ProviderInfo object containing the provider's details.
content:
application/json:
schema:
$ref: '#/components/schemas/ProviderInfo'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Providers
- summary: Get provider.
- description: >-
+ - Providers
+ summary: Inspect Provider
+ description: |-
Get provider.
Get detailed information about a specific provider.
+ operationId: inspect_provider_v1_providers__provider_id__get
parameters:
- - name: provider_id
- in: path
- description: The ID of the provider to inspect.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: provider_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: provider_id'
/v1/responses:
get:
responses:
@@ -1450,45 +1474,56 @@ paths:
$ref: '#/components/schemas/ListOpenAIResponseObject'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Agents
- summary: List all responses.
+ - Agents
+ summary: List Openai Responses
description: List all responses.
+ operationId: list_openai_responses_v1_responses_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 50
+ title: Limit
+ - name: model
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Model
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - $ref: '#/components/schemas/Order'
+ - type: 'null'
+ default: desc
+ title: Order
post:
responses:
'200':
@@ -1502,38 +1537,51 @@ paths:
$ref: '#/components/schemas/OpenAIResponseObjectStream'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Agents
- summary: Create a model response.
+ - Agents
+ summary: Create Openai Response
description: Create a model response.
- parameters: []
+ operationId: create_openai_response_v1_responses_post
requestBody:
+ required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOpenaiResponseRequest'
- required: true
- deprecated: false
- x-llama-stack-extra-body-params:
- - name: guardrails
- schema:
- type: array
- items:
- oneOf:
+ x-llama-stack-extra-body-params:
+ guardrails:
+ $defs:
+ ResponseGuardrailSpec:
+ description: |-
+ Specification for a guardrail to apply during response generation.
+
+ :param type: The type/identifier of the guardrail.
+ properties:
+ type:
+ title: Type
+ type: string
+ required:
+ - type
+ title: ResponseGuardrailSpec
+ type: object
+ anyOf:
+ - items:
+ anyOf:
- type: string
- $ref: '#/components/schemas/ResponseGuardrailSpec'
- description: >-
- List of guardrails to apply during response generation. Guardrails provide
- safety and content moderation.
- required: false
+ type: array
+ - type: 'null'
+ description: List of guardrails to apply during response generation. Guardrails provide safety and content moderation.
/v1/responses/{response_id}:
get:
responses:
@@ -1544,28 +1592,29 @@ paths:
schema:
$ref: '#/components/schemas/OpenAIResponseObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Agents
- summary: Get a model response.
+ - Agents
+ summary: Get Openai Response
description: Get a model response.
+ operationId: get_openai_response_v1_responses__response_id__get
parameters:
- - name: response_id
- in: path
- description: >-
- The ID of the OpenAI response to retrieve.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: response_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: response_id'
delete:
responses:
'200':
@@ -1575,27 +1624,29 @@ paths:
schema:
$ref: '#/components/schemas/OpenAIDeleteResponseObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Agents
- summary: Delete a response.
+ - Agents
+ summary: Delete Openai Response
description: Delete a response.
+ operationId: delete_openai_response_v1_responses__response_id__delete
parameters:
- - name: response_id
- in: path
- description: The ID of the OpenAI response to delete.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: response_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: response_id'
/v1/responses/{response_id}/input_items:
get:
responses:
@@ -1607,65 +1658,72 @@ paths:
$ref: '#/components/schemas/ListOpenAIResponseInputItem'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - Agents
- summary: List input items.
+ - Agents
+ summary: List Openai Response Input Items
description: List input items.
+ operationId: list_openai_response_input_items_v1_responses__response_id__input_items_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: before
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Before
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 20
+ title: Limit
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - $ref: '#/components/schemas/Order'
+ - type: 'null'
+ default: desc
+ title: Order
+ - name: response_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: response_id'
+ - name: include
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - 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
+ - type: 'null'
+ title: Include
/v1/safety/run-shield:
post:
responses:
@@ -1676,30 +1734,31 @@ paths:
schema:
$ref: '#/components/schemas/RunShieldResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Safety
- summary: Run shield.
- description: >-
+ - Safety
+ summary: Run Shield
+ description: |-
Run shield.
Run a shield.
- parameters: []
+ operationId: run_shield_v1_safety_run_shield_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RunShieldRequest'
required: true
- deprecated: false
/v1/scoring-functions:
get:
responses:
@@ -1710,45 +1769,48 @@ paths:
schema:
$ref: '#/components/schemas/ListScoringFunctionsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - ScoringFunctions
- summary: List all scoring functions.
+ - Scoring Functions
+ summary: List Scoring Functions
description: List all scoring functions.
- parameters: []
- deprecated: false
+ operationId: list_scoring_functions_v1_scoring_functions_get
post:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - ScoringFunctions
- summary: Register a scoring function.
+ - Scoring Functions
+ summary: Register Scoring Function
description: Register a scoring function.
- parameters: []
+ operationId: register_scoring_function_v1_scoring_functions_post
requestBody:
content:
application/json:
schema:
- $ref: '#/components/schemas/RegisterScoringFunctionRequest'
+ $ref: '#/components/schemas/RegisterScoringFunctionRequestLoose'
required: true
deprecated: true
/v1/scoring-functions/{scoring_fn_id}:
@@ -1761,86 +1823,90 @@ paths:
schema:
$ref: '#/components/schemas/ScoringFn'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - ScoringFunctions
- summary: Get a scoring function by its ID.
+ - Scoring Functions
+ summary: Get Scoring Function
description: Get a scoring function by its ID.
+ operationId: get_scoring_function_v1_scoring_functions__scoring_fn_id__get
parameters:
- - name: scoring_fn_id
- in: path
- description: The ID of the scoring function to get.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: scoring_fn_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: scoring_fn_id'
delete:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - ScoringFunctions
- summary: Unregister a scoring function.
+ - Scoring Functions
+ summary: Unregister Scoring Function
description: Unregister a scoring function.
+ operationId: unregister_scoring_function_v1_scoring_functions__scoring_fn_id__delete
parameters:
- - name: scoring_fn_id
- in: path
- description: >-
- The ID of the scoring function to unregister.
- required: true
- schema:
- type: string
+ - name: scoring_fn_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: scoring_fn_id'
deprecated: true
/v1/scoring/score:
post:
responses:
'200':
- description: >-
- A ScoreResponse object containing rows and aggregated results.
+ description: A ScoreResponse object containing rows and aggregated results.
content:
application/json:
schema:
$ref: '#/components/schemas/ScoreResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Scoring
- summary: Score a list of rows.
+ - Scoring
+ summary: Score
description: Score a list of rows.
- parameters: []
+ operationId: score_v1_scoring_score_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScoreRequest'
required: true
- deprecated: false
/v1/scoring/score-batch:
post:
responses:
@@ -1851,27 +1917,28 @@ paths:
schema:
$ref: '#/components/schemas/ScoreBatchResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Scoring
- summary: Score a batch of rows.
+ - Scoring
+ summary: Score Batch
description: Score a batch of rows.
- parameters: []
+ operationId: score_batch_v1_scoring_score_batch_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScoreBatchRequest'
required: true
- deprecated: false
/v1/shields:
get:
responses:
@@ -1882,21 +1949,22 @@ paths:
schema:
$ref: '#/components/schemas/ListShieldsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Shields
- summary: List all shields.
+ - Shields
+ summary: List Shields
description: List all shields.
- parameters: []
- deprecated: false
+ operationId: list_shields_v1_shields_get
post:
responses:
'200':
@@ -1906,20 +1974,22 @@ paths:
schema:
$ref: '#/components/schemas/Shield'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Shields
- summary: Register a shield.
+ - Shields
+ summary: Register Shield
description: Register a shield.
- parameters: []
+ operationId: register_shield_v1_shields_post
requestBody:
content:
application/json:
@@ -1937,53 +2007,57 @@ paths:
schema:
$ref: '#/components/schemas/Shield'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Shields
- summary: Get a shield by its identifier.
+ - Shields
+ summary: Get Shield
description: Get a shield by its identifier.
+ operationId: get_shield_v1_shields__identifier__get
parameters:
- - name: identifier
- in: path
- description: The identifier of the shield to get.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: identifier
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: identifier'
delete:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - Shields
- summary: Unregister a shield.
+ - Shields
+ summary: Unregister Shield
description: Unregister a shield.
+ operationId: unregister_shield_v1_shields__identifier__delete
parameters:
- - name: identifier
- in: path
- description: >-
- The identifier of the shield to unregister.
- required: true
- schema:
- type: string
+ - name: identifier
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: identifier'
deprecated: true
/v1/tool-runtime/invoke:
post:
@@ -1995,27 +2069,28 @@ paths:
schema:
$ref: '#/components/schemas/ToolInvocationResult'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - ToolRuntime
- summary: Run a tool with the given arguments.
+ - Tool Runtime
+ summary: Invoke Tool
description: Run a tool with the given arguments.
- parameters: []
+ operationId: invoke_tool_v1_tool_runtime_invoke_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InvokeToolRequest'
required: true
- deprecated: false
/v1/tool-runtime/list-tools:
get:
responses:
@@ -2027,41 +2102,46 @@ paths:
$ref: '#/components/schemas/ListToolDefsResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - ToolRuntime
- summary: List all tools in the runtime.
+ - Tool Runtime
+ summary: List Runtime Tools
description: List all tools in the runtime.
+ operationId: list_runtime_tools_v1_tool_runtime_list_tools_get
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'
- - name: authorization
- in: query
- description: >-
- (Optional) OAuth access token for authenticating with the MCP server.
- required: false
- schema:
- type: string
- deprecated: false
+ - name: authorization
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Authorization
+ - name: tool_group_id
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Tool Group Id
+ - name: mcp_endpoint
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ - type: 'null'
+ title: Mcp Endpoint
/v1/toolgroups:
get:
responses:
@@ -2072,40 +2152,43 @@ paths:
schema:
$ref: '#/components/schemas/ListToolGroupsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - ToolGroups
- summary: List tool groups with optional provider.
+ - Tool Groups
+ summary: List Tool Groups
description: List tool groups with optional provider.
- parameters: []
- deprecated: false
+ operationId: list_tool_groups_v1_toolgroups_get
post:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - ToolGroups
- summary: Register a tool group.
+ - Tool Groups
+ summary: Register Tool Group
description: Register a tool group.
- parameters: []
+ operationId: register_tool_group_v1_toolgroups_post
requestBody:
content:
application/json:
@@ -2123,52 +2206,57 @@ paths:
schema:
$ref: '#/components/schemas/ToolGroup'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - ToolGroups
- summary: Get a tool group by its ID.
+ - Tool Groups
+ summary: Get Tool Group
description: Get a tool group by its ID.
+ operationId: get_tool_group_v1_toolgroups__toolgroup_id__get
parameters:
- - name: toolgroup_id
- in: path
- description: The ID of the tool group to get.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: toolgroup_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: toolgroup_id'
delete:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - ToolGroups
- summary: Unregister a tool group.
+ - Tool Groups
+ summary: Unregister Toolgroup
description: Unregister a tool group.
+ operationId: unregister_toolgroup_v1_toolgroups__toolgroup_id__delete
parameters:
- - name: toolgroup_id
- in: path
- description: The ID of the tool group to unregister.
- required: true
- schema:
- type: string
+ - name: toolgroup_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: toolgroup_id'
deprecated: true
/v1/tools:
get:
@@ -2181,27 +2269,30 @@ paths:
$ref: '#/components/schemas/ListToolDefsResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - ToolGroups
- summary: List tools with optional tool group.
+ - Tool Groups
+ summary: List Tools
description: List tools with optional tool group.
+ operationId: list_tools_v1_tools_get
parameters:
- - name: toolgroup_id
- in: query
- description: >-
- The ID of the tool group to list tools for.
- required: false
- schema:
- type: string
- deprecated: false
+ - name: toolgroup_id
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Toolgroup Id
/v1/tools/{tool_name}:
get:
responses:
@@ -2212,54 +2303,57 @@ paths:
schema:
$ref: '#/components/schemas/ToolDef'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - ToolGroups
- summary: Get a tool by its name.
+ - Tool Groups
+ summary: Get Tool
description: Get a tool by its name.
+ operationId: get_tool_v1_tools__tool_name__get
parameters:
- - name: tool_name
- in: path
- description: The name of the tool to get.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: tool_name
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: tool_name'
/v1/vector-io/insert:
post:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - VectorIO
- summary: Insert chunks into a vector database.
+ - Vector Io
+ summary: Insert Chunks
description: Insert chunks into a vector database.
- parameters: []
+ operationId: insert_chunks_v1_vector_io_insert_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InsertChunksRequest'
required: true
- deprecated: false
/v1/vector-io/query:
post:
responses:
@@ -2270,815 +2364,829 @@ paths:
schema:
$ref: '#/components/schemas/QueryChunksResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Query chunks from a vector database.
+ - Vector Io
+ summary: Query Chunks
description: Query chunks from a vector database.
- parameters: []
+ operationId: query_chunks_v1_vector_io_query_post
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.
+ description: A VectorStoreListResponse containing the list of vector stores.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreListResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - VectorIO
- summary: Returns a list of vector stores.
+ - Vector Io
+ summary: Openai List Vector Stores
description: Returns a list of vector stores.
+ operationId: openai_list_vector_stores_v1_vector_stores_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: before
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Before
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 20
+ title: Limit
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: desc
+ title: Order
post:
responses:
'200':
- description: >-
- A VectorStoreObject representing the created vector store.
+ description: A VectorStoreObject representing the created vector store.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreObject'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - VectorIO
- summary: Creates a vector store.
- description: >-
+ - Vector Io
+ summary: Openai Create Vector Store
+ description: |-
Creates a vector store.
Generate an OpenAI-compatible vector store with the given parameters.
- parameters: []
+ operationId: openai_create_vector_store_v1_vector_stores_post
requestBody:
+ required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAICreateVectorStoreRequestWithExtraBody'
- required: true
- deprecated: false
/v1/vector_stores/{vector_store_id}:
get:
responses:
'200':
- description: >-
- A VectorStoreObject representing the vector store.
+ description: A VectorStoreObject representing the vector store.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Retrieves a vector store.
+ - Vector Io
+ summary: Openai Retrieve Vector Store
description: Retrieves a vector store.
+ operationId: openai_retrieve_vector_store_v1_vector_stores__vector_store_id__get
parameters:
- - name: vector_store_id
- in: path
- description: The ID of the vector store to retrieve.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
post:
responses:
'200':
- description: >-
- A VectorStoreObject representing the updated vector store.
+ description: A VectorStoreObject representing the updated vector store.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Updates a vector store.
+ - Vector Io
+ summary: Openai Update Vector Store
description: Updates a vector store.
+ operationId: openai_update_vector_store_v1_vector_stores__vector_store_id__post
parameters:
- - name: vector_store_id
- in: path
- description: The ID of the vector store to update.
- required: true
- schema:
- type: string
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OpenaiUpdateVectorStoreRequest'
required: true
- deprecated: false
delete:
responses:
'200':
- description: >-
- A VectorStoreDeleteResponse indicating the deletion status.
+ description: A VectorStoreDeleteResponse indicating the deletion status.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreDeleteResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Delete a vector store.
+ - Vector Io
+ summary: Openai Delete Vector Store
description: Delete a vector store.
+ operationId: openai_delete_vector_store_v1_vector_stores__vector_store_id__delete
parameters:
- - name: vector_store_id
- in: path
- description: The ID of the vector store to delete.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
/v1/vector_stores/{vector_store_id}/file_batches:
post:
responses:
'200':
- description: >-
- A VectorStoreFileBatchObject representing the created file batch.
+ description: A VectorStoreFileBatchObject representing the created file batch.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileBatchObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Create a vector store file batch.
- description: >-
+ - Vector Io
+ summary: Openai Create Vector Store File Batch
+ description: |-
Create a vector store file batch.
- Generate an OpenAI-compatible vector store file batch for the given vector
- store.
+ Generate an OpenAI-compatible vector store file batch for the given vector store.
+ operationId: openai_create_vector_store_file_batch_v1_vector_stores__vector_store_id__file_batches_post
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
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OpenAICreateVectorStoreFileBatchRequestWithExtraBody'
required: true
- deprecated: false
/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}:
get:
responses:
'200':
- description: >-
- A VectorStoreFileBatchObject representing the file batch.
+ description: A VectorStoreFileBatchObject representing the file batch.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileBatchObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Retrieve a vector store file batch.
+ - Vector Io
+ summary: Openai Retrieve Vector Store File Batch
description: Retrieve a vector store file batch.
+ operationId: openai_retrieve_vector_store_file_batch_v1_vector_stores__vector_store_id__file_batches__batch_id__get
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
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: batch_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: batch_id'
/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}/cancel:
post:
responses:
'200':
- description: >-
- A VectorStoreFileBatchObject representing the cancelled file batch.
+ description: A VectorStoreFileBatchObject representing the cancelled file batch.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileBatchObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Cancels a vector store file batch.
+ - Vector Io
+ summary: Openai Cancel Vector Store File Batch
description: Cancels a vector store file batch.
+ operationId: openai_cancel_vector_store_file_batch_v1_vector_stores__vector_store_id__file_batches__batch_id__cancel_post
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
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: batch_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: batch_id'
/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.
+ description: A VectorStoreFilesListInBatchResponse containing the list of files in the batch.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFilesListInBatchResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - VectorIO
- summary: >-
- Returns a list of vector store files in a batch.
- description: >-
- Returns a list of vector store files in a batch.
+ - Vector Io
+ summary: Openai List Files In Vector Store File Batch
+ description: Returns a list of vector store files in a batch.
+ operationId: openai_list_files_in_vector_store_file_batch_v1_vector_stores__vector_store_id__file_batches__batch_id__files_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: before
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Before
+ - name: filter
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Filter
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 20
+ title: Limit
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: desc
+ title: Order
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: batch_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: batch_id'
/v1/vector_stores/{vector_store_id}/files:
get:
responses:
'200':
- description: >-
- A VectorStoreListFilesResponse containing the list of files.
+ description: A VectorStoreListFilesResponse containing the list of files.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreListFilesResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - VectorIO
- summary: List files in a vector store.
+ - Vector Io
+ summary: Openai List Files In Vector Store
description: List files in a vector store.
+ operationId: openai_list_files_in_vector_store_v1_vector_stores__vector_store_id__files_get
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
+ - name: after
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: After
+ - name: before
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ title: Before
+ - name: filter
+ in: query
+ required: false
+ schema:
+ title: Filter
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - cancelled
+ - failed
+ default: completed
+ nullable: true
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 20
+ title: Limit
+ - name: order
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: desc
+ title: Order
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
post:
responses:
'200':
- description: >-
- A VectorStoreFileObject representing the attached file.
+ description: A VectorStoreFileObject representing the attached file.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileObject'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - VectorIO
- summary: Attach a file to a vector store.
+ - Vector Io
+ summary: Openai Attach File To Vector Store
description: Attach a file to a vector store.
+ operationId: openai_attach_file_to_vector_store_v1_vector_stores__vector_store_id__files_post
parameters:
- - name: vector_store_id
- in: path
- description: >-
- The ID of the vector store to attach the file to.
- required: true
- schema:
- type: string
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
requestBody:
+ required: true
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.
+ description: A VectorStoreFileObject representing the file.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Retrieves a vector store file.
+ - Vector Io
+ summary: Openai Retrieve Vector Store File
description: Retrieves a vector store file.
+ operationId: openai_retrieve_vector_store_file_v1_vector_stores__vector_store_id__files__file_id__get
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
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
post:
responses:
'200':
- description: >-
- A VectorStoreFileObject representing the updated file.
+ description: A VectorStoreFileObject representing the updated file.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileObject'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Updates a vector store file.
+ - Vector Io
+ summary: Openai Update Vector Store File
description: Updates a vector store file.
+ operationId: openai_update_vector_store_file_v1_vector_stores__vector_store_id__files__file_id__post
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
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OpenaiUpdateVectorStoreFileRequest'
required: true
- deprecated: false
delete:
responses:
'200':
- description: >-
- A VectorStoreFileDeleteResponse indicating the deletion status.
+ description: A VectorStoreFileDeleteResponse indicating the deletion status.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileDeleteResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Delete a vector store file.
+ - Vector Io
+ summary: Openai Delete Vector Store File
description: Delete a vector store file.
+ operationId: openai_delete_vector_store_file_v1_vector_stores__vector_store_id__files__file_id__delete
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
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
/v1/vector_stores/{vector_store_id}/files/{file_id}/content:
get:
responses:
'200':
- description: >-
- File contents, optionally with embeddings and metadata based on query
- parameters.
+ description: File contents, optionally with embeddings and metadata based on query parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreFileContentResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - VectorIO
- summary: >-
- Retrieves the contents of a vector store file.
- description: >-
- Retrieves the contents of a vector store file.
+ - Vector Io
+ summary: Openai Retrieve Vector Store File Contents
+ description: Retrieves the contents of a vector store file.
+ operationId: openai_retrieve_vector_store_file_contents_v1_vector_stores__vector_store_id__files__file_id__content_get
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
- - name: include_embeddings
- in: query
- description: >-
- Whether to include embedding vectors in the response.
- required: false
- schema:
- $ref: '#/components/schemas/bool'
- - name: include_metadata
- in: query
- description: >-
- Whether to include chunk metadata in the response.
- required: false
- schema:
- $ref: '#/components/schemas/bool'
- deprecated: false
+ - name: include_embeddings
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ title: Include Embeddings
+ - name: include_metadata
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
+ title: Include Metadata
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
+ - name: file_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: file_id'
/v1/vector_stores/{vector_store_id}/search:
post:
responses:
'200':
- description: >-
- A VectorStoreSearchResponse containing the search results.
+ description: A VectorStoreSearchResponse containing the search results.
content:
application/json:
schema:
$ref: '#/components/schemas/VectorStoreSearchResponsePage'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - VectorIO
- summary: Search for chunks in a vector store.
- description: >-
+ - Vector Io
+ summary: Openai Search 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.
+ Searches a vector store for relevant chunks based on a query and optional file attribute filters.
+ operationId: openai_search_vector_store_v1_vector_stores__vector_store_id__search_post
parameters:
- - name: vector_store_id
- in: path
- description: The ID of the vector store to search.
- required: true
- schema:
- type: string
+ - name: vector_store_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: vector_store_id'
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.
+ description: Version information containing the service version number.
content:
application/json:
schema:
$ref: '#/components/schemas/VersionInfo'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Inspect
- summary: Get version.
- description: >-
+ - Inspect
+ summary: Version
+ description: |-
Get version.
Get the version of the service.
- parameters: []
- deprecated: false
+ operationId: version_v1_version_get
/v1beta/datasetio/append-rows/{dataset_id}:
post:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - DatasetIO
- summary: Append rows to a dataset.
+ - Datasetio
+ summary: Append Rows
description: Append rows to a dataset.
+ operationId: append_rows_v1beta_datasetio_append_rows__dataset_id__post
parameters:
- - name: dataset_id
- in: path
- description: >-
- The ID of the dataset to append the rows to.
- required: true
- schema:
- type: string
+ - name: dataset_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: dataset_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AppendRowsRequest'
required: true
- deprecated: false
/v1beta/datasetio/iterrows/{dataset_id}:
get:
responses:
@@ -3090,55 +3198,53 @@ paths:
$ref: '#/components/schemas/PaginatedResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - DatasetIO
- summary: >-
- Get a paginated list of rows from a dataset.
- description: >-
+ - Datasetio
+ summary: Iterrows
+ description: |-
Get a paginated list of rows from a dataset.
Uses offset-based pagination where:
-
- start_index: The starting index (0-based). If None, starts from beginning.
-
- limit: Number of items to return. If None or -1, returns all items.
-
The response includes:
-
- data: List of items for the current page.
-
- has_more: Whether there are more items available after this set.
+ operationId: iterrows_v1beta_datasetio_iterrows__dataset_id__get
parameters:
- - name: dataset_id
- in: path
- description: >-
- The ID of the dataset to get the rows from.
- required: true
- schema:
- type: string
- - name: start_index
- in: query
- description: >-
- Index into dataset for the first row to get. Get all rows if None.
- required: false
- schema:
- type: integer
- - name: limit
- in: query
- description: The number of rows to get.
- required: false
- schema:
- type: integer
- deprecated: false
+ - name: limit
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ title: Limit
+ - name: start_index
+ in: query
+ required: false
+ schema:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ title: Start Index
+ - name: dataset_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: dataset_id'
/v1beta/datasets:
get:
responses:
@@ -3149,21 +3255,22 @@ paths:
schema:
$ref: '#/components/schemas/ListDatasetsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Datasets
- summary: List all datasets.
+ - Datasets
+ summary: List Datasets
description: List all datasets.
- parameters: []
- deprecated: false
+ operationId: list_datasets_v1beta_datasets_get
post:
responses:
'200':
@@ -3173,25 +3280,27 @@ paths:
schema:
$ref: '#/components/schemas/Dataset'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Datasets
- summary: Register a new dataset.
+ - Datasets
+ summary: Register Dataset
description: Register a new dataset.
- parameters: []
+ operationId: register_dataset_v1beta_datasets_post
requestBody:
content:
application/json:
schema:
- $ref: '#/components/schemas/RegisterDatasetRequest'
+ $ref: '#/components/schemas/RegisterDatasetRequestLoose'
required: true
deprecated: true
/v1beta/datasets/{dataset_id}:
@@ -3204,52 +3313,57 @@ paths:
schema:
$ref: '#/components/schemas/Dataset'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Datasets
- summary: Get a dataset by its ID.
+ - Datasets
+ summary: Get Dataset
description: Get a dataset by its ID.
+ operationId: get_dataset_v1beta_datasets__dataset_id__get
parameters:
- - name: dataset_id
- in: path
- description: The ID of the dataset to get.
- required: true
- schema:
- type: string
- deprecated: false
- delete:
+ - name: dataset_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: dataset_id'
+ delete:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - Datasets
- summary: Unregister a dataset by its ID.
+ - Datasets
+ summary: Unregister Dataset
description: Unregister a dataset by its ID.
+ operationId: unregister_dataset_v1beta_datasets__dataset_id__delete
parameters:
- - name: dataset_id
- in: path
- description: The ID of the dataset to unregister.
- required: true
- schema:
- type: string
+ - name: dataset_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: dataset_id'
deprecated: true
/v1alpha/eval/benchmarks:
get:
@@ -3261,40 +3375,43 @@ paths:
schema:
$ref: '#/components/schemas/ListBenchmarksResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Benchmarks
- summary: List all benchmarks.
+ - Benchmarks
+ summary: List Benchmarks
description: List all benchmarks.
- parameters: []
- deprecated: false
+ operationId: list_benchmarks_v1alpha_eval_benchmarks_get
post:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - Benchmarks
- summary: Register a benchmark.
+ - Benchmarks
+ summary: Register Benchmark
description: Register a benchmark.
- parameters: []
+ operationId: register_benchmark_v1alpha_eval_benchmarks_post
requestBody:
content:
application/json:
@@ -3312,131 +3429,136 @@ paths:
schema:
$ref: '#/components/schemas/Benchmark'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Benchmarks
- summary: Get a benchmark by its ID.
+ - Benchmarks
+ summary: Get Benchmark
description: Get a benchmark by its ID.
+ operationId: get_benchmark_v1alpha_eval_benchmarks__benchmark_id__get
parameters:
- - name: benchmark_id
- in: path
- description: The ID of the benchmark to get.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
delete:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - Benchmarks
- summary: Unregister a benchmark.
+ - Benchmarks
+ summary: Unregister Benchmark
description: Unregister a benchmark.
+ operationId: unregister_benchmark_v1alpha_eval_benchmarks__benchmark_id__delete
parameters:
- - name: benchmark_id
- in: path
- description: The ID of the benchmark to unregister.
- required: true
- schema:
- type: string
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
deprecated: true
/v1alpha/eval/benchmarks/{benchmark_id}/evaluations:
post:
responses:
'200':
- description: >-
- EvaluateResponse object containing generations and scores.
+ description: EvaluateResponse object containing generations and scores.
content:
application/json:
schema:
$ref: '#/components/schemas/EvaluateResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Eval
- summary: Evaluate a list of rows on a benchmark.
+ - Eval
+ summary: Evaluate Rows
description: Evaluate a list of rows on a benchmark.
+ operationId: evaluate_rows_v1alpha_eval_benchmarks__benchmark_id__evaluations_post
parameters:
- - name: benchmark_id
- in: path
- description: >-
- The ID of the benchmark to run the evaluation on.
- required: true
- schema:
- type: string
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EvaluateRowsRequest'
required: true
- deprecated: false
/v1alpha/eval/benchmarks/{benchmark_id}/jobs:
post:
responses:
'200':
- description: >-
- The job that was created to run the evaluation.
+ description: The job that was created to run the evaluation.
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Eval
- summary: Run an evaluation on a benchmark.
+ - Eval
+ summary: Run Eval
description: Run an evaluation on a benchmark.
+ operationId: run_eval_v1alpha_eval_benchmarks__benchmark_id__jobs_post
parameters:
- - name: benchmark_id
- in: path
- description: >-
- The ID of the benchmark to run the evaluation on.
- required: true
- schema:
- type: string
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
requestBody:
content:
application/json:
schema:
- $ref: '#/components/schemas/RunEvalRequest'
+ $ref: '#/components/schemas/BenchmarkConfig'
required: true
- deprecated: false
/v1alpha/eval/benchmarks/{benchmark_id}/jobs/{job_id}:
get:
responses:
@@ -3447,67 +3569,69 @@ paths:
schema:
$ref: '#/components/schemas/Job'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Eval
- summary: Get the status of a job.
+ - Eval
+ summary: Job Status
description: Get the status of a job.
+ operationId: job_status_v1alpha_eval_benchmarks__benchmark_id__jobs__job_id__get
parameters:
- - name: benchmark_id
- in: path
- description: >-
- The ID of the benchmark to run the evaluation on.
- required: true
- schema:
- type: string
- - name: job_id
- in: path
- description: The ID of the job to get the status of.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
+ - name: job_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: job_id'
delete:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - Eval
- summary: Cancel a job.
+ - Eval
+ summary: Job Cancel
description: Cancel a job.
+ operationId: job_cancel_v1alpha_eval_benchmarks__benchmark_id__jobs__job_id__delete
parameters:
- - name: benchmark_id
- in: path
- description: >-
- The ID of the benchmark to run the evaluation on.
- required: true
- schema:
- type: string
- - name: job_id
- in: path
- description: The ID of the job to cancel.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
+ - name: job_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: job_id'
/v1alpha/eval/benchmarks/{benchmark_id}/jobs/{job_id}/result:
get:
responses:
@@ -3518,68 +3642,67 @@ paths:
schema:
$ref: '#/components/schemas/EvaluateResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Eval
- summary: Get the result of a job.
+ - Eval
+ summary: Job Result
description: Get the result of a job.
+ operationId: job_result_v1alpha_eval_benchmarks__benchmark_id__jobs__job_id__result_get
parameters:
- - name: benchmark_id
- in: path
- description: >-
- The ID of the benchmark to run the evaluation on.
- required: true
- schema:
- type: string
- - name: job_id
- in: path
- description: The ID of the job to get the result of.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: benchmark_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: benchmark_id'
+ - name: job_id
+ in: path
+ required: true
+ schema:
+ type: string
+ description: 'Path parameter: job_id'
/v1alpha/inference/rerank:
post:
responses:
'200':
- description: >-
- RerankResponse with indices sorted by relevance score (descending).
+ description: RerankResponse with indices sorted by relevance score (descending).
content:
application/json:
schema:
$ref: '#/components/schemas/RerankResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - Inference
- summary: >-
- Rerank a list of documents based on their relevance to a query.
- description: >-
- Rerank a list of documents based on their relevance to a query.
- parameters: []
+ - Inference
+ summary: Rerank
+ description: Rerank a list of documents based on their relevance to a query.
+ operationId: rerank_v1alpha_inference_rerank_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RerankRequest'
required: true
- deprecated: false
/v1alpha/post-training/job/artifacts:
get:
responses:
@@ -3591,54 +3714,56 @@ paths:
$ref: '#/components/schemas/PostTrainingJobArtifactsResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - PostTraining (Coming Soon)
- summary: Get the artifacts of a training job.
+ - Post Training
+ summary: Get Training Job Artifacts
description: Get the artifacts of a training job.
+ operationId: get_training_job_artifacts_v1alpha_post_training_job_artifacts_get
parameters:
- - name: job_uuid
- in: query
- description: >-
- The UUID of the job to get the artifacts of.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: job_uuid
+ in: query
+ required: true
+ schema:
+ type: string
+ title: Job Uuid
/v1alpha/post-training/job/cancel:
post:
responses:
- '200':
- description: OK
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
+ '204':
+ description: Successful Response
tags:
- - PostTraining (Coming Soon)
- summary: Cancel a training job.
+ - Post Training
+ summary: Cancel Training Job
description: Cancel a training job.
- parameters: []
+ operationId: cancel_training_job_v1alpha_post_training_job_cancel_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CancelTrainingJobRequest'
required: true
- deprecated: false
/v1alpha/post-training/job/status:
get:
responses:
@@ -3650,27 +3775,28 @@ paths:
$ref: '#/components/schemas/PostTrainingJobStatusResponse'
'400':
$ref: '#/components/responses/BadRequest400'
+ description: Bad Request
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ $ref: '#/components/responses/TooManyRequests429'
+ description: Too Many Requests
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ $ref: '#/components/responses/InternalServerError500'
+ description: Internal Server Error
default:
$ref: '#/components/responses/DefaultError'
+ description: Default Response
tags:
- - PostTraining (Coming Soon)
- summary: Get the status of a training job.
+ - Post Training
+ summary: Get Training Job Status
description: Get the status of a training job.
+ operationId: get_training_job_status_v1alpha_post_training_job_status_get
parameters:
- - name: job_uuid
- in: query
- description: >-
- The UUID of the job to get the status of.
- required: true
- schema:
- type: string
- deprecated: false
+ - name: job_uuid
+ in: query
+ required: true
+ schema:
+ type: string
+ title: Job Uuid
/v1alpha/post-training/jobs:
get:
responses:
@@ -3681,21 +3807,22 @@ paths:
schema:
$ref: '#/components/schemas/ListPostTrainingJobsResponse'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - PostTraining (Coming Soon)
- summary: Get all training jobs.
+ - Post Training
+ summary: Get Training Jobs
description: Get all training jobs.
- parameters: []
- deprecated: false
+ operationId: get_training_jobs_v1alpha_post_training_jobs_get
/v1alpha/post-training/preference-optimize:
post:
responses:
@@ -3706,27 +3833,28 @@ paths:
schema:
$ref: '#/components/schemas/PostTrainingJob'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - PostTraining (Coming Soon)
- summary: Run preference optimization of a model.
+ - Post Training
+ summary: Preference Optimize
description: Run preference optimization of a model.
- parameters: []
+ operationId: preference_optimize_v1alpha_post_training_preference_optimize_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PreferenceOptimizeRequest'
required: true
- deprecated: false
/v1alpha/post-training/supervised-fine-tune:
post:
responses:
@@ -3737,1473 +3865,1277 @@ paths:
schema:
$ref: '#/components/schemas/PostTrainingJob'
'400':
+ description: Bad Request
$ref: '#/components/responses/BadRequest400'
'429':
- $ref: >-
- #/components/responses/TooManyRequests429
+ description: Too Many Requests
+ $ref: '#/components/responses/TooManyRequests429'
'500':
- $ref: >-
- #/components/responses/InternalServerError500
+ description: Internal Server Error
+ $ref: '#/components/responses/InternalServerError500'
default:
+ description: Default Response
$ref: '#/components/responses/DefaultError'
tags:
- - PostTraining (Coming Soon)
- summary: Run supervised fine-tuning of a model.
+ - Post Training
+ summary: Supervised Fine Tune
description: Run supervised fine-tuning of a model.
- parameters: []
+ operationId: supervised_fine_tune_v1alpha_post_training_supervised_fine_tune_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SupervisedFineTuneRequest'
required: true
- deprecated: false
-jsonSchemaDialect: >-
- https://json-schema.org/draft/2020-12/schema
components:
schemas:
Error:
- type: object
+ description: Error response from the API. Roughly follows RFC 7807.
properties:
status:
+ title: Status
type: integer
- description: HTTP status code
title:
+ title: Title
type: string
- description: >-
- Error title, a short summary of the error which is invariant for an error
- type
detail:
+ title: 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
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ required:
+ - status
+ - title
+ - detail
title: Error
- description: >-
- Error response from the API. Roughly follows RFC 7807.
- ListBatchesResponse:
type: object
+ ListBatchesResponse:
properties:
object:
type: string
const: list
+ title: Object
default: list
data:
- type: array
items:
- type: object
- properties:
- id:
- type: string
- completion_window:
- type: string
- created_at:
- type: integer
- endpoint:
- type: string
- input_file_id:
- type: string
- object:
- type: string
- const: batch
- status:
- type: string
- enum:
- - validating
- - failed
- - in_progress
- - finalizing
- - completed
- - expired
- - cancelling
- - cancelled
- cancelled_at:
- type: integer
- cancelling_at:
- type: integer
- completed_at:
- type: integer
- error_file_id:
- type: string
- errors:
- type: object
- properties:
- data:
- type: array
- items:
- type: object
- properties:
- code:
- type: string
- line:
- type: integer
- message:
- type: string
- param:
- type: string
- additionalProperties: false
- title: BatchError
- object:
- type: string
- additionalProperties: false
- title: Errors
- expired_at:
- type: integer
- expires_at:
- type: integer
- failed_at:
- type: integer
- finalizing_at:
- type: integer
- in_progress_at:
- type: integer
- metadata:
- type: object
- additionalProperties:
- type: string
- model:
- type: string
- output_file_id:
- type: string
- request_counts:
- type: object
- properties:
- completed:
- type: integer
- failed:
- type: integer
- total:
- type: integer
- additionalProperties: false
- required:
- - completed
- - failed
- - total
- title: BatchRequestCounts
- usage:
- type: object
- properties:
- input_tokens:
- type: integer
- input_tokens_details:
- type: object
- properties:
- cached_tokens:
- type: integer
- additionalProperties: false
- required:
- - cached_tokens
- title: InputTokensDetails
- output_tokens:
- type: integer
- output_tokens_details:
- type: object
- properties:
- reasoning_tokens:
- type: integer
- additionalProperties: false
- required:
- - reasoning_tokens
- title: OutputTokensDetails
- total_tokens:
- type: integer
- additionalProperties: false
- required:
- - input_tokens
- - input_tokens_details
- - output_tokens
- - output_tokens_details
- - total_tokens
- title: BatchUsage
- additionalProperties: false
- required:
- - id
- - completion_window
- - created_at
- - endpoint
- - input_file_id
- - object
- - status
- title: Batch
+ $ref: '#/components/schemas/Batch'
+ type: array
+ title: Data
+ description: List of batch objects
first_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: ID of the first batch in the list
last_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: ID of the last batch in the list
has_more:
type: boolean
+ title: Has More
+ description: Whether there are more batches available
default: false
- additionalProperties: false
+ type: object
required:
- - object
- - data
- - has_more
+ - data
title: ListBatchesResponse
- description: >-
- Response containing a list of batch objects.
+ description: Response containing a list of batch objects.
CreateBatchRequest:
- type: object
properties:
input_file_id:
type: string
- description: >-
- The ID of an uploaded file containing requests for the batch.
+ title: Input File Id
endpoint:
type: string
- description: >-
- The endpoint to be used for all requests in the batch.
+ title: Endpoint
completion_window:
type: string
const: 24h
- description: >-
- The time window within which the batch should be processed.
+ title: Completion Window
metadata:
- type: object
- additionalProperties:
- type: string
- description: Optional metadata for the batch.
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - type: 'null'
idempotency_key:
- type: string
- description: >-
- Optional idempotency key. When provided, enables idempotent behavior.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - input_file_id
- - endpoint
- - completion_window
+ - input_file_id
+ - endpoint
+ - completion_window
title: CreateBatchRequest
Batch:
- type: object
properties:
id:
type: string
+ title: Id
completion_window:
type: string
+ title: Completion Window
created_at:
type: integer
+ title: Created At
endpoint:
type: string
+ title: Endpoint
input_file_id:
type: string
+ title: Input File Id
object:
type: string
const: batch
+ title: Object
status:
type: string
enum:
- - validating
- - failed
- - in_progress
- - finalizing
- - completed
- - expired
- - cancelling
- - cancelled
+ - validating
+ - failed
+ - in_progress
+ - finalizing
+ - completed
+ - expired
+ - cancelling
+ - cancelled
+ title: Status
cancelled_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
cancelling_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
completed_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
error_file_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
errors:
- type: object
- properties:
- data:
- type: array
- items:
- type: object
- properties:
- code:
- type: string
- line:
- type: integer
- message:
- type: string
- param:
- type: string
- additionalProperties: false
- title: BatchError
- object:
- type: string
- additionalProperties: false
+ anyOf:
+ - $ref: '#/components/schemas/Errors'
+ title: Errors
+ - type: 'null'
title: Errors
expired_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
expires_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
failed_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
finalizing_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
in_progress_at:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
metadata:
- type: object
- additionalProperties:
- type: string
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - type: 'null'
model:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
output_file_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
request_counts:
- type: object
- properties:
- completed:
- type: integer
- failed:
- type: integer
- total:
- type: integer
- additionalProperties: false
- required:
- - completed
- - failed
- - total
+ anyOf:
+ - $ref: '#/components/schemas/BatchRequestCounts'
+ title: BatchRequestCounts
+ - type: 'null'
title: BatchRequestCounts
usage:
- type: object
- properties:
- input_tokens:
- type: integer
- input_tokens_details:
- type: object
- properties:
- cached_tokens:
- type: integer
- additionalProperties: false
- required:
- - cached_tokens
- title: InputTokensDetails
- output_tokens:
- type: integer
- output_tokens_details:
- type: object
- properties:
- reasoning_tokens:
- type: integer
- additionalProperties: false
- required:
- - reasoning_tokens
- title: OutputTokensDetails
- total_tokens:
- type: integer
- additionalProperties: false
- required:
- - input_tokens
- - input_tokens_details
- - output_tokens
- - output_tokens_details
- - total_tokens
+ anyOf:
+ - $ref: '#/components/schemas/BatchUsage'
+ title: BatchUsage
+ - type: 'null'
title: BatchUsage
- additionalProperties: false
- required:
- - id
- - completion_window
- - created_at
- - endpoint
- - input_file_id
- - object
- - status
+ additionalProperties: true
+ type: object
+ required:
+ - id
+ - completion_window
+ - created_at
+ - endpoint
+ - input_file_id
+ - object
+ - status
title: Batch
Order:
type: string
enum:
- - asc
- - desc
+ - 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
- usage:
- $ref: '#/components/schemas/OpenAIChatCompletionUsage'
- description: >-
- Token usage information for the 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
+ $ref: '#/components/schemas/OpenAICompletionWithInputMessages'
+ type: array
+ title: Data
has_more:
type: boolean
- description: >-
- Whether there are more completions available beyond this list
+ title: Has More
first_id:
type: string
- description: ID of the first completion in this list
+ title: First Id
last_id:
type: string
- description: ID of the last completion in this list
+ title: Last Id
object:
type: string
const: list
+ title: Object
default: list
- description: >-
- Must be "list" to identify this as a list response
- additionalProperties: false
- required:
- - data
- - has_more
- - first_id
- - last_id
- - object
+ type: object
+ required:
+ - data
+ - has_more
+ - first_id
+ - last_id
title: ListOpenAIChatCompletionResponse
- description: >-
- Response from listing OpenAI-compatible chat completions.
+ description: Response from listing OpenAI-compatible chat completions.
OpenAIAssistantMessageParam:
- type: object
+ description: A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
properties:
role:
- type: string
const: assistant
default: assistant
- description: >-
- Must be "assistant" to identify this as the model's response
+ title: Role
+ type: string
content:
- oneOf:
- - type: string
- - type: array
- items:
- $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
- description: The content of the model's response
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ - type: 'null'
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ nullable: true
name:
- type: string
- description: >-
- (Optional) The name of the assistant message participant.
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
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
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
+ nullable: true
title: OpenAIAssistantMessageParam
- description: >-
- A message containing the model's (assistant) response in an OpenAI-compatible
- chat completion request.
- "OpenAIChatCompletionContentPartImageParam":
type: object
+ OpenAIChatCompletionContentPartImageParam:
properties:
type:
type: string
const: image_url
+ title: Type
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.
+ type: object
+ required:
+ - 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'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
OpenAIChatCompletionContentPartTextParam:
- type: object
properties:
type:
type: string
const: text
+ title: Type
default: text
- description: >-
- Must be "text" to identify this as text content
text:
type: string
- description: The text content of the message
- additionalProperties: false
+ title: Text
+ type: object
required:
- - type
- - text
+ - text
title: OpenAIChatCompletionContentPartTextParam
- description: >-
- Text content part for OpenAI-compatible chat completion messages.
+ 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
+ anyOf:
+ - type: integer
+ - type: 'null'
id:
- type: string
- description: >-
- (Optional) Unique identifier for the tool call
+ anyOf:
+ - type: string
+ - type: 'null'
type:
type: string
const: function
+ title: Type
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
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionToolCallFunction'
+ title: OpenAIChatCompletionToolCallFunction
+ - type: 'null'
+ title: OpenAIChatCompletionToolCallFunction
+ type: object
title: OpenAIChatCompletionToolCall
- description: >-
- Tool call specification for OpenAI-compatible chat completion responses.
+ 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
+ anyOf:
+ - type: string
+ - type: 'null'
arguments:
- type: string
- description: >-
- (Optional) Arguments to pass to the function as a JSON string
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
title: OpenAIChatCompletionToolCallFunction
- description: >-
- Function call details for OpenAI-compatible tool calls.
+ description: Function call details for OpenAI-compatible tool calls.
OpenAIChatCompletionUsage:
- type: object
properties:
prompt_tokens:
type: integer
- description: Number of tokens in the prompt
+ title: Prompt Tokens
completion_tokens:
type: integer
- description: Number of tokens in the completion
+ title: Completion Tokens
total_tokens:
type: integer
- description: Total tokens used (prompt + completion)
+ title: Total Tokens
prompt_tokens_details:
- type: object
- properties:
- cached_tokens:
- type: integer
- description: Number of tokens retrieved from cache
- additionalProperties: false
- title: >-
- OpenAIChatCompletionUsagePromptTokensDetails
- description: >-
- Token details for prompt tokens in OpenAI chat completion usage.
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsagePromptTokensDetails'
+ title: OpenAIChatCompletionUsagePromptTokensDetails
+ - type: 'null'
+ title: OpenAIChatCompletionUsagePromptTokensDetails
completion_tokens_details:
- type: object
- properties:
- reasoning_tokens:
- type: integer
- description: >-
- Number of tokens used for reasoning (o1/o3 models)
- additionalProperties: false
- title: >-
- OpenAIChatCompletionUsageCompletionTokensDetails
- description: >-
- Token details for output tokens in OpenAI chat completion usage.
- additionalProperties: false
- required:
- - prompt_tokens
- - completion_tokens
- - total_tokens
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsageCompletionTokensDetails'
+ title: OpenAIChatCompletionUsageCompletionTokensDetails
+ - type: 'null'
+ title: OpenAIChatCompletionUsageCompletionTokensDetails
+ type: object
+ required:
+ - prompt_tokens
+ - completion_tokens
+ - total_tokens
title: OpenAIChatCompletionUsage
- description: >-
- Usage information for OpenAI chat completion.
+ description: Usage information for OpenAI chat completion.
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'
+ - $ref: '#/components/schemas/OpenAIUserMessageParam-Output'
+ title: OpenAIUserMessageParam-Output
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ title: OpenAIAssistantMessageParam-Output
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ title: OpenAIUserMessageParam-Output | ... (5 variants)
discriminator:
propertyName: role
mapping:
- user: '#/components/schemas/OpenAIUserMessageParam'
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
system: '#/components/schemas/OpenAISystemMessageParam'
- assistant: '#/components/schemas/OpenAIAssistantMessageParam'
tool: '#/components/schemas/OpenAIToolMessageParam'
- developer: '#/components/schemas/OpenAIDeveloperMessageParam'
- description: The message from the model
+ user: '#/components/schemas/OpenAIUserMessageParam-Output'
finish_reason:
type: string
- description: The reason the model stopped generating
+ title: Finish Reason
index:
type: integer
- description: The index of the choice
+ title: Index
logprobs:
- $ref: '#/components/schemas/OpenAIChoiceLogprobs'
- description: >-
- (Optional) The log probabilities for the tokens in the message
- additionalProperties: false
- required:
- - message
- - finish_reason
- - index
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChoiceLogprobs'
+ title: OpenAIChoiceLogprobs
+ - type: 'null'
+ title: OpenAIChoiceLogprobs
+ type: object
+ required:
+ - message
+ - finish_reason
+ - index
title: OpenAIChoice
- description: >-
- A choice from an OpenAI-compatible chat completion response.
+ 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
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAITokenLogProb'
+ type: array
+ - type: 'null'
refusal:
- type: array
- items:
- $ref: '#/components/schemas/OpenAITokenLogProb'
- description: >-
- (Optional) The log probabilities for the tokens in the message
- additionalProperties: false
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAITokenLogProb'
+ type: array
+ - type: 'null'
+ type: object
title: OpenAIChoiceLogprobs
- description: >-
- The log probabilities for the tokens in the message from an OpenAI-compatible
- chat completion response.
+ 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
+ title: Role
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
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
name:
- type: string
- description: >-
- (Optional) The name of the developer message participant.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - role
- - content
+ - content
title: OpenAIDeveloperMessageParam
- description: >-
- A message from the developer in an OpenAI-compatible chat completion request.
+ description: A message from the developer in an OpenAI-compatible chat completion request.
OpenAIFile:
- type: object
properties:
type:
type: string
const: file
+ title: Type
default: file
file:
$ref: '#/components/schemas/OpenAIFileFile'
- additionalProperties: false
+ type: object
required:
- - type
- - file
+ - file
title: OpenAIFile
OpenAIFileFile:
- type: object
properties:
file_data:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
file_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
filename:
- type: string
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
title: OpenAIFileFile
OpenAIImageURL:
- type: object
properties:
url:
type: string
- description: >-
- URL of the image to include in the message
+ title: Url
detail:
- type: string
- description: >-
- (Optional) Level of detail for image processing. Can be "low", "high",
- or "auto"
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - url
+ - url
title: OpenAIImageURL
- description: >-
- Image URL specification for OpenAI-compatible chat completion messages.
+ 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'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam'
+ propertyName: role
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam'
+ title: OpenAIUserMessageParam
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam'
+ title: OpenAIAssistantMessageParam
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ title: OpenAIUserMessageParam | ... (5 variants)
OpenAISystemMessageParam:
- type: object
properties:
role:
type: string
const: system
+ title: Role
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).
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
name:
- type: string
- description: >-
- (Optional) The name of the system message participant.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - role
- - content
+ - content
title: OpenAISystemMessageParam
- description: >-
- A system message providing instructions or context to the model.
+ description: A system message providing instructions or context to the model.
OpenAITokenLogProb:
- type: object
properties:
token:
type: string
+ title: Token
bytes:
- type: array
- items:
- type: integer
+ anyOf:
+ - items:
+ type: integer
+ type: array
+ - type: 'null'
logprob:
type: number
+ title: Logprob
top_logprobs:
- type: array
items:
$ref: '#/components/schemas/OpenAITopLogProb'
- additionalProperties: false
+ type: array
+ title: Top Logprobs
+ type: object
required:
- - token
- - logprob
- - top_logprobs
+ - token
+ - logprob
+ - top_logprobs
title: OpenAITokenLogProb
- description: >-
- The log probability for a token from an OpenAI-compatible chat completion
- response.
+ description: |-
+ The log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
+ :top_logprobs: The top log probabilities for the token
OpenAIToolMessageParam:
- type: object
properties:
role:
type: string
const: tool
+ title: Role
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
+ title: Tool Call Id
content:
- oneOf:
- - type: string
- - type: array
- items:
- $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
- description: The response content from the tool
- additionalProperties: false
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ type: object
required:
- - role
- - tool_call_id
- - content
+ - tool_call_id
+ - content
title: OpenAIToolMessageParam
- description: >-
- A message representing the result of a tool invocation in an OpenAI-compatible
- chat completion request.
+ description: A message representing the result of a tool invocation in an OpenAI-compatible chat completion request.
OpenAITopLogProb:
- type: object
properties:
token:
type: string
+ title: Token
bytes:
- type: array
- items:
- type: integer
+ anyOf:
+ - items:
+ type: integer
+ type: array
+ - type: 'null'
logprob:
type: number
- additionalProperties: false
+ title: Logprob
+ type: object
required:
- - token
- - logprob
+ - token
+ - logprob
title: OpenAITopLogProb
- description: >-
- The top log probability for a token from an OpenAI-compatible chat completion
- response.
+ description: |-
+ The top log probability for a token from an OpenAI-compatible chat completion response.
+
+ :token: The token
+ :bytes: (Optional) The bytes for the token
+ :logprob: The log probability of the token
OpenAIUserMessageParam:
- type: object
+ description: A message from the user in an OpenAI-compatible chat completion request.
properties:
role:
- type: string
const: user
default: user
- description: >-
- Must be "user" to identify this as a user message
+ title: Role
+ type: string
content:
- oneOf:
- - type: string
- - type: array
- items:
- $ref: '#/components/schemas/OpenAIChatCompletionContentPartParam'
- description: >-
- The content of the message, which can include text and other media
+ anyOf:
+ - type: string
+ - items:
+ discriminator:
+ mapping:
+ file: '#/components/schemas/OpenAIFile'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ title: string | list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
name:
- type: string
- description: >-
- (Optional) The name of the user message participant.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
required:
- - role
- - content
+ - content
title: OpenAIUserMessageParam
- description: >-
- A message from the user in an OpenAI-compatible chat completion request.
- OpenAIJSONSchema:
type: object
+ OpenAIJSONSchema:
properties:
name:
type: string
- description: Name of the schema
+ title: Name
description:
- type: string
- description: (Optional) Description of the schema
+ anyOf:
+ - type: string
+ - type: 'null'
strict:
- type: boolean
- description: >-
- (Optional) Whether to enforce strict adherence to the schema
+ anyOf:
+ - type: boolean
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
title: OpenAIJSONSchema
- description: >-
- JSON schema specification for OpenAI-compatible structured response format.
+ description: JSON schema specification for OpenAI-compatible structured response format.
OpenAIResponseFormatJSONObject:
- type: object
properties:
type:
type: string
const: json_object
+ title: Type
default: json_object
- description: >-
- Must be "json_object" to indicate generic JSON object response format
- additionalProperties: false
- required:
- - type
+ type: object
title: OpenAIResponseFormatJSONObject
- description: >-
- JSON object response format for OpenAI-compatible chat completion requests.
+ description: JSON object response format for OpenAI-compatible chat completion requests.
OpenAIResponseFormatJSONSchema:
- type: object
properties:
type:
type: string
const: json_schema
+ title: Type
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
+ type: object
required:
- - type
- - json_schema
+ - json_schema
title: OpenAIResponseFormatJSONSchema
- description: >-
- JSON schema response format for OpenAI-compatible chat completion requests.
+ 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'
+ json_schema: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ text: '#/components/schemas/OpenAIResponseFormatText'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseFormatText'
+ title: OpenAIResponseFormatText
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ title: OpenAIResponseFormatJSONSchema
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONObject'
+ title: OpenAIResponseFormatJSONObject
+ title: OpenAIResponseFormatText | OpenAIResponseFormatJSONSchema | OpenAIResponseFormatJSONObject
OpenAIResponseFormatText:
- type: object
properties:
type:
type: string
const: text
+ title: Type
default: text
- description: >-
- Must be "text" to indicate plain text response format
- additionalProperties: false
- required:
- - type
+ type: object
title: OpenAIResponseFormatText
- description: >-
- Text response format for OpenAI-compatible chat completion requests.
+ description: Text response format for OpenAI-compatible chat completion requests.
OpenAIChatCompletionRequestWithExtraBody:
- 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.
+ title: Model
messages:
- type: array
items:
- $ref: '#/components/schemas/OpenAIMessageParam'
- description: List of messages in the conversation.
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam-Input'
+ title: OpenAIUserMessageParam-Input
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam-Input'
+ title: OpenAIAssistantMessageParam-Input
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ discriminator:
+ propertyName: role
+ mapping:
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam-Input'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam-Input'
+ title: OpenAIUserMessageParam-Input | ... (5 variants)
+ type: array
+ minItems: 1
+ title: Messages
frequency_penalty:
- type: number
- description: >-
- (Optional) The penalty for repeated tokens.
+ anyOf:
+ - type: number
+ - type: 'null'
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:
+ anyOf:
+ - type: string
+ - additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: (Optional) List of functions to use.
+ - type: 'null'
+ title: string | object
+ functions:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
logit_bias:
- type: object
- additionalProperties:
- type: number
- description: (Optional) The logit bias to use.
+ anyOf:
+ - additionalProperties:
+ type: number
+ type: object
+ - type: 'null'
logprobs:
- type: boolean
- description: (Optional) The log probabilities to use.
+ anyOf:
+ - type: boolean
+ - type: 'null'
max_completion_tokens:
- type: integer
- description: >-
- (Optional) The maximum number of tokens to generate.
+ anyOf:
+ - type: integer
+ - type: 'null'
max_tokens:
- type: integer
- description: >-
- (Optional) The maximum number of tokens to generate.
+ anyOf:
+ - type: integer
+ - type: 'null'
n:
- type: integer
- description: >-
- (Optional) The number of completions to generate.
+ anyOf:
+ - type: integer
+ - type: 'null'
parallel_tool_calls:
- type: boolean
- description: >-
- (Optional) Whether to parallelize tool calls.
+ anyOf:
+ - type: boolean
+ - type: 'null'
presence_penalty:
- type: number
- description: >-
- (Optional) The penalty for repeated tokens.
+ anyOf:
+ - type: number
+ - type: 'null'
response_format:
- $ref: '#/components/schemas/OpenAIResponseFormatParam'
- description: (Optional) The response format to use.
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseFormatText'
+ title: OpenAIResponseFormatText
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ title: OpenAIResponseFormatJSONSchema
+ - $ref: '#/components/schemas/OpenAIResponseFormatJSONObject'
+ title: OpenAIResponseFormatJSONObject
+ discriminator:
+ propertyName: type
+ mapping:
+ json_object: '#/components/schemas/OpenAIResponseFormatJSONObject'
+ json_schema: '#/components/schemas/OpenAIResponseFormatJSONSchema'
+ text: '#/components/schemas/OpenAIResponseFormatText'
+ title: OpenAIResponseFormatText | OpenAIResponseFormatJSONSchema | OpenAIResponseFormatJSONObject
+ - type: 'null'
+ title: Response Format
seed:
- type: integer
- description: (Optional) The seed to use.
+ anyOf:
+ - type: integer
+ - type: 'null'
stop:
- oneOf:
- - type: string
- - type: array
- items:
- type: string
- description: (Optional) The stop tokens to use.
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - type: 'null'
+ title: string | list[string]
stream:
- type: boolean
- description: >-
- (Optional) Whether to stream the response.
+ anyOf:
+ - type: boolean
+ - type: 'null'
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.
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
temperature:
- type: number
- description: (Optional) The temperature to use.
+ anyOf:
+ - type: number
+ - type: 'null'
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:
+ anyOf:
+ - type: string
+ - additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: (Optional) The tools to use.
+ - type: 'null'
+ title: string | object
+ tools:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
top_logprobs:
- type: integer
- description: >-
- (Optional) The top log probabilities to use.
+ anyOf:
+ - type: integer
+ - type: 'null'
top_p:
- type: number
- description: (Optional) The top p to use.
+ anyOf:
+ - type: number
+ - type: 'null'
user:
- type: string
- description: (Optional) The user to use.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
required:
- - model
- - messages
+ - model
+ - messages
title: OpenAIChatCompletionRequestWithExtraBody
- description: >-
- Request parameters for OpenAI-compatible chat completion endpoint.
+ description: Request parameters for OpenAI-compatible chat completion endpoint.
OpenAIChatCompletion:
- type: object
properties:
id:
type: string
- description: The ID of the chat completion
+ title: Id
choices:
- type: array
items:
$ref: '#/components/schemas/OpenAIChoice'
- description: List of choices
+ type: array
+ title: Choices
object:
type: string
const: chat.completion
+ title: Object
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
+ title: Created
model:
type: string
- description: >-
- The model that was used to generate the chat completion
+ title: Model
usage:
- $ref: '#/components/schemas/OpenAIChatCompletionUsage'
- description: >-
- Token usage information for the completion
- additionalProperties: false
- required:
- - id
- - choices
- - object
- - created
- - model
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsage'
+ title: OpenAIChatCompletionUsage
+ - type: 'null'
+ title: OpenAIChatCompletionUsage
+ type: object
+ required:
+ - id
+ - choices
+ - created
+ - model
title: OpenAIChatCompletion
- description: >-
- Response from an OpenAI-compatible chat completion request.
+ description: Response from an OpenAI-compatible chat completion request.
OpenAIChatCompletionChunk:
- type: object
+ description: Chunk from a streaming response to an OpenAI-compatible chat completion request.
properties:
id:
+ title: Id
type: string
- description: The ID of the chat completion
choices:
- type: array
items:
$ref: '#/components/schemas/OpenAIChunkChoice'
- description: List of choices
+ title: Choices
+ type: array
object:
- type: string
const: chat.completion.chunk
default: chat.completion.chunk
- description: >-
- The object type, which will be "chat.completion.chunk"
+ title: Object
+ type: string
created:
+ title: Created
type: integer
- description: >-
- The Unix timestamp in seconds when the chat completion was created
model:
+ title: Model
type: string
- description: >-
- The model that was used to generate the chat completion
usage:
- $ref: '#/components/schemas/OpenAIChatCompletionUsage'
- description: >-
- Token usage information (typically included in final chunk with stream_options)
- additionalProperties: false
- required:
- - id
- - choices
- - object
- - created
- - model
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsage'
+ title: OpenAIChatCompletionUsage
+ - type: 'null'
+ nullable: true
+ title: OpenAIChatCompletionUsage
+ required:
+ - id
+ - choices
+ - created
+ - model
title: OpenAIChatCompletionChunk
- description: >-
- Chunk from a streaming response to an OpenAI-compatible chat completion request.
- OpenAIChoiceDelta:
type: object
+ OpenAIChoiceDelta:
+ description: A delta from an OpenAI-compatible chat completion streaming response.
properties:
content:
- type: string
- description: (Optional) The content of the delta
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
refusal:
- type: string
- description: (Optional) The refusal of the delta
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
role:
- type: string
- description: (Optional) The role of the delta
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
tool_calls:
- type: array
- items:
- $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
- description: (Optional) The tool calls of the delta
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
+ nullable: true
reasoning_content:
- type: string
- description: >-
- (Optional) The reasoning content from the model (non-standard, for o1/o3
- models)
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
title: OpenAIChoiceDelta
- description: >-
- A delta from an OpenAI-compatible chat completion streaming response.
- OpenAIChunkChoice:
type: object
+ OpenAIChunkChoice:
+ description: A chunk choice from an OpenAI-compatible chat completion streaming response.
properties:
delta:
$ref: '#/components/schemas/OpenAIChoiceDelta'
- description: The delta from the chunk
finish_reason:
+ title: Finish Reason
type: string
- description: The reason the model stopped generating
index:
+ title: 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
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChoiceLogprobs'
+ title: OpenAIChoiceLogprobs
+ - type: 'null'
+ nullable: true
+ title: OpenAIChoiceLogprobs
+ required:
+ - delta
+ - finish_reason
+ - index
title: OpenAIChunkChoice
- description: >-
- A chunk choice from an OpenAI-compatible chat completion streaming response.
- OpenAICompletionWithInputMessages:
type: object
+ OpenAICompletionWithInputMessages:
properties:
id:
type: string
- description: The ID of the chat completion
+ title: Id
choices:
- type: array
items:
$ref: '#/components/schemas/OpenAIChoice'
- description: List of choices
+ type: array
+ title: Choices
object:
type: string
const: chat.completion
+ title: Object
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
+ title: Created
model:
type: string
- description: >-
- The model that was used to generate the chat completion
+ title: Model
usage:
- $ref: '#/components/schemas/OpenAIChatCompletionUsage'
- description: >-
- Token usage information for the completion
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionUsage'
+ title: OpenAIChatCompletionUsage
+ - type: 'null'
+ title: OpenAIChatCompletionUsage
input_messages:
- type: array
items:
- $ref: '#/components/schemas/OpenAIMessageParam'
- additionalProperties: false
- required:
- - id
- - choices
- - object
- - created
- - model
- - input_messages
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam-Output'
+ title: OpenAIUserMessageParam-Output
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ title: OpenAIAssistantMessageParam-Output
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ discriminator:
+ propertyName: role
+ mapping:
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam-Output'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam-Output'
+ title: OpenAIUserMessageParam-Output | ... (5 variants)
+ type: array
+ title: Input Messages
+ type: object
+ required:
+ - id
+ - choices
+ - created
+ - model
+ - input_messages
title: OpenAICompletionWithInputMessages
OpenAICompletionRequestWithExtraBody:
- 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.
+ title: Model
prompt:
- oneOf:
- - type: string
- - type: array
- items:
- type: string
- - type: array
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - items:
+ type: integer
+ type: array
+ title: list[integer]
+ - items:
items:
type: integer
- - type: array
- items:
- type: array
- items:
- type: integer
- description: The prompt to generate a completion for.
+ type: array
+ type: array
+ title: list[array]
+ title: string | ... (4 variants)
best_of:
- type: integer
- description: >-
- (Optional) The number of completions to generate.
+ anyOf:
+ - type: integer
+ - type: 'null'
echo:
- type: boolean
- description: (Optional) Whether to echo the prompt.
+ anyOf:
+ - type: boolean
+ - type: 'null'
frequency_penalty:
- type: number
- description: >-
- (Optional) The penalty for repeated tokens.
+ anyOf:
+ - type: number
+ - type: 'null'
logit_bias:
- type: object
- additionalProperties:
- type: number
- description: (Optional) The logit bias to use.
+ anyOf:
+ - additionalProperties:
+ type: number
+ type: object
+ - type: 'null'
logprobs:
- type: boolean
- description: (Optional) The log probabilities to use.
+ anyOf:
+ - type: boolean
+ - type: 'null'
max_tokens:
- type: integer
- description: >-
- (Optional) The maximum number of tokens to generate.
+ anyOf:
+ - type: integer
+ - type: 'null'
n:
- type: integer
- description: >-
- (Optional) The number of completions to generate.
+ anyOf:
+ - type: integer
+ - type: 'null'
presence_penalty:
- type: number
- description: >-
- (Optional) The penalty for repeated tokens.
+ anyOf:
+ - type: number
+ - type: 'null'
seed:
- type: integer
- description: (Optional) The seed to use.
+ anyOf:
+ - type: integer
+ - type: 'null'
stop:
- oneOf:
- - type: string
- - type: array
- items:
- type: string
- description: (Optional) The stop tokens to use.
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - type: 'null'
+ title: string | list[string]
stream:
- type: boolean
- description: >-
- (Optional) Whether to stream the response.
+ anyOf:
+ - type: boolean
+ - type: 'null'
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.
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
temperature:
- type: number
- description: (Optional) The temperature to use.
+ anyOf:
+ - type: number
+ - type: 'null'
top_p:
- type: number
- description: (Optional) The top p to use.
+ anyOf:
+ - type: number
+ - type: 'null'
user:
- type: string
- description: (Optional) The user to use.
+ anyOf:
+ - type: string
+ - type: 'null'
suffix:
- type: string
- description: >-
- (Optional) The suffix that should be appended to the completion.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
required:
- - model
- - prompt
+ - model
+ - prompt
title: OpenAICompletionRequestWithExtraBody
- description: >-
- Request parameters for OpenAI-compatible completion endpoint.
+ description: Request parameters for OpenAI-compatible completion endpoint.
OpenAICompletion:
- type: object
properties:
id:
type: string
+ title: Id
choices:
- type: array
items:
$ref: '#/components/schemas/OpenAICompletionChoice'
+ type: array
+ title: Choices
created:
type: integer
+ title: Created
model:
type: string
+ title: Model
object:
type: string
const: text_completion
+ title: Object
default: text_completion
- additionalProperties: false
+ type: object
required:
- - id
- - choices
- - created
- - model
- - object
+ - id
+ - choices
+ - created
+ - model
title: OpenAICompletion
- description: >-
+ description: |-
Response from an OpenAI-compatible completion request.
+
+ :id: The ID of the completion
+ :choices: List of choices
+ :created: The Unix timestamp in seconds when the completion was created
+ :model: The model that was used to generate the completion
+ :object: The object type, which will be "text_completion"
OpenAICompletionChoice:
- type: object
properties:
finish_reason:
type: string
+ title: Finish Reason
text:
type: string
+ title: Text
index:
type: integer
+ title: Index
logprobs:
- $ref: '#/components/schemas/OpenAIChoiceLogprobs'
- additionalProperties: false
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIChoiceLogprobs'
+ title: OpenAIChoiceLogprobs
+ - type: 'null'
+ title: OpenAIChoiceLogprobs
+ type: object
required:
- - finish_reason
- - text
- - index
+ - finish_reason
+ - text
+ - index
title: OpenAICompletionChoice
- description: >-
+ description: |-
A choice from an OpenAI-compatible completion response.
+
+ :finish_reason: The reason the model stopped generating
+ :text: The text of the choice
+ :index: The index of the choice
+ :logprobs: (Optional) The log probabilities for the tokens in the choice
ConversationItem:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseMessage'
- - $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/OpenAIResponseOutputMessageMCPCall'
- - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
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'
function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
@@ -5211,6858 +5143,8365 @@ components:
mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ title: OpenAIResponseMessage | ... (9 variants)
OpenAIResponseAnnotationCitation:
- type: object
properties:
type:
type: string
const: url_citation
+ title: Type
default: url_citation
- description: >-
- Annotation type identifier, always "url_citation"
end_index:
type: integer
- description: >-
- End position of the citation span in the content
+ title: End Index
start_index:
type: integer
- description: >-
- Start position of the citation span in the content
+ title: Start Index
title:
type: string
- description: Title of the referenced web resource
+ title: Title
url:
type: string
- description: URL of the referenced web resource
- additionalProperties: false
+ title: Url
+ type: object
required:
- - type
- - end_index
- - start_index
- - title
- - url
+ - end_index
+ - start_index
+ - title
+ - url
title: OpenAIResponseAnnotationCitation
- description: >-
- URL citation annotation for referencing external web resources.
- "OpenAIResponseAnnotationContainerFileCitation":
- type: object
+ description: URL citation annotation for referencing external web resources.
+ OpenAIResponseAnnotationContainerFileCitation:
properties:
type:
type: string
const: container_file_citation
+ title: Type
default: container_file_citation
container_id:
type: string
+ title: Container Id
end_index:
type: integer
+ title: End Index
file_id:
type: string
+ title: File Id
filename:
type: string
+ title: Filename
start_index:
type: integer
- additionalProperties: false
+ title: Start Index
+ type: object
required:
- - type
- - container_id
- - end_index
- - file_id
- - filename
- - start_index
- title: >-
- OpenAIResponseAnnotationContainerFileCitation
+ - container_id
+ - end_index
+ - file_id
+ - filename
+ - start_index
+ title: OpenAIResponseAnnotationContainerFileCitation
OpenAIResponseAnnotationFileCitation:
- type: object
properties:
type:
type: string
const: file_citation
+ title: Type
default: file_citation
- description: >-
- Annotation type identifier, always "file_citation"
file_id:
type: string
- description: Unique identifier of the referenced file
+ title: File Id
filename:
type: string
- description: Name of the referenced file
+ title: Filename
index:
type: integer
- description: >-
- Position index of the citation within the content
- additionalProperties: false
+ title: Index
+ type: object
required:
- - type
- - file_id
- - filename
- - index
+ - file_id
+ - filename
+ - index
title: OpenAIResponseAnnotationFileCitation
- description: >-
- File citation annotation for referencing specific files in response content.
+ description: File citation annotation for referencing specific files in response content.
OpenAIResponseAnnotationFilePath:
- type: object
properties:
type:
type: string
const: file_path
+ title: Type
default: file_path
file_id:
type: string
+ title: File Id
index:
type: integer
- additionalProperties: false
+ title: Index
+ type: object
required:
- - type
- - file_id
- - index
+ - 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_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
OpenAIResponseContentPartRefusal:
- type: object
properties:
type:
type: string
const: refusal
+ title: Type
default: refusal
- description: >-
- Content part type identifier, always "refusal"
refusal:
type: string
- description: Refusal text supplied by the model
- additionalProperties: false
+ title: Refusal
+ type: object
required:
- - type
- - refusal
+ - refusal
title: OpenAIResponseContentPartRefusal
- description: >-
- Refusal content within a streamed response part.
- "OpenAIResponseInputFunctionToolCallOutput":
- type: object
+ description: Refusal content within a streamed response part.
+ OpenAIResponseInputFunctionToolCallOutput:
properties:
call_id:
type: string
+ title: Call Id
output:
type: string
+ title: Output
type:
type: string
const: function_call_output
+ title: Type
default: function_call_output
id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
status:
- type: string
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - call_id
- - output
- - type
- title: >-
- OpenAIResponseInputFunctionToolCallOutput
- description: >-
- This represents the output of a function call that gets passed back to the
- model.
+ - call_id
+ - output
+ 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'
- - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
discriminator:
- propertyName: type
mapping:
- input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
- input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
OpenAIResponseInputMessageContentFile:
- type: object
properties:
type:
type: string
const: input_file
+ title: Type
default: input_file
- description: >-
- The type of the input item. Always `input_file`.
file_data:
- type: string
- description: >-
- The data of the file to be sent to the model.
+ anyOf:
+ - type: string
+ - type: 'null'
file_id:
- type: string
- description: >-
- (Optional) The ID of the file to be sent to the model.
+ anyOf:
+ - type: string
+ - type: 'null'
file_url:
- type: string
- description: >-
- The URL of the file to be sent to the model.
+ anyOf:
+ - type: string
+ - type: 'null'
filename:
- type: string
- description: >-
- The name of the file to be sent to the model.
- additionalProperties: false
- required:
- - type
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
title: OpenAIResponseInputMessageContentFile
- description: >-
- File content for input messages in OpenAI response format.
+ description: File content for input messages in OpenAI response format.
OpenAIResponseInputMessageContentImage:
- type: object
properties:
detail:
- oneOf:
- - type: string
- const: low
- - type: string
- const: high
- - type: string
- const: auto
+ title: Detail
default: auto
- description: >-
- Level of detail for image processing, can be "low", "high", or "auto"
+ type: string
+ enum:
+ - low
+ - high
+ - auto
type:
type: string
const: input_image
+ title: Type
default: input_image
- description: >-
- Content type identifier, always "input_image"
file_id:
- type: string
- description: >-
- (Optional) The ID of the file to be sent to the model.
+ anyOf:
+ - type: string
+ - type: 'null'
image_url:
- type: string
- description: (Optional) URL of the image content
- additionalProperties: false
- required:
- - detail
- - type
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
title: OpenAIResponseInputMessageContentImage
- description: >-
- Image content for input messages in OpenAI response format.
+ 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
+ title: Text
type:
type: string
const: input_text
+ title: Type
default: input_text
- description: >-
- Content type identifier, always "input_text"
- additionalProperties: false
+ type: object
required:
- - text
- - type
+ - text
title: OpenAIResponseInputMessageContentText
- description: >-
- Text content for input messages in OpenAI response format.
+ description: Text content for input messages in OpenAI response format.
OpenAIResponseMCPApprovalRequest:
- type: object
properties:
arguments:
type: string
+ title: Arguments
id:
type: string
+ title: Id
name:
type: string
+ title: Name
server_label:
type: string
+ title: Server Label
type:
type: string
const: mcp_approval_request
+ title: Type
default: mcp_approval_request
- additionalProperties: false
+ type: object
required:
- - arguments
- - id
- - name
- - server_label
- - type
+ - arguments
+ - id
+ - name
+ - server_label
title: OpenAIResponseMCPApprovalRequest
- description: >-
- A request for human approval of a tool invocation.
+ description: A request for human approval of a tool invocation.
OpenAIResponseMCPApprovalResponse:
- type: object
properties:
approval_request_id:
type: string
+ title: Approval Request Id
approve:
type: boolean
+ title: Approve
type:
type: string
const: mcp_approval_response
+ title: Type
default: mcp_approval_response
id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
reason:
- type: string
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - approval_request_id
- - approve
- - type
+ - approval_request_id
+ - approve
title: OpenAIResponseMCPApprovalResponse
description: A response to an MCP approval request.
OpenAIResponseMessage:
- type: object
+ 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.
properties:
content:
- oneOf:
- - type: string
- - type: array
- items:
- $ref: '#/components/schemas/OpenAIResponseInputMessageContent'
- - type: array
- items:
- $ref: '#/components/schemas/OpenAIResponseOutputMessageContent'
+ anyOf:
+ - type: string
+ - items:
+ discriminator:
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ type: array
+ title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
+ - items:
+ discriminator:
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ title: OpenAIResponseOutputMessageContentOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
+ type: array
+ title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
role:
- oneOf:
- - type: string
- const: system
- - type: string
- const: developer
- - type: string
- const: user
- - type: string
- const: assistant
- type:
+ title: Role
type: string
+ enum:
+ - system
+ - developer
+ - user
+ - assistant
+ default: system
+ type:
const: message
default: message
- id:
+ title: Type
type: string
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
status:
- type: string
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
required:
- - content
- - role
- - type
+ - content
+ - role
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.
+ type: object
OpenAIResponseOutputMessageContent:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
- - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
discriminator:
- propertyName: type
mapping:
output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
- "OpenAIResponseOutputMessageContentOutputText":
- type: object
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ title: OpenAIResponseOutputMessageContentOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
+ OpenAIResponseOutputMessageContentOutputText:
properties:
text:
type: string
+ title: Text
type:
type: string
const: output_text
+ title: Type
default: output_text
annotations:
- type: array
items:
- $ref: '#/components/schemas/OpenAIResponseAnnotations'
- additionalProperties: false
- required:
- - text
- - type
- - annotations
- title: >-
- OpenAIResponseOutputMessageContentOutputText
- "OpenAIResponseOutputMessageFileSearchToolCall":
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ discriminator:
+ propertyName: type
+ mapping:
+ container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
+ type: array
+ title: Annotations
type: object
+ required:
+ - text
+ title: OpenAIResponseOutputMessageContentOutputText
+ OpenAIResponseOutputMessageFileSearchToolCall:
properties:
id:
type: string
- description: Unique identifier for this tool call
+ title: Id
queries:
- type: array
items:
type: string
- description: List of search queries executed
+ type: array
+ title: Queries
status:
type: string
- description: >-
- Current status of the file search operation
+ title: Status
type:
type: string
const: file_search_call
+ title: Type
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":
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCallResults'
+ type: array
+ - type: 'null'
type: object
+ required:
+ - id
+ - queries
+ - status
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ description: File search tool call output message for OpenAI responses.
+ OpenAIResponseOutputMessageFunctionToolCall:
properties:
call_id:
type: string
- description: Unique identifier for the function call
+ title: Call Id
name:
type: string
- description: Name of the function being called
+ title: Name
arguments:
type: string
- description: >-
- JSON string containing the function arguments
+ title: Arguments
type:
type: string
const: function_call
+ title: Type
default: function_call
- description: >-
- Tool call type identifier, always "function_call"
id:
- type: string
- description: >-
- (Optional) Additional identifier for the tool call
+ anyOf:
+ - type: string
+ - type: 'null'
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:
+ anyOf:
+ - type: string
+ - type: 'null'
type: object
+ required:
+ - call_id
+ - name
+ - arguments
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ description: Function tool call output message for OpenAI responses.
+ OpenAIResponseOutputMessageMCPCall:
properties:
id:
type: string
- description: Unique identifier for this MCP call
+ title: Id
type:
type: string
const: mcp_call
+ title: Type
default: mcp_call
- description: >-
- Tool call type identifier, always "mcp_call"
arguments:
type: string
- description: >-
- JSON string containing the MCP call arguments
+ title: Arguments
name:
type: string
- description: Name of the MCP method being called
+ title: Name
server_label:
type: string
- description: >-
- Label identifying the MCP server handling the call
+ title: Server Label
error:
- type: string
- description: >-
- (Optional) Error message if the MCP call failed
+ anyOf:
+ - type: string
+ - type: 'null'
output:
- type: string
- description: >-
- (Optional) Output result from the successful MCP call
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - id
- - type
- - arguments
- - name
- - server_label
+ - id
+ - arguments
+ - name
+ - server_label
title: OpenAIResponseOutputMessageMCPCall
- description: >-
- Model Context Protocol (MCP) call output message for OpenAI responses.
+ 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
+ title: Id
type:
type: string
const: mcp_list_tools
+ title: Type
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
+ title: Server Label
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":
+ $ref: '#/components/schemas/MCPListToolsTool'
+ type: array
+ title: Tools
type: object
+ required:
+ - id
+ - server_label
+ - tools
+ title: OpenAIResponseOutputMessageMCPListTools
+ description: MCP list tools output message containing available tools from an MCP server.
+ OpenAIResponseOutputMessageWebSearchToolCall:
properties:
id:
type: string
- description: Unique identifier for this tool call
+ title: Id
status:
type: string
- description: >-
- Current status of the web search operation
+ title: Status
type:
type: string
const: web_search_call
+ title: Type
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.
- CreateConversationRequest:
type: object
+ required:
+ - id
+ - status
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ description: Web search tool call output message for OpenAI responses.
+ CreateConversationRequest:
properties:
items:
- type: array
- items:
- $ref: '#/components/schemas/ConversationItem'
- description: >-
- Initial items to include in the conversation context.
+ anyOf:
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Input'
+ title: OpenAIResponseMessage-Input
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Input'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Input | ... (9 variants)
+ type: array
+ - type: 'null'
metadata:
- type: object
- additionalProperties:
- type: string
- description: >-
- Set of key-value pairs that can be attached to an object.
- additionalProperties: false
+ anyOf:
+ - additionalProperties:
+ type: string
+ type: object
+ - type: 'null'
+ type: object
title: CreateConversationRequest
Conversation:
- type: object
properties:
id:
type: string
+ title: Id
+ description: The unique ID of the conversation.
object:
type: string
const: conversation
+ title: Object
+ description: The object type, which is always conversation.
default: conversation
created_at:
type: integer
+ title: Created At
+ description: The time at which the conversation was created, measured in seconds since the Unix epoch.
metadata:
- type: object
- additionalProperties:
- type: string
- items:
- type: array
- items:
+ anyOf:
+ - additionalProperties:
+ type: string
type: object
- title: dict
- description: >-
- dict() -> new empty dictionary dict(mapping) -> new dictionary initialized
- from a mapping object's (key, value) pairs dict(iterable) -> new
- dictionary initialized as if via: d = {} for k, v in iterable: d[k]
- = v dict(**kwargs) -> new dictionary initialized with the name=value
- pairs in the keyword argument list. For example: dict(one=1, two=2)
- additionalProperties: false
- required:
- - id
- - object
- - created_at
+ - type: 'null'
+ description: Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard.
+ items:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
+ description: Initial items to include in the conversation context. You may add up to 20 items at a time.
+ type: object
+ required:
+ - id
+ - created_at
title: Conversation
description: OpenAI-compatible conversation object.
UpdateConversationRequest:
- type: object
properties:
metadata:
- type: object
additionalProperties:
type: string
- description: >-
- Set of key-value pairs that can be attached to an object.
- additionalProperties: false
+ type: object
+ title: Metadata
+ type: object
required:
- - metadata
+ - metadata
title: UpdateConversationRequest
ConversationDeletedResource:
- type: object
properties:
id:
type: string
+ title: Id
+ description: The deleted conversation identifier
object:
type: string
+ title: Object
+ description: Object type
default: conversation.deleted
deleted:
type: boolean
+ title: Deleted
+ description: Whether the object was deleted
default: true
- additionalProperties: false
+ type: object
required:
- - id
- - object
- - deleted
+ - id
title: ConversationDeletedResource
description: Response for deleted conversation.
ConversationItemList:
- type: object
properties:
object:
type: string
+ title: Object
+ description: Object type
default: list
data:
- type: array
items:
- $ref: '#/components/schemas/ConversationItem'
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (9 variants)
+ type: array
+ title: Data
+ description: List of conversation items
first_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: The ID of the first item in the list
last_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: The ID of the last item in the list
has_more:
type: boolean
+ title: Has More
+ description: Whether there are more items available
default: false
- additionalProperties: false
+ type: object
required:
- - object
- - data
- - has_more
+ - data
title: ConversationItemList
- description: >-
- List of conversation items with pagination.
+ description: List of conversation items with pagination.
AddItemsRequest:
- type: object
properties:
items:
- type: array
items:
- $ref: '#/components/schemas/ConversationItem'
- description: >-
- Items to include in the conversation context.
- additionalProperties: false
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Input'
+ title: OpenAIResponseMessage-Input
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Input'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Input | ... (9 variants)
+ type: array
+ title: Items
+ type: object
required:
- - items
+ - items
title: AddItemsRequest
ConversationItemDeletedResource:
- type: object
properties:
id:
type: string
+ title: Id
+ description: The deleted item identifier
object:
type: string
+ title: Object
+ description: Object type
default: conversation.item.deleted
deleted:
type: boolean
+ title: Deleted
+ description: Whether the object was deleted
default: true
- additionalProperties: false
+ type: object
required:
- - id
- - object
- - deleted
+ - id
title: ConversationItemDeletedResource
description: Response for deleted conversation item.
OpenAIEmbeddingsRequestWithExtraBody:
- 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.
+ title: Model
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.
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ title: string | list[string]
encoding_format:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
default: float
- 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.
+ anyOf:
+ - type: integer
+ - type: 'null'
user:
- type: string
- description: >-
- (Optional) A unique identifier representing your end-user, which can help
- OpenAI to monitor and detect abuse.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
required:
- - model
- - input
+ - model
+ - input
title: OpenAIEmbeddingsRequestWithExtraBody
- description: >-
- Request parameters for OpenAI-compatible embeddings endpoint.
+ description: Request parameters for OpenAI-compatible embeddings endpoint.
OpenAIEmbeddingData:
- type: object
properties:
object:
type: string
const: embedding
+ title: Object
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")
+ anyOf:
+ - items:
+ type: number
+ type: array
+ title: list[number]
+ - type: string
+ title: list[number] | string
index:
type: integer
- description: >-
- The index of the embedding in the input list
- additionalProperties: false
+ title: Index
+ type: object
required:
- - object
- - embedding
- - index
+ - embedding
+ - index
title: OpenAIEmbeddingData
- description: >-
- A single embedding data object from an OpenAI-compatible embeddings response.
+ 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
+ title: Prompt Tokens
total_tokens:
type: integer
- description: The total number of tokens used
- additionalProperties: false
+ title: Total Tokens
+ type: object
required:
- - prompt_tokens
- - total_tokens
+ - prompt_tokens
+ - total_tokens
title: OpenAIEmbeddingUsage
- description: >-
- Usage information for an OpenAI-compatible embeddings response.
+ description: Usage information for an OpenAI-compatible embeddings response.
OpenAIEmbeddingsResponse:
- type: object
properties:
object:
type: string
const: list
+ title: Object
default: list
- description: The object type, which will be "list"
data:
- type: array
items:
$ref: '#/components/schemas/OpenAIEmbeddingData'
- description: List of embedding data objects
+ type: array
+ title: Data
model:
type: string
- description: >-
- The model that was used to generate the embeddings
+ title: Model
usage:
$ref: '#/components/schemas/OpenAIEmbeddingUsage'
- description: Usage information
- additionalProperties: false
+ type: object
required:
- - object
- - data
- - model
- - usage
+ - data
+ - model
+ - usage
title: OpenAIEmbeddingsResponse
- description: >-
- Response from an OpenAI-compatible embeddings request.
+ description: Response from an OpenAI-compatible embeddings request.
OpenAIFilePurpose:
type: string
enum:
- - assistants
- - batch
+ - assistants
+ - batch
title: OpenAIFilePurpose
- description: >-
- Valid purpose values for OpenAI Files API.
+ 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
+ type: array
+ title: Data
has_more:
type: boolean
- description: >-
- Whether there are more files available beyond this page
+ title: Has More
first_id:
type: string
- description: >-
- ID of the first file in the list for pagination
+ title: First Id
last_id:
type: string
- description: >-
- ID of the last file in the list for pagination
+ title: Last Id
object:
type: string
const: list
+ title: Object
default: list
- description: The object type, which is always "list"
- additionalProperties: false
- required:
- - data
- - has_more
- - first_id
- - last_id
- - object
+ type: object
+ required:
+ - data
+ - has_more
+ - first_id
+ - last_id
title: ListOpenAIFileResponse
- description: >-
- Response for listing files in OpenAI Files API.
+ description: Response for listing files in OpenAI Files API.
OpenAIFileObject:
- type: object
properties:
object:
type: string
const: file
+ title: Object
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
+ title: Id
bytes:
type: integer
- description: The size of the file, in bytes
+ title: Bytes
created_at:
type: integer
- description: >-
- The Unix timestamp (in seconds) for when the file was created
+ title: Created At
expires_at:
type: integer
- description: >-
- The Unix timestamp (in seconds) for when the file expires
+ title: Expires At
filename:
type: string
- description: The name of the file
+ title: Filename
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
+ $ref: '#/components/schemas/OpenAIFilePurpose'
+ type: object
+ required:
+ - id
+ - bytes
+ - created_at
+ - expires_at
+ - filename
+ - purpose
title: OpenAIFileObject
- description: >-
- OpenAI File object as defined in the OpenAI Files API.
+ description: OpenAI File object as defined in the OpenAI Files API.
ExpiresAfter:
- type: object
properties:
anchor:
type: string
const: created_at
+ title: Anchor
seconds:
type: integer
- additionalProperties: false
+ maximum: 2592000.0
+ minimum: 3600.0
+ title: Seconds
+ type: object
required:
- - anchor
- - seconds
+ - anchor
+ - seconds
title: ExpiresAfter
- description: >-
+ 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
+ title: Id
object:
type: string
const: file
+ title: Object
default: file
- description: The object type, which is always "file"
deleted:
type: boolean
- description: >-
- Whether the file was successfully deleted
- additionalProperties: false
+ title: Deleted
+ type: object
required:
- - id
- - object
- - deleted
+ - id
+ - deleted
title: OpenAIFileDeleteResponse
- description: >-
- Response for deleting a file in OpenAI Files API.
+ description: Response for deleting a file in OpenAI Files API.
Response:
- type: object
title: Response
- HealthInfo:
type: object
+ HealthInfo:
properties:
status:
- type: string
- enum:
- - OK
- - Error
- - Not Implemented
- description: Current health status of the service
- additionalProperties: false
+ $ref: '#/components/schemas/HealthStatus'
+ type: object
required:
- - status
+ - status
title: HealthInfo
- description: >-
- Health status information for the service.
+ description: Health status information for the service.
RouteInfo:
- type: object
properties:
route:
type: string
- description: The API endpoint path
+ title: Route
method:
type: string
- description: HTTP method for the route
+ title: Method
provider_types:
- type: array
items:
type: string
- description: >-
- List of provider types that implement this route
- additionalProperties: false
+ type: array
+ title: Provider Types
+ type: object
required:
- - route
- - method
- - provider_types
+ - route
+ - method
+ - provider_types
title: RouteInfo
- description: >-
- Information about an API route including its path, method, and implementing
- providers.
+ 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
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListRoutesResponse
- description: >-
- Response containing a list of all available API routes.
+ description: Response containing a list of all available API routes.
OpenAIModel:
- type: object
properties:
id:
type: string
+ title: Id
object:
type: string
const: model
+ title: Object
default: model
created:
type: integer
+ title: Created
owned_by:
type: string
+ title: Owned By
custom_metadata:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- additionalProperties: false
- required:
- - id
- - object
- - created
- - owned_by
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - id
+ - created
+ - owned_by
title: OpenAIModel
- description: A model from OpenAI.
+ description: |-
+ A model from OpenAI.
+
+ :id: The ID of the model
+ :object: The object type, which will be "model"
+ :created: The Unix timestamp in seconds when the model was created
+ :owned_by: The owner of the model
+ :custom_metadata: Llama Stack-specific metadata including model_type, provider info, and additional metadata
OpenAIListModelsResponse:
- type: object
properties:
data:
- type: array
items:
$ref: '#/components/schemas/OpenAIModel'
- additionalProperties: false
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: OpenAIListModelsResponse
Model:
- type: object
properties:
identifier:
type: string
- description: >-
- Unique identifier for this resource in llama stack
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
provider_resource_id:
- type: string
- description: >-
- Unique identifier for this resource in the provider
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
provider_id:
type: string
- description: >-
- ID of the provider that owns this resource
+ title: Provider Id
+ description: ID of the provider that owns this resource
type:
type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
const: model
+ title: Type
default: model
- description: >-
- The resource type, always 'model' for model resources
metadata:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
+ title: Metadata
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
+ type: object
+ required:
+ - identifier
+ - provider_id
title: Model
- description: >-
- A model resource representing an AI model registered in Llama Stack.
+ description: A model resource representing an AI model registered in Llama Stack.
ModelType:
type: string
enum:
- - llm
- - embedding
- - rerank
+ - llm
+ - embedding
+ - rerank
title: ModelType
- description: >-
- Enumeration of supported model types in Llama Stack.
+ description: Enumeration of supported model types in Llama Stack.
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.
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ title: string | list[string]
model:
- type: string
- description: >-
- (Optional) The content moderation model you would like to use.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - input
+ - input
title: RunModerationRequest
ModerationObject:
- type: object
properties:
id:
type: string
- description: >-
- The unique identifier for the moderation request.
+ title: Id
model:
type: string
- description: >-
- The model used to generate the moderation results.
+ title: Model
results:
- type: array
items:
$ref: '#/components/schemas/ModerationObjectResults'
- description: A list of moderation objects
- additionalProperties: false
- required:
- - id
- - model
- - results
+ type: array
+ title: Results
+ type: object
+ 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.
+ title: Flagged
categories:
- type: object
- additionalProperties:
- type: boolean
- description: >-
- A list of the categories, and whether they are flagged or not.
+ anyOf:
+ - additionalProperties:
+ type: boolean
+ type: object
+ - type: 'null'
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.
+ anyOf:
+ - additionalProperties:
+ items:
+ type: string
+ type: array
+ type: object
+ - type: 'null'
category_scores:
- type: object
- additionalProperties:
- type: number
- description: >-
- A list of the categories along with their scores as predicted by model.
+ anyOf:
+ - additionalProperties:
+ type: number
+ type: object
+ - type: 'null'
user_message:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
metadata:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- additionalProperties: false
+ title: Metadata
+ type: object
required:
- - flagged
- - metadata
+ - flagged
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.
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: The system prompt with variable placeholders
version:
type: integer
- description: >-
- Version (integer starting at 1, incremented on save)
+ minimum: 1.0
+ title: Version
+ description: Version (integer starting at 1, incremented on save)
prompt_id:
type: string
- description: >-
- Unique identifier formatted as 'pmpt_<48-digit-hash>'
+ title: Prompt Id
+ description: Unique identifier in format 'pmpt_<48-digit-hash>'
variables:
- type: array
items:
type: string
- description: >-
- List of prompt variable names that can be used in the prompt template
+ type: array
+ title: Variables
+ description: List of variable names that can be used in the prompt template
is_default:
type: boolean
+ title: Is Default
+ description: Boolean indicating whether this version is the default version
default: false
- description: >-
- Boolean indicating whether this version is the default version for this
- prompt
- additionalProperties: false
- required:
- - version
- - prompt_id
- - variables
- - is_default
+ type: object
+ required:
+ - version
+ - prompt_id
title: Prompt
- description: >-
- A prompt resource representing a stored OpenAI Compatible prompt template
- in Llama Stack.
+ 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
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListPromptsResponse
description: Response model to list prompts.
CreatePromptRequest:
- type: object
properties:
prompt:
type: string
- description: >-
- The prompt text content with variable placeholders.
+ title: Prompt
variables:
- type: array
- items:
- type: string
- description: >-
- List of variable names that can be used in the prompt template.
- additionalProperties: false
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ type: object
required:
- - prompt
+ - prompt
title: CreatePromptRequest
UpdatePromptRequest:
- type: object
properties:
prompt:
type: string
- description: The updated prompt text content.
+ title: Prompt
version:
type: integer
- description: >-
- The current version of the prompt being updated.
+ title: Version
variables:
- type: array
- items:
- type: string
- description: >-
- Updated list of variable names that can be used in the prompt template.
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
set_as_default:
type: boolean
- description: >-
- Set the new version as the default (default=True).
- additionalProperties: false
+ title: Set As Default
+ default: true
+ type: object
required:
- - prompt
- - version
- - set_as_default
+ - prompt
+ - version
title: UpdatePromptRequest
SetDefaultVersionRequest:
- type: object
properties:
version:
type: integer
- description: The version to set as default.
- additionalProperties: false
+ title: Version
+ type: object
required:
- - version
+ - version
title: SetDefaultVersionRequest
ProviderInfo:
- type: object
properties:
api:
type: string
- description: The API name this provider implements
+ title: Api
provider_id:
type: string
- description: Unique identifier for the provider
+ title: Provider Id
provider_type:
type: string
- description: The type of provider implementation
+ title: Provider Type
config:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- Configuration parameters for the provider
+ title: Config
health:
+ additionalProperties: true
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: Health
+ type: object
+ required:
+ - api
+ - provider_id
+ - provider_type
+ - config
+ - health
title: ProviderInfo
- description: >-
- Information about a registered provider including its configuration and health
- status.
+ 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
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListProvidersResponse
- description: >-
- Response containing a list of all available providers.
+ 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
+ type: array
+ title: Data
has_more:
type: boolean
- description: >-
- Whether there are more results available beyond this page
+ title: Has More
first_id:
type: string
- description: >-
- Identifier of the first item in this page
+ title: First Id
last_id:
type: string
- description: Identifier of the last item in this page
+ title: Last Id
object:
type: string
const: list
+ title: Object
default: list
- description: Object type identifier, always "list"
- additionalProperties: false
- required:
- - data
- - has_more
- - first_id
- - last_id
- - object
+ type: object
+ required:
+ - data
+ - has_more
+ - first_id
+ - last_id
title: ListOpenAIResponseObject
- description: >-
- Paginated list of OpenAI response objects with navigation metadata.
+ description: Paginated list of OpenAI response objects with navigation metadata.
OpenAIResponseError:
- type: object
properties:
code:
type: string
- description: >-
- Error code identifying the type of failure
+ title: Code
message:
type: string
- description: >-
- Human-readable error message describing the failure
- additionalProperties: false
+ title: Message
+ type: object
required:
- - code
- - message
+ - code
+ - message
title: OpenAIResponseError
- description: >-
- Error details for failed OpenAI response requests.
+ description: Error details for failed OpenAI response requests.
OpenAIResponseInput:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseOutput'
- - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
- - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ anyOf:
+ - discriminator:
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
- $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ title: OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessage
OpenAIResponseInputToolFileSearch:
- type: object
properties:
type:
type: string
const: file_search
+ title: Type
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
+ type: array
+ title: Vector Store Ids
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
max_num_results:
- type: integer
+ anyOf:
+ - type: integer
+ maximum: 50.0
+ minimum: 1.0
+ - type: 'null'
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
+ anyOf:
+ - $ref: '#/components/schemas/SearchRankingOptions'
+ title: SearchRankingOptions
+ - type: 'null'
+ title: SearchRankingOptions
+ type: object
+ required:
+ - vector_store_ids
title: OpenAIResponseInputToolFileSearch
- description: >-
- File search tool configuration for OpenAI response inputs.
+ description: File search tool configuration for OpenAI response inputs.
OpenAIResponseInputToolFunction:
- type: object
properties:
type:
type: string
const: function
+ title: Type
default: function
- description: Tool type identifier, always "function"
name:
type: string
- description: Name of the function that can be called
+ title: Name
description:
- type: string
- description: >-
- (Optional) Description of what the function does
+ anyOf:
+ - type: string
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
strict:
- type: boolean
- description: >-
- (Optional) Whether to enforce strict parameter validation
- additionalProperties: false
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ type: object
required:
- - type
- - name
+ - name
+ - parameters
title: OpenAIResponseInputToolFunction
- description: >-
- Function tool configuration for OpenAI response inputs.
+ description: Function 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
- - type: string
- const: web_search_2025_08_26
+ title: Type
default: web_search
- description: Web search tool type variant to use
- search_context_size:
type: string
+ enum:
+ - web_search
+ - web_search_preview
+ - web_search_preview_2025_03_11
+ - web_search_2025_08_26
+ search_context_size:
+ anyOf:
+ - type: string
+ pattern: ^low|medium|high$
+ - type: 'null'
default: medium
- description: >-
- (Optional) Size of search context, must be "low", "medium", or "high"
- additionalProperties: false
- required:
- - type
+ type: object
title: OpenAIResponseInputToolWebSearch
- description: >-
- Web search tool configuration for OpenAI response inputs.
+ description: Web search tool configuration for OpenAI response inputs.
OpenAIResponseObjectWithInput:
- type: object
properties:
created_at:
type: integer
- description: >-
- Unix timestamp when the response was created
+ title: Created At
error:
- $ref: '#/components/schemas/OpenAIResponseError'
- description: >-
- (Optional) Error details if the response generation failed
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseError'
+ title: OpenAIResponseError
+ - type: 'null'
+ title: OpenAIResponseError
id:
type: string
- description: Unique identifier for this response
+ title: Id
model:
type: string
- description: Model identifier used for generation
+ title: Model
object:
type: string
const: response
+ title: Object
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.)
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ type: array
+ title: Output
parallel_tool_calls:
type: boolean
+ title: Parallel Tool Calls
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
+ anyOf:
+ - type: string
+ - type: 'null'
prompt:
- $ref: '#/components/schemas/OpenAIResponsePrompt'
- description: >-
- (Optional) Reference to a prompt template and its variables.
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponsePrompt'
+ title: OpenAIResponsePrompt
+ - type: 'null'
+ title: OpenAIResponsePrompt
status:
type: string
- description: >-
- Current status of the response generation
+ title: Status
temperature:
- type: number
- description: >-
- (Optional) Sampling temperature used for generation
+ anyOf:
+ - type: number
+ - type: 'null'
text:
$ref: '#/components/schemas/OpenAIResponseText'
- description: >-
- Text formatting configuration for the response
+ default:
+ format:
+ type: text
top_p:
- type: number
- description: >-
- (Optional) Nucleus sampling parameter used for generation
+ anyOf:
+ - type: number
+ - type: 'null'
tools:
- type: array
- items:
- $ref: '#/components/schemas/OpenAIResponseTool'
- description: >-
- (Optional) An array of tools the model may call while generating a response.
+ anyOf:
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseToolMCP'
+ title: OpenAIResponseToolMCP
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ function: '#/components/schemas/OpenAIResponseInputToolFunction'
+ mcp: '#/components/schemas/OpenAIResponseToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
+ type: array
+ - type: 'null'
truncation:
- type: string
- description: >-
- (Optional) Truncation strategy applied to the response
+ anyOf:
+ - type: string
+ - type: 'null'
usage:
- $ref: '#/components/schemas/OpenAIResponseUsage'
- description: >-
- (Optional) Token usage information for the response
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsage'
+ title: OpenAIResponseUsage
+ - type: 'null'
+ title: OpenAIResponseUsage
instructions:
- type: string
- description: >-
- (Optional) System message inserted into the model's context
+ anyOf:
+ - type: string
+ - type: 'null'
max_tool_calls:
- type: integer
- description: >-
- (Optional) Max number of total calls to built-in tools that can be processed
- in a response
+ anyOf:
+ - type: integer
+ - type: 'null'
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
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ title: OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessage-Output
+ type: array
+ title: Input
+ type: object
+ required:
+ - created_at
+ - id
+ - model
+ - output
+ - status
+ - input
title: OpenAIResponseObjectWithInput
- description: >-
- OpenAI response object extended with input context information.
+ 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_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
- mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
OpenAIResponsePrompt:
- type: object
properties:
id:
type: string
- description: Unique identifier of the prompt template
+ title: Id
variables:
- type: object
- additionalProperties:
- $ref: '#/components/schemas/OpenAIResponseInputMessageContent'
- description: >-
- Dictionary of variable names to OpenAIResponseInputMessageContent structure
- for template substitution. The substitution values can either be strings,
- or other Response input types like images or files.
+ anyOf:
+ - additionalProperties:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ discriminator:
+ propertyName: type
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ type: object
+ - type: 'null'
version:
- type: string
- description: >-
- Version number of the prompt to use (defaults to latest if not specified)
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - id
+ - id
title: OpenAIResponsePrompt
- description: >-
- OpenAI compatible Prompt object that is used in OpenAI responses.
+ description: OpenAI compatible Prompt object that is used in 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
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseTextFormat'
+ title: OpenAIResponseTextFormat
+ - type: 'null'
+ title: OpenAIResponseTextFormat
+ type: object
title: OpenAIResponseText
- description: >-
- Text response configuration for OpenAI responses.
+ description: Text response configuration for OpenAI responses.
OpenAIResponseTool:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
- - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
- - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
- - $ref: '#/components/schemas/OpenAIResponseToolMCP'
discriminator:
- propertyName: type
mapping:
- web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
function: '#/components/schemas/OpenAIResponseInputToolFunction'
mcp: '#/components/schemas/OpenAIResponseToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseToolMCP'
+ title: OpenAIResponseToolMCP
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
OpenAIResponseToolMCP:
- type: object
properties:
type:
type: string
const: mcp
+ title: Type
default: mcp
- description: Tool type identifier, always "mcp"
server_label:
type: string
- description: Label to identify this MCP server
+ title: Server Label
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
+ anyOf:
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - $ref: '#/components/schemas/AllowedToolsFilter'
+ title: AllowedToolsFilter
+ - type: 'null'
+ title: list[string] | AllowedToolsFilter
+ type: object
+ required:
+ - server_label
title: OpenAIResponseToolMCP
- description: >-
- Model Context Protocol (MCP) tool configuration for OpenAI response object.
+ description: Model Context Protocol (MCP) tool configuration for OpenAI response object.
OpenAIResponseUsage:
- type: object
properties:
input_tokens:
type: integer
- description: Number of tokens in the input
+ title: Input Tokens
output_tokens:
type: integer
- description: Number of tokens in the output
+ title: Output Tokens
total_tokens:
type: integer
- description: Total tokens used (input + output)
+ title: Total Tokens
input_tokens_details:
- type: object
- properties:
- cached_tokens:
- type: integer
- description: Number of tokens retrieved from cache
- additionalProperties: false
- description: Detailed breakdown of input token usage
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsageInputTokensDetails'
+ title: OpenAIResponseUsageInputTokensDetails
+ - type: 'null'
+ title: OpenAIResponseUsageInputTokensDetails
output_tokens_details:
- type: object
- properties:
- reasoning_tokens:
- type: integer
- description: >-
- Number of tokens used for reasoning (o1/o3 models)
- additionalProperties: false
- description: Detailed breakdown of output token usage
- additionalProperties: false
- required:
- - input_tokens
- - output_tokens
- - total_tokens
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsageOutputTokensDetails'
+ title: OpenAIResponseUsageOutputTokensDetails
+ - type: 'null'
+ title: OpenAIResponseUsageOutputTokensDetails
+ type: object
+ required:
+ - input_tokens
+ - output_tokens
+ - total_tokens
title: OpenAIResponseUsage
description: Usage information for OpenAI response.
ResponseGuardrailSpec:
- type: object
+ description: Specification for a guardrail to apply during response generation.
properties:
type:
+ title: Type
type: string
- description: The type/identifier of the guardrail.
- additionalProperties: false
required:
- - type
+ - type
title: ResponseGuardrailSpec
- description: >-
- Specification for a guardrail to apply during response generation.
+ type: object
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'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseInputToolMCP'
+ title: OpenAIResponseInputToolMCP
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
OpenAIResponseInputToolMCP:
- type: object
properties:
type:
type: string
const: mcp
+ title: Type
default: mcp
- description: Tool type identifier, always "mcp"
server_label:
type: string
- description: Label to identify this MCP server
+ title: Server Label
server_url:
type: string
- description: URL endpoint of the MCP server
+ title: Server Url
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
authorization:
- type: string
- description: >-
- (Optional) OAuth access token for authenticating with the MCP server
+ anyOf:
+ - type: string
+ - type: 'null'
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.
+ anyOf:
+ - type: string
+ const: always
+ - type: string
+ const: never
+ - $ref: '#/components/schemas/ApprovalFilter'
+ title: ApprovalFilter
+ title: string | ApprovalFilter
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
+ anyOf:
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ - $ref: '#/components/schemas/AllowedToolsFilter'
+ title: AllowedToolsFilter
+ - type: 'null'
+ title: list[string] | AllowedToolsFilter
+ type: object
+ required:
+ - server_label
+ - server_url
title: OpenAIResponseInputToolMCP
- description: >-
- Model Context Protocol (MCP) tool configuration for OpenAI response inputs.
+ description: Model Context Protocol (MCP) 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.
+ anyOf:
+ - type: string
+ - items:
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Input'
+ title: OpenAIResponseMessage-Input
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Input'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Input | ... (7 variants)
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Input'
+ title: OpenAIResponseMessage-Input
+ title: OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessage-Input
+ type: array
+ title: list[OpenAIResponseMessageUnion | OpenAIResponseInputFunctionToolCallOutput | ...]
+ title: string | list[OpenAIResponseMessageUnion | OpenAIResponseInputFunctionToolCallOutput | ...]
model:
type: string
- description: The underlying LLM used for completions.
+ title: Model
prompt:
- $ref: '#/components/schemas/OpenAIResponsePrompt'
- description: >-
- (Optional) Prompt object with ID, version, and variables.
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponsePrompt'
+ title: OpenAIResponsePrompt
+ - type: 'null'
+ title: OpenAIResponsePrompt
instructions:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
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.
+ anyOf:
+ - type: string
+ - type: 'null'
conversation:
- type: string
- description: >-
- (Optional) The ID of a conversation to add the response to. Must begin
- with 'conv_'. Input and output messages will be automatically added to
- the conversation.
+ anyOf:
+ - type: string
+ - type: 'null'
store:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: true
stream:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
temperature:
- type: number
+ anyOf:
+ - type: number
+ - type: 'null'
text:
- $ref: '#/components/schemas/OpenAIResponseText'
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseText'
+ title: OpenAIResponseText
+ - type: 'null'
+ title: OpenAIResponseText
tools:
- type: array
- items:
- $ref: '#/components/schemas/OpenAIResponseInputTool'
+ anyOf:
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseInputToolMCP'
+ title: OpenAIResponseInputToolMCP
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ function: '#/components/schemas/OpenAIResponseInputToolFunction'
+ mcp: '#/components/schemas/OpenAIResponseInputToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
+ type: array
+ - type: 'null'
include:
- type: array
- items:
- type: string
- description: >-
- (Optional) Additional fields to include in the response.
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
max_infer_iters:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
+ default: 10
max_tool_calls:
- type: integer
- description: >-
- (Optional) Max number of total calls to built-in tools that can be processed
- in a response.
- additionalProperties: false
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
required:
- - input
- - model
+ - input
+ - model
title: CreateOpenaiResponseRequest
OpenAIResponseObject:
- type: object
properties:
created_at:
type: integer
- description: >-
- Unix timestamp when the response was created
+ title: Created At
error:
- $ref: '#/components/schemas/OpenAIResponseError'
- description: >-
- (Optional) Error details if the response generation failed
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseError'
+ title: OpenAIResponseError
+ - type: 'null'
+ title: OpenAIResponseError
id:
type: string
- description: Unique identifier for this response
+ title: Id
model:
type: string
- description: Model identifier used for generation
+ title: Model
object:
type: string
const: response
+ title: Object
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.)
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ type: array
+ title: Output
parallel_tool_calls:
type: boolean
+ title: Parallel Tool Calls
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
+ anyOf:
+ - type: string
+ - type: 'null'
prompt:
- $ref: '#/components/schemas/OpenAIResponsePrompt'
- description: >-
- (Optional) Reference to a prompt template and its variables.
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponsePrompt'
+ title: OpenAIResponsePrompt
+ - type: 'null'
+ title: OpenAIResponsePrompt
status:
type: string
- description: >-
- Current status of the response generation
+ title: Status
temperature:
- type: number
- description: >-
- (Optional) Sampling temperature used for generation
+ anyOf:
+ - type: number
+ - type: 'null'
text:
$ref: '#/components/schemas/OpenAIResponseText'
- description: >-
- Text formatting configuration for the response
+ default:
+ format:
+ type: text
top_p:
- type: number
- description: >-
- (Optional) Nucleus sampling parameter used for generation
+ anyOf:
+ - type: number
+ - type: 'null'
tools:
- type: array
- items:
- $ref: '#/components/schemas/OpenAIResponseTool'
- description: >-
- (Optional) An array of tools the model may call while generating a response.
+ anyOf:
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ title: OpenAIResponseInputToolFileSearch
+ - $ref: '#/components/schemas/OpenAIResponseInputToolFunction'
+ title: OpenAIResponseInputToolFunction
+ - $ref: '#/components/schemas/OpenAIResponseToolMCP'
+ title: OpenAIResponseToolMCP
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search: '#/components/schemas/OpenAIResponseInputToolFileSearch'
+ function: '#/components/schemas/OpenAIResponseInputToolFunction'
+ mcp: '#/components/schemas/OpenAIResponseToolMCP'
+ web_search: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_2025_08_26: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ web_search_preview_2025_03_11: '#/components/schemas/OpenAIResponseInputToolWebSearch'
+ title: OpenAIResponseInputToolWebSearch | ... (4 variants)
+ type: array
+ - type: 'null'
truncation:
- type: string
- description: >-
- (Optional) Truncation strategy applied to the response
+ anyOf:
+ - type: string
+ - type: 'null'
usage:
- $ref: '#/components/schemas/OpenAIResponseUsage'
- description: >-
- (Optional) Token usage information for the response
+ anyOf:
+ - $ref: '#/components/schemas/OpenAIResponseUsage'
+ title: OpenAIResponseUsage
+ - type: 'null'
+ title: OpenAIResponseUsage
instructions:
- type: string
- description: >-
- (Optional) System message inserted into the model's context
+ anyOf:
+ - type: string
+ - type: 'null'
max_tool_calls:
- type: integer
- description: >-
- (Optional) Max number of total calls to built-in tools that can be processed
- in a response
- additionalProperties: false
- required:
- - created_at
- - id
- - model
- - object
- - output
- - parallel_tool_calls
- - status
- - text
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ required:
+ - created_at
+ - id
+ - model
+ - output
+ - status
title: OpenAIResponseObject
- description: >-
- Complete OpenAI response object containing generation results and metadata.
+ description: Complete OpenAI response object containing generation results and metadata.
OpenAIResponseContentPartOutputText:
- type: object
+ description: Text content within a streamed response part.
properties:
type:
- type: string
const: output_text
default: output_text
- description: >-
- Content part type identifier, always "output_text"
+ title: Type
+ type: string
text:
+ title: Text
type: string
- description: Text emitted for this content part
annotations:
- type: array
items:
- $ref: '#/components/schemas/OpenAIResponseAnnotations'
- description: >-
- Structured annotations associated with the text
- logprobs:
+ discriminator:
+ mapping:
+ container_file_citation: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ file_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
+ title: Annotations
type: array
- items:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: (Optional) Token log probability details
- additionalProperties: false
- required:
- - type
- - text
- - annotations
+ logprobs:
+ anyOf:
+ - items:
+ additionalProperties: true
+ type: object
+ type: array
+ - type: 'null'
+ nullable: true
+ required:
+ - text
title: OpenAIResponseContentPartOutputText
- description: >-
- Text content within a streamed response part.
- "OpenAIResponseContentPartReasoningSummary":
type: object
+ OpenAIResponseContentPartReasoningSummary:
+ description: Reasoning summary part in a streamed response.
properties:
type:
- type: string
const: summary_text
default: summary_text
- description: >-
- Content part type identifier, always "summary_text"
+ title: Type
+ type: string
text:
+ title: Text
type: string
- description: Summary text
- additionalProperties: false
required:
- - type
- - text
- title: >-
- OpenAIResponseContentPartReasoningSummary
- description: >-
- Reasoning summary part in a streamed response.
- OpenAIResponseContentPartReasoningText:
+ - text
+ title: OpenAIResponseContentPartReasoningSummary
type: object
+ OpenAIResponseContentPartReasoningText:
+ description: Reasoning text emitted as part of a streamed response.
properties:
type:
- type: string
const: reasoning_text
default: reasoning_text
- description: >-
- Content part type identifier, always "reasoning_text"
+ title: Type
+ type: string
text:
+ title: Text
type: string
- description: Reasoning text supplied by the model
- additionalProperties: false
required:
- - type
- - text
+ - text
title: OpenAIResponseContentPartReasoningText
- description: >-
- Reasoning text emitted as part of a streamed response.
+ type: object
OpenAIResponseObjectStream:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseCreated'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseInProgress'
- - $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/OpenAIResponseObjectStreamResponseReasoningTextDelta'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDone'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartDone'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDone'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDelta'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDone'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallInProgress'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallSearching'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallCompleted'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseIncomplete'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFailed'
- - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseCompleted'
discriminator:
- propertyName: type
mapping:
+ response.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseCompleted'
+ response.content_part.added: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartAdded'
+ response.content_part.done: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartDone'
response.created: '#/components/schemas/OpenAIResponseObjectStreamResponseCreated'
- response.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseInProgress'
- 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.failed: '#/components/schemas/OpenAIResponseObjectStreamResponseFailed'
+ response.file_search_call.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallCompleted'
+ response.file_search_call.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallInProgress'
+ response.file_search_call.searching: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallSearching'
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.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseInProgress'
+ response.incomplete: '#/components/schemas/OpenAIResponseObjectStreamResponseIncomplete'
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.reasoning_text.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDelta'
- response.reasoning_text.done: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDone'
+ response.mcp_call.failed: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallFailed'
+ response.mcp_call.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallInProgress'
+ response.mcp_list_tools.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsCompleted'
+ response.mcp_list_tools.failed: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsFailed'
+ response.mcp_list_tools.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsInProgress'
+ response.output_item.added: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemAdded'
+ response.output_item.done: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemDone'
+ response.output_text.annotation.added: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded'
+ response.output_text.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDelta'
+ response.output_text.done: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDone'
response.reasoning_summary_part.added: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded'
response.reasoning_summary_part.done: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartDone'
response.reasoning_summary_text.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta'
response.reasoning_summary_text.done: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDone'
+ response.reasoning_text.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDelta'
+ response.reasoning_text.done: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDone'
response.refusal.delta: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDelta'
response.refusal.done: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDone'
- response.output_text.annotation.added: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded'
- response.file_search_call.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallInProgress'
- response.file_search_call.searching: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallSearching'
- response.file_search_call.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallCompleted'
- response.incomplete: '#/components/schemas/OpenAIResponseObjectStreamResponseIncomplete'
- response.failed: '#/components/schemas/OpenAIResponseObjectStreamResponseFailed'
- response.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseCompleted'
- "OpenAIResponseObjectStreamResponseCompleted":
- type: object
+ response.web_search_call.completed: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallCompleted'
+ response.web_search_call.in_progress: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallInProgress'
+ response.web_search_call.searching: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallSearching'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseCreated'
+ title: OpenAIResponseObjectStreamResponseCreated
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseInProgress'
+ title: OpenAIResponseObjectStreamResponseInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemAdded'
+ title: OpenAIResponseObjectStreamResponseOutputItemAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputItemDone'
+ title: OpenAIResponseObjectStreamResponseOutputItemDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDelta'
+ title: OpenAIResponseObjectStreamResponseOutputTextDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextDone'
+ title: OpenAIResponseObjectStreamResponseOutputTextDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta'
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone'
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallInProgress'
+ title: OpenAIResponseObjectStreamResponseWebSearchCallInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallSearching'
+ title: OpenAIResponseObjectStreamResponseWebSearchCallSearching
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseWebSearchCallCompleted'
+ title: OpenAIResponseObjectStreamResponseWebSearchCallCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsInProgress'
+ title: OpenAIResponseObjectStreamResponseMcpListToolsInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsFailed'
+ title: OpenAIResponseObjectStreamResponseMcpListToolsFailed
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpListToolsCompleted'
+ title: OpenAIResponseObjectStreamResponseMcpListToolsCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta'
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallArgumentsDone'
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallInProgress'
+ title: OpenAIResponseObjectStreamResponseMcpCallInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallFailed'
+ title: OpenAIResponseObjectStreamResponseMcpCallFailed
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseMcpCallCompleted'
+ title: OpenAIResponseObjectStreamResponseMcpCallCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartAdded'
+ title: OpenAIResponseObjectStreamResponseContentPartAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseContentPartDone'
+ title: OpenAIResponseObjectStreamResponseContentPartDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDelta'
+ title: OpenAIResponseObjectStreamResponseReasoningTextDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningTextDone'
+ title: OpenAIResponseObjectStreamResponseReasoningTextDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryPartDone'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseReasoningSummaryTextDone'
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDelta'
+ title: OpenAIResponseObjectStreamResponseRefusalDelta
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseRefusalDone'
+ title: OpenAIResponseObjectStreamResponseRefusalDone
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded'
+ title: OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallInProgress'
+ title: OpenAIResponseObjectStreamResponseFileSearchCallInProgress
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallSearching'
+ title: OpenAIResponseObjectStreamResponseFileSearchCallSearching
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFileSearchCallCompleted'
+ title: OpenAIResponseObjectStreamResponseFileSearchCallCompleted
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseIncomplete'
+ title: OpenAIResponseObjectStreamResponseIncomplete
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseFailed'
+ title: OpenAIResponseObjectStreamResponseFailed
+ - $ref: '#/components/schemas/OpenAIResponseObjectStreamResponseCompleted'
+ title: OpenAIResponseObjectStreamResponseCompleted
+ title: OpenAIResponseObjectStreamResponseCreated | ... (36 variants)
+ OpenAIResponseObjectStreamResponseCompleted:
+ description: Streaming event indicating a response has been completed.
properties:
response:
$ref: '#/components/schemas/OpenAIResponseObject'
- description: Completed response object
type:
- type: string
const: response.completed
default: response.completed
- description: >-
- Event type identifier, always "response.completed"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - response
- - type
- title: >-
- OpenAIResponseObjectStreamResponseCompleted
- description: >-
- Streaming event indicating a response has been completed.
- "OpenAIResponseObjectStreamResponseContentPartAdded":
+ - response
+ title: OpenAIResponseObjectStreamResponseCompleted
type: object
+ OpenAIResponseObjectStreamResponseContentPartAdded:
+ description: Streaming event for when a new content part is added to a response item.
properties:
content_index:
+ title: Content Index
type: integer
- description: >-
- Index position of the part within the content array
response_id:
+ title: Response Id
type: string
- description: >-
- Unique identifier of the response containing this content
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the output item containing this content part
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the output item in the response
part:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
- - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
- - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
discriminator:
- propertyName: type
mapping:
output_text: '#/components/schemas/OpenAIResponseContentPartOutputText'
- refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
reasoning_text: '#/components/schemas/OpenAIResponseContentPartReasoningText'
- description: The content part that was added
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ title: OpenAIResponseContentPartOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ title: OpenAIResponseContentPartReasoningText
+ title: OpenAIResponseContentPartOutputText | OpenAIResponseContentPartRefusal | OpenAIResponseContentPartReasoningText
sequence_number:
+ title: 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:
- - content_index
- - response_id
- - item_id
- - output_index
- - part
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseContentPartAdded
- description: >-
- Streaming event for when a new content part is added to a response item.
- "OpenAIResponseObjectStreamResponseContentPartDone":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - response_id
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseContentPartAdded
type: object
+ OpenAIResponseObjectStreamResponseContentPartDone:
+ description: Streaming event for when a content part is completed.
properties:
content_index:
+ title: Content Index
type: integer
- description: >-
- Index position of the part within the content array
response_id:
+ title: Response Id
type: string
- description: >-
- Unique identifier of the response containing this content
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the output item containing this content part
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the output item in the response
part:
- oneOf:
- - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
- - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
- - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
discriminator:
- propertyName: type
mapping:
output_text: '#/components/schemas/OpenAIResponseContentPartOutputText'
- refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
reasoning_text: '#/components/schemas/OpenAIResponseContentPartReasoningText'
- description: The completed content part
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ title: OpenAIResponseContentPartOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ title: OpenAIResponseContentPartReasoningText
+ title: OpenAIResponseContentPartOutputText | OpenAIResponseContentPartRefusal | OpenAIResponseContentPartReasoningText
sequence_number:
+ title: 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:
- - content_index
- - response_id
- - item_id
- - output_index
- - part
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseContentPartDone
- description: >-
- Streaming event for when a content part is completed.
- "OpenAIResponseObjectStreamResponseCreated":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - response_id
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseContentPartDone
type: object
+ OpenAIResponseObjectStreamResponseCreated:
+ description: Streaming event indicating a new response has been created.
properties:
response:
$ref: '#/components/schemas/OpenAIResponseObject'
- description: The response object that was created
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.
- OpenAIResponseObjectStreamResponseFailed:
+ title: Type
+ type: string
+ required:
+ - response
+ title: OpenAIResponseObjectStreamResponseCreated
type: object
+ OpenAIResponseObjectStreamResponseFailed:
+ description: Streaming event emitted when a response fails.
properties:
response:
$ref: '#/components/schemas/OpenAIResponseObject'
- description: Response object describing the failure
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.failed
default: response.failed
- description: >-
- Event type identifier, always "response.failed"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - response
- - sequence_number
- - type
+ - response
+ - sequence_number
title: OpenAIResponseObjectStreamResponseFailed
- description: >-
- Streaming event emitted when a response fails.
- "OpenAIResponseObjectStreamResponseFileSearchCallCompleted":
type: object
+ OpenAIResponseObjectStreamResponseFileSearchCallCompleted:
+ description: Streaming event for completed file search calls.
properties:
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the completed file search call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.file_search_call.completed
default: response.file_search_call.completed
- description: >-
- Event type identifier, always "response.file_search_call.completed"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseFileSearchCallCompleted
- description: >-
- Streaming event for completed file search calls.
- "OpenAIResponseObjectStreamResponseFileSearchCallInProgress":
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFileSearchCallCompleted
type: object
+ OpenAIResponseObjectStreamResponseFileSearchCallInProgress:
+ description: Streaming event for file search calls in progress.
properties:
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the file search call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.file_search_call.in_progress
default: response.file_search_call.in_progress
- description: >-
- Event type identifier, always "response.file_search_call.in_progress"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseFileSearchCallInProgress
- description: >-
- Streaming event for file search calls in progress.
- "OpenAIResponseObjectStreamResponseFileSearchCallSearching":
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFileSearchCallInProgress
type: object
+ OpenAIResponseObjectStreamResponseFileSearchCallSearching:
+ description: Streaming event for file search currently searching.
properties:
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the file search call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.file_search_call.searching
default: response.file_search_call.searching
- description: >-
- Event type identifier, always "response.file_search_call.searching"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseFileSearchCallSearching
- description: >-
- Streaming event for file search currently searching.
- "OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta":
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFileSearchCallSearching
type: object
+ OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta:
+ description: Streaming event for incremental function call argument updates.
properties:
delta:
+ title: Delta
type: string
- description: >-
- Incremental function call arguments being added
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the function call being updated
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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":
+ title: Type
+ type: string
+ required:
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta
type: object
+ OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone:
+ description: Streaming event for when function call arguments are completed.
properties:
arguments:
+ title: Arguments
type: string
- description: >-
- Final complete arguments JSON string for the function call
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the completed function call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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.
- "OpenAIResponseObjectStreamResponseInProgress":
+ title: Type
+ type: string
+ required:
+ - arguments
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone
type: object
+ OpenAIResponseObjectStreamResponseInProgress:
+ description: Streaming event indicating the response remains in progress.
properties:
response:
$ref: '#/components/schemas/OpenAIResponseObject'
- description: Current response state while in progress
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.in_progress
default: response.in_progress
- description: >-
- Event type identifier, always "response.in_progress"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - response
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseInProgress
- description: >-
- Streaming event indicating the response remains in progress.
- "OpenAIResponseObjectStreamResponseIncomplete":
+ - response
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseInProgress
type: object
+ OpenAIResponseObjectStreamResponseIncomplete:
+ description: Streaming event emitted when a response ends in an incomplete state.
properties:
response:
$ref: '#/components/schemas/OpenAIResponseObject'
- description: >-
- Response object describing the incomplete state
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.incomplete
default: response.incomplete
- description: >-
- Event type identifier, always "response.incomplete"
- additionalProperties: false
+ title: Type
+ type: string
required:
- - response
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseIncomplete
- description: >-
- Streaming event emitted when a response ends in an incomplete state.
- "OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta":
+ - response
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseIncomplete
type: object
+ OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta:
properties:
delta:
+ title: Delta
type: string
item_id:
+ title: Item Id
type: string
output_index:
+ title: Output Index
type: integer
sequence_number:
+ title: Sequence Number
type: integer
type:
- type: string
const: response.mcp_call.arguments.delta
default: response.mcp_call.arguments.delta
- additionalProperties: false
+ title: Type
+ type: string
required:
- - delta
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta
- "OpenAIResponseObjectStreamResponseMcpCallArgumentsDone":
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta
type: object
+ OpenAIResponseObjectStreamResponseMcpCallArgumentsDone:
properties:
arguments:
+ title: Arguments
type: string
item_id:
+ title: Item Id
type: string
output_index:
+ title: Output Index
type: integer
sequence_number:
+ title: Sequence Number
type: integer
type:
- type: string
const: response.mcp_call.arguments.done
default: response.mcp_call.arguments.done
- additionalProperties: false
+ title: Type
+ type: string
required:
- - arguments
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseMcpCallArgumentsDone
- "OpenAIResponseObjectStreamResponseMcpCallCompleted":
+ - arguments
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallArgumentsDone
type: object
+ OpenAIResponseObjectStreamResponseMcpCallCompleted:
+ description: Streaming event for completed MCP calls.
properties:
sequence_number:
+ title: 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":
+ title: Type
+ type: string
+ required:
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallCompleted
type: object
+ OpenAIResponseObjectStreamResponseMcpCallFailed:
+ description: Streaming event for failed MCP calls.
properties:
sequence_number:
+ title: 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":
+ title: Type
+ type: string
+ required:
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallFailed
type: object
+ OpenAIResponseObjectStreamResponseMcpCallInProgress:
+ description: Streaming event for MCP calls in progress.
properties:
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the MCP call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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
+ title: Type
+ type: string
required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseMcpCallInProgress
- description: >-
- Streaming event for MCP calls in progress.
- "OpenAIResponseObjectStreamResponseMcpListToolsCompleted":
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpCallInProgress
type: object
+ OpenAIResponseObjectStreamResponseMcpListToolsCompleted:
properties:
sequence_number:
+ title: Sequence Number
type: integer
type:
- type: string
const: response.mcp_list_tools.completed
default: response.mcp_list_tools.completed
- additionalProperties: false
+ title: Type
+ type: string
required:
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseMcpListToolsCompleted
- "OpenAIResponseObjectStreamResponseMcpListToolsFailed":
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpListToolsCompleted
type: object
+ OpenAIResponseObjectStreamResponseMcpListToolsFailed:
properties:
sequence_number:
+ title: Sequence Number
type: integer
type:
- type: string
const: response.mcp_list_tools.failed
default: response.mcp_list_tools.failed
- additionalProperties: false
+ title: Type
+ type: string
required:
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseMcpListToolsFailed
- "OpenAIResponseObjectStreamResponseMcpListToolsInProgress":
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpListToolsFailed
type: object
+ OpenAIResponseObjectStreamResponseMcpListToolsInProgress:
properties:
sequence_number:
+ title: Sequence Number
type: integer
type:
- type: string
const: response.mcp_list_tools.in_progress
default: response.mcp_list_tools.in_progress
- additionalProperties: false
+ title: Type
+ type: string
required:
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseMcpListToolsInProgress
- "OpenAIResponseObjectStreamResponseOutputItemAdded":
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseMcpListToolsInProgress
type: object
+ OpenAIResponseObjectStreamResponseOutputItemAdded:
+ description: Streaming event for when a new output item is added to the response.
properties:
response_id:
+ title: 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_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
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.)
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of this item in the output list
sequence_number:
+ title: 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":
+ title: Type
+ type: string
+ required:
+ - response_id
+ - item
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputItemAdded
type: object
+ OpenAIResponseObjectStreamResponseOutputItemDone:
+ description: Streaming event for when an output item is completed.
properties:
response_id:
+ title: 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_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
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.)
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ title: OpenAIResponseMessage | ... (7 variants)
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of this item in the output list
sequence_number:
+ title: 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.
- "OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded":
+ title: Type
+ type: string
+ required:
+ - response_id
+ - item
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputItemDone
type: object
+ OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded:
+ description: Streaming event for when an annotation is added to output text.
properties:
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the item to which the annotation is being added
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the output item in the response's output array
content_index:
+ title: Content Index
type: integer
- description: >-
- Index position of the content part within the output item
annotation_index:
+ title: Annotation Index
type: integer
- description: >-
- Index of the annotation within the content part
annotation:
- 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_citation: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
file_path: '#/components/schemas/OpenAIResponseAnnotationFilePath'
- description: The annotation object being added
+ url_citation: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFileCitation'
+ title: OpenAIResponseAnnotationFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationCitation'
+ title: OpenAIResponseAnnotationCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationContainerFileCitation'
+ title: OpenAIResponseAnnotationContainerFileCitation
+ - $ref: '#/components/schemas/OpenAIResponseAnnotationFilePath'
+ title: OpenAIResponseAnnotationFilePath
+ title: OpenAIResponseAnnotationFileCitation | ... (4 variants)
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.output_text.annotation.added
default: response.output_text.annotation.added
- description: >-
- Event type identifier, always "response.output_text.annotation.added"
- additionalProperties: false
- required:
- - item_id
- - output_index
- - content_index
- - annotation_index
- - annotation
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded
- description: >-
- Streaming event for when an annotation is added to output text.
- "OpenAIResponseObjectStreamResponseOutputTextDelta":
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - content_index
+ - annotation_index
+ - annotation
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded
type: object
+ OpenAIResponseObjectStreamResponseOutputTextDelta:
+ description: Streaming event for incremental text content updates.
properties:
content_index:
+ title: Content Index
type: integer
- description: Index position within the text content
delta:
+ title: Delta
type: string
- description: Incremental text content being added
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the output item being updated
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputTextDelta
type: object
+ OpenAIResponseObjectStreamResponseOutputTextDone:
+ description: Streaming event for when text output is completed.
properties:
content_index:
+ title: Content Index
type: integer
- description: Index position within the text content
text:
+ title: Text
type: string
- description: >-
- Final complete text content of the output item
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the completed output item
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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.
- "OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - text
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseOutputTextDone
type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded:
+ description: Streaming event for when a new reasoning summary part is added.
properties:
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the output item
output_index:
+ title: Output Index
type: integer
- description: Index position of the output item
part:
$ref: '#/components/schemas/OpenAIResponseContentPartReasoningSummary'
- description: The summary part that was added
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
summary_index:
+ title: Summary Index
type: integer
- description: >-
- Index of the summary part within the reasoning summary
type:
- type: string
const: response.reasoning_summary_part.added
default: response.reasoning_summary_part.added
- description: >-
- Event type identifier, always "response.reasoning_summary_part.added"
- additionalProperties: false
- required:
- - item_id
- - output_index
- - part
- - sequence_number
- - summary_index
- - type
- title: >-
- OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded
- description: >-
- Streaming event for when a new reasoning summary part is added.
- "OpenAIResponseObjectStreamResponseReasoningSummaryPartDone":
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded
type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryPartDone:
+ description: Streaming event for when a reasoning summary part is completed.
properties:
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the output item
output_index:
+ title: Output Index
type: integer
- description: Index position of the output item
part:
$ref: '#/components/schemas/OpenAIResponseContentPartReasoningSummary'
- description: The completed summary part
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
summary_index:
+ title: Summary Index
type: integer
- description: >-
- Index of the summary part within the reasoning summary
type:
- type: string
const: response.reasoning_summary_part.done
default: response.reasoning_summary_part.done
- description: >-
- Event type identifier, always "response.reasoning_summary_part.done"
- additionalProperties: false
- required:
- - item_id
- - output_index
- - part
- - sequence_number
- - summary_index
- - type
- title: >-
- OpenAIResponseObjectStreamResponseReasoningSummaryPartDone
- description: >-
- Streaming event for when a reasoning summary part is completed.
- "OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta":
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - part
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryPartDone
type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta:
+ description: Streaming event for incremental reasoning summary text updates.
properties:
delta:
+ title: Delta
type: string
- description: Incremental summary text being added
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the output item
output_index:
+ title: Output Index
type: integer
- description: Index position of the output item
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
summary_index:
+ title: Summary Index
type: integer
- description: >-
- Index of the summary part within the reasoning summary
type:
- type: string
const: response.reasoning_summary_text.delta
default: response.reasoning_summary_text.delta
- description: >-
- Event type identifier, always "response.reasoning_summary_text.delta"
- additionalProperties: false
- required:
- - delta
- - item_id
- - output_index
- - sequence_number
- - summary_index
- - type
- title: >-
- OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta
- description: >-
- Streaming event for incremental reasoning summary text updates.
- "OpenAIResponseObjectStreamResponseReasoningSummaryTextDone":
+ title: Type
+ type: string
+ required:
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta
type: object
+ OpenAIResponseObjectStreamResponseReasoningSummaryTextDone:
+ description: Streaming event for when reasoning summary text is completed.
properties:
text:
+ title: Text
type: string
- description: Final complete summary text
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the output item
output_index:
+ title: Output Index
type: integer
- description: Index position of the output item
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
summary_index:
+ title: Summary Index
type: integer
- description: >-
- Index of the summary part within the reasoning summary
type:
- type: string
const: response.reasoning_summary_text.done
default: response.reasoning_summary_text.done
- description: >-
- Event type identifier, always "response.reasoning_summary_text.done"
- additionalProperties: false
- required:
- - text
- - item_id
- - output_index
- - sequence_number
- - summary_index
- - type
- title: >-
- OpenAIResponseObjectStreamResponseReasoningSummaryTextDone
- description: >-
- Streaming event for when reasoning summary text is completed.
- "OpenAIResponseObjectStreamResponseReasoningTextDelta":
+ title: Type
+ type: string
+ required:
+ - text
+ - item_id
+ - output_index
+ - sequence_number
+ - summary_index
+ title: OpenAIResponseObjectStreamResponseReasoningSummaryTextDone
type: object
+ OpenAIResponseObjectStreamResponseReasoningTextDelta:
+ description: Streaming event for incremental reasoning text updates.
properties:
content_index:
+ title: Content Index
type: integer
- description: >-
- Index position of the reasoning content part
delta:
+ title: Delta
type: string
- description: Incremental reasoning text being added
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the output item being updated
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.reasoning_text.delta
default: response.reasoning_text.delta
- description: >-
- Event type identifier, always "response.reasoning_text.delta"
- additionalProperties: false
- required:
- - content_index
- - delta
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseReasoningTextDelta
- description: >-
- Streaming event for incremental reasoning text updates.
- "OpenAIResponseObjectStreamResponseReasoningTextDone":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseReasoningTextDelta
type: object
+ OpenAIResponseObjectStreamResponseReasoningTextDone:
+ description: Streaming event for when reasoning text is completed.
properties:
content_index:
+ title: Content Index
type: integer
- description: >-
- Index position of the reasoning content part
text:
+ title: Text
type: string
- description: Final complete reasoning text
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the completed output item
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.reasoning_text.done
default: response.reasoning_text.done
- description: >-
- Event type identifier, always "response.reasoning_text.done"
- additionalProperties: false
- required:
- - content_index
- - text
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseReasoningTextDone
- description: >-
- Streaming event for when reasoning text is completed.
- "OpenAIResponseObjectStreamResponseRefusalDelta":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - text
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseReasoningTextDone
type: object
+ OpenAIResponseObjectStreamResponseRefusalDelta:
+ description: Streaming event for incremental refusal text updates.
properties:
content_index:
+ title: Content Index
type: integer
- description: Index position of the content part
delta:
+ title: Delta
type: string
- description: Incremental refusal text being added
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the output item
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.refusal.delta
default: response.refusal.delta
- description: >-
- Event type identifier, always "response.refusal.delta"
- additionalProperties: false
- required:
- - content_index
- - delta
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseRefusalDelta
- description: >-
- Streaming event for incremental refusal text updates.
- "OpenAIResponseObjectStreamResponseRefusalDone":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - delta
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseRefusalDelta
type: object
+ OpenAIResponseObjectStreamResponseRefusalDone:
+ description: Streaming event for when refusal text is completed.
properties:
content_index:
+ title: Content Index
type: integer
- description: Index position of the content part
refusal:
+ title: Refusal
type: string
- description: Final complete refusal text
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the output item
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: Sequence Number
type: integer
- description: >-
- Sequential number for ordering streaming events
type:
- type: string
const: response.refusal.done
default: response.refusal.done
- description: >-
- Event type identifier, always "response.refusal.done"
- additionalProperties: false
- required:
- - content_index
- - refusal
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseRefusalDone
- description: >-
- Streaming event for when refusal text is completed.
- "OpenAIResponseObjectStreamResponseWebSearchCallCompleted":
+ title: Type
+ type: string
+ required:
+ - content_index
+ - refusal
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseRefusalDone
type: object
+ OpenAIResponseObjectStreamResponseWebSearchCallCompleted:
+ description: Streaming event for completed web search calls.
properties:
item_id:
+ title: Item Id
type: string
- description: >-
- Unique identifier of the completed web search call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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
+ title: Type
+ type: string
required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseWebSearchCallCompleted
- description: >-
- Streaming event for completed web search calls.
- "OpenAIResponseObjectStreamResponseWebSearchCallInProgress":
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseWebSearchCallCompleted
type: object
+ OpenAIResponseObjectStreamResponseWebSearchCallInProgress:
+ description: Streaming event for web search calls in progress.
properties:
item_id:
+ title: Item Id
type: string
- description: Unique identifier of the web search call
output_index:
+ title: Output Index
type: integer
- description: >-
- Index position of the item in the output list
sequence_number:
+ title: 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
+ title: Type
+ type: string
required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseWebSearchCallInProgress
- description: >-
- Streaming event for web search calls in progress.
- "OpenAIResponseObjectStreamResponseWebSearchCallSearching":
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseWebSearchCallInProgress
type: object
+ OpenAIResponseObjectStreamResponseWebSearchCallSearching:
properties:
item_id:
+ title: Item Id
type: string
output_index:
+ title: Output Index
type: integer
sequence_number:
+ title: Sequence Number
type: integer
type:
- type: string
const: response.web_search_call.searching
default: response.web_search_call.searching
- additionalProperties: false
- required:
- - item_id
- - output_index
- - sequence_number
- - type
- title: >-
- OpenAIResponseObjectStreamResponseWebSearchCallSearching
- OpenAIDeleteResponseObject:
+ title: Type
+ type: string
+ required:
+ - item_id
+ - output_index
+ - sequence_number
+ title: OpenAIResponseObjectStreamResponseWebSearchCallSearching
type: object
+ OpenAIDeleteResponseObject:
properties:
id:
type: string
- description: >-
- Unique identifier of the deleted response
+ title: Id
object:
type: string
const: response
+ title: Object
default: response
- description: >-
- Object type identifier, always "response"
deleted:
type: boolean
+ title: Deleted
default: true
- description: Deletion confirmation flag, always True
- additionalProperties: false
+ type: object
required:
- - id
- - object
- - deleted
+ - id
title: OpenAIDeleteResponseObject
- description: >-
- Response object confirming deletion of an OpenAI response.
+ 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
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ discriminator:
+ propertyName: type
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage-Output'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseMessage-Output | ... (7 variants)
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseMessage-Output'
+ title: OpenAIResponseMessage-Output
+ title: OpenAIResponseInputFunctionToolCallOutput | OpenAIResponseMCPApprovalResponse | OpenAIResponseMessage-Output
+ type: array
+ title: Data
object:
type: string
const: list
+ title: Object
default: list
- description: Object type identifier, always "list"
- additionalProperties: false
+ type: object
required:
- - data
- - object
+ - data
title: ListOpenAIResponseInputItem
- description: >-
- List container for OpenAI response input items.
+ description: List container for OpenAI response input items.
RunShieldRequest:
- type: object
properties:
shield_id:
type: string
- description: The identifier of the shield to run.
+ title: Shield Id
messages:
- type: array
items:
- $ref: '#/components/schemas/OpenAIMessageParam'
- description: The messages to run the shield on.
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIUserMessageParam-Input'
+ title: OpenAIUserMessageParam-Input
+ - $ref: '#/components/schemas/OpenAISystemMessageParam'
+ title: OpenAISystemMessageParam
+ - $ref: '#/components/schemas/OpenAIAssistantMessageParam-Input'
+ title: OpenAIAssistantMessageParam-Input
+ - $ref: '#/components/schemas/OpenAIToolMessageParam'
+ title: OpenAIToolMessageParam
+ - $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
+ title: OpenAIDeveloperMessageParam
+ discriminator:
+ propertyName: role
+ mapping:
+ assistant: '#/components/schemas/OpenAIAssistantMessageParam-Input'
+ developer: '#/components/schemas/OpenAIDeveloperMessageParam'
+ system: '#/components/schemas/OpenAISystemMessageParam'
+ tool: '#/components/schemas/OpenAIToolMessageParam'
+ user: '#/components/schemas/OpenAIUserMessageParam-Input'
+ title: OpenAIUserMessageParam-Input | ... (5 variants)
+ type: array
+ title: Messages
params:
+ additionalProperties: true
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: Params
+ type: object
+ 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
+ anyOf:
+ - $ref: '#/components/schemas/SafetyViolation'
+ title: SafetyViolation
+ - type: 'null'
+ title: SafetyViolation
+ type: object
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
+ anyOf:
+ - type: string
+ - type: 'null'
metadata:
+ additionalProperties: true
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: Metadata
+ type: object
+ required:
+ - violation_level
title: SafetyViolation
- description: >-
- Details of a safety violation detected by content moderation.
+ description: Details of a safety violation detected by content moderation.
ViolationLevel:
type: string
enum:
- - info
- - warn
- - error
+ - info
+ - warn
+ - error
title: ViolationLevel
description: Severity level of a safety violation.
AggregationFunctionType:
type: string
enum:
- - average
- - weighted_average
- - median
- - categorical_count
- - accuracy
+ - average
+ - weighted_average
+ - median
+ - categorical_count
+ - accuracy
title: AggregationFunctionType
- description: >-
- Types of aggregation functions for scoring results.
+ description: Types of aggregation functions for scoring results.
ArrayType:
- type: object
properties:
type:
type: string
const: array
+ title: Type
default: array
- description: Discriminator type. Always "array"
- additionalProperties: false
- required:
- - type
+ type: object
title: ArrayType
description: Parameter type for array values.
BasicScoringFnParams:
- type: object
properties:
type:
- $ref: '#/components/schemas/ScoringFnParamsType'
+ type: string
const: basic
+ title: Type
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
+ type: array
+ title: Aggregation Functions
+ description: Aggregation functions to apply to the scores of each row
+ type: object
title: BasicScoringFnParams
- description: >-
- Parameters for basic scoring function configuration.
+ description: Parameters for basic scoring function configuration.
BooleanType:
- type: object
properties:
type:
type: string
const: boolean
+ title: Type
default: boolean
- description: Discriminator type. Always "boolean"
- additionalProperties: false
- required:
- - type
+ type: object
title: BooleanType
description: Parameter type for boolean values.
ChatCompletionInputType:
- type: object
properties:
type:
type: string
const: chat_completion_input
+ title: Type
default: chat_completion_input
- description: >-
- Discriminator type. Always "chat_completion_input"
- additionalProperties: false
- required:
- - type
+ type: object
title: ChatCompletionInputType
- description: >-
- Parameter type for chat completion input.
+ description: Parameter type for chat completion input.
CompletionInputType:
- type: object
properties:
type:
type: string
const: completion_input
+ title: Type
default: completion_input
- description: >-
- Discriminator type. Always "completion_input"
- additionalProperties: false
- required:
- - type
+ type: object
title: CompletionInputType
description: Parameter type for completion input.
JsonType:
- type: object
properties:
type:
type: string
const: json
+ title: Type
default: json
- description: Discriminator type. Always "json"
- additionalProperties: false
- required:
- - type
+ type: object
title: JsonType
description: Parameter type for JSON values.
LLMAsJudgeScoringFnParams:
- type: object
properties:
type:
- $ref: '#/components/schemas/ScoringFnParamsType'
+ type: string
const: llm_as_judge
+ title: Type
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
+ title: Judge Model
prompt_template:
- type: string
- description: >-
- (Optional) Custom prompt template for the judge model
+ anyOf:
+ - type: string
+ - type: 'null'
judge_score_regexes:
- type: array
items:
type: string
- description: >-
- Regexes to extract the answer from generated response
- aggregation_functions:
type: array
+ title: Judge Score Regexes
+ description: Regexes to extract the answer from generated response
+ aggregation_functions:
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
+ type: array
+ title: Aggregation Functions
+ description: Aggregation functions to apply to the scores of each row
+ type: object
+ required:
+ - judge_model
title: LLMAsJudgeScoringFnParams
- description: >-
- Parameters for LLM-as-judge scoring function configuration.
+ description: Parameters for LLM-as-judge scoring function configuration.
NumberType:
- type: object
properties:
type:
type: string
const: number
+ title: Type
default: number
- description: Discriminator type. Always "number"
- additionalProperties: false
- required:
- - type
+ type: object
title: NumberType
description: Parameter type for numeric values.
ObjectType:
- type: object
properties:
type:
type: string
const: object
+ title: Type
default: object
- description: Discriminator type. Always "object"
- additionalProperties: false
- required:
- - type
+ type: object
title: ObjectType
description: Parameter type for object values.
RegexParserScoringFnParams:
- type: object
properties:
type:
- $ref: '#/components/schemas/ScoringFnParamsType'
+ type: string
const: regex_parser
+ title: Type
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
+ title: Parsing Regexes
+ description: Regex to extract the answer from generated response
+ aggregation_functions:
items:
$ref: '#/components/schemas/AggregationFunctionType'
- description: >-
- Aggregation functions to apply to the scores of each row
- additionalProperties: false
- required:
- - type
- - parsing_regexes
- - aggregation_functions
+ type: array
+ title: Aggregation Functions
+ description: Aggregation functions to apply to the scores of each row
+ type: object
title: RegexParserScoringFnParams
- description: >-
- Parameters for regex parser scoring function configuration.
+ description: Parameters for regex parser scoring function configuration.
ScoringFn:
- type: object
properties:
identifier:
type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
provider_resource_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
provider_id:
type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
type:
type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
const: scoring_function
+ title: Type
default: scoring_function
- description: >-
- The resource type, always scoring_function
description:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
metadata:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
+ title: Metadata
+ description: Any additional metadata for this definition
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/StringType'
+ title: StringType
+ - $ref: '#/components/schemas/NumberType'
+ title: NumberType
+ - $ref: '#/components/schemas/BooleanType'
+ title: BooleanType
+ - $ref: '#/components/schemas/ArrayType'
+ title: ArrayType
+ - $ref: '#/components/schemas/ObjectType'
+ title: ObjectType
+ - $ref: '#/components/schemas/JsonType'
+ title: JsonType
+ - $ref: '#/components/schemas/UnionType'
+ title: UnionType
+ - $ref: '#/components/schemas/ChatCompletionInputType'
+ title: ChatCompletionInputType
+ - $ref: '#/components/schemas/CompletionInputType'
+ title: CompletionInputType
+ title: StringType | ... (9 variants)
+ description: The return type of the deterministic function
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'
+ boolean: '#/components/schemas/BooleanType'
chat_completion_input: '#/components/schemas/ChatCompletionInputType'
completion_input: '#/components/schemas/CompletionInputType'
+ json: '#/components/schemas/JsonType'
+ number: '#/components/schemas/NumberType'
+ object: '#/components/schemas/ObjectType'
+ string: '#/components/schemas/StringType'
+ union: '#/components/schemas/UnionType'
params:
- $ref: '#/components/schemas/ScoringFnParams'
- additionalProperties: false
- required:
- - identifier
- - provider_id
- - type
- - metadata
- - return_type
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ discriminator:
+ propertyName: type
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ - type: 'null'
+ title: Params
+ description: The parameters for the scoring function for benchmark eval, these can be overridden for app eval
+ type: object
+ required:
+ - identifier
+ - provider_id
+ - return_type
title: ScoringFn
- description: >-
- A scoring function resource for evaluating model outputs.
+ 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:
+ basic: '#/components/schemas/BasicScoringFnParams'
llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
regex_parser: '#/components/schemas/RegexParserScoringFnParams'
- basic: '#/components/schemas/BasicScoringFnParams'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
ScoringFnParamsType:
- type: string
+ description: Types of scoring function parameter configurations.
enum:
- - llm_as_judge
- - regex_parser
- - basic
+ - llm_as_judge
+ - regex_parser
+ - basic
title: ScoringFnParamsType
- description: >-
- Types of scoring function parameter configurations.
+ type: string
StringType:
- type: object
properties:
type:
type: string
const: string
+ title: Type
default: string
- description: Discriminator type. Always "string"
- additionalProperties: false
- required:
- - type
+ type: object
title: StringType
description: Parameter type for string values.
UnionType:
- type: object
properties:
type:
type: string
const: union
+ title: Type
default: union
- description: Discriminator type. Always "union"
- additionalProperties: false
- required:
- - type
+ type: object
title: UnionType
description: Parameter type for union values.
ListScoringFunctionsResponse:
- type: object
properties:
data:
- type: array
items:
$ref: '#/components/schemas/ScoringFn'
- additionalProperties: false
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListScoringFunctionsResponse
ScoreRequest:
- type: object
properties:
input_rows:
- type: array
items:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The rows to score.
+ type: array
+ title: Input Rows
scoring_functions:
- type: object
additionalProperties:
- oneOf:
- - $ref: '#/components/schemas/ScoringFnParams'
- - type: 'null'
- description: >-
- The scoring functions to use for the scoring.
- additionalProperties: false
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ discriminator:
+ propertyName: type
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ - type: 'null'
+ title: AdditionalpropertiesUnion
+ type: object
+ title: Scoring Functions
+ type: object
required:
- - input_rows
- - scoring_functions
+ - 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
+ type: object
+ title: Results
+ type: object
required:
- - results
+ - results
title: ScoreResponse
description: The response from scoring.
ScoringResult:
- type: object
properties:
score_rows:
- type: array
items:
+ additionalProperties: true
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.
+ type: array
+ title: Score Rows
aggregated_results:
+ additionalProperties: true
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
+ title: Aggregated Results
+ type: object
required:
- - score_rows
- - aggregated_results
+ - 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.
+ title: Dataset Id
scoring_functions:
- type: object
additionalProperties:
- oneOf:
- - $ref: '#/components/schemas/ScoringFnParams'
- - type: 'null'
- description: >-
- The scoring functions to use for the scoring.
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ discriminator:
+ propertyName: type
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ - type: 'null'
+ title: AdditionalpropertiesUnion
+ type: object
+ title: Scoring Functions
save_results_dataset:
type: boolean
- description: >-
- Whether to save the results to a dataset.
- additionalProperties: false
+ title: Save Results Dataset
+ default: false
+ type: object
required:
- - dataset_id
- - scoring_functions
- - save_results_dataset
+ - dataset_id
+ - scoring_functions
title: ScoreBatchRequest
ScoreBatchResponse:
- type: object
properties:
dataset_id:
- type: string
- description: >-
- (Optional) The identifier of the dataset that was scored
+ anyOf:
+ - type: string
+ - type: 'null'
results:
- type: object
additionalProperties:
$ref: '#/components/schemas/ScoringResult'
- description: >-
- A map of scoring function name to ScoringResult
- additionalProperties: false
+ type: object
+ title: Results
+ type: object
required:
- - results
+ - results
title: ScoreBatchResponse
- description: >-
- Response from batch scoring operations on datasets.
+ description: Response from batch scoring operations on datasets.
Shield:
- type: object
properties:
identifier:
type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
provider_resource_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
provider_id:
type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
type:
type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
const: shield
+ title: Type
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - identifier
+ - provider_id
title: Shield
- description: >-
- A safety shield resource that can be used to check content.
+ 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
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListShieldsResponse
InvokeToolRequest:
- type: object
properties:
tool_name:
type: string
- description: The name of the tool to invoke.
+ title: Tool Name
kwargs:
+ additionalProperties: true
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.
+ title: Kwargs
authorization:
- type: string
- description: >-
- (Optional) OAuth access token for authenticating with the MCP server.
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - tool_name
- - kwargs
+ - tool_name
+ - kwargs
title: InvokeToolRequest
ImageContentItem:
- type: object
+ description: A image content item
properties:
type:
- type: string
const: image
default: image
- description: >-
- Discriminator type of the content item. Always "image"
+ title: Type
+ type: string
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
+ $ref: '#/components/schemas/_URLOrData'
+ required:
+ - image
title: ImageContentItem
- description: A image content item
+ type: object
InterleavedContent:
- oneOf:
- - type: string
- - $ref: '#/components/schemas/InterleavedContentItem'
- - type: array
- items:
- $ref: '#/components/schemas/InterleavedContentItem'
- InterleavedContentItem:
- oneOf:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
- $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
- $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
+ InterleavedContentItem:
discriminator:
- propertyName: type
mapping:
image: '#/components/schemas/ImageContentItem'
text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
TextContentItem:
- type: object
properties:
type:
type: string
const: text
+ title: Type
default: text
- description: >-
- Discriminator type of the content item. Always "text"
text:
type: string
- description: Text content
- additionalProperties: false
+ title: Text
+ type: object
required:
- - type
- - text
+ - text
title: TextContentItem
description: A text content item
ToolInvocationResult:
- type: object
properties:
content:
- $ref: '#/components/schemas/InterleavedContent'
- description: >-
- (Optional) The output content from the tool execution
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ type: array
+ title: list[ImageContentItem-Output | TextContentItem]
+ - type: 'null'
+ title: string | list[ImageContentItem-Output | TextContentItem]
error_message:
- type: string
- description: >-
- (Optional) Error message if the tool execution failed
+ anyOf:
+ - type: string
+ - type: 'null'
error_code:
- type: integer
- description: >-
- (Optional) Numeric error code if the tool execution failed
+ anyOf:
+ - type: integer
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
title: ToolInvocationResult
description: Result of a tool invocation.
URL:
- type: object
properties:
uri:
type: string
- description: The URL string pointing to the resource
- additionalProperties: false
+ title: Uri
+ type: object
required:
- - uri
+ - uri
title: URL
description: A URL reference to external content.
ToolDef:
- type: object
properties:
toolgroup_id:
- type: string
- description: >-
- (Optional) ID of the tool group this tool belongs to
+ anyOf:
+ - type: string
+ - type: 'null'
name:
type: string
- description: Name of the tool
+ title: Name
description:
- type: string
- description: >-
- (Optional) Human-readable description of what the tool does
+ anyOf:
+ - type: string
+ - type: 'null'
input_schema:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- (Optional) JSON Schema for tool inputs (MCP inputSchema)
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
output_schema:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- (Optional) JSON Schema for tool outputs (MCP outputSchema)
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
required:
- - name
+ - name
title: ToolDef
- description: >-
- Tool definition used in runtime contexts.
+ description: Tool definition used in runtime contexts.
ListToolDefsResponse:
- type: object
properties:
data:
- type: array
items:
$ref: '#/components/schemas/ToolDef'
- description: List of tool definitions
- additionalProperties: false
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListToolDefsResponse
- description: >-
- Response containing a list of tool definitions.
+ description: Response containing a list of tool definitions.
ToolGroup:
- type: object
properties:
identifier:
type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
provider_resource_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
provider_id:
type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
type:
type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
const: tool_group
+ title: Type
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
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ title: URL
+ - type: 'null'
+ title: URL
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - identifier
+ - provider_id
title: ToolGroup
- description: >-
- A group of related tools managed together.
+ 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
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListToolGroupsResponse
- description: >-
- Response containing a list of tool groups.
+ description: Response containing a list of tool groups.
Chunk:
- type: object
+ description: A chunk of content that can be inserted into a vector database.
properties:
content:
- $ref: '#/components/schemas/InterleavedContent'
- description: >-
- The content of the chunk, which can be interleaved text, images, or other
- types.
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
chunk_id:
+ title: Chunk Id
type: string
- description: >-
- Unique identifier for the chunk. Must be provided explicitly.
metadata:
+ additionalProperties: true
+ title: 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.
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ nullable: true
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
- - chunk_id
- - metadata
+ anyOf:
+ - $ref: '#/components/schemas/ChunkMetadata'
+ title: ChunkMetadata
+ - type: 'null'
+ nullable: true
+ title: ChunkMetadata
+ required:
+ - content
+ - chunk_id
title: Chunk
- description: >-
- A chunk of content that can be inserted into a vector database.
- ChunkMetadata:
type: object
+ ChunkMetadata:
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.
+ anyOf:
+ - type: string
+ - type: 'null'
document_id:
- type: string
- description: >-
- The ID of the document this chunk belongs to.
+ anyOf:
+ - type: string
+ - type: 'null'
source:
- type: string
- description: >-
- The source of the content, such as a URL, file path, or other identifier.
+ anyOf:
+ - type: string
+ - type: 'null'
created_timestamp:
- type: integer
- description: >-
- An optional timestamp indicating when the chunk was created.
+ anyOf:
+ - type: integer
+ - type: 'null'
updated_timestamp:
- type: integer
- description: >-
- An optional timestamp indicating when the chunk was last updated.
+ anyOf:
+ - type: integer
+ - type: 'null'
chunk_window:
- type: string
- description: >-
- The window of the chunk, which can be used to group related chunks together.
+ anyOf:
+ - type: string
+ - type: 'null'
chunk_tokenizer:
- type: string
- description: >-
- The tokenizer used to create the chunk. Default is Tiktoken.
+ anyOf:
+ - type: string
+ - type: 'null'
chunk_embedding_model:
- type: string
- description: >-
- The embedding model used to create the chunk's embedding.
+ anyOf:
+ - type: string
+ - type: 'null'
chunk_embedding_dimension:
- type: integer
- description: >-
- The dimension of the embedding vector for the chunk.
+ anyOf:
+ - type: integer
+ - type: 'null'
content_token_count:
- type: integer
- description: >-
- The number of tokens in the content of the chunk.
+ anyOf:
+ - type: integer
+ - type: 'null'
metadata_token_count:
- type: integer
- description: >-
- The number of tokens in the metadata of the chunk.
- additionalProperties: false
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
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.
+ 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_store_id:
type: string
- description: >-
- The identifier of the vector database to insert the chunks into.
+ title: Vector Store Id
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.
+ $ref: '#/components/schemas/Chunk-Input'
+ type: array
+ title: Chunks
ttl_seconds:
- type: integer
- description: The time to live of the chunks.
- additionalProperties: false
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
required:
- - vector_store_id
- - chunks
+ - vector_store_id
+ - chunks
title: InsertChunksRequest
QueryChunksRequest:
- type: object
properties:
vector_store_id:
type: string
- description: >-
- The identifier of the vector database to query.
+ title: Vector Store Id
query:
- $ref: '#/components/schemas/InterleavedContent'
- description: The query to search for.
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ type: array
+ title: list[ImageContentItem-Input | TextContentItem]
+ title: string | list[ImageContentItem-Input | TextContentItem]
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
required:
- - vector_store_id
- - query
+ - vector_store_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:
+ $ref: '#/components/schemas/Chunk-Output'
type: array
+ title: Chunks
+ scores:
items:
type: number
- description: >-
- Relevance scores corresponding to each returned chunk
- additionalProperties: false
+ type: array
+ title: Scores
+ type: object
required:
- - chunks
- - scores
+ - chunks
+ - scores
title: QueryChunksResponse
- description: >-
- Response from querying chunks in a vector database.
+ 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
+ title: Completed
cancelled:
type: integer
- description: >-
- Number of files that had their processing cancelled
+ title: Cancelled
failed:
type: integer
- description: Number of files that failed to process
+ title: Failed
in_progress:
type: integer
- description: >-
- Number of files currently being processed
+ title: In Progress
total:
type: integer
- description: >-
- Total number of files in the vector store
- additionalProperties: false
+ title: Total
+ type: object
required:
- - completed
- - cancelled
- - failed
- - in_progress
- - total
+ - completed
+ - cancelled
+ - failed
+ - in_progress
+ - total
title: VectorStoreFileCounts
- description: >-
- File processing status counts for a vector store.
+ description: File processing status counts for a vector store.
VectorStoreListResponse:
- type: object
properties:
object:
type: string
+ title: Object
default: list
- description: Object type identifier, always "list"
data:
- type: array
items:
$ref: '#/components/schemas/VectorStoreObject'
- description: List of vector store objects
+ type: array
+ title: Data
first_id:
- type: string
- description: >-
- (Optional) ID of the first vector store in the list for pagination
+ anyOf:
+ - type: string
+ - type: 'null'
last_id:
- type: string
- description: >-
- (Optional) ID of the last vector store in the list for pagination
+ anyOf:
+ - type: string
+ - type: 'null'
has_more:
type: boolean
+ title: Has More
default: false
- description: >-
- Whether there are more vector stores available beyond this page
- additionalProperties: false
+ type: object
required:
- - object
- - data
- - has_more
+ - data
title: VectorStoreListResponse
description: Response from listing vector stores.
VectorStoreObject:
- type: object
properties:
id:
type: string
- description: Unique identifier for the vector store
+ title: Id
object:
type: string
+ title: Object
default: vector_store
- description: >-
- Object type identifier, always "vector_store"
created_at:
type: integer
- description: >-
- Timestamp when the vector store was created
+ title: Created At
name:
- type: string
- description: (Optional) Name of the vector store
+ anyOf:
+ - type: string
+ - type: 'null'
usage_bytes:
type: integer
+ title: Usage Bytes
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
+ title: Status
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
expires_at:
- type: integer
- description: >-
- (Optional) Timestamp when the vector store will expire
+ anyOf:
+ - type: integer
+ - type: 'null'
last_active_at:
- type: integer
- description: >-
- (Optional) Timestamp of last activity on the vector store
+ anyOf:
+ - type: integer
+ - type: 'null'
metadata:
+ additionalProperties: true
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: Metadata
+ type: object
+ required:
+ - id
+ - created_at
+ - file_counts
title: VectorStoreObject
description: OpenAI Vector Store object.
VectorStoreChunkingStrategy:
- oneOf:
- - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
- - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
discriminator:
- propertyName: type
mapping:
auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
VectorStoreChunkingStrategyAuto:
- type: object
properties:
type:
type: string
const: auto
+ title: Type
default: auto
- description: >-
- Strategy type, always "auto" for automatic chunking
- additionalProperties: false
- required:
- - type
+ type: object
title: VectorStoreChunkingStrategyAuto
- description: >-
- Automatic chunking strategy for vector store files.
+ description: Automatic chunking strategy for vector store files.
VectorStoreChunkingStrategyStatic:
- type: object
properties:
type:
type: string
const: static
+ title: Type
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
+ type: object
required:
- - type
- - static
+ - static
title: VectorStoreChunkingStrategyStatic
- description: >-
- Static chunking strategy with configurable parameters.
+ description: Static chunking strategy with configurable parameters.
VectorStoreChunkingStrategyStaticConfig:
- type: object
properties:
chunk_overlap_tokens:
type: integer
+ title: Chunk Overlap Tokens
default: 400
- description: >-
- Number of tokens to overlap between adjacent chunks
max_chunk_size_tokens:
type: integer
+ maximum: 4096.0
+ minimum: 100.0
+ title: Max Chunk Size Tokens
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.
- "OpenAICreateVectorStoreRequestWithExtraBody":
type: object
+ title: VectorStoreChunkingStrategyStaticConfig
+ description: Configuration for static chunking strategy.
+ OpenAICreateVectorStoreRequestWithExtraBody:
properties:
name:
- type: string
- description: (Optional) A name for the vector store
+ anyOf:
+ - type: string
+ - type: 'null'
file_ids:
- type: array
- items:
- type: string
- description: >-
- List of file IDs to include in the vector store
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
chunking_strategy:
- $ref: '#/components/schemas/VectorStoreChunkingStrategy'
- description: >-
- (Optional) Strategy for splitting files into chunks
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ discriminator:
+ propertyName: type
+ mapping:
+ auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
+ - type: 'null'
+ title: Chunking Strategy
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
- title: >-
- OpenAICreateVectorStoreRequestWithExtraBody
- description: >-
- Request to create a vector store with extra_body support.
- OpenaiUpdateVectorStoreRequest:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ additionalProperties: true
type: object
+ title: OpenAICreateVectorStoreRequestWithExtraBody
+ description: Request to create a vector store with extra_body support.
+ OpenaiUpdateVectorStoreRequest:
properties:
name:
- type: string
- description: The name of the vector store.
+ anyOf:
+ - type: string
+ - type: 'null'
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.
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
title: OpenaiUpdateVectorStoreRequest
VectorStoreDeleteResponse:
- type: object
properties:
id:
type: string
- description: >-
- Unique identifier of the deleted vector store
+ title: Id
object:
type: string
+ title: Object
default: vector_store.deleted
- description: >-
- Object type identifier for the deletion response
deleted:
type: boolean
+ title: Deleted
default: true
- description: >-
- Whether the deletion operation was successful
- additionalProperties: false
+ type: object
required:
- - id
- - object
- - deleted
+ - id
title: VectorStoreDeleteResponse
description: Response from deleting a vector store.
- "OpenAICreateVectorStoreFileBatchRequestWithExtraBody":
- type: object
+ OpenAICreateVectorStoreFileBatchRequestWithExtraBody:
properties:
file_ids:
- type: array
items:
type: string
- description: >-
- A list of File IDs that the vector store should use
+ type: array
+ title: File Ids
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
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: >-
- OpenAICreateVectorStoreFileBatchRequestWithExtraBody
- description: >-
- Request to create a vector store file batch with extra_body support.
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ discriminator:
+ propertyName: type
+ mapping:
+ auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
+ - type: 'null'
+ title: Chunking Strategy
+ additionalProperties: true
+ type: object
+ required:
+ - file_ids
+ title: OpenAICreateVectorStoreFileBatchRequestWithExtraBody
+ description: Request to create a vector store file batch with extra_body support.
VectorStoreFileBatchObject:
- type: object
properties:
id:
type: string
- description: Unique identifier for the file batch
+ title: Id
object:
type: string
+ title: Object
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
+ title: Created At
vector_store_id:
type: string
- description: >-
- ID of the vector store containing the file batch
+ title: Vector Store Id
status:
- $ref: '#/components/schemas/VectorStoreFileStatus'
- description: >-
- Current processing status of the file batch
+ title: Status
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - cancelled
+ - failed
+ default: completed
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
+ type: object
+ required:
+ - id
+ - 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
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - cancelled
+ - failed
+ default: completed
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
+ title: Code
+ type: string
+ enum:
+ - server_error
+ - rate_limit_exceeded
+ default: server_error
message:
type: string
- description: >-
- Human-readable error message describing the failure
- additionalProperties: false
+ title: Message
+ type: object
required:
- - code
- - message
+ - code
+ - message
title: VectorStoreFileLastError
- description: >-
- Error information for failed vector store file processing.
+ description: Error information for failed vector store file processing.
VectorStoreFileObject:
- type: object
properties:
id:
type: string
- description: Unique identifier for the file
+ title: Id
object:
type: string
+ title: Object
default: vector_store.file
- description: >-
- Object type identifier, always "vector_store.file"
attributes:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- Key-value attributes associated with the file
+ title: Attributes
chunking_strategy:
oneOf:
- - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
- - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ title: VectorStoreChunkingStrategyAuto | 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
+ title: Created At
last_error:
- $ref: '#/components/schemas/VectorStoreFileLastError'
- description: >-
- (Optional) Error information if file processing failed
+ anyOf:
+ - $ref: '#/components/schemas/VectorStoreFileLastError'
+ title: VectorStoreFileLastError
+ - type: 'null'
+ title: VectorStoreFileLastError
status:
- $ref: '#/components/schemas/VectorStoreFileStatus'
- description: Current processing status of the file
+ title: Status
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - cancelled
+ - failed
+ default: completed
usage_bytes:
type: integer
+ title: Usage Bytes
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: Vector Store Id
+ type: object
+ required:
+ - id
+ - chunking_strategy
+ - created_at
+ - status
+ - vector_store_id
title: VectorStoreFileObject
description: OpenAI Vector Store File object.
VectorStoreFilesListInBatchResponse:
- type: object
properties:
object:
type: string
+ title: Object
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
+ type: array
+ title: Data
first_id:
- type: string
- description: >-
- (Optional) ID of the first file in the list for pagination
+ anyOf:
+ - type: string
+ - type: 'null'
last_id:
- type: string
- description: >-
- (Optional) ID of the last file in the list for pagination
+ anyOf:
+ - type: string
+ - type: 'null'
has_more:
type: boolean
+ title: Has More
default: false
- description: >-
- Whether there are more files available beyond this page
- additionalProperties: false
+ type: object
required:
- - object
- - data
- - has_more
+ - data
title: VectorStoreFilesListInBatchResponse
- description: >-
- Response from listing files in a vector store file batch.
+ description: Response from listing files in a vector store file batch.
VectorStoreListFilesResponse:
- type: object
properties:
object:
type: string
+ title: Object
default: list
- description: Object type identifier, always "list"
data:
- type: array
items:
$ref: '#/components/schemas/VectorStoreFileObject'
- description: List of vector store file objects
+ type: array
+ title: Data
first_id:
- type: string
- description: >-
- (Optional) ID of the first file in the list for pagination
+ anyOf:
+ - type: string
+ - type: 'null'
last_id:
- type: string
- description: >-
- (Optional) ID of the last file in the list for pagination
+ anyOf:
+ - type: string
+ - type: 'null'
has_more:
type: boolean
+ title: Has More
default: false
- description: >-
- Whether there are more files available beyond this page
- additionalProperties: false
+ type: object
required:
- - object
- - data
- - has_more
+ - data
title: VectorStoreListFilesResponse
- description: >-
- Response from listing files in a vector store.
+ 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.
+ title: File Id
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.
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
chunking_strategy:
- $ref: '#/components/schemas/VectorStoreChunkingStrategy'
- description: >-
- The chunking strategy to use for the file.
- additionalProperties: false
- required:
- - file_id
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ title: VectorStoreChunkingStrategyAuto
+ - $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyStatic
+ discriminator:
+ propertyName: type
+ mapping:
+ auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
+ static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
+ title: VectorStoreChunkingStrategyAuto | VectorStoreChunkingStrategyStatic
+ - type: 'null'
+ title: Chunking Strategy
+ type: object
+ required:
+ - file_id
title: OpenaiAttachFileToVectorStoreRequest
OpenaiUpdateVectorStoreFileRequest:
- type: object
properties:
attributes:
+ additionalProperties: true
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
+ title: Attributes
+ type: object
required:
- - attributes
+ - attributes
title: OpenaiUpdateVectorStoreFileRequest
VectorStoreFileDeleteResponse:
- type: object
properties:
id:
type: string
- description: Unique identifier of the deleted file
+ title: Id
object:
type: string
+ title: Object
default: vector_store.file.deleted
- description: >-
- Object type identifier for the deletion response
deleted:
type: boolean
+ title: Deleted
default: true
- description: >-
- Whether the deletion operation was successful
- additionalProperties: false
+ type: object
required:
- - id
- - object
- - deleted
+ - id
title: VectorStoreFileDeleteResponse
- description: >-
- Response from deleting a vector store file.
- bool:
- type: boolean
+ 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
+ title: Type
text:
type: string
- description: The actual text content
+ title: Text
embedding:
- type: array
- items:
- type: number
- description: >-
- Optional embedding vector for this content chunk
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
chunk_metadata:
- $ref: '#/components/schemas/ChunkMetadata'
- description: Optional chunk metadata
+ anyOf:
+ - $ref: '#/components/schemas/ChunkMetadata'
+ title: ChunkMetadata
+ - type: 'null'
+ title: ChunkMetadata
metadata:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: Optional user-defined metadata
- additionalProperties: false
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
required:
- - type
- - text
+ - type
+ - text
title: VectorStoreContent
- description: >-
- Content item from a vector store file or search result.
+ description: Content item from a vector store file or search result.
VectorStoreFileContentResponse:
- type: object
properties:
object:
type: string
const: vector_store.file_content.page
+ title: Object
default: vector_store.file_content.page
- description: >-
- The object type, which is always `vector_store.file_content.page`
data:
- type: array
items:
$ref: '#/components/schemas/VectorStoreContent'
- description: Parsed content of the file
+ type: array
+ title: Data
has_more:
type: boolean
+ title: Has More
default: false
- description: >-
- Indicates if there are more content pages to fetch
next_page:
- type: string
- description: The token for the next page, if any
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - object
- - data
- - has_more
+ - data
title: VectorStoreFileContentResponse
- description: >-
- Represents the parsed content of a vector store file.
+ description: Represents the parsed content 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.
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ title: string | list[string]
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.
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
max_num_results:
- type: integer
- description: >-
- Maximum number of results to return (1 to 50 inclusive, default 10).
+ anyOf:
+ - type: integer
+ - type: 'null'
+ 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.
+ anyOf:
+ - $ref: '#/components/schemas/SearchRankingOptions'
+ title: SearchRankingOptions
+ - type: 'null'
+ title: SearchRankingOptions
rewrite_query:
- type: boolean
- description: >-
- Whether to rewrite the natural language query for vector search (default
- false)
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ default: false
search_mode:
- type: string
- description: >-
- The search mode to use - "keyword", "vector", or "hybrid" (default "vector")
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: vector
+ type: object
required:
- - query
+ - query
title: OpenaiSearchVectorStoreRequest
VectorStoreSearchResponse:
- type: object
properties:
file_id:
type: string
- description: >-
- Unique identifier of the file containing the result
+ title: File Id
filename:
type: string
- description: Name of the file containing the result
+ title: Filename
score:
type: number
- description: Relevance score for this search result
+ title: Score
attributes:
- type: object
- additionalProperties:
- oneOf:
+ anyOf:
+ - additionalProperties:
+ anyOf:
- type: string
- type: number
- type: boolean
- description: >-
- (Optional) Key-value attributes associated with the file
+ title: string | number | boolean
+ type: object
+ - type: 'null'
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
+ type: array
+ title: Content
+ type: object
+ required:
+ - file_id
+ - filename
+ - score
+ - content
title: VectorStoreSearchResponse
description: Response from searching a vector store.
VectorStoreSearchResponsePage:
- type: object
properties:
object:
type: string
+ title: Object
default: vector_store.search_results.page
- description: >-
- Object type identifier for the search results page
search_query:
- type: array
items:
type: string
- description: >-
- The original search query that was executed
- data:
type: array
+ title: Search Query
+ data:
items:
$ref: '#/components/schemas/VectorStoreSearchResponse'
- description: List of search result objects
+ type: array
+ title: Data
has_more:
type: boolean
+ title: Has More
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
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - object
- - search_query
- - data
- - has_more
+ - search_query
+ - data
title: VectorStoreSearchResponsePage
- description: >-
- Paginated response from searching a vector store.
+ description: Paginated response from searching a vector store.
VersionInfo:
- type: object
properties:
version:
type: string
- description: Version number of the service
- additionalProperties: false
+ title: Version
+ type: object
required:
- - version
+ - version
title: VersionInfo
description: Version information for the service.
AppendRowsRequest:
- type: object
properties:
rows:
- type: array
items:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The rows to append to the dataset.
- additionalProperties: false
+ type: array
+ title: Rows
+ type: object
required:
- - rows
+ - rows
title: AppendRowsRequest
PaginatedResponse:
- type: object
properties:
data:
- type: array
items:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The list of items for the current page
+ type: array
+ title: Data
has_more:
type: boolean
- description: >-
- Whether there are more items available after this set
+ title: Has More
url:
- type: string
- description: The URL for accessing this list
- additionalProperties: false
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
required:
- - data
- - has_more
+ - data
+ - has_more
title: PaginatedResponse
- description: >-
- A generic paginated response that follows a simple format.
+ description: A generic paginated response that follows a simple format.
Dataset:
- type: object
properties:
identifier:
type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
provider_resource_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
provider_id:
type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
type:
type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
const: dataset
+ title: Type
default: dataset
- description: >-
- Type of resource, always 'dataset' for datasets
purpose:
- type: string
- enum:
- - post-training/messages
- - eval/question-answer
- - eval/messages-answer
- description: >-
- Purpose of the dataset indicating its intended use
+ $ref: '#/components/schemas/DatasetPurpose'
source:
oneOf:
- - $ref: '#/components/schemas/URIDataSource'
- - $ref: '#/components/schemas/RowsDataSource'
+ - $ref: '#/components/schemas/URIDataSource'
+ title: URIDataSource
+ - $ref: '#/components/schemas/RowsDataSource'
+ title: RowsDataSource
+ title: URIDataSource | RowsDataSource
discriminator:
propertyName: type
mapping:
- uri: '#/components/schemas/URIDataSource'
rows: '#/components/schemas/RowsDataSource'
- description: >-
- Data source configuration for the dataset
+ uri: '#/components/schemas/URIDataSource'
metadata:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: Additional metadata for the dataset
- additionalProperties: false
- required:
- - identifier
- - provider_id
- - type
- - purpose
- - source
- - metadata
+ title: Metadata
+ description: Any additional metadata for this dataset
+ type: object
+ required:
+ - identifier
+ - provider_id
+ - purpose
+ - source
title: Dataset
- description: >-
- Dataset resource for storing and accessing training or evaluation data.
+ description: Dataset resource for storing and accessing training or evaluation data.
RowsDataSource:
- type: object
properties:
type:
type: string
const: rows
+ title: Type
default: rows
rows:
- type: array
items:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- The dataset is stored in rows. E.g. - [ {"messages": [{"role": "user",
- "content": "Hello, world!"}, {"role": "assistant", "content": "Hello,
- world!"}]} ]
- additionalProperties: false
- required:
- - type
- - rows
+ type: array
+ title: Rows
+ type: object
+ required:
+ - rows
title: RowsDataSource
description: A dataset stored in rows.
URIDataSource:
- type: object
properties:
type:
type: string
const: uri
+ title: Type
default: uri
uri:
type: string
- description: >-
- The dataset can be obtained from a URI. E.g. - "https://mywebsite.com/mydata.jsonl"
- - "lsfs://mydata.jsonl" - "data:csv;base64,{base64_content}"
- additionalProperties: false
+ title: Uri
+ type: object
required:
- - type
- - uri
+ - uri
title: URIDataSource
- description: >-
- A dataset that can be obtained from a URI.
+ description: A dataset that can be obtained from a URI.
ListDatasetsResponse:
- type: object
properties:
data:
- type: array
items:
$ref: '#/components/schemas/Dataset'
- description: List of datasets
- additionalProperties: false
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListDatasetsResponse
description: Response from listing datasets.
Benchmark:
- type: object
properties:
identifier:
type: string
+ title: Identifier
+ description: Unique identifier for this resource in llama stack
provider_resource_id:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Unique identifier for this resource in the provider
provider_id:
type: string
+ title: Provider Id
+ description: ID of the provider that owns this resource
type:
type: string
- enum:
- - model
- - shield
- - vector_store
- - dataset
- - scoring_function
- - benchmark
- - tool
- - tool_group
- - prompt
const: benchmark
+ title: Type
default: benchmark
- description: The resource type, always benchmark
dataset_id:
type: string
- description: >-
- Identifier of the dataset to use for the benchmark evaluation
+ title: Dataset Id
scoring_functions:
- type: array
items:
type: string
- description: >-
- List of scoring function identifiers to apply during evaluation
+ type: array
+ title: Scoring Functions
metadata:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
+ title: Metadata
description: Metadata for this evaluation task
- additionalProperties: false
- required:
- - identifier
- - provider_id
- - type
- - dataset_id
- - scoring_functions
- - metadata
+ type: object
+ required:
+ - identifier
+ - provider_id
+ - dataset_id
+ - scoring_functions
title: Benchmark
- description: >-
- A benchmark resource for evaluating model performance.
+ description: A benchmark resource for evaluating model performance.
ListBenchmarksResponse:
- type: object
properties:
data:
- type: array
items:
$ref: '#/components/schemas/Benchmark'
- additionalProperties: false
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListBenchmarksResponse
BenchmarkConfig:
- type: object
properties:
eval_candidate:
$ref: '#/components/schemas/ModelCandidate'
- description: The candidate to evaluate.
scoring_params:
- type: object
additionalProperties:
- $ref: '#/components/schemas/ScoringFnParams'
- description: >-
- Map between scoring function id and parameters for each scoring function
- you want to run
+ oneOf:
+ - $ref: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ title: LLMAsJudgeScoringFnParams
+ - $ref: '#/components/schemas/RegexParserScoringFnParams'
+ title: RegexParserScoringFnParams
+ - $ref: '#/components/schemas/BasicScoringFnParams'
+ title: BasicScoringFnParams
+ discriminator:
+ propertyName: type
+ mapping:
+ basic: '#/components/schemas/BasicScoringFnParams'
+ llm_as_judge: '#/components/schemas/LLMAsJudgeScoringFnParams'
+ regex_parser: '#/components/schemas/RegexParserScoringFnParams'
+ title: LLMAsJudgeScoringFnParams | RegexParserScoringFnParams | BasicScoringFnParams
+ type: object
+ title: Scoring Params
+ description: Map between scoring function id and parameters for each scoring function you want to run
num_examples:
- type: integer
- description: >-
- (Optional) The number of examples to evaluate. If not provided, all examples
- in the dataset will be evaluated
- additionalProperties: false
+ anyOf:
+ - type: integer
+ - type: 'null'
+ description: Number of examples to evaluate (useful for testing), if not provided, all examples in the dataset will be evaluated
+ type: object
required:
- - eval_candidate
- - scoring_params
+ - eval_candidate
title: BenchmarkConfig
- description: >-
- A benchmark configuration for evaluation.
+ description: A benchmark configuration for evaluation.
GreedySamplingStrategy:
- type: object
properties:
type:
type: string
const: greedy
+ title: Type
default: greedy
- description: >-
- Must be "greedy" to identify this sampling strategy
- additionalProperties: false
- required:
- - type
+ type: object
title: GreedySamplingStrategy
- description: >-
- Greedy sampling strategy that selects the highest probability token at each
- step.
+ description: Greedy sampling strategy that selects the highest probability token at each step.
ModelCandidate:
- type: object
properties:
type:
type: string
const: model
+ title: Type
default: model
model:
type: string
- description: The model ID to evaluate.
+ title: Model
sampling_params:
$ref: '#/components/schemas/SamplingParams'
- description: The sampling parameters for the model.
system_message:
- $ref: '#/components/schemas/SystemMessage'
- description: >-
- (Optional) The system message providing instructions or context to the
- model.
- additionalProperties: false
- required:
- - type
- - model
- - sampling_params
+ anyOf:
+ - $ref: '#/components/schemas/SystemMessage'
+ title: SystemMessage
+ - type: 'null'
+ title: SystemMessage
+ type: object
+ required:
+ - model
+ - sampling_params
title: ModelCandidate
description: A model candidate for evaluation.
SamplingParams:
- type: object
properties:
strategy:
oneOf:
- - $ref: '#/components/schemas/GreedySamplingStrategy'
- - $ref: '#/components/schemas/TopPSamplingStrategy'
- - $ref: '#/components/schemas/TopKSamplingStrategy'
+ - $ref: '#/components/schemas/GreedySamplingStrategy'
+ title: GreedySamplingStrategy
+ - $ref: '#/components/schemas/TopPSamplingStrategy'
+ title: TopPSamplingStrategy
+ - $ref: '#/components/schemas/TopKSamplingStrategy'
+ title: TopKSamplingStrategy
+ title: GreedySamplingStrategy | TopPSamplingStrategy | TopKSamplingStrategy
discriminator:
propertyName: type
mapping:
greedy: '#/components/schemas/GreedySamplingStrategy'
- top_p: '#/components/schemas/TopPSamplingStrategy'
top_k: '#/components/schemas/TopKSamplingStrategy'
- description: The sampling strategy.
+ top_p: '#/components/schemas/TopPSamplingStrategy'
max_tokens:
- type: integer
- description: >-
- The maximum number of tokens that can be generated in the completion.
- The token count of your prompt plus max_tokens cannot exceed the model's
- context length.
+ anyOf:
+ - type: integer
+ - type: 'null'
repetition_penalty:
- type: number
+ anyOf:
+ - type: number
+ - type: 'null'
default: 1.0
- description: >-
- Number between -2.0 and 2.0. Positive values penalize new tokens based
- on whether they appear in the text so far, increasing the model's likelihood
- to talk about new topics.
stop:
- type: array
- items:
- type: string
- description: >-
- Up to 4 sequences where the API will stop generating further tokens. The
- returned text will not contain the stop sequence.
- additionalProperties: false
- required:
- - strategy
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ type: object
title: SamplingParams
description: Sampling parameters.
SystemMessage:
- type: object
properties:
role:
type: string
const: system
+ title: Role
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
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ type: array
+ title: list[ImageContentItem-Input | TextContentItem]
+ title: string | list[ImageContentItem-Input | TextContentItem]
+ type: object
+ required:
+ - content
title: SystemMessage
- description: >-
- A system message providing instructions or context to the model.
+ description: A system message providing instructions or context to the model.
TopKSamplingStrategy:
- type: object
properties:
type:
type: string
const: top_k
+ title: Type
default: top_k
- description: >-
- Must be "top_k" to identify this sampling strategy
top_k:
type: integer
- description: >-
- Number of top tokens to consider for sampling. Must be at least 1
- additionalProperties: false
+ minimum: 1.0
+ title: Top K
+ type: object
required:
- - type
- - top_k
+ - top_k
title: TopKSamplingStrategy
- description: >-
- Top-k sampling strategy that restricts sampling to the k most likely tokens.
+ description: Top-k sampling strategy that restricts sampling to the k most likely tokens.
TopPSamplingStrategy:
- type: object
properties:
type:
type: string
const: top_p
+ title: Type
default: top_p
- description: >-
- Must be "top_p" to identify this sampling strategy
temperature:
- type: number
- description: >-
- Controls randomness in sampling. Higher values increase randomness
+ anyOf:
+ - type: number
+ minimum: 0.0
+ - type: 'null'
top_p:
- type: number
+ anyOf:
+ - type: number
+ - type: 'null'
default: 0.95
- description: >-
- Cumulative probability threshold for nucleus sampling. Defaults to 0.95
- additionalProperties: false
+ type: object
required:
- - type
+ - temperature
title: TopPSamplingStrategy
- description: >-
- Top-p (nucleus) sampling strategy that samples from the smallest set of tokens
- with cumulative probability >= p.
+ description: Top-p (nucleus) sampling strategy that samples from the smallest set of tokens with cumulative probability >= p.
EvaluateRowsRequest:
- type: object
properties:
input_rows:
- type: array
items:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The rows to evaluate.
- scoring_functions:
type: array
+ title: Input Rows
+ scoring_functions:
items:
type: string
- description: >-
- The scoring functions to use for the evaluation.
+ type: array
+ title: Scoring Functions
benchmark_config:
$ref: '#/components/schemas/BenchmarkConfig'
- description: The configuration for the benchmark.
- additionalProperties: false
+ type: object
required:
- - input_rows
- - scoring_functions
- - benchmark_config
+ - input_rows
+ - scoring_functions
+ - benchmark_config
title: EvaluateRowsRequest
EvaluateResponse:
- type: object
properties:
generations:
- type: array
items:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The generations from the evaluation.
+ type: array
+ title: Generations
scores:
- type: object
additionalProperties:
$ref: '#/components/schemas/ScoringResult'
- description: The scores from the evaluation.
- additionalProperties: false
+ type: object
+ title: Scores
+ type: object
required:
- - generations
- - scores
+ - generations
+ - scores
title: EvaluateResponse
description: The response from an evaluation.
- RunEvalRequest:
- type: object
- properties:
- benchmark_config:
- $ref: '#/components/schemas/BenchmarkConfig'
- description: The configuration for the benchmark.
- additionalProperties: false
- required:
- - benchmark_config
- title: RunEvalRequest
Job:
- type: object
properties:
job_id:
type: string
- description: Unique identifier for the job
+ title: Job Id
status:
- type: string
- enum:
- - completed
- - in_progress
- - failed
- - scheduled
- - cancelled
- description: Current execution status of the job
- additionalProperties: false
- required:
- - job_id
- - status
+ $ref: '#/components/schemas/JobStatus'
+ type: object
+ required:
+ - job_id
+ - status
title: Job
- description: >-
- A job execution instance with status tracking.
+ description: A job execution instance with status tracking.
RerankRequest:
- type: object
properties:
model:
type: string
- description: >-
- The identifier of the reranking model to use.
+ title: Model
query:
- oneOf:
+ anyOf:
+ - type: string
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ title: string | OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam
+ items:
+ items:
+ anyOf:
- type: string
- $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
- $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
- description: >-
- The search query to rank items against. Can be a string, text content
- part, or image content part. The input must not exceed the model's max
- input token length.
- items:
+ title: OpenAIChatCompletionContentPartImageParam
+ title: string | OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam
type: array
- items:
- oneOf:
- - type: string
- - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
- - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
- description: >-
- List of items to rerank. Each item can be a string, text content part,
- or image content part. Each input must not exceed the model's max input
- token length.
+ title: Items
max_num_results:
- type: integer
- description: >-
- (Optional) Maximum number of results to return. Default: returns all.
- additionalProperties: false
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
required:
- - model
- - query
- - items
+ - model
+ - query
+ - items
title: RerankRequest
RerankData:
- type: object
properties:
index:
type: integer
- description: >-
- The original index of the document in the input list
+ title: Index
relevance_score:
type: number
- description: >-
- The relevance score from the model output. Values are inverted when applicable
- so that higher scores indicate greater relevance.
- additionalProperties: false
+ title: Relevance Score
+ type: object
required:
- - index
- - relevance_score
+ - index
+ - relevance_score
title: RerankData
- description: >-
- A single rerank result from a reranking response.
+ description: A single rerank result from a reranking response.
RerankResponse:
- type: object
properties:
data:
- type: array
items:
$ref: '#/components/schemas/RerankData'
- description: >-
- List of rerank result objects, sorted by relevance score (descending)
- additionalProperties: false
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: RerankResponse
description: Response from a reranking request.
Checkpoint:
- type: object
properties:
identifier:
type: string
- description: Unique identifier for the checkpoint
+ title: Identifier
created_at:
type: string
format: date-time
- description: >-
- Timestamp when the checkpoint was created
+ title: Created At
epoch:
type: integer
- description: >-
- Training epoch when the checkpoint was saved
+ title: Epoch
post_training_job_id:
type: string
- description: >-
- Identifier of the training job that created this checkpoint
+ title: Post Training Job Id
path:
type: string
- description: >-
- File system path where the checkpoint is stored
+ title: Path
training_metrics:
- $ref: '#/components/schemas/PostTrainingMetric'
- description: >-
- (Optional) Training metrics associated with this checkpoint
- additionalProperties: false
- required:
- - identifier
- - created_at
- - epoch
- - post_training_job_id
- - path
+ anyOf:
+ - $ref: '#/components/schemas/PostTrainingMetric'
+ title: PostTrainingMetric
+ - type: 'null'
+ title: PostTrainingMetric
+ type: object
+ required:
+ - identifier
+ - created_at
+ - epoch
+ - post_training_job_id
+ - path
title: Checkpoint
description: Checkpoint created during training runs.
PostTrainingJobArtifactsResponse:
- type: object
properties:
job_uuid:
type: string
- description: Unique identifier for the training job
+ title: Job Uuid
checkpoints:
- type: array
items:
$ref: '#/components/schemas/Checkpoint'
- description: >-
- List of model checkpoints created during training
- additionalProperties: false
+ type: array
+ title: Checkpoints
+ type: object
required:
- - job_uuid
- - checkpoints
+ - job_uuid
title: PostTrainingJobArtifactsResponse
description: Artifacts of a finetuning job.
PostTrainingMetric:
- type: object
properties:
epoch:
type: integer
- description: Training epoch number
+ title: Epoch
train_loss:
type: number
- description: Loss value on the training dataset
+ title: Train Loss
validation_loss:
type: number
- description: Loss value on the validation dataset
+ title: Validation Loss
perplexity:
type: number
- description: >-
- Perplexity metric indicating model confidence
- additionalProperties: false
- required:
- - epoch
- - train_loss
- - validation_loss
- - perplexity
+ title: Perplexity
+ type: object
+ required:
+ - epoch
+ - train_loss
+ - validation_loss
+ - perplexity
title: PostTrainingMetric
- description: >-
- Training metrics captured during post-training jobs.
+ description: Training metrics captured during post-training jobs.
CancelTrainingJobRequest:
- type: object
properties:
job_uuid:
type: string
- description: The UUID of the job to cancel.
- additionalProperties: false
+ title: Job Uuid
+ type: object
required:
- - job_uuid
+ - job_uuid
title: CancelTrainingJobRequest
PostTrainingJobStatusResponse:
- type: object
properties:
job_uuid:
type: string
- description: Unique identifier for the training job
+ title: Job Uuid
status:
- type: string
- enum:
- - completed
- - in_progress
- - failed
- - scheduled
- - cancelled
- description: Current status of the training job
+ $ref: '#/components/schemas/JobStatus'
scheduled_at:
- type: string
- format: date-time
- description: >-
- (Optional) Timestamp when the job was scheduled
+ anyOf:
+ - type: string
+ format: date-time
+ - type: 'null'
started_at:
- type: string
- format: date-time
- description: >-
- (Optional) Timestamp when the job execution began
+ anyOf:
+ - type: string
+ format: date-time
+ - type: 'null'
completed_at:
- type: string
- format: date-time
- description: >-
- (Optional) Timestamp when the job finished, if completed
+ anyOf:
+ - type: string
+ format: date-time
+ - type: 'null'
resources_allocated:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- (Optional) Information about computational resources allocated to the
- job
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
checkpoints:
- type: array
items:
$ref: '#/components/schemas/Checkpoint'
- description: >-
- List of model checkpoints created during training
- additionalProperties: false
+ type: array
+ title: Checkpoints
+ type: object
required:
- - job_uuid
- - status
- - checkpoints
+ - job_uuid
+ - status
title: PostTrainingJobStatusResponse
description: Status of a finetuning job.
ListPostTrainingJobsResponse:
- type: object
properties:
data:
- type: array
items:
- type: object
- properties:
- job_uuid:
- type: string
- additionalProperties: false
- required:
- - job_uuid
- title: PostTrainingJob
- additionalProperties: false
+ $ref: '#/components/schemas/PostTrainingJob'
+ type: array
+ title: Data
+ type: object
required:
- - data
+ - data
title: ListPostTrainingJobsResponse
DPOAlignmentConfig:
- type: object
properties:
beta:
type: number
- description: Temperature parameter for the DPO loss
+ title: Beta
loss_type:
$ref: '#/components/schemas/DPOLossType'
default: sigmoid
- description: The type of loss function to use for DPO
- additionalProperties: false
+ type: object
required:
- - beta
- - loss_type
+ - beta
title: DPOAlignmentConfig
- description: >-
- Configuration for Direct Preference Optimization (DPO) alignment.
+ description: Configuration for Direct Preference Optimization (DPO) alignment.
DPOLossType:
type: string
enum:
- - sigmoid
- - hinge
- - ipo
- - kto_pair
+ - sigmoid
+ - hinge
+ - ipo
+ - kto_pair
title: DPOLossType
DataConfig:
- type: object
properties:
dataset_id:
type: string
- description: >-
- Unique identifier for the training dataset
+ title: Dataset Id
batch_size:
type: integer
- description: Number of samples per training batch
+ title: Batch Size
shuffle:
type: boolean
- description: >-
- Whether to shuffle the dataset during training
+ title: Shuffle
data_format:
$ref: '#/components/schemas/DatasetFormat'
- description: >-
- Format of the dataset (instruct or dialog)
validation_dataset_id:
- type: string
- description: >-
- (Optional) Unique identifier for the validation dataset
+ anyOf:
+ - type: string
+ - type: 'null'
packed:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
default: false
- description: >-
- (Optional) Whether to pack multiple samples into a single sequence for
- efficiency
train_on_input:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
default: false
- description: >-
- (Optional) Whether to compute loss on input tokens as well as output tokens
- additionalProperties: false
- required:
- - dataset_id
- - batch_size
- - shuffle
- - data_format
+ type: object
+ required:
+ - dataset_id
+ - batch_size
+ - shuffle
+ - data_format
title: DataConfig
- description: >-
- Configuration for training data and data loading.
+ description: Configuration for training data and data loading.
DatasetFormat:
type: string
enum:
- - instruct
- - dialog
+ - instruct
+ - dialog
title: DatasetFormat
description: Format of the training dataset.
EfficiencyConfig:
- type: object
properties:
enable_activation_checkpointing:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
default: false
- description: >-
- (Optional) Whether to use activation checkpointing to reduce memory usage
enable_activation_offloading:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
default: false
- description: >-
- (Optional) Whether to offload activations to CPU to save GPU memory
memory_efficient_fsdp_wrap:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
default: false
- description: >-
- (Optional) Whether to use memory-efficient FSDP wrapping
fsdp_cpu_offload:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
default: false
- description: >-
- (Optional) Whether to offload FSDP parameters to CPU
- additionalProperties: false
+ type: object
title: EfficiencyConfig
- description: >-
- Configuration for memory and compute efficiency optimizations.
+ description: Configuration for memory and compute efficiency optimizations.
OptimizerConfig:
- type: object
properties:
optimizer_type:
$ref: '#/components/schemas/OptimizerType'
- description: >-
- Type of optimizer to use (adam, adamw, or sgd)
lr:
type: number
- description: Learning rate for the optimizer
+ title: Lr
weight_decay:
type: number
- description: >-
- Weight decay coefficient for regularization
+ title: Weight Decay
num_warmup_steps:
type: integer
- description: Number of steps for learning rate warmup
- additionalProperties: false
+ title: Num Warmup Steps
+ type: object
required:
- - optimizer_type
- - lr
- - weight_decay
- - num_warmup_steps
+ - optimizer_type
+ - lr
+ - weight_decay
+ - num_warmup_steps
title: OptimizerConfig
- description: >-
- Configuration parameters for the optimization algorithm.
+ description: Configuration parameters for the optimization algorithm.
OptimizerType:
type: string
enum:
- - adam
- - adamw
- - sgd
+ - adam
+ - adamw
+ - sgd
title: OptimizerType
- description: >-
- Available optimizer algorithms for training.
+ description: Available optimizer algorithms for training.
TrainingConfig:
- type: object
properties:
n_epochs:
type: integer
- description: Number of training epochs to run
+ title: N Epochs
max_steps_per_epoch:
type: integer
+ title: Max Steps Per Epoch
default: 1
- description: Maximum number of steps to run per epoch
gradient_accumulation_steps:
type: integer
+ title: Gradient Accumulation Steps
default: 1
- description: >-
- Number of steps to accumulate gradients before updating
max_validation_steps:
- type: integer
+ anyOf:
+ - type: integer
+ - type: 'null'
default: 1
- description: >-
- (Optional) Maximum number of validation steps per epoch
data_config:
- $ref: '#/components/schemas/DataConfig'
- description: >-
- (Optional) Configuration for data loading and formatting
+ anyOf:
+ - $ref: '#/components/schemas/DataConfig'
+ title: DataConfig
+ - type: 'null'
+ title: DataConfig
optimizer_config:
- $ref: '#/components/schemas/OptimizerConfig'
- description: >-
- (Optional) Configuration for the optimization algorithm
+ anyOf:
+ - $ref: '#/components/schemas/OptimizerConfig'
+ title: OptimizerConfig
+ - type: 'null'
+ title: OptimizerConfig
efficiency_config:
- $ref: '#/components/schemas/EfficiencyConfig'
- description: >-
- (Optional) Configuration for memory and compute optimizations
+ anyOf:
+ - $ref: '#/components/schemas/EfficiencyConfig'
+ title: EfficiencyConfig
+ - type: 'null'
+ title: EfficiencyConfig
dtype:
- type: string
+ anyOf:
+ - type: string
+ - type: 'null'
default: bf16
- description: >-
- (Optional) Data type for model parameters (bf16, fp16, fp32)
- additionalProperties: false
+ type: object
required:
- - n_epochs
- - max_steps_per_epoch
- - gradient_accumulation_steps
+ - n_epochs
title: TrainingConfig
- description: >-
- Comprehensive configuration for the training process.
+ description: Comprehensive configuration for the training process.
PreferenceOptimizeRequest:
- type: object
properties:
job_uuid:
type: string
- description: The UUID of the job to create.
+ title: Job Uuid
finetuned_model:
type: string
- description: The model to fine-tune.
+ title: Finetuned Model
algorithm_config:
$ref: '#/components/schemas/DPOAlignmentConfig'
- description: The algorithm configuration.
training_config:
$ref: '#/components/schemas/TrainingConfig'
- description: The training configuration.
hyperparam_search_config:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The hyperparam search configuration.
+ title: Hyperparam Search Config
logger_config:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The logger configuration.
- additionalProperties: false
- required:
- - job_uuid
- - finetuned_model
- - algorithm_config
- - training_config
- - hyperparam_search_config
- - logger_config
+ title: Logger Config
+ type: object
+ required:
+ - job_uuid
+ - finetuned_model
+ - algorithm_config
+ - training_config
+ - hyperparam_search_config
+ - logger_config
title: PreferenceOptimizeRequest
PostTrainingJob:
- type: object
properties:
job_uuid:
type: string
- additionalProperties: false
+ title: Job Uuid
+ type: object
required:
- - job_uuid
+ - job_uuid
title: PostTrainingJob
AlgorithmConfig:
- oneOf:
- - $ref: '#/components/schemas/LoraFinetuningConfig'
- - $ref: '#/components/schemas/QATFinetuningConfig'
discriminator:
- propertyName: type
mapping:
LoRA: '#/components/schemas/LoraFinetuningConfig'
QAT: '#/components/schemas/QATFinetuningConfig'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/LoraFinetuningConfig'
+ title: LoraFinetuningConfig
+ - $ref: '#/components/schemas/QATFinetuningConfig'
+ title: QATFinetuningConfig
+ title: LoraFinetuningConfig | QATFinetuningConfig
LoraFinetuningConfig:
- type: object
properties:
type:
type: string
const: LoRA
+ title: Type
default: LoRA
- description: Algorithm type identifier, always "LoRA"
lora_attn_modules:
- type: array
items:
type: string
- description: >-
- List of attention module names to apply LoRA to
+ type: array
+ title: Lora Attn Modules
apply_lora_to_mlp:
type: boolean
- description: Whether to apply LoRA to MLP layers
+ title: Apply Lora To Mlp
apply_lora_to_output:
type: boolean
- description: >-
- Whether to apply LoRA to output projection layers
+ title: Apply Lora To Output
rank:
type: integer
- description: >-
- Rank of the LoRA adaptation (lower rank = fewer parameters)
+ title: Rank
alpha:
type: integer
- description: >-
- LoRA scaling parameter that controls adaptation strength
+ title: Alpha
use_dora:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
default: false
- description: >-
- (Optional) Whether to use DoRA (Weight-Decomposed Low-Rank Adaptation)
quantize_base:
- type: boolean
+ anyOf:
+ - type: boolean
+ - type: 'null'
default: false
- description: >-
- (Optional) Whether to quantize the base model weights
- additionalProperties: false
- required:
- - type
- - lora_attn_modules
- - apply_lora_to_mlp
- - apply_lora_to_output
- - rank
- - alpha
+ type: object
+ required:
+ - lora_attn_modules
+ - apply_lora_to_mlp
+ - apply_lora_to_output
+ - rank
+ - alpha
title: LoraFinetuningConfig
- description: >-
- Configuration for Low-Rank Adaptation (LoRA) fine-tuning.
+ description: Configuration for Low-Rank Adaptation (LoRA) fine-tuning.
QATFinetuningConfig:
- type: object
properties:
type:
type: string
const: QAT
+ title: Type
default: QAT
- description: Algorithm type identifier, always "QAT"
quantizer_name:
type: string
- description: >-
- Name of the quantization algorithm to use
+ title: Quantizer Name
group_size:
type: integer
- description: Size of groups for grouped quantization
- additionalProperties: false
+ title: Group Size
+ type: object
required:
- - type
- - quantizer_name
- - group_size
+ - quantizer_name
+ - group_size
title: QATFinetuningConfig
- description: >-
- Configuration for Quantization-Aware Training (QAT) fine-tuning.
+ description: Configuration for Quantization-Aware Training (QAT) fine-tuning.
SupervisedFineTuneRequest:
- type: object
properties:
job_uuid:
type: string
- description: The UUID of the job to create.
+ title: Job Uuid
training_config:
$ref: '#/components/schemas/TrainingConfig'
- description: The training configuration.
hyperparam_search_config:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The hyperparam search configuration.
+ title: Hyperparam Search Config
logger_config:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The logger configuration.
+ title: Logger Config
model:
- type: string
- description: The model to fine-tune.
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: Model descriptor for training if not in provider config`
checkpoint_dir:
- type: string
- description: The directory to save checkpoint(s) to.
+ anyOf:
+ - type: string
+ - type: 'null'
algorithm_config:
- $ref: '#/components/schemas/AlgorithmConfig'
- description: The algorithm configuration.
- additionalProperties: false
- required:
- - job_uuid
- - training_config
- - hyperparam_search_config
- - logger_config
+ anyOf:
+ - oneOf:
+ - $ref: '#/components/schemas/LoraFinetuningConfig'
+ title: LoraFinetuningConfig
+ - $ref: '#/components/schemas/QATFinetuningConfig'
+ title: QATFinetuningConfig
+ discriminator:
+ propertyName: type
+ mapping:
+ LoRA: '#/components/schemas/LoraFinetuningConfig'
+ QAT: '#/components/schemas/QATFinetuningConfig'
+ title: LoraFinetuningConfig | QATFinetuningConfig
+ - type: 'null'
+ title: Algorithm Config
+ type: object
+ required:
+ - job_uuid
+ - training_config
+ - hyperparam_search_config
+ - logger_config
title: SupervisedFineTuneRequest
RegisterModelRequest:
- type: object
properties:
model_id:
type: string
- description: The identifier of the model to register.
+ title: Model Id
provider_model_id:
- type: string
- description: >-
- The identifier of the model in the provider.
+ anyOf:
+ - type: string
+ - type: 'null'
provider_id:
- type: string
- description: The identifier of the provider.
+ anyOf:
+ - type: string
+ - type: 'null'
metadata:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: Any additional metadata for this model.
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
model_type:
- $ref: '#/components/schemas/ModelType'
- description: The type of model to register.
- additionalProperties: false
+ anyOf:
+ - $ref: '#/components/schemas/ModelType'
+ title: ModelType
+ - type: 'null'
+ title: ModelType
+ type: object
required:
- - model_id
+ - model_id
title: RegisterModelRequest
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'
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'
+ boolean: '#/components/schemas/BooleanType'
chat_completion_input: '#/components/schemas/ChatCompletionInputType'
completion_input: '#/components/schemas/CompletionInputType'
- 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
+ json: '#/components/schemas/JsonType'
+ number: '#/components/schemas/NumberType'
+ object: '#/components/schemas/ObjectType'
+ string: '#/components/schemas/StringType'
+ union: '#/components/schemas/UnionType'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/StringType'
+ title: StringType
+ - $ref: '#/components/schemas/NumberType'
+ title: NumberType
+ - $ref: '#/components/schemas/BooleanType'
+ title: BooleanType
+ - $ref: '#/components/schemas/ArrayType'
+ title: ArrayType
+ - $ref: '#/components/schemas/ObjectType'
+ title: ObjectType
+ - $ref: '#/components/schemas/JsonType'
+ title: JsonType
+ - $ref: '#/components/schemas/UnionType'
+ title: UnionType
+ - $ref: '#/components/schemas/ChatCompletionInputType'
+ title: ChatCompletionInputType
+ - $ref: '#/components/schemas/CompletionInputType'
+ title: CompletionInputType
+ title: StringType | ... (9 variants)
RegisterShieldRequest:
- type: object
properties:
shield_id:
type: string
- description: >-
- The identifier of the shield to register.
+ title: Shield Id
provider_shield_id:
- type: string
- description: >-
- The identifier of the shield in the provider.
+ anyOf:
+ - type: string
+ - type: 'null'
provider_id:
- type: string
- description: The identifier of the provider.
+ anyOf:
+ - type: string
+ - type: 'null'
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
required:
- - shield_id
+ - shield_id
title: RegisterShieldRequest
RegisterToolGroupRequest:
- type: object
properties:
toolgroup_id:
type: string
- description: The ID of the tool group to register.
+ title: Toolgroup Id
provider_id:
type: string
- description: >-
- The ID of the provider to use for the tool group.
+ title: Provider Id
mcp_endpoint:
- $ref: '#/components/schemas/URL'
- description: >-
- The MCP endpoint to use for the tool group.
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ title: URL
+ - type: 'null'
+ title: URL
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
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - toolgroup_id
+ - provider_id
title: RegisterToolGroupRequest
DataSource:
- oneOf:
- - $ref: '#/components/schemas/URIDataSource'
- - $ref: '#/components/schemas/RowsDataSource'
discriminator:
- propertyName: type
mapping:
- uri: '#/components/schemas/URIDataSource'
rows: '#/components/schemas/RowsDataSource'
- RegisterDatasetRequest:
- type: object
- properties:
- purpose:
- type: string
- enum:
- - post-training/messages
- - eval/question-answer
- - eval/messages-answer
- description: >-
- The purpose of the dataset. One of: - "post-training/messages": The dataset
- contains a messages column with list of messages for post-training. {
- "messages": [ {"role": "user", "content": "Hello, world!"}, {"role": "assistant",
- "content": "Hello, world!"}, ] } - "eval/question-answer": The dataset
- contains a question column and an answer column for evaluation. { "question":
- "What is the capital of France?", "answer": "Paris" } - "eval/messages-answer":
- The dataset contains a messages column with list of messages and an answer
- column for evaluation. { "messages": [ {"role": "user", "content": "Hello,
- my name is John Doe."}, {"role": "assistant", "content": "Hello, John
- Doe. How can I help you today?"}, {"role": "user", "content": "What's
- my name?"}, ], "answer": "John Doe" }
- source:
- $ref: '#/components/schemas/DataSource'
- description: >-
- The data source of the dataset. Ensure that the data source schema is
- compatible with the purpose of the dataset. Examples: - { "type": "uri",
- "uri": "https://mywebsite.com/mydata.jsonl" } - { "type": "uri", "uri":
- "lsfs://mydata.jsonl" } - { "type": "uri", "uri": "data:csv;base64,{base64_content}"
- } - { "type": "uri", "uri": "huggingface://llamastack/simpleqa?split=train"
- } - { "type": "rows", "rows": [ { "messages": [ {"role": "user", "content":
- "Hello, world!"}, {"role": "assistant", "content": "Hello, world!"}, ]
- } ] }
- metadata:
- type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: >-
- The metadata for the dataset. - E.g. {"description": "My dataset"}.
- dataset_id:
- type: string
- description: >-
- The ID of the dataset. If not provided, an ID will be generated.
- additionalProperties: false
- required:
- - purpose
- - source
- title: RegisterDatasetRequest
+ uri: '#/components/schemas/URIDataSource'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/URIDataSource'
+ title: URIDataSource
+ - $ref: '#/components/schemas/RowsDataSource'
+ title: RowsDataSource
+ title: URIDataSource | RowsDataSource
RegisterBenchmarkRequest:
- type: object
properties:
benchmark_id:
type: string
- description: The ID of the benchmark to register.
+ title: Benchmark Id
dataset_id:
type: string
- description: >-
- The ID of the dataset to use for the benchmark.
+ title: Dataset Id
scoring_functions:
- type: array
items:
type: string
- description: >-
- The scoring functions to use for the benchmark.
+ type: array
+ title: Scoring Functions
provider_benchmark_id:
- type: string
- description: >-
- The ID of the provider benchmark to use for the benchmark.
+ anyOf:
+ - type: string
+ - type: 'null'
provider_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ type: object
+ required:
+ - benchmark_id
+ - dataset_id
+ - scoring_functions
+ title: RegisterBenchmarkRequest
+ AllowedToolsFilter:
+ properties:
+ tool_names:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ type: object
+ title: AllowedToolsFilter
+ description: Filter configuration for restricting which MCP tools can be used.
+ ApprovalFilter:
+ properties:
+ always:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ never:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ type: object
+ title: ApprovalFilter
+ description: Filter configuration for MCP tool approval requirements.
+ BatchError:
+ properties:
+ code:
+ anyOf:
+ - type: string
+ - type: 'null'
+ line:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ message:
+ anyOf:
+ - type: string
+ - type: 'null'
+ param:
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
+ title: BatchError
+ BatchRequestCounts:
+ properties:
+ completed:
+ type: integer
+ title: Completed
+ failed:
+ type: integer
+ title: Failed
+ total:
+ type: integer
+ title: Total
+ additionalProperties: true
+ type: object
+ required:
+ - completed
+ - failed
+ - total
+ title: BatchRequestCounts
+ BatchUsage:
+ properties:
+ input_tokens:
+ type: integer
+ title: Input Tokens
+ input_tokens_details:
+ $ref: '#/components/schemas/InputTokensDetails'
+ output_tokens:
+ type: integer
+ title: Output Tokens
+ output_tokens_details:
+ $ref: '#/components/schemas/OutputTokensDetails'
+ total_tokens:
+ type: integer
+ title: Total Tokens
+ additionalProperties: true
+ type: object
+ required:
+ - input_tokens
+ - input_tokens_details
+ - output_tokens
+ - output_tokens_details
+ - total_tokens
+ title: BatchUsage
+ Body_openai_upload_file_v1_files_post:
+ properties:
+ file:
+ type: string
+ format: binary
+ title: File
+ purpose:
+ $ref: '#/components/schemas/OpenAIFilePurpose'
+ expires_after:
+ anyOf:
+ - $ref: '#/components/schemas/ExpiresAfter'
+ title: ExpiresAfter
+ - type: 'null'
+ title: ExpiresAfter
+ type: object
+ required:
+ - file
+ - purpose
+ title: Body_openai_upload_file_v1_files_post
+ Chunk-Input:
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Input'
+ title: ImageContentItem-Input
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Input'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Input | TextContentItem
+ type: array
+ title: list[ImageContentItem-Input | TextContentItem]
+ title: string | list[ImageContentItem-Input | TextContentItem]
+ chunk_id:
type: string
- description: >-
- The ID of the provider to use for the benchmark.
+ title: Chunk Id
metadata:
+ additionalProperties: true
type: object
- additionalProperties:
- oneOf:
- - type: 'null'
- - type: boolean
- - type: number
- - type: string
- - type: array
- - type: object
- description: The metadata to use for the benchmark.
- additionalProperties: false
- required:
- - benchmark_id
- - dataset_id
- - scoring_functions
- title: RegisterBenchmarkRequest
- 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.
- x-displayName: Agents
- - name: Batches
- description: >-
- The API is designed to allow use of openai client libraries for seamless integration.
-
-
- This API provides the following extensions:
- - idempotent batch creation
-
- Note: This API is currently under active development and may undergo changes.
- x-displayName: >-
- The Batches API enables efficient processing of multiple requests in a single
- operation, particularly useful for processing large datasets, batch evaluation
- workflows, and cost-effective inference at scale.
- - name: Benchmarks
- description: ''
- - name: Conversations
- description: >-
- Protocol for conversation management operations.
- x-displayName: Conversations
- - name: DatasetIO
- description: ''
- - name: Datasets
- description: ''
- - name: Eval
- description: >-
- Llama Stack Evaluation API for running evaluations on model and agent candidates.
- x-displayName: Evaluations
- - name: Files
- description: >-
- This API is used to upload documents that can be used with other Llama Stack
- APIs.
- x-displayName: Files
- - name: Inference
- description: >-
- Llama Stack Inference API for generating completions, chat completions, and
- embeddings.
-
-
- This API provides the raw interface to the underlying models. Three 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.
-
- - Rerank models: these models reorder the documents based on their relevance
- to a query.
- x-displayName: Inference
- - name: Inspect
- description: >-
- APIs for inspecting the Llama Stack service, including health status, available
- API routes with methods and implementing providers.
- x-displayName: Inspect
- - name: Models
- description: ''
- - name: PostTraining (Coming Soon)
- description: ''
- - name: Prompts
- description: >-
- Protocol for prompt management operations.
- x-displayName: Prompts
- - name: Providers
- description: >-
- Providers API for inspecting, listing, and modifying providers and their configurations.
- x-displayName: Providers
- - name: Safety
- description: OpenAI-compatible Moderations API.
- x-displayName: Safety
- - name: Scoring
- description: ''
- - name: ScoringFunctions
- description: ''
- - name: Shields
- description: ''
- - name: ToolGroups
- description: ''
- - name: ToolRuntime
- description: ''
- - name: VectorIO
- description: ''
-x-tagGroups:
- - name: Operations
- tags:
- - Agents
- - Batches
- - Benchmarks
- - Conversations
- - DatasetIO
- - Datasets
- - Eval
- - Files
- - Inference
- - Inspect
- - Models
- - PostTraining (Coming Soon)
- - Prompts
- - Providers
- - Safety
- - Scoring
- - ScoringFunctions
- - Shields
- - ToolGroups
- - ToolRuntime
- - VectorIO
+ title: Metadata
+ embedding:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ chunk_metadata:
+ anyOf:
+ - $ref: '#/components/schemas/ChunkMetadata'
+ title: ChunkMetadata
+ - type: 'null'
+ title: ChunkMetadata
+ type: object
+ required:
+ - content
+ - chunk_id
+ title: Chunk
+ description: A chunk of content that can be inserted into a vector database.
+ Chunk-Output:
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem-Output'
+ title: ImageContentItem-Output
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ discriminator:
+ propertyName: type
+ mapping:
+ image: '#/components/schemas/ImageContentItem-Output'
+ text: '#/components/schemas/TextContentItem'
+ title: ImageContentItem-Output | TextContentItem
+ type: array
+ title: list[ImageContentItem-Output | TextContentItem]
+ title: string | list[ImageContentItem-Output | TextContentItem]
+ chunk_id:
+ type: string
+ title: Chunk Id
+ metadata:
+ additionalProperties: true
+ type: object
+ title: Metadata
+ embedding:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ chunk_metadata:
+ anyOf:
+ - $ref: '#/components/schemas/ChunkMetadata'
+ title: ChunkMetadata
+ - type: 'null'
+ title: ChunkMetadata
+ type: object
+ required:
+ - content
+ - chunk_id
+ title: Chunk
+ description: A chunk of content that can be inserted into a vector database.
+ ConversationItemInclude:
+ type: string
+ enum:
+ - web_search_call.action.sources
+ - code_interpreter_call.outputs
+ - computer_call_output.output.image_url
+ - file_search_call.results
+ - message.input_image.image_url
+ - message.output_text.logprobs
+ - reasoning.encrypted_content
+ title: ConversationItemInclude
+ description: Specify additional output data to include in the model response.
+ DatasetPurpose:
+ type: string
+ enum:
+ - post-training/messages
+ - eval/question-answer
+ - eval/messages-answer
+ title: DatasetPurpose
+ description: Purpose of the dataset. Each purpose has a required input data schema.
+ Errors:
+ properties:
+ data:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/BatchError'
+ type: array
+ - type: 'null'
+ object:
+ anyOf:
+ - type: string
+ - type: 'null'
+ additionalProperties: true
+ type: object
+ title: Errors
+ HealthStatus:
+ type: string
+ enum:
+ - OK
+ - Error
+ - Not Implemented
+ title: HealthStatus
+ ImageContentItem-Input:
+ properties:
+ type:
+ type: string
+ const: image
+ title: Type
+ default: image
+ image:
+ $ref: '#/components/schemas/_URLOrData'
+ type: object
+ required:
+ - image
+ title: ImageContentItem
+ description: A image content item
+ ImageContentItem-Output:
+ properties:
+ type:
+ type: string
+ const: image
+ title: Type
+ default: image
+ image:
+ $ref: '#/components/schemas/_URLOrData'
+ type: object
+ required:
+ - image
+ title: ImageContentItem
+ description: A image content item
+ InputTokensDetails:
+ properties:
+ cached_tokens:
+ type: integer
+ title: Cached Tokens
+ additionalProperties: true
+ type: object
+ required:
+ - cached_tokens
+ title: InputTokensDetails
+ JobStatus:
+ type: string
+ enum:
+ - completed
+ - in_progress
+ - failed
+ - scheduled
+ - cancelled
+ title: JobStatus
+ description: Status of a job execution.
+ MCPListToolsTool:
+ properties:
+ input_schema:
+ additionalProperties: true
+ type: object
+ title: Input Schema
+ name:
+ type: string
+ title: Name
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - input_schema
+ - name
+ title: MCPListToolsTool
+ description: Tool definition returned by MCP list tools operation.
+ OpenAIAssistantMessageParam-Input:
+ properties:
+ role:
+ type: string
+ const: assistant
+ title: Role
+ default: assistant
+ content:
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ - type: 'null'
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ tool_calls:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
+ type: object
+ title: OpenAIAssistantMessageParam
+ description: A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
+ OpenAIAssistantMessageParam-Output:
+ properties:
+ role:
+ type: string
+ const: assistant
+ title: Role
+ default: assistant
+ content:
+ anyOf:
+ - type: string
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam]
+ - type: 'null'
+ title: string | list[OpenAIChatCompletionContentPartTextParam]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ tool_calls:
+ anyOf:
+ - items:
+ $ref: '#/components/schemas/OpenAIChatCompletionToolCall'
+ type: array
+ - type: 'null'
+ type: object
+ title: OpenAIAssistantMessageParam
+ description: A message containing the model's (assistant) response in an OpenAI-compatible chat completion request.
+ OpenAIChatCompletionUsageCompletionTokensDetails:
+ properties:
+ reasoning_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ title: OpenAIChatCompletionUsageCompletionTokensDetails
+ description: Token details for output tokens in OpenAI chat completion usage.
+ OpenAIChatCompletionUsagePromptTokensDetails:
+ properties:
+ cached_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ title: OpenAIChatCompletionUsagePromptTokensDetails
+ description: Token details for prompt tokens in OpenAI chat completion usage.
+ OpenAIResponseMessage-Input:
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ discriminator:
+ propertyName: type
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ type: array
+ title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ title: OpenAIResponseOutputMessageContentOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ discriminator:
+ propertyName: type
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
+ type: array
+ title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ role:
+ title: Role
+ type: string
+ enum:
+ - system
+ - developer
+ - user
+ - assistant
+ default: system
+ type:
+ type: string
+ const: message
+ title: Type
+ default: message
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ status:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ - role
+ 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.
+ OpenAIResponseMessage-Output:
+ properties:
+ content:
+ anyOf:
+ - type: string
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ title: OpenAIResponseInputMessageContentImage
+ - $ref: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ title: OpenAIResponseInputMessageContentFile
+ discriminator:
+ propertyName: type
+ mapping:
+ input_file: '#/components/schemas/OpenAIResponseInputMessageContentFile'
+ input_image: '#/components/schemas/OpenAIResponseInputMessageContentImage'
+ input_text: '#/components/schemas/OpenAIResponseInputMessageContentText'
+ title: OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile
+ type: array
+ title: list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile]
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ title: OpenAIResponseOutputMessageContentOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ discriminator:
+ propertyName: type
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseOutputMessageContentOutputText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal
+ type: array
+ title: list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ title: string | list[OpenAIResponseInputMessageContentText | OpenAIResponseInputMessageContentImage | OpenAIResponseInputMessageContentFile] | list[OpenAIResponseOutputMessageContentOutputText | OpenAIResponseContentPartRefusal]
+ role:
+ title: Role
+ type: string
+ enum:
+ - system
+ - developer
+ - user
+ - assistant
+ default: system
+ type:
+ type: string
+ const: message
+ title: Type
+ default: message
+ id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ status:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ - role
+ 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.
+ OpenAIResponseOutputMessageFileSearchToolCallResults:
+ properties:
+ attributes:
+ additionalProperties: true
+ type: object
+ title: Attributes
+ file_id:
+ type: string
+ title: File Id
+ filename:
+ type: string
+ title: Filename
+ score:
+ type: number
+ title: Score
+ text:
+ type: string
+ title: Text
+ type: object
+ required:
+ - attributes
+ - file_id
+ - filename
+ - score
+ - text
+ title: OpenAIResponseOutputMessageFileSearchToolCallResults
+ description: Search results returned by the file search operation.
+ OpenAIResponseTextFormat:
+ properties:
+ type:
+ title: Type
+ type: string
+ enum:
+ - text
+ - json_schema
+ - json_object
+ default: text
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ schema:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ strict:
+ anyOf:
+ - type: boolean
+ - type: 'null'
+ type: object
+ title: OpenAIResponseTextFormat
+ description: Configuration for Responses API text format.
+ OpenAIResponseUsageInputTokensDetails:
+ properties:
+ cached_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ title: OpenAIResponseUsageInputTokensDetails
+ description: Token details for input tokens in OpenAI response usage.
+ OpenAIResponseUsageOutputTokensDetails:
+ properties:
+ reasoning_tokens:
+ anyOf:
+ - type: integer
+ - type: 'null'
+ type: object
+ title: OpenAIResponseUsageOutputTokensDetails
+ description: Token details for output tokens in OpenAI response usage.
+ OpenAIUserMessageParam-Input:
+ properties:
+ role:
+ type: string
+ const: user
+ title: Role
+ default: user
+ content:
+ anyOf:
+ - type: string
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ discriminator:
+ propertyName: type
+ mapping:
+ file: '#/components/schemas/OpenAIFile'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ title: string | list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ title: OpenAIUserMessageParam
+ description: A message from the user in an OpenAI-compatible chat completion request.
+ OpenAIUserMessageParam-Output:
+ properties:
+ role:
+ type: string
+ const: user
+ title: Role
+ default: user
+ content:
+ anyOf:
+ - type: string
+ - items:
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam
+ - $ref: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ title: OpenAIChatCompletionContentPartImageParam
+ - $ref: '#/components/schemas/OpenAIFile'
+ title: OpenAIFile
+ discriminator:
+ propertyName: type
+ mapping:
+ file: '#/components/schemas/OpenAIFile'
+ image_url: '#/components/schemas/OpenAIChatCompletionContentPartImageParam'
+ text: '#/components/schemas/OpenAIChatCompletionContentPartTextParam'
+ title: OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile
+ type: array
+ title: list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ title: string | list[OpenAIChatCompletionContentPartTextParam | OpenAIChatCompletionContentPartImageParam | OpenAIFile]
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ type: object
+ required:
+ - content
+ title: OpenAIUserMessageParam
+ description: A message from the user in an OpenAI-compatible chat completion request.
+ OutputTokensDetails:
+ properties:
+ reasoning_tokens:
+ type: integer
+ title: Reasoning Tokens
+ additionalProperties: true
+ type: object
+ required:
+ - reasoning_tokens
+ title: OutputTokensDetails
+ RegisterDatasetRequestLoose:
+ properties:
+ purpose:
+ title: Purpose
+ source:
+ title: Source
+ metadata:
+ title: Metadata
+ dataset_id:
+ title: Dataset Id
+ type: object
+ required:
+ - purpose
+ - source
+ title: RegisterDatasetRequestLoose
+ RegisterScoringFunctionRequestLoose:
+ properties:
+ scoring_fn_id:
+ title: Scoring Fn Id
+ description:
+ title: Description
+ return_type:
+ title: Return Type
+ provider_scoring_fn_id:
+ title: Provider Scoring Fn Id
+ provider_id:
+ title: Provider Id
+ params:
+ title: Params
+ type: object
+ required:
+ - scoring_fn_id
+ - description
+ - return_type
+ title: RegisterScoringFunctionRequestLoose
+ SearchRankingOptions:
+ properties:
+ ranker:
+ anyOf:
+ - type: string
+ - type: 'null'
+ score_threshold:
+ anyOf:
+ - type: number
+ - type: 'null'
+ default: 0.0
+ type: object
+ title: SearchRankingOptions
+ description: Options for ranking and filtering search results.
+ _URLOrData:
+ properties:
+ url:
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ title: URL
+ - type: 'null'
+ title: URL
+ data:
+ anyOf:
+ - type: string
+ - type: 'null'
+ contentEncoding: base64
+ type: object
+ title: _URLOrData
+ description: A URL or a base64 encoded string
+ SamplingStrategy:
+ discriminator:
+ mapping:
+ greedy: '#/components/schemas/GreedySamplingStrategy'
+ top_k: '#/components/schemas/TopKSamplingStrategy'
+ top_p: '#/components/schemas/TopPSamplingStrategy'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/GreedySamplingStrategy'
+ title: GreedySamplingStrategy
+ - $ref: '#/components/schemas/TopPSamplingStrategy'
+ title: TopPSamplingStrategy
+ - $ref: '#/components/schemas/TopKSamplingStrategy'
+ title: TopKSamplingStrategy
+ title: GreedySamplingStrategy | TopPSamplingStrategy | TopKSamplingStrategy
+ GrammarResponseFormat:
+ description: Configuration for grammar-guided response generation.
+ properties:
+ type:
+ const: grammar
+ default: grammar
+ title: Type
+ type: string
+ bnf:
+ additionalProperties: true
+ title: Bnf
+ type: object
+ required:
+ - bnf
+ title: GrammarResponseFormat
+ type: object
+ JsonSchemaResponseFormat:
+ description: Configuration for JSON schema-guided response generation.
+ properties:
+ type:
+ const: json_schema
+ default: json_schema
+ title: Type
+ type: string
+ json_schema:
+ additionalProperties: true
+ title: Json Schema
+ type: object
+ required:
+ - json_schema
+ title: JsonSchemaResponseFormat
+ type: object
+ ResponseFormat:
+ discriminator:
+ mapping:
+ grammar: '#/components/schemas/GrammarResponseFormat'
+ json_schema: '#/components/schemas/JsonSchemaResponseFormat'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/JsonSchemaResponseFormat'
+ title: JsonSchemaResponseFormat
+ - $ref: '#/components/schemas/GrammarResponseFormat'
+ title: GrammarResponseFormat
+ title: JsonSchemaResponseFormat | GrammarResponseFormat
+ OpenAIResponseContentPart:
+ discriminator:
+ mapping:
+ output_text: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ reasoning_text: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
+ title: OpenAIResponseContentPartOutputText
+ - $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
+ title: OpenAIResponseContentPartRefusal
+ - $ref: '#/components/schemas/OpenAIResponseContentPartReasoningText'
+ title: OpenAIResponseContentPartReasoningText
+ title: OpenAIResponseContentPartOutputText | OpenAIResponseContentPartRefusal | OpenAIResponseContentPartReasoningText
+ SpanEndPayload:
+ description: Payload for a span end event.
+ properties:
+ type:
+ const: span_end
+ default: span_end
+ title: Type
+ type: string
+ status:
+ $ref: '#/components/schemas/SpanStatus'
+ required:
+ - status
+ title: SpanEndPayload
+ type: object
+ SpanStartPayload:
+ description: Payload for a span start event.
+ properties:
+ type:
+ const: span_start
+ default: span_start
+ title: Type
+ type: string
+ name:
+ title: Name
+ type: string
+ parent_span_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ required:
+ - name
+ title: SpanStartPayload
+ type: object
+ SpanStatus:
+ description: The status of a span indicating whether it completed successfully or with an error.
+ enum:
+ - ok
+ - error
+ title: SpanStatus
+ type: string
+ StructuredLogPayload:
+ discriminator:
+ mapping:
+ span_end: '#/components/schemas/SpanEndPayload'
+ span_start: '#/components/schemas/SpanStartPayload'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/SpanStartPayload'
+ title: SpanStartPayload
+ - $ref: '#/components/schemas/SpanEndPayload'
+ title: SpanEndPayload
+ title: SpanStartPayload | SpanEndPayload
+ LogSeverity:
+ description: The severity level of a log message.
+ enum:
+ - verbose
+ - debug
+ - info
+ - warn
+ - error
+ - critical
+ title: LogSeverity
+ type: string
+ MetricEvent:
+ description: A metric event containing a measured value.
+ properties:
+ trace_id:
+ title: Trace Id
+ type: string
+ span_id:
+ title: Span Id
+ type: string
+ timestamp:
+ format: date-time
+ title: Timestamp
+ type: string
+ attributes:
+ anyOf:
+ - additionalProperties:
+ anyOf:
+ - type: string
+ - type: integer
+ - type: number
+ - type: boolean
+ - type: 'null'
+ title: string | ... (4 variants)
+ type: object
+ - type: 'null'
+ type:
+ const: metric
+ default: metric
+ title: Type
+ type: string
+ metric:
+ title: Metric
+ type: string
+ value:
+ anyOf:
+ - type: integer
+ - type: number
+ title: integer | number
+ unit:
+ title: Unit
+ type: string
+ required:
+ - trace_id
+ - span_id
+ - timestamp
+ - metric
+ - value
+ - unit
+ title: MetricEvent
+ type: object
+ StructuredLogEvent:
+ description: A structured log event containing typed payload data.
+ properties:
+ trace_id:
+ title: Trace Id
+ type: string
+ span_id:
+ title: Span Id
+ type: string
+ timestamp:
+ format: date-time
+ title: Timestamp
+ type: string
+ attributes:
+ anyOf:
+ - additionalProperties:
+ anyOf:
+ - type: string
+ - type: integer
+ - type: number
+ - type: boolean
+ - type: 'null'
+ title: string | ... (4 variants)
+ type: object
+ - type: 'null'
+ type:
+ const: structured_log
+ default: structured_log
+ title: Type
+ type: string
+ payload:
+ discriminator:
+ mapping:
+ span_end: '#/components/schemas/SpanEndPayload'
+ span_start: '#/components/schemas/SpanStartPayload'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/SpanStartPayload'
+ title: SpanStartPayload
+ - $ref: '#/components/schemas/SpanEndPayload'
+ title: SpanEndPayload
+ title: SpanStartPayload | SpanEndPayload
+ required:
+ - trace_id
+ - span_id
+ - timestamp
+ - payload
+ title: StructuredLogEvent
+ type: object
+ UnstructuredLogEvent:
+ description: An unstructured log event containing a simple text message.
+ properties:
+ trace_id:
+ title: Trace Id
+ type: string
+ span_id:
+ title: Span Id
+ type: string
+ timestamp:
+ format: date-time
+ title: Timestamp
+ type: string
+ attributes:
+ anyOf:
+ - additionalProperties:
+ anyOf:
+ - type: string
+ - type: integer
+ - type: number
+ - type: boolean
+ - type: 'null'
+ title: string | ... (4 variants)
+ type: object
+ - type: 'null'
+ type:
+ const: unstructured_log
+ default: unstructured_log
+ title: Type
+ type: string
+ message:
+ title: Message
+ type: string
+ severity:
+ $ref: '#/components/schemas/LogSeverity'
+ required:
+ - trace_id
+ - span_id
+ - timestamp
+ - message
+ - severity
+ title: UnstructuredLogEvent
+ type: object
+ Event:
+ discriminator:
+ mapping:
+ metric: '#/components/schemas/MetricEvent'
+ structured_log: '#/components/schemas/StructuredLogEvent'
+ unstructured_log: '#/components/schemas/UnstructuredLogEvent'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/UnstructuredLogEvent'
+ title: UnstructuredLogEvent
+ - $ref: '#/components/schemas/MetricEvent'
+ title: MetricEvent
+ - $ref: '#/components/schemas/StructuredLogEvent'
+ title: StructuredLogEvent
+ title: UnstructuredLogEvent | MetricEvent | StructuredLogEvent
+ MetricInResponse:
+ description: A metric value included in API responses.
+ properties:
+ metric:
+ title: Metric
+ type: string
+ value:
+ anyOf:
+ - type: integer
+ - type: number
+ title: integer | number
+ unit:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ required:
+ - metric
+ - value
+ title: MetricInResponse
+ type: object
+ TextDelta:
+ description: A text content delta for streaming responses.
+ properties:
+ type:
+ const: text
+ default: text
+ title: Type
+ type: string
+ text:
+ title: Text
+ type: string
+ required:
+ - text
+ title: TextDelta
+ type: object
+ ImageDelta:
+ description: An image content delta for streaming responses.
+ properties:
+ type:
+ const: image
+ default: image
+ title: Type
+ type: string
+ image:
+ format: binary
+ title: Image
+ type: string
+ required:
+ - image
+ title: ImageDelta
+ type: object
+ Fp8QuantizationConfig:
+ description: Configuration for 8-bit floating point quantization.
+ properties:
+ type:
+ const: fp8_mixed
+ default: fp8_mixed
+ title: Type
+ type: string
+ title: Fp8QuantizationConfig
+ type: object
+ Bf16QuantizationConfig:
+ description: Configuration for BFloat16 precision (typically no quantization).
+ properties:
+ type:
+ const: bf16
+ default: bf16
+ title: Type
+ type: string
+ title: Bf16QuantizationConfig
+ type: object
+ Int4QuantizationConfig:
+ description: Configuration for 4-bit integer quantization.
+ properties:
+ type:
+ const: int4_mixed
+ default: int4_mixed
+ title: Type
+ type: string
+ scheme:
+ anyOf:
+ - type: string
+ - type: 'null'
+ default: int4_weight_int8_dynamic_activation
+ title: Int4QuantizationConfig
+ type: object
+ UserMessage:
+ description: A message from the user in a chat conversation.
+ properties:
+ role:
+ const: user
+ default: user
+ title: Role
+ type: string
+ content:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
+ context:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ - type: 'null'
+ title: string | list[ImageContentItem | TextContentItem]
+ nullable: true
+ required:
+ - content
+ title: UserMessage
+ type: object
+ ToolResponseMessage:
+ description: A message representing the result of a tool invocation.
+ properties:
+ role:
+ const: tool
+ default: tool
+ title: Role
+ type: string
+ call_id:
+ title: Call Id
+ type: string
+ content:
+ anyOf:
+ - type: string
+ - discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ - items:
+ discriminator:
+ mapping:
+ image: '#/components/schemas/ImageContentItem'
+ text: '#/components/schemas/TextContentItem'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/ImageContentItem'
+ title: ImageContentItem
+ - $ref: '#/components/schemas/TextContentItem'
+ title: TextContentItem
+ title: ImageContentItem | TextContentItem
+ type: array
+ title: list[ImageContentItem | TextContentItem]
+ title: string | list[ImageContentItem | TextContentItem]
+ required:
+ - call_id
+ - content
+ title: ToolResponseMessage
+ type: object
+ TokenLogProbs:
+ description: Log probabilities for generated tokens.
+ properties:
+ logprobs_by_token:
+ additionalProperties:
+ type: number
+ title: Logprobs By Token
+ type: object
+ required:
+ - logprobs_by_token
+ title: TokenLogProbs
+ type: object
+ EmbeddingsResponse:
+ description: Response containing generated embeddings.
+ properties:
+ embeddings:
+ items:
+ items:
+ type: number
+ type: array
+ title: Embeddings
+ type: array
+ required:
+ - embeddings
+ title: EmbeddingsResponse
+ type: object
+ OpenAICompletionLogprobs:
+ description: |-
+ The log probabilities for the tokens in the message from an OpenAI-compatible completion response.
+
+ :text_offset: (Optional) The offset of the token in the text
+ :token_logprobs: (Optional) The log probabilities for the tokens
+ :tokens: (Optional) The tokens
+ :top_logprobs: (Optional) The top log probabilities for the tokens
+ properties:
+ text_offset:
+ anyOf:
+ - items:
+ type: integer
+ type: array
+ - type: 'null'
+ nullable: true
+ token_logprobs:
+ anyOf:
+ - items:
+ type: number
+ type: array
+ - type: 'null'
+ nullable: true
+ tokens:
+ anyOf:
+ - items:
+ type: string
+ type: array
+ - type: 'null'
+ nullable: true
+ top_logprobs:
+ anyOf:
+ - items:
+ additionalProperties:
+ type: number
+ type: object
+ type: array
+ - type: 'null'
+ nullable: true
+ title: OpenAICompletionLogprobs
+ type: object
+ VectorStoreCreateRequest:
+ description: Request to create a vector store.
+ properties:
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ file_ids:
+ items:
+ type: string
+ title: File Ids
+ type: array
+ expires_after:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ chunking_strategy:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ metadata:
+ additionalProperties: true
+ title: Metadata
+ type: object
+ title: VectorStoreCreateRequest
+ type: object
+ VectorStoreModifyRequest:
+ description: Request to modify a vector store.
+ properties:
+ name:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ expires_after:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ metadata:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ title: VectorStoreModifyRequest
+ type: object
+ VectorStoreSearchRequest:
+ description: Request to search a vector store.
+ properties:
+ query:
+ anyOf:
+ - type: string
+ - items:
+ type: string
+ type: array
+ title: list[string]
+ title: string | list[string]
+ filters:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ max_num_results:
+ default: 10
+ title: Max Num Results
+ type: integer
+ ranking_options:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ rewrite_query:
+ default: false
+ title: Rewrite Query
+ type: boolean
+ required:
+ - query
+ title: VectorStoreSearchRequest
+ type: object
+ DialogType:
+ description: Parameter type for dialog data with semantic output labels.
+ properties:
+ type:
+ const: dialog
+ default: dialog
+ title: Type
+ type: string
+ title: DialogType
+ type: object
+ ConversationMessage:
+ description: OpenAI-compatible message item for conversations.
+ properties:
+ id:
+ description: unique identifier for this message
+ title: Id
+ type: string
+ content:
+ description: message content
+ items:
+ additionalProperties: true
+ type: object
+ title: Content
+ type: array
+ role:
+ description: message role
+ title: Role
+ type: string
+ status:
+ description: message status
+ title: Status
+ type: string
+ type:
+ const: message
+ default: message
+ title: Type
+ type: string
+ object:
+ const: message
+ default: message
+ title: Object
+ type: string
+ required:
+ - id
+ - content
+ - role
+ - status
+ title: ConversationMessage
+ type: object
+ ConversationItemCreateRequest:
+ description: Request body for creating conversation items.
+ properties:
+ items:
+ description: Items to include in the conversation context. You may add up to 20 items at a time.
+ items:
+ discriminator:
+ mapping:
+ file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ function_call_output: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ mcp_approval_request: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ mcp_approval_response: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ message: '#/components/schemas/OpenAIResponseMessage'
+ web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ propertyName: type
+ oneOf:
+ - $ref: '#/components/schemas/OpenAIResponseMessage'
+ title: OpenAIResponseMessage
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
+ title: OpenAIResponseOutputMessageWebSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
+ title: OpenAIResponseOutputMessageFileSearchToolCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
+ title: OpenAIResponseOutputMessageFunctionToolCall
+ - $ref: '#/components/schemas/OpenAIResponseInputFunctionToolCallOutput'
+ title: OpenAIResponseInputFunctionToolCallOutput
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalRequest'
+ title: OpenAIResponseMCPApprovalRequest
+ - $ref: '#/components/schemas/OpenAIResponseMCPApprovalResponse'
+ title: OpenAIResponseMCPApprovalResponse
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
+ title: OpenAIResponseOutputMessageMCPCall
+ - $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
+ title: OpenAIResponseOutputMessageMCPListTools
+ title: OpenAIResponseMessage | ... (9 variants)
+ maxItems: 20
+ title: Items
+ type: array
+ required:
+ - items
+ title: ConversationItemCreateRequest
+ type: object
+ ToolGroupInput:
+ description: Input data for registering a tool group.
+ properties:
+ toolgroup_id:
+ title: Toolgroup Id
+ type: string
+ provider_id:
+ title: Provider Id
+ type: string
+ args:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ nullable: true
+ mcp_endpoint:
+ anyOf:
+ - $ref: '#/components/schemas/URL'
+ title: URL
+ - type: 'null'
+ nullable: true
+ title: URL
+ required:
+ - toolgroup_id
+ - provider_id
+ title: ToolGroupInput
+ type: object
+ Api:
+ description: Enumeration of all available APIs in the Llama Stack system.
+ enum:
+ - providers
+ - inference
+ - safety
+ - agents
+ - batches
+ - vector_io
+ - datasetio
+ - scoring
+ - eval
+ - post_training
+ - tool_runtime
+ - models
+ - shields
+ - vector_stores
+ - datasets
+ - scoring_functions
+ - benchmarks
+ - tool_groups
+ - files
+ - prompts
+ - conversations
+ - inspect
+ title: Api
+ type: string
+ ProviderSpec:
+ properties:
+ api:
+ $ref: '#/components/schemas/Api'
+ provider_type:
+ title: Provider Type
+ type: string
+ config_class:
+ description: Fully-qualified classname of the config for this provider
+ title: Config Class
+ type: string
+ api_dependencies:
+ description: Higher-level API surfaces may depend on other providers to provide their functionality
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Api Dependencies
+ type: array
+ optional_api_dependencies:
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Optional Api Dependencies
+ type: array
+ deprecation_warning:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated, specify the warning message here
+ nullable: true
+ deprecation_error:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated and does NOT work, specify the error message here
+ nullable: true
+ module:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2-
+
+ Fully-qualified name of the module to import. The module is expected to have:
+
+ - `get_adapter_impl(config, deps)`: returns the adapter implementation
+
+ Example: `module: ramalama_stack`
+
+ nullable: true
+ pip_packages:
+ description: The pip dependencies needed for this implementation
+ items:
+ type: string
+ title: Pip Packages
+ type: array
+ provider_data_validator:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ is_external:
+ default: false
+ description: Notes whether this provider is an external provider.
+ title: Is External
+ type: boolean
+ deps__:
+ items:
+ type: string
+ title: Deps
+ type: array
+ required:
+ - api
+ - provider_type
+ - config_class
+ title: ProviderSpec
+ type: object
+ InlineProviderSpec:
+ properties:
+ api:
+ $ref: '#/components/schemas/Api'
+ provider_type:
+ title: Provider Type
+ type: string
+ config_class:
+ description: Fully-qualified classname of the config for this provider
+ title: Config Class
+ type: string
+ api_dependencies:
+ description: Higher-level API surfaces may depend on other providers to provide their functionality
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Api Dependencies
+ type: array
+ optional_api_dependencies:
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Optional Api Dependencies
+ type: array
+ deprecation_warning:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated, specify the warning message here
+ nullable: true
+ deprecation_error:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated and does NOT work, specify the error message here
+ nullable: true
+ module:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2-
+
+ Fully-qualified name of the module to import. The module is expected to have:
+
+ - `get_adapter_impl(config, deps)`: returns the adapter implementation
+
+ Example: `module: ramalama_stack`
+
+ nullable: true
+ pip_packages:
+ description: The pip dependencies needed for this implementation
+ items:
+ type: string
+ title: Pip Packages
+ type: array
+ provider_data_validator:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ is_external:
+ default: false
+ description: Notes whether this provider is an external provider.
+ title: Is External
+ type: boolean
+ deps__:
+ items:
+ type: string
+ title: Deps
+ type: array
+ container_image:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2
+
+ The container image to use for this implementation. If one is provided, pip_packages will be ignored.
+ If a provider depends on other providers, the dependencies MUST NOT specify a container image.
+ nullable: true
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2
+
+ A description of the provider. This is used to display in the documentation.
+ nullable: true
+ required:
+ - api
+ - provider_type
+ - config_class
+ title: InlineProviderSpec
+ type: object
+ RemoteProviderSpec:
+ properties:
+ api:
+ $ref: '#/components/schemas/Api'
+ provider_type:
+ title: Provider Type
+ type: string
+ config_class:
+ description: Fully-qualified classname of the config for this provider
+ title: Config Class
+ type: string
+ api_dependencies:
+ description: Higher-level API surfaces may depend on other providers to provide their functionality
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Api Dependencies
+ type: array
+ optional_api_dependencies:
+ items:
+ $ref: '#/components/schemas/Api'
+ title: Optional Api Dependencies
+ type: array
+ deprecation_warning:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated, specify the warning message here
+ nullable: true
+ deprecation_error:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: If this provider is deprecated and does NOT work, specify the error message here
+ nullable: true
+ module:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2-
+
+ Fully-qualified name of the module to import. The module is expected to have:
+
+ - `get_adapter_impl(config, deps)`: returns the adapter implementation
+
+ Example: `module: ramalama_stack`
+
+ nullable: true
+ pip_packages:
+ description: The pip dependencies needed for this implementation
+ items:
+ type: string
+ title: Pip Packages
+ type: array
+ provider_data_validator:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ is_external:
+ default: false
+ description: Notes whether this provider is an external provider.
+ title: Is External
+ type: boolean
+ deps__:
+ items:
+ type: string
+ title: Deps
+ type: array
+ adapter_type:
+ description: Unique identifier for this adapter
+ title: Adapter Type
+ type: string
+ description:
+ anyOf:
+ - type: string
+ - type: 'null'
+ description: |2
+
+ A description of the provider. This is used to display in the documentation.
+ nullable: true
+ required:
+ - api
+ - provider_type
+ - config_class
+ - adapter_type
+ title: RemoteProviderSpec
+ type: object
+ PostTrainingJobLogStream:
+ description: Stream of logs from a finetuning job.
+ properties:
+ job_uuid:
+ title: Job Uuid
+ type: string
+ log_lines:
+ items:
+ type: string
+ title: Log Lines
+ type: array
+ required:
+ - job_uuid
+ - log_lines
+ title: PostTrainingJobLogStream
+ type: object
+ RLHFAlgorithm:
+ description: Available reinforcement learning from human feedback algorithms.
+ enum:
+ - dpo
+ title: RLHFAlgorithm
+ type: string
+ PostTrainingRLHFRequest:
+ description: Request to finetune a model using reinforcement learning from human feedback.
+ properties:
+ job_uuid:
+ title: Job Uuid
+ type: string
+ finetuned_model:
+ $ref: '#/components/schemas/URL'
+ dataset_id:
+ title: Dataset Id
+ type: string
+ validation_dataset_id:
+ title: Validation Dataset Id
+ type: string
+ algorithm:
+ $ref: '#/components/schemas/RLHFAlgorithm'
+ algorithm_config:
+ $ref: '#/components/schemas/DPOAlignmentConfig'
+ optimizer_config:
+ $ref: '#/components/schemas/OptimizerConfig'
+ training_config:
+ $ref: '#/components/schemas/TrainingConfig'
+ hyperparam_search_config:
+ additionalProperties: true
+ title: Hyperparam Search Config
+ type: object
+ logger_config:
+ additionalProperties: true
+ title: Logger Config
+ type: object
+ required:
+ - job_uuid
+ - finetuned_model
+ - dataset_id
+ - validation_dataset_id
+ - algorithm
+ - algorithm_config
+ - optimizer_config
+ - training_config
+ - hyperparam_search_config
+ - logger_config
+ title: PostTrainingRLHFRequest
+ type: object
+ Span:
+ description: A span representing a single operation within a trace.
+ properties:
+ span_id:
+ title: Span Id
+ type: string
+ trace_id:
+ title: Trace Id
+ type: string
+ parent_span_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ name:
+ title: Name
+ type: string
+ start_time:
+ format: date-time
+ title: Start Time
+ type: string
+ end_time:
+ anyOf:
+ - format: date-time
+ type: string
+ - type: 'null'
+ nullable: true
+ attributes:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ required:
+ - span_id
+ - trace_id
+ - name
+ - start_time
+ title: Span
+ type: object
+ Trace:
+ description: A trace representing the complete execution path of a request across multiple operations.
+ properties:
+ trace_id:
+ title: Trace Id
+ type: string
+ root_span_id:
+ title: Root Span Id
+ type: string
+ start_time:
+ format: date-time
+ title: Start Time
+ type: string
+ end_time:
+ anyOf:
+ - format: date-time
+ type: string
+ - type: 'null'
+ nullable: true
+ required:
+ - trace_id
+ - root_span_id
+ - start_time
+ title: Trace
+ type: object
+ EventType:
+ description: The type of telemetry event being logged.
+ enum:
+ - unstructured_log
+ - structured_log
+ - metric
+ title: EventType
+ type: string
+ StructuredLogType:
+ description: The type of structured log event payload.
+ enum:
+ - span_start
+ - span_end
+ title: StructuredLogType
+ type: string
+ EvalTrace:
+ description: A trace record for evaluation purposes.
+ properties:
+ session_id:
+ title: Session Id
+ type: string
+ step:
+ title: Step
+ type: string
+ input:
+ title: Input
+ type: string
+ output:
+ title: Output
+ type: string
+ expected_output:
+ title: Expected Output
+ type: string
+ required:
+ - session_id
+ - step
+ - input
+ - output
+ - expected_output
+ title: EvalTrace
+ type: object
+ SpanWithStatus:
+ description: A span that includes status information.
+ properties:
+ span_id:
+ title: Span Id
+ type: string
+ trace_id:
+ title: Trace Id
+ type: string
+ parent_span_id:
+ anyOf:
+ - type: string
+ - type: 'null'
+ nullable: true
+ name:
+ title: Name
+ type: string
+ start_time:
+ format: date-time
+ title: Start Time
+ type: string
+ end_time:
+ anyOf:
+ - format: date-time
+ type: string
+ - type: 'null'
+ nullable: true
+ attributes:
+ anyOf:
+ - additionalProperties: true
+ type: object
+ - type: 'null'
+ status:
+ anyOf:
+ - $ref: '#/components/schemas/SpanStatus'
+ title: SpanStatus
+ - type: 'null'
+ nullable: true
+ title: SpanStatus
+ required:
+ - span_id
+ - trace_id
+ - name
+ - start_time
+ title: SpanWithStatus
+ type: object
+ QueryConditionOp:
+ description: Comparison operators for query conditions.
+ enum:
+ - eq
+ - ne
+ - gt
+ - lt
+ title: QueryConditionOp
+ type: string
+ QueryCondition:
+ description: A condition for filtering query results.
+ properties:
+ key:
+ title: Key
+ type: string
+ op:
+ $ref: '#/components/schemas/QueryConditionOp'
+ value:
+ title: Value
+ required:
+ - key
+ - op
+ - value
+ title: QueryCondition
+ type: object
+ MetricLabel:
+ description: A label associated with a metric.
+ properties:
+ name:
+ title: Name
+ type: string
+ value:
+ title: Value
+ type: string
+ required:
+ - name
+ - value
+ title: MetricLabel
+ type: object
+ MetricDataPoint:
+ description: A single data point in a metric time series.
+ properties:
+ timestamp:
+ title: Timestamp
+ type: integer
+ value:
+ title: Value
+ type: number
+ unit:
+ title: Unit
+ type: string
+ required:
+ - timestamp
+ - value
+ - unit
+ title: MetricDataPoint
+ type: object
+ MetricSeries:
+ description: A time series of metric data points.
+ properties:
+ metric:
+ title: Metric
+ type: string
+ labels:
+ items:
+ $ref: '#/components/schemas/MetricLabel'
+ title: Labels
+ type: array
+ values:
+ items:
+ $ref: '#/components/schemas/MetricDataPoint'
+ title: Values
+ type: array
+ required:
+ - metric
+ - labels
+ - values
+ title: MetricSeries
+ type: object
+ 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
+ DefaultError:
+ description: An error occurred
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+tags:
+- description: APIs for creating and interacting with agentic systems.
+ name: Agents
+ x-displayName: Agents
+- description: |-
+ The API is designed to allow use of openai client libraries for seamless integration.
+
+ This API provides the following extensions:
+ - idempotent batch creation
+
+ Note: This API is currently under active development and may undergo changes.
+ name: Batches
+ x-displayName: The Batches API enables efficient processing of multiple requests in a single operation, particularly useful for processing large datasets, batch evaluation workflows, and cost-effective inference at scale.
+- description: ''
+ name: Benchmarks
+- description: Protocol for conversation management operations.
+ name: Conversations
+ x-displayName: Conversations
+- description: ''
+ name: DatasetIO
+- description: ''
+ name: Datasets
+- description: Llama Stack Evaluation API for running evaluations on model and agent candidates.
+ name: Eval
+ x-displayName: Evaluations
+- description: This API is used to upload documents that can be used with other Llama Stack APIs.
+ name: Files
+ x-displayName: Files
+- description: |-
+ Llama Stack Inference API for generating completions, chat completions, and embeddings.
+
+ This API provides the raw interface to the underlying models. Three 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.
+ - Rerank models: these models reorder the documents based on their relevance to a query.
+ name: Inference
+ x-displayName: Inference
+- description: APIs for inspecting the Llama Stack service, including health status, available API routes with methods and implementing providers.
+ name: Inspect
+ x-displayName: Inspect
+- description: ''
+ name: Models
+- description: ''
+ name: PostTraining (Coming Soon)
+- description: Protocol for prompt management operations.
+ name: Prompts
+ x-displayName: Prompts
+- description: Providers API for inspecting, listing, and modifying providers and their configurations.
+ name: Providers
+ x-displayName: Providers
+- description: OpenAI-compatible Moderations API.
+ name: Safety
+ x-displayName: Safety
+- description: ''
+ name: Scoring
+- description: ''
+ name: ScoringFunctions
+- description: ''
+ name: Shields
+- description: ''
+ name: ToolGroups
+- description: ''
+ name: ToolRuntime
+- description: ''
+ name: VectorIO
+x-tagGroups:
+- name: Operations
+ tags:
+ - Agents
+ - Batches
+ - Benchmarks
+ - Conversations
+ - DatasetIO
+ - Datasets
+ - Eval
+ - Files
+ - Inference
+ - Inspect
+ - Models
+ - PostTraining (Coming Soon)
+ - Prompts
+ - Providers
+ - Safety
+ - Scoring
+ - ScoringFunctions
+ - Shields
+ - ToolGroups
+ - ToolRuntime
+ - VectorIO
+security:
+- Default: []
diff --git a/pyproject.toml b/pyproject.toml
index f6d28fd03b..bdf8309ad4 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -31,7 +31,7 @@ dependencies = [
"httpx",
"jinja2>=3.1.6",
"jsonschema",
- "llama-stack-api", # API and provider specifications (local dev via tool.uv.sources)
+ "llama-stack-api", # API and provider specifications (local dev via tool.uv.sources)
"openai>=2.5.0",
"prompt-toolkit",
"python-dotenv",
@@ -50,12 +50,13 @@ dependencies = [
"aiosqlite>=0.21.0", # server - for metadata store
"asyncpg", # for metadata store
"sqlalchemy[asyncio]>=2.0.41", # server - for conversations
+ "pyyaml>=6.0.2",
"starlette>=0.49.1",
]
[project.optional-dependencies]
client = [
- "llama-stack-client>=0.3.0", # Optional for library-only usage
+ "llama-stack-client>=0.3.0", # Optional for library-only usage
]
[dependency-groups]
@@ -66,13 +67,14 @@ dev = [
"pytest-cov",
"pytest-html",
"pytest-json-report",
- "pytest-socket", # For blocking network access in unit tests
- "nbval", # For notebook testing
+ "pytest-socket", # For blocking network access in unit tests
+ "nbval", # For notebook testing
"black",
"ruff",
"mypy",
"pre-commit>=4.4.0",
- "ruamel.yaml", # needed for openapi generator
+ "ruamel.yaml", # needed for openapi generator
+ "openapi-spec-validator>=0.7.2",
]
# Type checking dependencies - includes type stubs and optional runtime dependencies
# needed for complete mypy coverage across all optional features
@@ -182,7 +184,12 @@ install-wheel-from-presigned = "llama_stack.cli.scripts.run:install_wheel_from_p
[tool.setuptools.packages.find]
where = ["src"]
-include = ["llama_stack", "llama_stack.*", "llama_stack_api", "llama_stack_api.*"]
+include = [
+ "llama_stack",
+ "llama_stack.*",
+ "llama_stack_api",
+ "llama_stack_api.*",
+]
[[tool.uv.index]]
name = "pytorch-cpu"
@@ -249,7 +256,9 @@ unfixable = [
# Ignore the following errors for the following files
[tool.ruff.lint.per-file-ignores]
"tests/**/*.py" = ["DTZ"] # Ignore datetime rules for tests
-"src/llama_stack/providers/inline/scoring/basic/utils/ifeval_utils.py" = ["RUF001"]
+"src/llama_stack/providers/inline/scoring/basic/utils/ifeval_utils.py" = [
+ "RUF001",
+]
"src/llama_stack/providers/inline/scoring/basic/scoring_fn/fn_defs/regex_parser_multiple_choice_answer.py" = [
"RUF001",
"PLE2515",
@@ -341,7 +350,6 @@ exclude = [
"^src/llama_stack/providers/utils/telemetry/dataset_mixin\\.py$",
"^src/llama_stack/providers/utils/telemetry/trace_protocol\\.py$",
"^src/llama_stack/providers/utils/telemetry/tracing\\.py$",
- "^src/llama_stack_api/strong_typing/auxiliary\\.py$",
"^src/llama_stack/distributions/template\\.py$",
]
diff --git a/scripts/openapi_generator/__init__.py b/scripts/openapi_generator/__init__.py
new file mode 100644
index 0000000000..7f6aaa1d10
--- /dev/null
+++ b/scripts/openapi_generator/__init__.py
@@ -0,0 +1,16 @@
+# Copyright (c) Meta Platforms, Inc. and affiliates.
+# All rights reserved.
+#
+# This source code is licensed under the terms described in the LICENSE file in
+# the root directory of this source tree.
+
+"""
+OpenAPI generator module for Llama Stack.
+
+This module provides functionality to generate OpenAPI specifications
+from FastAPI applications.
+"""
+
+from .main import generate_openapi_spec, main
+
+__all__ = ["generate_openapi_spec", "main"]
diff --git a/docs/openapi_generator/pyopenapi/__init__.py b/scripts/openapi_generator/__main__.py
similarity index 58%
rename from docs/openapi_generator/pyopenapi/__init__.py
rename to scripts/openapi_generator/__main__.py
index 756f351d88..d857e5e7e4 100644
--- a/docs/openapi_generator/pyopenapi/__init__.py
+++ b/scripts/openapi_generator/__main__.py
@@ -3,3 +3,12 @@
#
# This source code is licensed under the terms described in the LICENSE file in
# the root directory of this source tree.
+
+"""
+Entry point for running the openapi_generator module as a package.
+"""
+
+from .main import main
+
+if __name__ == "__main__":
+ main()
diff --git a/scripts/openapi_generator/_legacy_order.py b/scripts/openapi_generator/_legacy_order.py
new file mode 100644
index 0000000000..72863c8fc2
--- /dev/null
+++ b/scripts/openapi_generator/_legacy_order.py
@@ -0,0 +1,502 @@
+# Copyright (c) Meta Platforms, Inc. and affiliates.
+# All rights reserved.
+#
+# This source code is licensed under the terms described in the LICENSE file in
+# the root directory of this source tree.
+
+"""
+Temporary ordering helpers extracted from origin/main client-sdks/stainless/openapi.yml.
+
+These lists help the new generator match the previous ordering so that diffs
+remain readable while we debug schema content regressions. Remove once stable.
+"""
+
+LEGACY_PATH_ORDER = [
+ "/v1/batches",
+ "/v1/batches/{batch_id}",
+ "/v1/batches/{batch_id}/cancel",
+ "/v1/chat/completions",
+ "/v1/chat/completions/{completion_id}",
+ "/v1/completions",
+ "/v1/conversations",
+ "/v1/conversations/{conversation_id}",
+ "/v1/conversations/{conversation_id}/items",
+ "/v1/conversations/{conversation_id}/items/{item_id}",
+ "/v1/embeddings",
+ "/v1/files",
+ "/v1/files/{file_id}",
+ "/v1/files/{file_id}/content",
+ "/v1/health",
+ "/v1/inspect/routes",
+ "/v1/models",
+ "/v1/models/{model_id}",
+ "/v1/moderations",
+ "/v1/prompts",
+ "/v1/prompts/{prompt_id}",
+ "/v1/prompts/{prompt_id}/set-default-version",
+ "/v1/prompts/{prompt_id}/versions",
+ "/v1/providers",
+ "/v1/providers/{provider_id}",
+ "/v1/responses",
+ "/v1/responses/{response_id}",
+ "/v1/responses/{response_id}/input_items",
+ "/v1/safety/run-shield",
+ "/v1/scoring-functions",
+ "/v1/scoring-functions/{scoring_fn_id}",
+ "/v1/scoring/score",
+ "/v1/scoring/score-batch",
+ "/v1/shields",
+ "/v1/shields/{identifier}",
+ "/v1/tool-runtime/invoke",
+ "/v1/tool-runtime/list-tools",
+ "/v1/toolgroups",
+ "/v1/toolgroups/{toolgroup_id}",
+ "/v1/tools",
+ "/v1/tools/{tool_name}",
+ "/v1/vector-io/insert",
+ "/v1/vector-io/query",
+ "/v1/vector_stores",
+ "/v1/vector_stores/{vector_store_id}",
+ "/v1/vector_stores/{vector_store_id}/file_batches",
+ "/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}",
+ "/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}/cancel",
+ "/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}/files",
+ "/v1/vector_stores/{vector_store_id}/files",
+ "/v1/vector_stores/{vector_store_id}/files/{file_id}",
+ "/v1/vector_stores/{vector_store_id}/files/{file_id}/content",
+ "/v1/vector_stores/{vector_store_id}/search",
+ "/v1/version",
+ "/v1beta/datasetio/append-rows/{dataset_id}",
+ "/v1beta/datasetio/iterrows/{dataset_id}",
+ "/v1beta/datasets",
+ "/v1beta/datasets/{dataset_id}",
+ "/v1alpha/eval/benchmarks",
+ "/v1alpha/eval/benchmarks/{benchmark_id}",
+ "/v1alpha/eval/benchmarks/{benchmark_id}/evaluations",
+ "/v1alpha/eval/benchmarks/{benchmark_id}/jobs",
+ "/v1alpha/eval/benchmarks/{benchmark_id}/jobs/{job_id}",
+ "/v1alpha/eval/benchmarks/{benchmark_id}/jobs/{job_id}/result",
+ "/v1alpha/inference/rerank",
+ "/v1alpha/post-training/job/artifacts",
+ "/v1alpha/post-training/job/cancel",
+ "/v1alpha/post-training/job/status",
+ "/v1alpha/post-training/jobs",
+ "/v1alpha/post-training/preference-optimize",
+ "/v1alpha/post-training/supervised-fine-tune",
+]
+
+LEGACY_SCHEMA_ORDER = [
+ "Error",
+ "ListBatchesResponse",
+ "CreateBatchRequest",
+ "Batch",
+ "Order",
+ "ListOpenAIChatCompletionResponse",
+ "OpenAIAssistantMessageParam",
+ "OpenAIChatCompletionContentPartImageParam",
+ "OpenAIChatCompletionContentPartParam",
+ "OpenAIChatCompletionContentPartTextParam",
+ "OpenAIChatCompletionToolCall",
+ "OpenAIChatCompletionToolCallFunction",
+ "OpenAIChatCompletionUsage",
+ "OpenAIChoice",
+ "OpenAIChoiceLogprobs",
+ "OpenAIDeveloperMessageParam",
+ "OpenAIFile",
+ "OpenAIFileFile",
+ "OpenAIImageURL",
+ "OpenAIMessageParam",
+ "OpenAISystemMessageParam",
+ "OpenAITokenLogProb",
+ "OpenAIToolMessageParam",
+ "OpenAITopLogProb",
+ "OpenAIUserMessageParam",
+ "OpenAIJSONSchema",
+ "OpenAIResponseFormatJSONObject",
+ "OpenAIResponseFormatJSONSchema",
+ "OpenAIResponseFormatParam",
+ "OpenAIResponseFormatText",
+ "OpenAIChatCompletionRequestWithExtraBody",
+ "OpenAIChatCompletion",
+ "OpenAIChatCompletionChunk",
+ "OpenAIChoiceDelta",
+ "OpenAIChunkChoice",
+ "OpenAICompletionWithInputMessages",
+ "OpenAICompletionRequestWithExtraBody",
+ "OpenAICompletion",
+ "OpenAICompletionChoice",
+ "ConversationItem",
+ "OpenAIResponseAnnotationCitation",
+ "OpenAIResponseAnnotationContainerFileCitation",
+ "OpenAIResponseAnnotationFileCitation",
+ "OpenAIResponseAnnotationFilePath",
+ "OpenAIResponseAnnotations",
+ "OpenAIResponseContentPartRefusal",
+ "OpenAIResponseInputFunctionToolCallOutput",
+ "OpenAIResponseInputMessageContent",
+ "OpenAIResponseInputMessageContentFile",
+ "OpenAIResponseInputMessageContentImage",
+ "OpenAIResponseInputMessageContentText",
+ "OpenAIResponseMCPApprovalRequest",
+ "OpenAIResponseMCPApprovalResponse",
+ "OpenAIResponseMessage",
+ "OpenAIResponseOutputMessageContent",
+ "OpenAIResponseOutputMessageContentOutputText",
+ "OpenAIResponseOutputMessageFileSearchToolCall",
+ "OpenAIResponseOutputMessageFunctionToolCall",
+ "OpenAIResponseOutputMessageMCPCall",
+ "OpenAIResponseOutputMessageMCPListTools",
+ "OpenAIResponseOutputMessageWebSearchToolCall",
+ "CreateConversationRequest",
+ "Conversation",
+ "UpdateConversationRequest",
+ "ConversationDeletedResource",
+ "ConversationItemList",
+ "AddItemsRequest",
+ "ConversationItemDeletedResource",
+ "OpenAIEmbeddingsRequestWithExtraBody",
+ "OpenAIEmbeddingData",
+ "OpenAIEmbeddingUsage",
+ "OpenAIEmbeddingsResponse",
+ "OpenAIFilePurpose",
+ "ListOpenAIFileResponse",
+ "OpenAIFileObject",
+ "ExpiresAfter",
+ "OpenAIFileDeleteResponse",
+ "Response",
+ "HealthInfo",
+ "RouteInfo",
+ "ListRoutesResponse",
+ "OpenAIModel",
+ "OpenAIListModelsResponse",
+ "Model",
+ "ModelType",
+ "RunModerationRequest",
+ "ModerationObject",
+ "ModerationObjectResults",
+ "Prompt",
+ "ListPromptsResponse",
+ "CreatePromptRequest",
+ "UpdatePromptRequest",
+ "SetDefaultVersionRequest",
+ "ProviderInfo",
+ "ListProvidersResponse",
+ "ListOpenAIResponseObject",
+ "OpenAIResponseError",
+ "OpenAIResponseInput",
+ "OpenAIResponseInputToolFileSearch",
+ "OpenAIResponseInputToolFunction",
+ "OpenAIResponseInputToolWebSearch",
+ "OpenAIResponseObjectWithInput",
+ "OpenAIResponseOutput",
+ "OpenAIResponsePrompt",
+ "OpenAIResponseText",
+ "OpenAIResponseTool",
+ "OpenAIResponseToolMCP",
+ "OpenAIResponseUsage",
+ "ResponseGuardrailSpec",
+ "OpenAIResponseInputTool",
+ "OpenAIResponseInputToolMCP",
+ "CreateOpenaiResponseRequest",
+ "OpenAIResponseObject",
+ "OpenAIResponseContentPartOutputText",
+ "OpenAIResponseContentPartReasoningSummary",
+ "OpenAIResponseContentPartReasoningText",
+ "OpenAIResponseObjectStream",
+ "OpenAIResponseObjectStreamResponseCompleted",
+ "OpenAIResponseObjectStreamResponseContentPartAdded",
+ "OpenAIResponseObjectStreamResponseContentPartDone",
+ "OpenAIResponseObjectStreamResponseCreated",
+ "OpenAIResponseObjectStreamResponseFailed",
+ "OpenAIResponseObjectStreamResponseFileSearchCallCompleted",
+ "OpenAIResponseObjectStreamResponseFileSearchCallInProgress",
+ "OpenAIResponseObjectStreamResponseFileSearchCallSearching",
+ "OpenAIResponseObjectStreamResponseFunctionCallArgumentsDelta",
+ "OpenAIResponseObjectStreamResponseFunctionCallArgumentsDone",
+ "OpenAIResponseObjectStreamResponseInProgress",
+ "OpenAIResponseObjectStreamResponseIncomplete",
+ "OpenAIResponseObjectStreamResponseMcpCallArgumentsDelta",
+ "OpenAIResponseObjectStreamResponseMcpCallArgumentsDone",
+ "OpenAIResponseObjectStreamResponseMcpCallCompleted",
+ "OpenAIResponseObjectStreamResponseMcpCallFailed",
+ "OpenAIResponseObjectStreamResponseMcpCallInProgress",
+ "OpenAIResponseObjectStreamResponseMcpListToolsCompleted",
+ "OpenAIResponseObjectStreamResponseMcpListToolsFailed",
+ "OpenAIResponseObjectStreamResponseMcpListToolsInProgress",
+ "OpenAIResponseObjectStreamResponseOutputItemAdded",
+ "OpenAIResponseObjectStreamResponseOutputItemDone",
+ "OpenAIResponseObjectStreamResponseOutputTextAnnotationAdded",
+ "OpenAIResponseObjectStreamResponseOutputTextDelta",
+ "OpenAIResponseObjectStreamResponseOutputTextDone",
+ "OpenAIResponseObjectStreamResponseReasoningSummaryPartAdded",
+ "OpenAIResponseObjectStreamResponseReasoningSummaryPartDone",
+ "OpenAIResponseObjectStreamResponseReasoningSummaryTextDelta",
+ "OpenAIResponseObjectStreamResponseReasoningSummaryTextDone",
+ "OpenAIResponseObjectStreamResponseReasoningTextDelta",
+ "OpenAIResponseObjectStreamResponseReasoningTextDone",
+ "OpenAIResponseObjectStreamResponseRefusalDelta",
+ "OpenAIResponseObjectStreamResponseRefusalDone",
+ "OpenAIResponseObjectStreamResponseWebSearchCallCompleted",
+ "OpenAIResponseObjectStreamResponseWebSearchCallInProgress",
+ "OpenAIResponseObjectStreamResponseWebSearchCallSearching",
+ "OpenAIDeleteResponseObject",
+ "ListOpenAIResponseInputItem",
+ "RunShieldRequest",
+ "RunShieldResponse",
+ "SafetyViolation",
+ "ViolationLevel",
+ "AggregationFunctionType",
+ "ArrayType",
+ "BasicScoringFnParams",
+ "BooleanType",
+ "ChatCompletionInputType",
+ "CompletionInputType",
+ "JsonType",
+ "LLMAsJudgeScoringFnParams",
+ "NumberType",
+ "ObjectType",
+ "RegexParserScoringFnParams",
+ "ScoringFn",
+ "ScoringFnParams",
+ "ScoringFnParamsType",
+ "StringType",
+ "UnionType",
+ "ListScoringFunctionsResponse",
+ "ScoreRequest",
+ "ScoreResponse",
+ "ScoringResult",
+ "ScoreBatchRequest",
+ "ScoreBatchResponse",
+ "Shield",
+ "ListShieldsResponse",
+ "InvokeToolRequest",
+ "ImageContentItem",
+ "InterleavedContent",
+ "InterleavedContentItem",
+ "TextContentItem",
+ "ToolInvocationResult",
+ "URL",
+ "ToolDef",
+ "ListToolDefsResponse",
+ "ToolGroup",
+ "ListToolGroupsResponse",
+ "Chunk",
+ "ChunkMetadata",
+ "InsertChunksRequest",
+ "QueryChunksRequest",
+ "QueryChunksResponse",
+ "VectorStoreFileCounts",
+ "VectorStoreListResponse",
+ "VectorStoreObject",
+ "VectorStoreChunkingStrategy",
+ "VectorStoreChunkingStrategyAuto",
+ "VectorStoreChunkingStrategyStatic",
+ "VectorStoreChunkingStrategyStaticConfig",
+ "OpenAICreateVectorStoreRequestWithExtraBody",
+ "OpenaiUpdateVectorStoreRequest",
+ "VectorStoreDeleteResponse",
+ "OpenAICreateVectorStoreFileBatchRequestWithExtraBody",
+ "VectorStoreFileBatchObject",
+ "VectorStoreFileStatus",
+ "VectorStoreFileLastError",
+ "VectorStoreFileObject",
+ "VectorStoreFilesListInBatchResponse",
+ "VectorStoreListFilesResponse",
+ "OpenaiAttachFileToVectorStoreRequest",
+ "OpenaiUpdateVectorStoreFileRequest",
+ "VectorStoreFileDeleteResponse",
+ "bool",
+ "VectorStoreContent",
+ "VectorStoreFileContentResponse",
+ "OpenaiSearchVectorStoreRequest",
+ "VectorStoreSearchResponse",
+ "VectorStoreSearchResponsePage",
+ "VersionInfo",
+ "AppendRowsRequest",
+ "PaginatedResponse",
+ "Dataset",
+ "RowsDataSource",
+ "URIDataSource",
+ "ListDatasetsResponse",
+ "Benchmark",
+ "ListBenchmarksResponse",
+ "BenchmarkConfig",
+ "GreedySamplingStrategy",
+ "ModelCandidate",
+ "SamplingParams",
+ "SystemMessage",
+ "TopKSamplingStrategy",
+ "TopPSamplingStrategy",
+ "EvaluateRowsRequest",
+ "EvaluateResponse",
+ "RunEvalRequest",
+ "Job",
+ "RerankRequest",
+ "RerankData",
+ "RerankResponse",
+ "Checkpoint",
+ "PostTrainingJobArtifactsResponse",
+ "PostTrainingMetric",
+ "CancelTrainingJobRequest",
+ "PostTrainingJobStatusResponse",
+ "ListPostTrainingJobsResponse",
+ "DPOAlignmentConfig",
+ "DPOLossType",
+ "DataConfig",
+ "DatasetFormat",
+ "EfficiencyConfig",
+ "OptimizerConfig",
+ "OptimizerType",
+ "TrainingConfig",
+ "PreferenceOptimizeRequest",
+ "PostTrainingJob",
+ "AlgorithmConfig",
+ "LoraFinetuningConfig",
+ "QATFinetuningConfig",
+ "SupervisedFineTuneRequest",
+ "RegisterModelRequest",
+ "ParamType",
+ "RegisterScoringFunctionRequest",
+ "RegisterShieldRequest",
+ "RegisterToolGroupRequest",
+ "DataSource",
+ "RegisterDatasetRequest",
+ "RegisterBenchmarkRequest",
+]
+
+LEGACY_RESPONSE_ORDER = ["BadRequest400", "TooManyRequests429", "InternalServerError500", "DefaultError"]
+
+LEGACY_TAGS = [
+ {
+ "description": "APIs for creating and interacting with agentic systems.",
+ "name": "Agents",
+ "x-displayName": "Agents",
+ },
+ {
+ "description": "The API is designed to allow use of openai client libraries for seamless integration.\n"
+ "\n"
+ "This API provides the following extensions:\n"
+ " - idempotent batch creation\n"
+ "\n"
+ "Note: This API is currently under active development and may undergo changes.",
+ "name": "Batches",
+ "x-displayName": "The Batches API enables efficient processing of multiple requests in a single operation, "
+ "particularly useful for processing large datasets, batch evaluation workflows, and cost-effective "
+ "inference at scale.",
+ },
+ {"description": "", "name": "Benchmarks"},
+ {
+ "description": "Protocol for conversation management operations.",
+ "name": "Conversations",
+ "x-displayName": "Conversations",
+ },
+ {"description": "", "name": "DatasetIO"},
+ {"description": "", "name": "Datasets"},
+ {
+ "description": "Llama Stack Evaluation API for running evaluations on model and agent candidates.",
+ "name": "Eval",
+ "x-displayName": "Evaluations",
+ },
+ {
+ "description": "This API is used to upload documents that can be used with other Llama Stack APIs.",
+ "name": "Files",
+ "x-displayName": "Files",
+ },
+ {
+ "description": "Llama Stack Inference API for generating completions, chat completions, and embeddings.\n"
+ "\n"
+ "This API provides the raw interface to the underlying models. Three kinds of models are supported:\n"
+ '- LLM models: these models generate "raw" and "chat" (conversational) completions.\n'
+ "- Embedding models: these models generate embeddings to be used for semantic search.\n"
+ "- Rerank models: these models reorder the documents based on their relevance to a query.",
+ "name": "Inference",
+ "x-displayName": "Inference",
+ },
+ {
+ "description": "APIs for inspecting the Llama Stack service, including health status, available API routes with "
+ "methods and implementing providers.",
+ "name": "Inspect",
+ "x-displayName": "Inspect",
+ },
+ {"description": "", "name": "Models"},
+ {"description": "", "name": "PostTraining (Coming Soon)"},
+ {"description": "Protocol for prompt management operations.", "name": "Prompts", "x-displayName": "Prompts"},
+ {
+ "description": "Providers API for inspecting, listing, and modifying providers and their configurations.",
+ "name": "Providers",
+ "x-displayName": "Providers",
+ },
+ {"description": "OpenAI-compatible Moderations API.", "name": "Safety", "x-displayName": "Safety"},
+ {"description": "", "name": "Scoring"},
+ {"description": "", "name": "ScoringFunctions"},
+ {"description": "", "name": "Shields"},
+ {"description": "", "name": "ToolGroups"},
+ {"description": "", "name": "ToolRuntime"},
+ {"description": "", "name": "VectorIO"},
+]
+
+LEGACY_TAG_ORDER = [
+ "Agents",
+ "Batches",
+ "Benchmarks",
+ "Conversations",
+ "DatasetIO",
+ "Datasets",
+ "Eval",
+ "Files",
+ "Inference",
+ "Inspect",
+ "Models",
+ "PostTraining (Coming Soon)",
+ "Prompts",
+ "Providers",
+ "Safety",
+ "Scoring",
+ "ScoringFunctions",
+ "Shields",
+ "ToolGroups",
+ "ToolRuntime",
+ "VectorIO",
+]
+
+LEGACY_TAG_GROUPS = [
+ {
+ "name": "Operations",
+ "tags": [
+ "Agents",
+ "Batches",
+ "Benchmarks",
+ "Conversations",
+ "DatasetIO",
+ "Datasets",
+ "Eval",
+ "Files",
+ "Inference",
+ "Inspect",
+ "Models",
+ "PostTraining (Coming Soon)",
+ "Prompts",
+ "Providers",
+ "Safety",
+ "Scoring",
+ "ScoringFunctions",
+ "Shields",
+ "ToolGroups",
+ "ToolRuntime",
+ "VectorIO",
+ ],
+ }
+]
+
+LEGACY_SECURITY = [{"Default": []}]
+
+LEGACY_OPERATION_KEYS = [
+ "responses",
+ "tags",
+ "summary",
+ "description",
+ "operationId",
+ "parameters",
+ "requestBody",
+ "deprecated",
+]
diff --git a/scripts/openapi_generator/app.py b/scripts/openapi_generator/app.py
new file mode 100644
index 0000000000..d972889cdc
--- /dev/null
+++ b/scripts/openapi_generator/app.py
@@ -0,0 +1,91 @@
+# Copyright (c) Meta Platforms, Inc. and affiliates.
+# All rights reserved.
+#
+# This source code is licensed under the terms described in the LICENSE file in
+# the root directory of this source tree.
+
+"""
+FastAPI app creation for OpenAPI generation.
+"""
+
+import inspect
+from typing import Any
+
+from fastapi import FastAPI
+
+from llama_stack.core.resolver import api_protocol_map
+from llama_stack_api import Api
+
+from .state import _protocol_methods_cache
+
+
+def _get_protocol_method(api: Api, method_name: str) -> Any | None:
+ """
+ Get a protocol method function by API and method name.
+ Uses caching to avoid repeated lookups.
+
+ Args:
+ api: The API enum
+ method_name: The method name (function name)
+
+ Returns:
+ The function object, or None if not found
+ """
+ global _protocol_methods_cache
+
+ if _protocol_methods_cache is None:
+ _protocol_methods_cache = {}
+ protocols = api_protocol_map()
+ from llama_stack_api.tools import SpecialToolGroup, ToolRuntime
+
+ toolgroup_protocols = {
+ SpecialToolGroup.rag_tool: ToolRuntime,
+ }
+
+ for api_key, protocol in protocols.items():
+ method_map: dict[str, Any] = {}
+ protocol_methods = inspect.getmembers(protocol, predicate=inspect.isfunction)
+ for name, method in protocol_methods:
+ method_map[name] = method
+
+ # Handle tool_runtime special case
+ if api_key == Api.tool_runtime:
+ for tool_group, sub_protocol in toolgroup_protocols.items():
+ sub_protocol_methods = inspect.getmembers(sub_protocol, predicate=inspect.isfunction)
+ for name, method in sub_protocol_methods:
+ if hasattr(method, "__webmethod__"):
+ method_map[f"{tool_group.value}.{name}"] = method
+
+ _protocol_methods_cache[api_key] = method_map
+
+ return _protocol_methods_cache.get(api, {}).get(method_name)
+
+
+def create_llama_stack_app() -> FastAPI:
+ """
+ Create a FastAPI app that represents the Llama Stack API.
+ This uses the existing route discovery system to automatically find all routes.
+ """
+ app = FastAPI(
+ title="Llama Stack API",
+ description="A comprehensive API for building and deploying AI applications",
+ version="1.0.0",
+ servers=[
+ {"url": "http://any-hosted-llama-stack.com"},
+ ],
+ )
+
+ # Get all API routes
+ from llama_stack.core.server.routes import get_all_api_routes
+
+ api_routes = get_all_api_routes()
+
+ # Create FastAPI routes from the discovered routes
+ from . import endpoints
+
+ for api, routes in api_routes.items():
+ for route, webmethod in routes:
+ # Convert the route to a FastAPI endpoint
+ endpoints._create_fastapi_endpoint(app, route, webmethod, api)
+
+ return app
diff --git a/scripts/openapi_generator/endpoints.py b/scripts/openapi_generator/endpoints.py
new file mode 100644
index 0000000000..39086f47f9
--- /dev/null
+++ b/scripts/openapi_generator/endpoints.py
@@ -0,0 +1,657 @@
+# Copyright (c) Meta Platforms, Inc. and affiliates.
+# All rights reserved.
+#
+# This source code is licensed under the terms described in the LICENSE file in
+# the root directory of this source tree.
+
+"""
+Endpoint generation logic for FastAPI OpenAPI generation.
+"""
+
+import inspect
+import re
+import types
+import typing
+from typing import Annotated, Any, get_args, get_origin
+
+from fastapi import FastAPI
+from pydantic import Field, create_model
+
+from llama_stack.log import get_logger
+from llama_stack_api import Api
+from llama_stack_api.schema_utils import get_registered_schema_info
+
+from . import app as app_module
+from .state import _extra_body_fields, register_dynamic_model
+
+logger = get_logger(name=__name__, category="core")
+
+
+def _to_pascal_case(segment: str) -> str:
+ tokens = re.findall(r"[A-Za-z]+|\d+", segment)
+ return "".join(token.capitalize() for token in tokens if token)
+
+
+def _compose_request_model_name(api: Api, method_name: str, variant: str | None = None) -> str:
+ """Generate a deterministic model name from the protocol method."""
+
+ def _to_pascal_from_snake(value: str) -> str:
+ return "".join(segment.capitalize() for segment in value.split("_") if segment)
+
+ base_name = _to_pascal_from_snake(method_name)
+ if not base_name:
+ base_name = _to_pascal_case(api.value)
+ base_name = f"{base_name}Request"
+ if variant:
+ base_name = f"{base_name}{variant}"
+ return base_name
+
+
+def _extract_path_parameters(path: str) -> list[dict[str, Any]]:
+ """Extract path parameters from a URL path and return them as OpenAPI parameter definitions."""
+ matches = re.findall(r"\{([^}:]+)(?::[^}]+)?\}", path)
+ return [
+ {
+ "name": param_name,
+ "in": "path",
+ "required": True,
+ "schema": {"type": "string"},
+ "description": f"Path parameter: {param_name}",
+ }
+ for param_name in matches
+ ]
+
+
+def _create_endpoint_with_request_model(
+ request_model: type, response_model: type | None, operation_description: str | None
+):
+ """Create an endpoint function with a request body model."""
+
+ async def endpoint(request: request_model) -> response_model:
+ return response_model() if response_model else {}
+
+ if operation_description:
+ endpoint.__doc__ = operation_description
+ return endpoint
+
+
+def _build_field_definitions(query_parameters: list[tuple[str, type, Any]], use_any: bool = False) -> dict[str, tuple]:
+ """Build field definitions for a Pydantic model from query parameters."""
+ from typing import Any
+
+ field_definitions = {}
+ for param_name, param_type, default_value in query_parameters:
+ if use_any:
+ field_definitions[param_name] = (Any, ... if default_value is inspect.Parameter.empty else default_value)
+ continue
+
+ base_type = param_type
+ extracted_field = None
+ if get_origin(param_type) is Annotated:
+ args = get_args(param_type)
+ if args:
+ base_type = args[0]
+ for arg in args[1:]:
+ if isinstance(arg, Field):
+ extracted_field = arg
+ break
+
+ try:
+ if extracted_field:
+ field_definitions[param_name] = (base_type, extracted_field)
+ else:
+ field_definitions[param_name] = (
+ base_type,
+ ... if default_value is inspect.Parameter.empty else default_value,
+ )
+ except (TypeError, ValueError):
+ field_definitions[param_name] = (Any, ... if default_value is inspect.Parameter.empty else default_value)
+
+ # Ensure all parameters are included
+ expected_params = {name for name, _, _ in query_parameters}
+ missing = expected_params - set(field_definitions.keys())
+ if missing:
+ for param_name, _, default_value in query_parameters:
+ if param_name in missing:
+ field_definitions[param_name] = (
+ Any,
+ ... if default_value is inspect.Parameter.empty else default_value,
+ )
+
+ return field_definitions
+
+
+def _create_dynamic_request_model(
+ api: Api,
+ webmethod,
+ method_name: str,
+ http_method: str,
+ query_parameters: list[tuple[str, type, Any]],
+ use_any: bool = False,
+ variant_suffix: str | None = None,
+) -> type | None:
+ """Create a dynamic Pydantic model for request body."""
+ try:
+ field_definitions = _build_field_definitions(query_parameters, use_any)
+ if not field_definitions:
+ return None
+ model_name = _compose_request_model_name(api, method_name, variant_suffix or None)
+ request_model = create_model(model_name, **field_definitions)
+ return register_dynamic_model(model_name, request_model)
+ except Exception:
+ return None
+
+
+def _build_signature_params(
+ query_parameters: list[tuple[str, type, Any]],
+) -> tuple[list[inspect.Parameter], dict[str, type]]:
+ """Build signature parameters and annotations from query parameters."""
+ signature_params = []
+ param_annotations = {}
+ for param_name, param_type, default_value in query_parameters:
+ param_annotations[param_name] = param_type
+ signature_params.append(
+ inspect.Parameter(
+ param_name,
+ inspect.Parameter.POSITIONAL_OR_KEYWORD,
+ default=default_value if default_value is not inspect.Parameter.empty else inspect.Parameter.empty,
+ annotation=param_type,
+ )
+ )
+ return signature_params, param_annotations
+
+
+def _extract_operation_description_from_docstring(api: Api, method_name: str) -> str | None:
+ """Extract operation description from the actual function docstring."""
+ func = app_module._get_protocol_method(api, method_name)
+ if not func or not func.__doc__:
+ return None
+
+ doc_lines = func.__doc__.split("\n")
+ description_lines = []
+ metadata_markers = (":param", ":type", ":return", ":returns", ":raises", ":exception", ":yield", ":yields", ":cvar")
+
+ for line in doc_lines:
+ if line.strip().startswith(metadata_markers):
+ break
+ description_lines.append(line)
+
+ description = "\n".join(description_lines).strip()
+ return description if description else None
+
+
+def _extract_response_description_from_docstring(webmethod, response_model, api: Api, method_name: str) -> str:
+ """Extract response description from the actual function docstring."""
+ func = app_module._get_protocol_method(api, method_name)
+ if not func or not func.__doc__:
+ return "Successful Response"
+ for line in func.__doc__.split("\n"):
+ if line.strip().startswith(":returns:"):
+ if desc := line.strip()[9:].strip():
+ return desc
+ return "Successful Response"
+
+
+def _get_tag_from_api(api: Api) -> str:
+ """Extract a tag name from the API enum for API grouping."""
+ return api.value.replace("_", " ").title()
+
+
+def _is_file_or_form_param(param_type: Any) -> bool:
+ """Check if a parameter type is annotated with File() or Form()."""
+ if get_origin(param_type) is Annotated:
+ args = get_args(param_type)
+ if len(args) > 1:
+ # Check metadata for File or Form
+ for metadata in args[1:]:
+ # Check if it's a File or Form instance
+ if hasattr(metadata, "__class__"):
+ class_name = metadata.__class__.__name__
+ if class_name in ("File", "Form"):
+ return True
+ return False
+
+
+def _is_extra_body_field(metadata_item: Any) -> bool:
+ """Check if a metadata item is an ExtraBodyField instance."""
+ from llama_stack_api.schema_utils import ExtraBodyField
+
+ return isinstance(metadata_item, ExtraBodyField)
+
+
+def _is_async_iterator_type(type_obj: Any) -> bool:
+ """Check if a type is AsyncIterator or AsyncIterable."""
+ from collections.abc import AsyncIterable, AsyncIterator
+
+ origin = get_origin(type_obj)
+ if origin is None:
+ # Check if it's the class itself
+ return type_obj in (AsyncIterator, AsyncIterable) or (
+ hasattr(type_obj, "__origin__") and type_obj.__origin__ in (AsyncIterator, AsyncIterable)
+ )
+ return origin in (AsyncIterator, AsyncIterable)
+
+
+def _extract_response_models_from_union(union_type: Any) -> tuple[type | None, type | None]:
+ """
+ Extract non-streaming and streaming response models from a union type.
+
+ Returns:
+ tuple: (non_streaming_model, streaming_model)
+ """
+ non_streaming_model = None
+ streaming_model = None
+
+ args = get_args(union_type)
+ for arg in args:
+ # Check if it's an AsyncIterator
+ if _is_async_iterator_type(arg):
+ # Extract the type argument from AsyncIterator[T]
+ iterator_args = get_args(arg)
+ if iterator_args:
+ inner_type = iterator_args[0]
+ # Check if the inner type is a registered schema (union type)
+ # or a Pydantic model
+ if hasattr(inner_type, "model_json_schema"):
+ streaming_model = inner_type
+ else:
+ # Might be a registered schema - check if it's registered
+ if get_registered_schema_info(inner_type):
+ # We'll need to look this up later, but for now store the type
+ streaming_model = inner_type
+ elif hasattr(arg, "model_json_schema"):
+ # Non-streaming Pydantic model
+ if non_streaming_model is None:
+ non_streaming_model = arg
+
+ return non_streaming_model, streaming_model
+
+
+def _find_models_for_endpoint(
+ webmethod, api: Api, method_name: str, is_post_put: bool = False
+) -> tuple[type | None, type | None, list[tuple[str, type, Any]], list[inspect.Parameter], type | None, str | None]:
+ """
+ Find appropriate request and response models for an endpoint by analyzing the actual function signature.
+ This uses the protocol function to determine the correct models dynamically.
+
+ Args:
+ webmethod: The webmethod metadata
+ api: The API enum for looking up the function
+ method_name: The method name (function name)
+ is_post_put: Whether this is a POST, PUT, or PATCH request (GET requests should never have request bodies)
+
+ Returns:
+ tuple: (request_model, response_model, query_parameters, file_form_params, streaming_response_model, response_schema_name)
+ where query_parameters is a list of (name, type, default_value) tuples
+ and file_form_params is a list of inspect.Parameter objects for File()/Form() params
+ and streaming_response_model is the model for streaming responses (AsyncIterator content)
+ """
+ route_descriptor = f"{webmethod.method or 'UNKNOWN'} {webmethod.route}"
+ try:
+ # Get the function from the protocol
+ func = app_module._get_protocol_method(api, method_name)
+ if not func:
+ logger.warning("No protocol method for %s.%s (%s)", api, method_name, route_descriptor)
+ return None, None, [], [], None, None
+
+ # Analyze the function signature
+ sig = inspect.signature(func)
+
+ # Find request model and collect all body parameters
+ request_model = None
+ query_parameters = []
+ file_form_params = []
+ path_params = set()
+ extra_body_params = []
+ response_schema_name = None
+
+ # Extract path parameters from the route
+ if webmethod and hasattr(webmethod, "route"):
+ path_matches = re.findall(r"\{([^}:]+)(?::[^}]+)?\}", webmethod.route)
+ path_params = set(path_matches)
+
+ for param_name, param in sig.parameters.items():
+ if param_name == "self":
+ continue
+
+ # Skip *args and **kwargs parameters - these are not real API parameters
+ if param.kind in (inspect.Parameter.VAR_POSITIONAL, inspect.Parameter.VAR_KEYWORD):
+ continue
+
+ # Check if this is a path parameter
+ if param_name in path_params:
+ # Path parameters are handled separately, skip them
+ continue
+
+ # Check if it's a File() or Form() parameter - these need special handling
+ param_type = param.annotation
+ if _is_file_or_form_param(param_type):
+ # File() and Form() parameters must be in the function signature directly
+ # They cannot be part of a Pydantic model
+ file_form_params.append(param)
+ continue
+
+ # Check for ExtraBodyField in Annotated types
+ is_extra_body = False
+ extra_body_description = None
+ if get_origin(param_type) is Annotated:
+ args = get_args(param_type)
+ base_type = args[0] if args else param_type
+ metadata = args[1:] if len(args) > 1 else []
+
+ # Check if any metadata item is an ExtraBodyField
+ for metadata_item in metadata:
+ if _is_extra_body_field(metadata_item):
+ is_extra_body = True
+ extra_body_description = metadata_item.description
+ break
+
+ if is_extra_body:
+ # Store as extra body parameter - exclude from request model
+ extra_body_params.append((param_name, base_type, extra_body_description))
+ continue
+
+ # Check if it's a Pydantic model (for POST/PUT requests)
+ if hasattr(param_type, "model_json_schema"):
+ # Collect all body parameters including Pydantic models
+ # We'll decide later whether to use a single model or create a combined one
+ query_parameters.append((param_name, param_type, param.default))
+ elif get_origin(param_type) is Annotated:
+ # Handle Annotated types - get the base type
+ args = get_args(param_type)
+ if args and hasattr(args[0], "model_json_schema"):
+ # Collect Pydantic models from Annotated types
+ query_parameters.append((param_name, args[0], param.default))
+ else:
+ # Regular annotated parameter (but not File/Form, already handled above)
+ query_parameters.append((param_name, param_type, param.default))
+ else:
+ # This is likely a body parameter for POST/PUT or query parameter for GET
+ # Store the parameter info for later use
+ # Preserve inspect.Parameter.empty to distinguish "no default" from "default=None"
+ default_value = param.default
+
+ # Extract the base type from union types (e.g., str | None -> str)
+ # Also make it safe for FastAPI to avoid forward reference issues
+ query_parameters.append((param_name, param_type, default_value))
+
+ # Store extra body fields for later use in post-processing
+ # We'll store them when the endpoint is created, as we need the full path
+ # For now, attach to the function for later retrieval
+ if extra_body_params:
+ func._extra_body_params = extra_body_params # type: ignore
+
+ # If there's exactly one body parameter and it's a Pydantic model, use it directly
+ # Otherwise, we'll create a combined request model from all parameters
+ # BUT: For GET requests, never create a request body - all parameters should be query parameters
+ if is_post_put and len(query_parameters) == 1:
+ param_name, param_type, default_value = query_parameters[0]
+ if hasattr(param_type, "model_json_schema"):
+ request_model = param_type
+ query_parameters = [] # Clear query_parameters so we use the single model
+
+ # Find response model from return annotation
+ # Also detect streaming response models (AsyncIterator)
+ response_model = None
+ streaming_response_model = None
+ return_annotation = sig.return_annotation
+ if return_annotation != inspect.Signature.empty:
+ origin = get_origin(return_annotation)
+ if hasattr(return_annotation, "model_json_schema"):
+ response_model = return_annotation
+ elif origin is Annotated:
+ # Handle Annotated return types
+ args = get_args(return_annotation)
+ if args:
+ # Check if the first argument is a Pydantic model
+ if hasattr(args[0], "model_json_schema"):
+ response_model = args[0]
+ else:
+ # Check if the first argument is a union type
+ inner_origin = get_origin(args[0])
+ if inner_origin is not None and (
+ inner_origin is types.UnionType or inner_origin is typing.Union
+ ):
+ response_model, streaming_response_model = _extract_response_models_from_union(args[0])
+ elif origin is not None and (origin is types.UnionType or origin is typing.Union):
+ # Handle union types - extract both non-streaming and streaming models
+ response_model, streaming_response_model = _extract_response_models_from_union(return_annotation)
+ else:
+ try:
+ from fastapi import Response as FastAPIResponse
+ except ImportError:
+ fastapi_response_cls = None
+ else:
+ fastapi_response_cls = FastAPIResponse
+ try:
+ from starlette.responses import Response as StarletteResponse
+ except ImportError:
+ starlette_response_cls = None
+ else:
+ starlette_response_cls = StarletteResponse
+
+ response_types = tuple(t for t in (fastapi_response_cls, starlette_response_cls) if t is not None)
+ if response_types and any(return_annotation is t for t in response_types):
+ response_schema_name = "Response"
+
+ return (
+ request_model,
+ response_model,
+ query_parameters,
+ file_form_params,
+ streaming_response_model,
+ response_schema_name,
+ )
+
+ except Exception as exc:
+ logger.warning(
+ "Failed to analyze endpoint %s.%s (%s): %s", api, method_name, route_descriptor, exc, exc_info=True
+ )
+ return None, None, [], [], None, None
+
+
+def _create_fastapi_endpoint(app: FastAPI, route, webmethod, api: Api):
+ """Create a FastAPI endpoint from a discovered route and webmethod."""
+ path = route.path
+ raw_methods = route.methods or set()
+ method_list = sorted({method.upper() for method in raw_methods if method and method.upper() != "HEAD"})
+ if not method_list:
+ method_list = ["GET"]
+ primary_method = method_list[0]
+ name = route.name
+ fastapi_path = path.replace("{", "{").replace("}", "}")
+ is_post_put = any(method in ["POST", "PUT", "PATCH"] for method in method_list)
+
+ (
+ request_model,
+ response_model,
+ query_parameters,
+ file_form_params,
+ streaming_response_model,
+ response_schema_name,
+ ) = _find_models_for_endpoint(webmethod, api, name, is_post_put)
+ operation_description = _extract_operation_description_from_docstring(api, name)
+ response_description = _extract_response_description_from_docstring(webmethod, response_model, api, name)
+
+ # Retrieve and store extra body fields for this endpoint
+ func = app_module._get_protocol_method(api, name)
+ extra_body_params = getattr(func, "_extra_body_params", []) if func else []
+ if extra_body_params:
+ for method in method_list:
+ key = (fastapi_path, method.upper())
+ _extra_body_fields[key] = extra_body_params
+
+ if is_post_put and not request_model and not file_form_params and query_parameters:
+ request_model = _create_dynamic_request_model(
+ api, webmethod, name, primary_method, query_parameters, use_any=False
+ )
+ if not request_model:
+ request_model = _create_dynamic_request_model(
+ api, webmethod, name, primary_method, query_parameters, use_any=True, variant_suffix="Loose"
+ )
+ if request_model:
+ query_parameters = []
+
+ if file_form_params and is_post_put:
+ signature_params = list(file_form_params)
+ param_annotations = {param.name: param.annotation for param in file_form_params}
+ for param_name, param_type, default_value in query_parameters:
+ signature_params.append(
+ inspect.Parameter(
+ param_name,
+ inspect.Parameter.POSITIONAL_OR_KEYWORD,
+ default=default_value if default_value is not inspect.Parameter.empty else inspect.Parameter.empty,
+ annotation=param_type,
+ )
+ )
+ param_annotations[param_name] = param_type
+
+ async def file_form_endpoint():
+ return response_model() if response_model else {}
+
+ if operation_description:
+ file_form_endpoint.__doc__ = operation_description
+ file_form_endpoint.__signature__ = inspect.Signature(signature_params)
+ file_form_endpoint.__annotations__ = param_annotations
+ endpoint_func = file_form_endpoint
+ elif request_model and response_model:
+ endpoint_func = _create_endpoint_with_request_model(request_model, response_model, operation_description)
+ elif request_model:
+ endpoint_func = _create_endpoint_with_request_model(request_model, None, operation_description)
+ elif response_model and query_parameters:
+ if is_post_put:
+ request_model = _create_dynamic_request_model(
+ api, webmethod, name, primary_method, query_parameters, use_any=False
+ )
+ if not request_model:
+ request_model = _create_dynamic_request_model(
+ api, webmethod, name, primary_method, query_parameters, use_any=True, variant_suffix="Loose"
+ )
+
+ if request_model:
+ endpoint_func = _create_endpoint_with_request_model(
+ request_model, response_model, operation_description
+ )
+ else:
+
+ async def empty_endpoint() -> response_model:
+ return response_model() if response_model else {}
+
+ if operation_description:
+ empty_endpoint.__doc__ = operation_description
+ endpoint_func = empty_endpoint
+ else:
+ sorted_params = sorted(query_parameters, key=lambda x: (x[2] is not inspect.Parameter.empty, x[0]))
+ signature_params, param_annotations = _build_signature_params(sorted_params)
+
+ async def query_endpoint():
+ return response_model()
+
+ if operation_description:
+ query_endpoint.__doc__ = operation_description
+ query_endpoint.__signature__ = inspect.Signature(signature_params)
+ query_endpoint.__annotations__ = param_annotations
+ endpoint_func = query_endpoint
+ elif response_model:
+
+ async def response_only_endpoint() -> response_model:
+ return response_model()
+
+ if operation_description:
+ response_only_endpoint.__doc__ = operation_description
+ endpoint_func = response_only_endpoint
+ elif query_parameters:
+ signature_params, param_annotations = _build_signature_params(query_parameters)
+
+ async def params_only_endpoint():
+ return {}
+
+ if operation_description:
+ params_only_endpoint.__doc__ = operation_description
+ params_only_endpoint.__signature__ = inspect.Signature(signature_params)
+ params_only_endpoint.__annotations__ = param_annotations
+ endpoint_func = params_only_endpoint
+ else:
+ # Endpoint with no parameters and no response model
+ # If we have a response_model from the function signature, use it even if _find_models_for_endpoint didn't find it
+ # This can happen if there was an exception during model finding
+ if response_model is None:
+ # Try to get response model directly from the function signature as a fallback
+ func = app_module._get_protocol_method(api, name)
+ if func:
+ try:
+ sig = inspect.signature(func)
+ return_annotation = sig.return_annotation
+ if return_annotation != inspect.Signature.empty:
+ if hasattr(return_annotation, "model_json_schema"):
+ response_model = return_annotation
+ elif get_origin(return_annotation) is Annotated:
+ args = get_args(return_annotation)
+ if args and hasattr(args[0], "model_json_schema"):
+ response_model = args[0]
+ except Exception:
+ pass
+
+ if response_model:
+
+ async def no_params_endpoint() -> response_model:
+ return response_model() if response_model else {}
+ else:
+
+ async def no_params_endpoint():
+ return {}
+
+ if operation_description:
+ no_params_endpoint.__doc__ = operation_description
+ endpoint_func = no_params_endpoint
+
+ # Build response content with both application/json and text/event-stream if streaming
+ response_content: dict[str, Any] = {}
+ if response_model:
+ response_content["application/json"] = {"schema": {"$ref": f"#/components/schemas/{response_model.__name__}"}}
+ elif response_schema_name:
+ response_content["application/json"] = {"schema": {"$ref": f"#/components/schemas/{response_schema_name}"}}
+ if streaming_response_model:
+ # Get the schema name for the streaming model
+ # It might be a registered schema or a Pydantic model
+ streaming_schema_name = None
+ # Check if it's a registered schema first (before checking __name__)
+ # because registered schemas might be Annotated types
+ if schema_info := get_registered_schema_info(streaming_response_model):
+ streaming_schema_name = schema_info.name
+ elif hasattr(streaming_response_model, "__name__"):
+ streaming_schema_name = streaming_response_model.__name__
+
+ if streaming_schema_name:
+ response_content["text/event-stream"] = {
+ "schema": {"$ref": f"#/components/schemas/{streaming_schema_name}"}
+ }
+
+ # If no content types, use empty schema
+ # Add the endpoint to the FastAPI app
+ is_deprecated = webmethod.deprecated or False
+ route_kwargs = {
+ "name": name,
+ "tags": [_get_tag_from_api(api)],
+ "deprecated": is_deprecated,
+ "responses": {
+ 400: {"$ref": "#/components/responses/BadRequest400"},
+ 429: {"$ref": "#/components/responses/TooManyRequests429"},
+ 500: {"$ref": "#/components/responses/InternalServerError500"},
+ "default": {"$ref": "#/components/responses/DefaultError"},
+ },
+ }
+ success_response: dict[str, Any] = {"description": response_description}
+ if response_content:
+ success_response["content"] = response_content
+ route_kwargs["responses"][200] = success_response
+
+ # FastAPI needs response_model parameter to properly generate OpenAPI spec
+ # Use the non-streaming response model if available
+ if response_model:
+ route_kwargs["response_model"] = response_model
+
+ method_map = {"GET": app.get, "POST": app.post, "PUT": app.put, "DELETE": app.delete, "PATCH": app.patch}
+ for method in method_list:
+ if handler := method_map.get(method):
+ handler(fastapi_path, **route_kwargs)(endpoint_func)
diff --git a/scripts/openapi_generator/main.py b/scripts/openapi_generator/main.py
new file mode 100755
index 0000000000..e881ff7262
--- /dev/null
+++ b/scripts/openapi_generator/main.py
@@ -0,0 +1,241 @@
+#!/usr/bin/env python3
+# Copyright (c) Meta Platforms, Inc. and affiliates.
+# All rights reserved.
+#
+# This source code is licensed under the terms described in the LICENSE file in
+# the root directory of this source tree.
+
+"""
+Main entry point for the FastAPI OpenAPI generator.
+"""
+
+import copy
+from pathlib import Path
+from typing import Any
+
+import yaml
+from fastapi.openapi.utils import get_openapi
+
+from . import app, schema_collection, schema_filtering, schema_transforms, state
+
+
+def generate_openapi_spec(output_dir: str) -> dict[str, Any]:
+ """
+ Generate OpenAPI specification using FastAPI's built-in method.
+
+ Args:
+ output_dir: Directory to save the generated files
+
+ Returns:
+ The generated OpenAPI specification as a dictionary
+ """
+ state.reset_generator_state()
+ # Create the FastAPI app
+ fastapi_app = app.create_llama_stack_app()
+
+ # Generate the OpenAPI schema
+ openapi_schema = get_openapi(
+ title=fastapi_app.title,
+ version=fastapi_app.version,
+ description=fastapi_app.description,
+ routes=fastapi_app.routes,
+ servers=fastapi_app.servers,
+ )
+
+ # Set OpenAPI version to 3.1.0
+ openapi_schema["openapi"] = "3.1.0"
+
+ # Add standard error responses
+ openapi_schema = schema_transforms._add_error_responses(openapi_schema)
+
+ # Ensure all @json_schema_type decorated models are included
+ openapi_schema = schema_collection._ensure_json_schema_types_included(openapi_schema)
+
+ # Fix $ref references to point to components/schemas instead of $defs
+ openapi_schema = schema_transforms._fix_ref_references(openapi_schema)
+
+ # Fix path parameter resolution issues
+ openapi_schema = schema_transforms._fix_path_parameters(openapi_schema)
+
+ # Eliminate $defs section entirely for oasdiff compatibility
+ openapi_schema = schema_transforms._eliminate_defs_section(openapi_schema)
+
+ # Clean descriptions in schema definitions by removing docstring metadata
+ openapi_schema = schema_transforms._clean_schema_descriptions(openapi_schema)
+ openapi_schema = schema_transforms._normalize_empty_responses(openapi_schema)
+
+ # Remove query parameters from POST/PUT/PATCH endpoints that have a request body
+ # FastAPI sometimes infers parameters as query params even when they should be in the request body
+ openapi_schema = schema_transforms._remove_query_params_from_body_endpoints(openapi_schema)
+
+ # Add x-llama-stack-extra-body-params extension for ExtraBodyField parameters
+ openapi_schema = schema_transforms._add_extra_body_params_extension(openapi_schema)
+
+ # Remove request bodies from GET endpoints (GET requests should never have request bodies)
+ # This must run AFTER _add_extra_body_params_extension to ensure any request bodies
+ # that FastAPI incorrectly added to GET endpoints are removed
+ openapi_schema = schema_transforms._remove_request_bodies_from_get_endpoints(openapi_schema)
+
+ # Extract duplicate union types to shared schema references
+ openapi_schema = schema_transforms._extract_duplicate_union_types(openapi_schema)
+
+ # Split into stable (v1 only), experimental (v1alpha + v1beta), deprecated, and combined (stainless) specs
+ # Each spec needs its own deep copy of the full schema to avoid cross-contamination
+ stable_schema = schema_filtering._filter_schema_by_version(
+ copy.deepcopy(openapi_schema), stable_only=True, exclude_deprecated=True
+ )
+ experimental_schema = schema_filtering._filter_schema_by_version(
+ copy.deepcopy(openapi_schema), stable_only=False, exclude_deprecated=True
+ )
+ deprecated_schema = schema_filtering._filter_deprecated_schema(copy.deepcopy(openapi_schema))
+ combined_schema = schema_filtering._filter_combined_schema(copy.deepcopy(openapi_schema))
+
+ # Apply duplicate union extraction to combined schema (used by Stainless)
+ combined_schema = schema_transforms._extract_duplicate_union_types(combined_schema)
+
+ base_description = (
+ "This is the specification of the Llama Stack that provides\n"
+ " a set of endpoints and their corresponding interfaces that are\n"
+ " tailored to\n"
+ " best leverage Llama Models."
+ )
+
+ schema_configs = [
+ (
+ stable_schema,
+ "Llama Stack Specification",
+ "**✅ STABLE**: Production-ready APIs with backward compatibility guarantees.",
+ ),
+ (
+ experimental_schema,
+ "Llama Stack Specification - Experimental APIs",
+ "**🧪 EXPERIMENTAL**: Pre-release APIs (v1alpha, v1beta) that may change before\n becoming stable.",
+ ),
+ (
+ deprecated_schema,
+ "Llama Stack Specification - Deprecated APIs",
+ "**⚠️ DEPRECATED**: Legacy APIs that may be removed in future versions. Use for\n migration reference only.",
+ ),
+ (
+ combined_schema,
+ "Llama Stack Specification - Stable & Experimental APIs",
+ "**🔗 COMBINED**: This specification includes both stable production-ready APIs\n and experimental pre-release APIs. Use stable APIs for production deployments\n and experimental APIs for testing new features.",
+ ),
+ ]
+
+ for schema, title, description_suffix in schema_configs:
+ if "info" not in schema:
+ schema["info"] = {}
+ schema["info"].update(
+ {
+ "title": title,
+ "version": "v1",
+ "description": f"{base_description}\n\n {description_suffix}",
+ }
+ )
+
+ schemas_to_validate = [
+ (stable_schema, "Stable schema"),
+ (experimental_schema, "Experimental schema"),
+ (deprecated_schema, "Deprecated schema"),
+ (combined_schema, "Combined (stainless) schema"),
+ ]
+
+ for schema, _ in schemas_to_validate:
+ schema_transforms._fix_schema_issues(schema)
+ schema_transforms._apply_legacy_sorting(schema)
+
+ print("\nValidating generated schemas...")
+ failed_schemas = [
+ name for schema, name in schemas_to_validate if not schema_transforms.validate_openapi_schema(schema, name)
+ ]
+ if failed_schemas:
+ raise ValueError(f"Invalid schemas: {', '.join(failed_schemas)}")
+
+ # Ensure output directory exists
+ output_path = Path(output_dir)
+ output_path.mkdir(parents=True, exist_ok=True)
+
+ # Save the stable specification
+ yaml_path = output_path / "llama-stack-spec.yaml"
+ schema_transforms._write_yaml_file(yaml_path, stable_schema)
+ # Post-process the YAML file to remove $defs section and fix references
+ with open(yaml_path) as f:
+ yaml_content = f.read()
+
+ if " $defs:" in yaml_content or "#/$defs/" in yaml_content:
+ # Use string replacement to fix references directly
+ if "#/$defs/" in yaml_content:
+ yaml_content = yaml_content.replace("#/$defs/", "#/components/schemas/")
+
+ # Parse the YAML content
+ yaml_data = yaml.safe_load(yaml_content)
+
+ # Move $defs to components/schemas if it exists
+ if "$defs" in yaml_data:
+ if "components" not in yaml_data:
+ yaml_data["components"] = {}
+ if "schemas" not in yaml_data["components"]:
+ yaml_data["components"]["schemas"] = {}
+
+ # Move all $defs to components/schemas
+ for def_name, def_schema in yaml_data["$defs"].items():
+ yaml_data["components"]["schemas"][def_name] = def_schema
+
+ # Remove the $defs section
+ del yaml_data["$defs"]
+
+ # Write the modified YAML back
+ schema_transforms._write_yaml_file(yaml_path, yaml_data)
+
+ print(f"Generated YAML (stable): {yaml_path}")
+
+ experimental_yaml_path = output_path / "experimental-llama-stack-spec.yaml"
+ schema_transforms._write_yaml_file(experimental_yaml_path, experimental_schema)
+ print(f"Generated YAML (experimental): {experimental_yaml_path}")
+
+ deprecated_yaml_path = output_path / "deprecated-llama-stack-spec.yaml"
+ schema_transforms._write_yaml_file(deprecated_yaml_path, deprecated_schema)
+ print(f"Generated YAML (deprecated): {deprecated_yaml_path}")
+
+ # Generate combined (stainless) spec
+ stainless_yaml_path = output_path / "stainless-llama-stack-spec.yaml"
+ schema_transforms._write_yaml_file(stainless_yaml_path, combined_schema)
+ print(f"Generated YAML (stainless/combined): {stainless_yaml_path}")
+
+ return stable_schema
+
+
+def main():
+ """Main entry point for the FastAPI OpenAPI generator."""
+ import argparse
+
+ parser = argparse.ArgumentParser(description="Generate OpenAPI specification using FastAPI")
+ parser.add_argument("output_dir", help="Output directory for generated files")
+
+ args = parser.parse_args()
+
+ print("Generating OpenAPI specification using FastAPI...")
+ print(f"Output directory: {args.output_dir}")
+
+ try:
+ openapi_schema = generate_openapi_spec(output_dir=args.output_dir)
+
+ print("\nOpenAPI specification generated successfully!")
+ print(f"Schemas: {len(openapi_schema.get('components', {}).get('schemas', {}))}")
+ print(f"Paths: {len(openapi_schema.get('paths', {}))}")
+ operation_count = sum(
+ 1
+ for path_info in openapi_schema.get("paths", {}).values()
+ for method in ["get", "post", "put", "delete", "patch"]
+ if method in path_info
+ )
+ print(f"Operations: {operation_count}")
+
+ except Exception as e:
+ print(f"Error generating OpenAPI specification: {e}")
+ raise
+
+
+if __name__ == "__main__":
+ main()
diff --git a/scripts/openapi_generator/schema_collection.py b/scripts/openapi_generator/schema_collection.py
new file mode 100644
index 0000000000..51a70c62ad
--- /dev/null
+++ b/scripts/openapi_generator/schema_collection.py
@@ -0,0 +1,131 @@
+# Copyright (c) Meta Platforms, Inc. and affiliates.
+# All rights reserved.
+#
+# This source code is licensed under the terms described in the LICENSE file in
+# the root directory of this source tree.
+
+"""
+Schema discovery and collection for OpenAPI generation.
+"""
+
+import importlib
+from typing import Any
+
+
+def _ensure_components_schemas(openapi_schema: dict[str, Any]) -> None:
+ """Ensure components.schemas exists in the schema."""
+ if "components" not in openapi_schema:
+ openapi_schema["components"] = {}
+ if "schemas" not in openapi_schema["components"]:
+ openapi_schema["components"]["schemas"] = {}
+
+
+def _load_extra_schema_modules() -> None:
+ """
+ Import modules outside llama_stack_api that use schema_utils to register schemas.
+
+ The API package already imports its submodules via __init__, but server-side modules
+ like telemetry need to be imported explicitly so their decorator side effects run.
+ """
+ extra_modules = [
+ "llama_stack.core.telemetry.telemetry",
+ ]
+ for module_name in extra_modules:
+ try:
+ importlib.import_module(module_name)
+ except ImportError:
+ continue
+
+
+def _extract_and_fix_defs(schema: dict[str, Any], openapi_schema: dict[str, Any]) -> None:
+ """
+ Extract $defs from a schema, move them to components/schemas, and fix references.
+ This handles both TypeAdapter-generated schemas and model_json_schema() schemas.
+ """
+ if "$defs" in schema:
+ defs = schema.pop("$defs")
+ for def_name, def_schema in defs.items():
+ if def_name not in openapi_schema["components"]["schemas"]:
+ openapi_schema["components"]["schemas"][def_name] = def_schema
+ # Recursively handle $defs in nested schemas
+ _extract_and_fix_defs(def_schema, openapi_schema)
+
+ # Fix any references in the main schema that point to $defs
+ def fix_refs_in_schema(obj: Any) -> None:
+ if isinstance(obj, dict):
+ if "$ref" in obj and obj["$ref"].startswith("#/$defs/"):
+ obj["$ref"] = obj["$ref"].replace("#/$defs/", "#/components/schemas/")
+ for value in obj.values():
+ fix_refs_in_schema(value)
+ elif isinstance(obj, list):
+ for item in obj:
+ fix_refs_in_schema(item)
+
+ fix_refs_in_schema(schema)
+
+
+def _ensure_json_schema_types_included(openapi_schema: dict[str, Any]) -> dict[str, Any]:
+ """
+ Ensure all registered schemas (decorated, explicit, and dynamic) are included in the OpenAPI schema.
+ Relies on llama_stack_api's registry instead of recursively importing every module.
+ """
+ _ensure_components_schemas(openapi_schema)
+
+ from pydantic import TypeAdapter
+
+ from llama_stack_api.schema_utils import (
+ iter_dynamic_schema_types,
+ iter_json_schema_types,
+ iter_registered_schema_types,
+ )
+
+ # Import extra modules (e.g., telemetry) whose schema registrations live outside llama_stack_api
+ _load_extra_schema_modules()
+
+ # Handle explicitly registered schemas first (union types, Annotated structs, etc.)
+ for registration_info in iter_registered_schema_types():
+ schema_type = registration_info.type
+ schema_name = registration_info.name
+ if schema_name not in openapi_schema["components"]["schemas"]:
+ try:
+ adapter = TypeAdapter(schema_type)
+ schema = adapter.json_schema(ref_template="#/components/schemas/{model}")
+ _extract_and_fix_defs(schema, openapi_schema)
+ openapi_schema["components"]["schemas"][schema_name] = schema
+ except Exception as e:
+ print(f"Warning: Failed to generate schema for registered type {schema_name}: {e}")
+ import traceback
+
+ traceback.print_exc()
+ continue
+
+ # Add @json_schema_type decorated models
+ for model in iter_json_schema_types():
+ schema_name = getattr(model, "_llama_stack_schema_name", None) or getattr(model, "__name__", None)
+ if not schema_name:
+ continue
+ if schema_name not in openapi_schema["components"]["schemas"]:
+ try:
+ if hasattr(model, "model_json_schema"):
+ schema = model.model_json_schema(ref_template="#/components/schemas/{model}")
+ else:
+ adapter = TypeAdapter(model)
+ schema = adapter.json_schema(ref_template="#/components/schemas/{model}")
+ _extract_and_fix_defs(schema, openapi_schema)
+ openapi_schema["components"]["schemas"][schema_name] = schema
+ except Exception as e:
+ print(f"Warning: Failed to generate schema for {schema_name}: {e}")
+ continue
+
+ # Include any dynamic models generated while building endpoints
+ for model in iter_dynamic_schema_types():
+ try:
+ schema_name = model.__name__
+ if schema_name not in openapi_schema["components"]["schemas"]:
+ schema = model.model_json_schema(ref_template="#/components/schemas/{model}")
+ _extract_and_fix_defs(schema, openapi_schema)
+ openapi_schema["components"]["schemas"][schema_name] = schema
+ except Exception:
+ continue
+
+ return openapi_schema
diff --git a/scripts/openapi_generator/schema_filtering.py b/scripts/openapi_generator/schema_filtering.py
new file mode 100644
index 0000000000..4667d27a56
--- /dev/null
+++ b/scripts/openapi_generator/schema_filtering.py
@@ -0,0 +1,297 @@
+# Copyright (c) Meta Platforms, Inc. and affiliates.
+# All rights reserved.
+#
+# This source code is licensed under the terms described in the LICENSE file in
+# the root directory of this source tree.
+
+"""
+Schema filtering and version filtering for OpenAPI generation.
+"""
+
+from typing import Any
+
+from llama_stack_api.schema_utils import iter_json_schema_types, iter_registered_schema_types
+from llama_stack_api.version import (
+ LLAMA_STACK_API_V1,
+ LLAMA_STACK_API_V1ALPHA,
+ LLAMA_STACK_API_V1BETA,
+)
+
+
+def _get_all_json_schema_type_names() -> set[str]:
+ """Collect schema names from @json_schema_type-decorated models."""
+ schema_names = set()
+ for model in iter_json_schema_types():
+ schema_name = getattr(model, "_llama_stack_schema_name", None) or getattr(model, "__name__", None)
+ if schema_name:
+ schema_names.add(schema_name)
+ return schema_names
+
+
+def _get_explicit_schema_names(openapi_schema: dict[str, Any]) -> set[str]:
+ """Schema names to keep even if not referenced by a path."""
+ registered_schema_names = {info.name for info in iter_registered_schema_types()}
+ json_schema_type_names = _get_all_json_schema_type_names()
+ return registered_schema_names | json_schema_type_names
+
+
+def _find_schema_refs_in_object(obj: Any) -> set[str]:
+ """
+ Recursively find all schema references ($ref) in an object.
+ """
+ refs = set()
+
+ if isinstance(obj, dict):
+ for key, value in obj.items():
+ if key == "$ref" and isinstance(value, str) and value.startswith("#/components/schemas/"):
+ schema_name = value.split("/")[-1]
+ refs.add(schema_name)
+ else:
+ refs.update(_find_schema_refs_in_object(value))
+ elif isinstance(obj, list):
+ for item in obj:
+ refs.update(_find_schema_refs_in_object(item))
+
+ return refs
+
+
+def _add_transitive_references(
+ referenced_schemas: set[str], all_schemas: dict[str, Any], initial_schemas: set[str] | None = None
+) -> set[str]:
+ """Add transitive references for given schemas."""
+ if initial_schemas:
+ referenced_schemas.update(initial_schemas)
+ additional_schemas = set()
+ for schema_name in initial_schemas:
+ if schema_name in all_schemas:
+ additional_schemas.update(_find_schema_refs_in_object(all_schemas[schema_name]))
+ else:
+ additional_schemas = set()
+ for schema_name in referenced_schemas:
+ if schema_name in all_schemas:
+ additional_schemas.update(_find_schema_refs_in_object(all_schemas[schema_name]))
+
+ while additional_schemas:
+ new_schemas = additional_schemas - referenced_schemas
+ if not new_schemas:
+ break
+ referenced_schemas.update(new_schemas)
+ additional_schemas = set()
+ for schema_name in new_schemas:
+ if schema_name in all_schemas:
+ additional_schemas.update(_find_schema_refs_in_object(all_schemas[schema_name]))
+
+ return referenced_schemas
+
+
+def _find_schemas_referenced_by_paths(filtered_paths: dict[str, Any], openapi_schema: dict[str, Any]) -> set[str]:
+ """
+ Find all schemas that are referenced by the filtered paths.
+ This recursively traverses the path definitions to find all $ref references.
+ """
+ referenced_schemas = set()
+
+ # Traverse all filtered paths
+ for _, path_item in filtered_paths.items():
+ if not isinstance(path_item, dict):
+ continue
+
+ # Check each HTTP method in the path
+ for method in ["get", "post", "put", "delete", "patch", "head", "options"]:
+ if method in path_item:
+ operation = path_item[method]
+ if isinstance(operation, dict):
+ # Find all schema references in this operation
+ referenced_schemas.update(_find_schema_refs_in_object(operation))
+
+ # Also check the responses section for schema references
+ if "components" in openapi_schema and "responses" in openapi_schema["components"]:
+ referenced_schemas.update(_find_schema_refs_in_object(openapi_schema["components"]["responses"]))
+
+ # Also include schemas that are referenced by other schemas (transitive references)
+ # This ensures we include all dependencies
+ all_schemas = openapi_schema.get("components", {}).get("schemas", {})
+ additional_schemas = set()
+
+ for schema_name in referenced_schemas:
+ if schema_name in all_schemas:
+ additional_schemas.update(_find_schema_refs_in_object(all_schemas[schema_name]))
+
+ # Keep adding transitive references until no new ones are found
+ while additional_schemas:
+ new_schemas = additional_schemas - referenced_schemas
+ if not new_schemas:
+ break
+ referenced_schemas.update(new_schemas)
+ additional_schemas = set()
+ for schema_name in new_schemas:
+ if schema_name in all_schemas:
+ additional_schemas.update(_find_schema_refs_in_object(all_schemas[schema_name]))
+
+ return referenced_schemas
+
+
+def _filter_schemas_by_references(
+ filtered_schema: dict[str, Any], filtered_paths: dict[str, Any], openapi_schema: dict[str, Any]
+) -> dict[str, Any]:
+ """Filter schemas to only include ones referenced by filtered paths and explicit schemas."""
+ if "components" not in filtered_schema or "schemas" not in filtered_schema["components"]:
+ return filtered_schema
+
+ referenced_schemas = _find_schemas_referenced_by_paths(filtered_paths, openapi_schema)
+ all_schemas = openapi_schema.get("components", {}).get("schemas", {})
+ explicit_names = _get_explicit_schema_names(openapi_schema)
+ referenced_schemas = _add_transitive_references(referenced_schemas, all_schemas, explicit_names)
+
+ filtered_schemas = {
+ name: schema for name, schema in filtered_schema["components"]["schemas"].items() if name in referenced_schemas
+ }
+ filtered_schema["components"]["schemas"] = filtered_schemas
+
+ if "components" in openapi_schema and "$defs" in openapi_schema["components"]:
+ if "components" not in filtered_schema:
+ filtered_schema["components"] = {}
+ filtered_schema["components"]["$defs"] = openapi_schema["components"]["$defs"]
+
+ return filtered_schema
+
+
+def _path_starts_with_version(path: str, version: str) -> bool:
+ """Check if a path starts with a specific API version prefix."""
+ return path.startswith(f"/{version}/")
+
+
+def _is_stable_path(path: str) -> bool:
+ """Check if a path is a stable v1 path (not v1alpha or v1beta)."""
+ return (
+ _path_starts_with_version(path, LLAMA_STACK_API_V1)
+ and not _path_starts_with_version(path, LLAMA_STACK_API_V1ALPHA)
+ and not _path_starts_with_version(path, LLAMA_STACK_API_V1BETA)
+ )
+
+
+def _is_experimental_path(path: str) -> bool:
+ """Check if a path is an experimental path (v1alpha or v1beta)."""
+ return _path_starts_with_version(path, LLAMA_STACK_API_V1ALPHA) or _path_starts_with_version(
+ path, LLAMA_STACK_API_V1BETA
+ )
+
+
+def _is_path_deprecated(path_item: dict[str, Any]) -> bool:
+ """Check if a path item has any deprecated operations."""
+ if not isinstance(path_item, dict):
+ return False
+ for method in ["get", "post", "put", "delete", "patch", "head", "options"]:
+ if isinstance(path_item.get(method), dict) and path_item[method].get("deprecated", False):
+ return True
+ return False
+
+
+def _filter_schema_by_version(
+ openapi_schema: dict[str, Any], stable_only: bool = True, exclude_deprecated: bool = True
+) -> dict[str, Any]:
+ """
+ Filter OpenAPI schema by API version.
+
+ Args:
+ openapi_schema: The full OpenAPI schema
+ stable_only: If True, return only /v1/ paths (stable). If False, return only /v1alpha/ and /v1beta/ paths (experimental).
+ exclude_deprecated: If True, exclude deprecated endpoints from the result.
+
+ Returns:
+ Filtered OpenAPI schema
+ """
+ filtered_schema = openapi_schema.copy()
+
+ if "paths" not in filtered_schema:
+ return filtered_schema
+
+ filtered_paths = {}
+ for path, path_item in filtered_schema["paths"].items():
+ if not isinstance(path_item, dict):
+ continue
+
+ # Filter at operation level, not path level
+ # This allows paths with both deprecated and non-deprecated operations
+ filtered_path_item = {}
+ for method in ["get", "post", "put", "delete", "patch", "head", "options"]:
+ if method not in path_item:
+ continue
+ operation = path_item[method]
+ if not isinstance(operation, dict):
+ continue
+
+ # Skip deprecated operations if exclude_deprecated is True
+ if exclude_deprecated and operation.get("deprecated", False):
+ continue
+
+ filtered_path_item[method] = operation
+
+ # Only include path if it has at least one operation after filtering
+ if filtered_path_item:
+ # Check if path matches version filter
+ if (stable_only and _is_stable_path(path)) or (not stable_only and _is_experimental_path(path)):
+ filtered_paths[path] = filtered_path_item
+
+ filtered_schema["paths"] = filtered_paths
+ return _filter_schemas_by_references(filtered_schema, filtered_paths, openapi_schema)
+
+
+def _filter_deprecated_schema(openapi_schema: dict[str, Any]) -> dict[str, Any]:
+ """
+ Filter OpenAPI schema to include only deprecated endpoints.
+ Includes all deprecated endpoints regardless of version (v1, v1alpha, v1beta).
+ """
+ filtered_schema = openapi_schema.copy()
+
+ if "paths" not in filtered_schema:
+ return filtered_schema
+
+ # Filter paths to only include deprecated ones
+ filtered_paths = {}
+ for path, path_item in filtered_schema["paths"].items():
+ if _is_path_deprecated(path_item):
+ filtered_paths[path] = path_item
+
+ filtered_schema["paths"] = filtered_paths
+
+ return filtered_schema
+
+
+def _filter_combined_schema(openapi_schema: dict[str, Any]) -> dict[str, Any]:
+ """
+ Filter OpenAPI schema to include both stable (v1) and experimental (v1alpha, v1beta) APIs.
+ Includes deprecated endpoints. This is used for the combined "stainless" spec.
+ """
+ filtered_schema = openapi_schema.copy()
+
+ if "paths" not in filtered_schema:
+ return filtered_schema
+
+ # Filter paths to include stable (v1) and experimental (v1alpha, v1beta), excluding deprecated
+ filtered_paths = {}
+ for path, path_item in filtered_schema["paths"].items():
+ if not isinstance(path_item, dict):
+ continue
+
+ # Filter at operation level, not path level
+ # This allows paths with both deprecated and non-deprecated operations
+ filtered_path_item = {}
+ for method in ["get", "post", "put", "delete", "patch", "head", "options"]:
+ if method not in path_item:
+ continue
+ operation = path_item[method]
+ if not isinstance(operation, dict):
+ continue
+
+ filtered_path_item[method] = operation
+
+ # Only include path if it has at least one operation after filtering
+ if filtered_path_item:
+ # Check if path matches version filter (stable or experimental)
+ if _is_stable_path(path) or _is_experimental_path(path):
+ filtered_paths[path] = filtered_path_item
+
+ filtered_schema["paths"] = filtered_paths
+
+ return _filter_schemas_by_references(filtered_schema, filtered_paths, openapi_schema)
diff --git a/scripts/openapi_generator/schema_transforms.py b/scripts/openapi_generator/schema_transforms.py
new file mode 100644
index 0000000000..5821c99d58
--- /dev/null
+++ b/scripts/openapi_generator/schema_transforms.py
@@ -0,0 +1,963 @@
+# Copyright (c) Meta Platforms, Inc. and affiliates.
+# All rights reserved.
+#
+# This source code is licensed under the terms described in the LICENSE file in
+# the root directory of this source tree.
+
+"""
+Schema transformations and fixes for OpenAPI generation.
+"""
+
+import copy
+from collections import OrderedDict
+from pathlib import Path
+from typing import Any
+
+import yaml
+from openapi_spec_validator import validate_spec
+from openapi_spec_validator.exceptions import OpenAPISpecValidatorError
+
+from . import endpoints, schema_collection
+from ._legacy_order import (
+ LEGACY_OPERATION_KEYS,
+ LEGACY_PATH_ORDER,
+ LEGACY_RESPONSE_ORDER,
+ LEGACY_SCHEMA_ORDER,
+ LEGACY_SECURITY,
+ LEGACY_TAG_GROUPS,
+ LEGACY_TAGS,
+)
+from .state import _extra_body_fields
+
+
+def _fix_ref_references(openapi_schema: dict[str, Any]) -> dict[str, Any]:
+ """
+ Fix $ref references to point to components/schemas instead of $defs.
+ This prevents the YAML dumper from creating a root-level $defs section.
+ """
+
+ def fix_refs(obj: Any) -> None:
+ if isinstance(obj, dict):
+ if "$ref" in obj and obj["$ref"].startswith("#/$defs/"):
+ # Replace #/$defs/ with #/components/schemas/
+ obj["$ref"] = obj["$ref"].replace("#/$defs/", "#/components/schemas/")
+ for value in obj.values():
+ fix_refs(value)
+ elif isinstance(obj, list):
+ for item in obj:
+ fix_refs(item)
+
+ fix_refs(openapi_schema)
+ return openapi_schema
+
+
+def _normalize_empty_responses(openapi_schema: dict[str, Any]) -> dict[str, Any]:
+ """Convert empty 200 responses into 204 No Content."""
+
+ for path_item in openapi_schema.get("paths", {}).values():
+ if not isinstance(path_item, dict):
+ continue
+ for method in list(path_item.keys()):
+ operation = path_item.get(method)
+ if not isinstance(operation, dict):
+ continue
+ responses = operation.get("responses")
+ if not isinstance(responses, dict):
+ continue
+ response_200 = responses.get("200") or responses.get(200)
+ if response_200 is None:
+ continue
+ content = response_200.get("content")
+ if content and any(
+ isinstance(media, dict) and media.get("schema") not in ({}, None) for media in content.values()
+ ):
+ continue
+ responses.pop("200", None)
+ responses.pop(200, None)
+ responses["204"] = {"description": response_200.get("description", "No Content")}
+ return openapi_schema
+
+
+def _eliminate_defs_section(openapi_schema: dict[str, Any]) -> dict[str, Any]:
+ """
+ Eliminate $defs section entirely by moving all definitions to components/schemas.
+ This matches the structure of the old pyopenapi generator for oasdiff compatibility.
+ """
+ schema_collection._ensure_components_schemas(openapi_schema)
+
+ # First pass: collect all $defs from anywhere in the schema
+ defs_to_move = {}
+
+ def collect_defs(obj: Any) -> None:
+ if isinstance(obj, dict):
+ if "$defs" in obj:
+ # Collect $defs for later processing
+ for def_name, def_schema in obj["$defs"].items():
+ if def_name not in defs_to_move:
+ defs_to_move[def_name] = def_schema
+
+ # Recursively process all values
+ for value in obj.values():
+ collect_defs(value)
+ elif isinstance(obj, list):
+ for item in obj:
+ collect_defs(item)
+
+ # Collect all $defs
+ collect_defs(openapi_schema)
+
+ # Move all $defs to components/schemas
+ for def_name, def_schema in defs_to_move.items():
+ if def_name not in openapi_schema["components"]["schemas"]:
+ openapi_schema["components"]["schemas"][def_name] = def_schema
+
+ # Also move any existing root-level $defs to components/schemas
+ if "$defs" in openapi_schema:
+ print(f"Found root-level $defs with {len(openapi_schema['$defs'])} items, moving to components/schemas")
+ for def_name, def_schema in openapi_schema["$defs"].items():
+ if def_name not in openapi_schema["components"]["schemas"]:
+ openapi_schema["components"]["schemas"][def_name] = def_schema
+ # Remove the root-level $defs
+ del openapi_schema["$defs"]
+
+ # Second pass: remove all $defs sections from anywhere in the schema
+ def remove_defs(obj: Any) -> None:
+ if isinstance(obj, dict):
+ if "$defs" in obj:
+ del obj["$defs"]
+
+ # Recursively process all values
+ for value in obj.values():
+ remove_defs(value)
+ elif isinstance(obj, list):
+ for item in obj:
+ remove_defs(item)
+
+ # Remove all $defs sections
+ remove_defs(openapi_schema)
+
+ return openapi_schema
+
+
+def _add_error_responses(openapi_schema: dict[str, Any]) -> dict[str, Any]:
+ """
+ Add standard error response definitions to the OpenAPI schema.
+ Uses the actual Error model from the codebase for consistency.
+ """
+ if "components" not in openapi_schema:
+ openapi_schema["components"] = {}
+ if "responses" not in openapi_schema["components"]:
+ openapi_schema["components"]["responses"] = {}
+
+ try:
+ from llama_stack_api.datatypes import Error
+
+ schema_collection._ensure_components_schemas(openapi_schema)
+ if "Error" not in openapi_schema["components"]["schemas"]:
+ openapi_schema["components"]["schemas"]["Error"] = Error.model_json_schema()
+ except ImportError:
+ pass
+
+ schema_collection._ensure_components_schemas(openapi_schema)
+ if "Response" not in openapi_schema["components"]["schemas"]:
+ openapi_schema["components"]["schemas"]["Response"] = {"title": "Response", "type": "object"}
+
+ # Define standard HTTP error responses
+ error_responses = {
+ 400: {
+ "name": "BadRequest400",
+ "description": "The request was invalid or malformed",
+ "example": {"status": 400, "title": "Bad Request", "detail": "The request was invalid or malformed"},
+ },
+ 429: {
+ "name": "TooManyRequests429",
+ "description": "The client has sent too many requests in a given amount of time",
+ "example": {
+ "status": 429,
+ "title": "Too Many Requests",
+ "detail": "You have exceeded the rate limit. Please try again later.",
+ },
+ },
+ 500: {
+ "name": "InternalServerError500",
+ "description": "The server encountered an unexpected error",
+ "example": {"status": 500, "title": "Internal Server Error", "detail": "An unexpected error occurred"},
+ },
+ }
+
+ # Add each error response to the schema
+ for _, error_info in error_responses.items():
+ response_name = error_info["name"]
+ openapi_schema["components"]["responses"][response_name] = {
+ "description": error_info["description"],
+ "content": {
+ "application/json": {"schema": {"$ref": "#/components/schemas/Error"}, "example": error_info["example"]}
+ },
+ }
+
+ # Add a default error response
+ openapi_schema["components"]["responses"]["DefaultError"] = {
+ "description": "An error occurred",
+ "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}},
+ }
+
+ return openapi_schema
+
+
+def _fix_path_parameters(openapi_schema: dict[str, Any]) -> dict[str, Any]:
+ """
+ Fix path parameter resolution issues by adding explicit parameter definitions.
+ """
+ if "paths" not in openapi_schema:
+ return openapi_schema
+
+ for path, path_item in openapi_schema["paths"].items():
+ # Extract path parameters from the URL
+ path_params = endpoints._extract_path_parameters(path)
+
+ if not path_params:
+ continue
+
+ # Add parameters to each operation in this path
+ for method in ["get", "post", "put", "delete", "patch", "head", "options"]:
+ if method in path_item and isinstance(path_item[method], dict):
+ operation = path_item[method]
+ if "parameters" not in operation:
+ operation["parameters"] = []
+
+ # Add path parameters that aren't already defined
+ existing_param_names = {p.get("name") for p in operation["parameters"] if p.get("in") == "path"}
+ for param in path_params:
+ if param["name"] not in existing_param_names:
+ operation["parameters"].append(param)
+
+ return openapi_schema
+
+
+def _get_schema_title(item: dict[str, Any]) -> str | None:
+ """Extract a title for a schema item to use in union variant names."""
+ if "$ref" in item:
+ return item["$ref"].split("/")[-1]
+ elif "type" in item:
+ type_val = item["type"]
+ if type_val == "null":
+ return None
+ if type_val == "array" and "items" in item:
+ items = item["items"]
+ if isinstance(items, dict):
+ if "anyOf" in items or "oneOf" in items:
+ nested_union = items.get("anyOf") or items.get("oneOf")
+ if isinstance(nested_union, list) and len(nested_union) > 0:
+ nested_types = []
+ for nested_item in nested_union:
+ if isinstance(nested_item, dict):
+ if "$ref" in nested_item:
+ nested_types.append(nested_item["$ref"].split("/")[-1])
+ elif "oneOf" in nested_item:
+ one_of_items = nested_item.get("oneOf", [])
+ if one_of_items and isinstance(one_of_items[0], dict) and "$ref" in one_of_items[0]:
+ base_name = one_of_items[0]["$ref"].split("/")[-1].split("-")[0]
+ nested_types.append(f"{base_name}Union")
+ else:
+ nested_types.append("Union")
+ elif "type" in nested_item and nested_item["type"] != "null":
+ nested_types.append(nested_item["type"])
+ if nested_types:
+ unique_nested = list(dict.fromkeys(nested_types))
+ # Use more descriptive names for better code generation
+ if len(unique_nested) <= 3:
+ return f"list[{' | '.join(unique_nested)}]"
+ else:
+ # Include first few types for better naming
+ return f"list[{unique_nested[0]} | {unique_nested[1]} | ...]"
+ return "list[Union]"
+ elif "$ref" in items:
+ return f"list[{items['$ref'].split('/')[-1]}]"
+ elif "type" in items:
+ return f"list[{items['type']}]"
+ return "array"
+ return type_val
+ elif "title" in item:
+ return item["title"]
+ return None
+
+
+def _add_titles_to_unions(obj: Any, parent_key: str | None = None) -> None:
+ """Recursively add titles to union schemas (anyOf/oneOf) to help code generators infer names."""
+ if isinstance(obj, dict):
+ # Check if this is a union schema (anyOf or oneOf)
+ if "anyOf" in obj or "oneOf" in obj:
+ union_type = "anyOf" if "anyOf" in obj else "oneOf"
+ union_items = obj[union_type]
+
+ if isinstance(union_items, list) and len(union_items) > 0:
+ # Skip simple nullable unions (type | null) - these don't need titles
+ is_simple_nullable = (
+ len(union_items) == 2
+ and any(isinstance(item, dict) and item.get("type") == "null" for item in union_items)
+ and any(
+ isinstance(item, dict) and "type" in item and item.get("type") != "null" for item in union_items
+ )
+ and not any(
+ isinstance(item, dict) and ("$ref" in item or "anyOf" in item or "oneOf" in item)
+ for item in union_items
+ )
+ )
+
+ if is_simple_nullable:
+ # Remove title from simple nullable unions if it exists
+ if "title" in obj:
+ del obj["title"]
+ else:
+ # Add titles to individual union variants that need them
+ for item in union_items:
+ if isinstance(item, dict):
+ # Skip null types
+ if item.get("type") == "null":
+ continue
+ # Add title to complex variants (arrays with unions, nested unions, etc.)
+ # Also add to simple types if they're part of a complex union
+ needs_title = (
+ "items" in item
+ or "anyOf" in item
+ or "oneOf" in item
+ or ("$ref" in item and "title" not in item)
+ )
+ if needs_title and "title" not in item:
+ variant_title = _get_schema_title(item)
+ if variant_title:
+ item["title"] = variant_title
+
+ # Try to infer a meaningful title from the union items for the parent
+ titles = []
+ for item in union_items:
+ if isinstance(item, dict):
+ title = _get_schema_title(item)
+ if title:
+ titles.append(title)
+
+ if titles:
+ # Create a title from the union items
+ unique_titles = list(dict.fromkeys(titles)) # Preserve order, remove duplicates
+ if len(unique_titles) <= 3:
+ title = " | ".join(unique_titles)
+ else:
+ title = f"{unique_titles[0]} | ... ({len(unique_titles)} variants)"
+ # Always set the title for unions to help code generators
+ # This will replace generic property titles with union-specific ones
+ obj["title"] = title
+ elif "title" not in obj and parent_key:
+ # Use parent key as fallback only if no title exists
+ obj["title"] = f"{parent_key.title()}Union"
+
+ # Recursively process all values
+ for key, value in obj.items():
+ _add_titles_to_unions(value, key)
+ elif isinstance(obj, list):
+ for item in obj:
+ _add_titles_to_unions(item, parent_key)
+
+
+def _convert_anyof_const_to_enum(obj: Any) -> None:
+ """Convert anyOf with multiple const string values to a proper enum."""
+ if isinstance(obj, dict):
+ if "anyOf" in obj:
+ any_of = obj["anyOf"]
+ if isinstance(any_of, list):
+ # Check if all items are const string values
+ const_values = []
+ has_null = False
+ can_convert = True
+ for item in any_of:
+ if isinstance(item, dict):
+ if item.get("type") == "null":
+ has_null = True
+ elif item.get("type") == "string" and "const" in item:
+ const_values.append(item["const"])
+ else:
+ # Not a simple const pattern, skip conversion for this anyOf
+ can_convert = False
+ break
+
+ # If we have const values and they're all strings, convert to enum
+ if can_convert and const_values and len(const_values) == len(any_of) - (1 if has_null else 0):
+ # Convert to enum
+ obj["type"] = "string"
+ obj["enum"] = const_values
+ # Preserve default if present, otherwise try to get from first const item
+ if "default" not in obj:
+ for item in any_of:
+ if isinstance(item, dict) and "const" in item:
+ obj["default"] = item["const"]
+ break
+ # Remove anyOf
+ del obj["anyOf"]
+ # Handle nullable
+ if has_null:
+ obj["nullable"] = True
+ # Remove title if it's just "string"
+ if obj.get("title") == "string":
+ del obj["title"]
+
+ # Recursively process all values
+ for value in obj.values():
+ _convert_anyof_const_to_enum(value)
+ elif isinstance(obj, list):
+ for item in obj:
+ _convert_anyof_const_to_enum(item)
+
+
+def _fix_schema_recursive(obj: Any) -> None:
+ """Recursively fix schema issues: exclusiveMinimum and null defaults."""
+ if isinstance(obj, dict):
+ if "exclusiveMinimum" in obj and isinstance(obj["exclusiveMinimum"], int | float):
+ obj["minimum"] = obj.pop("exclusiveMinimum")
+ if "default" in obj and obj["default"] is None:
+ del obj["default"]
+ obj["nullable"] = True
+ for value in obj.values():
+ _fix_schema_recursive(value)
+ elif isinstance(obj, list):
+ for item in obj:
+ _fix_schema_recursive(item)
+
+
+def _clean_description(description: str) -> str:
+ """Remove :param, :type, :returns, and other docstring metadata from description."""
+ if not description:
+ return description
+
+ lines = description.split("\n")
+ cleaned_lines = []
+ skip_until_empty = False
+
+ for line in lines:
+ stripped = line.strip()
+ # Skip lines that start with docstring metadata markers
+ if stripped.startswith(
+ (":param", ":type", ":return", ":returns", ":raises", ":exception", ":yield", ":yields", ":cvar")
+ ):
+ skip_until_empty = True
+ continue
+ # If we're skipping and hit an empty line, resume normal processing
+ if skip_until_empty:
+ if not stripped:
+ skip_until_empty = False
+ continue
+ # Include the line if we're not skipping
+ cleaned_lines.append(line)
+
+ # Join and strip trailing whitespace
+ result = "\n".join(cleaned_lines).strip()
+ return result
+
+
+def _clean_schema_descriptions(openapi_schema: dict[str, Any]) -> dict[str, Any]:
+ """Clean descriptions in schema definitions by removing docstring metadata."""
+ if "components" not in openapi_schema or "schemas" not in openapi_schema["components"]:
+ return openapi_schema
+
+ schemas = openapi_schema["components"]["schemas"]
+ for schema_def in schemas.values():
+ if isinstance(schema_def, dict) and "description" in schema_def and isinstance(schema_def["description"], str):
+ schema_def["description"] = _clean_description(schema_def["description"])
+
+ return openapi_schema
+
+
+def _add_extra_body_params_extension(openapi_schema: dict[str, Any]) -> dict[str, Any]:
+ """
+ Add x-llama-stack-extra-body-params extension to requestBody for endpoints with ExtraBodyField parameters.
+ """
+ if "paths" not in openapi_schema:
+ return openapi_schema
+
+ from pydantic import TypeAdapter
+
+ for path, path_item in openapi_schema["paths"].items():
+ if not isinstance(path_item, dict):
+ continue
+
+ for method in ["get", "post", "put", "delete", "patch", "head", "options"]:
+ if method not in path_item:
+ continue
+
+ operation = path_item[method]
+ if not isinstance(operation, dict):
+ continue
+
+ # Check if we have extra body fields for this path/method
+ key = (path, method.upper())
+ if key not in _extra_body_fields:
+ continue
+
+ extra_body_params = _extra_body_fields[key]
+
+ # Ensure requestBody exists
+ if "requestBody" not in operation:
+ continue
+
+ request_body = operation["requestBody"]
+ if not isinstance(request_body, dict):
+ continue
+
+ # Get the schema from requestBody
+ content = request_body.get("content", {})
+ json_content = content.get("application/json", {})
+ schema_ref = json_content.get("schema", {})
+
+ # Remove extra body fields from the schema if they exist as properties
+ # Handle both $ref schemas and inline schemas
+ if isinstance(schema_ref, dict):
+ if "$ref" in schema_ref:
+ # Schema is a reference - remove from the referenced schema
+ ref_path = schema_ref["$ref"]
+ if ref_path.startswith("#/components/schemas/"):
+ schema_name = ref_path.split("/")[-1]
+ if "components" in openapi_schema and "schemas" in openapi_schema["components"]:
+ schema_def = openapi_schema["components"]["schemas"].get(schema_name)
+ if isinstance(schema_def, dict) and "properties" in schema_def:
+ for param_name, _, _ in extra_body_params:
+ if param_name in schema_def["properties"]:
+ del schema_def["properties"][param_name]
+ # Also remove from required if present
+ if "required" in schema_def and param_name in schema_def["required"]:
+ schema_def["required"].remove(param_name)
+ elif "properties" in schema_ref:
+ # Schema is inline - remove directly from it
+ for param_name, _, _ in extra_body_params:
+ if param_name in schema_ref["properties"]:
+ del schema_ref["properties"][param_name]
+ # Also remove from required if present
+ if "required" in schema_ref and param_name in schema_ref["required"]:
+ schema_ref["required"].remove(param_name)
+
+ # Build the extra body params schema
+ extra_params_schema = {}
+ for param_name, param_type, description in extra_body_params:
+ try:
+ # Generate JSON schema for the parameter type
+ adapter = TypeAdapter(param_type)
+ param_schema = adapter.json_schema(ref_template="#/components/schemas/{model}")
+
+ # Add description if provided
+ if description:
+ param_schema["description"] = description
+
+ extra_params_schema[param_name] = param_schema
+ except Exception:
+ # If we can't generate schema, skip this parameter
+ continue
+
+ if extra_params_schema:
+ # Add the extension to requestBody
+ if "x-llama-stack-extra-body-params" not in request_body:
+ request_body["x-llama-stack-extra-body-params"] = extra_params_schema
+
+ return openapi_schema
+
+
+def _remove_query_params_from_body_endpoints(openapi_schema: dict[str, Any]) -> dict[str, Any]:
+ """
+ Remove query parameters from POST/PUT/PATCH endpoints that have a request body.
+ FastAPI sometimes infers parameters as query params even when they should be in the request body.
+ """
+ if "paths" not in openapi_schema:
+ return openapi_schema
+
+ body_methods = {"post", "put", "patch"}
+
+ for _path, path_item in openapi_schema["paths"].items():
+ if not isinstance(path_item, dict):
+ continue
+
+ for method in body_methods:
+ if method not in path_item:
+ continue
+
+ operation = path_item[method]
+ if not isinstance(operation, dict):
+ continue
+
+ # Check if this operation has a request body
+ has_request_body = "requestBody" in operation and operation["requestBody"]
+
+ if has_request_body:
+ # Remove all query parameters (parameters with "in": "query")
+ if "parameters" in operation:
+ # Filter out query parameters, keep path and header parameters
+ operation["parameters"] = [
+ param
+ for param in operation["parameters"]
+ if isinstance(param, dict) and param.get("in") != "query"
+ ]
+ # Remove the parameters key if it's now empty
+ if not operation["parameters"]:
+ del operation["parameters"]
+
+ return openapi_schema
+
+
+def _remove_request_bodies_from_get_endpoints(openapi_schema: dict[str, Any]) -> dict[str, Any]:
+ """
+ Remove request bodies from GET endpoints and convert their parameters to query parameters.
+
+ GET requests should never have request bodies - all parameters should be query parameters.
+ This function removes any requestBody that FastAPI may have incorrectly added to GET endpoints
+ and converts any parameters in the requestBody to query parameters.
+ """
+ if "paths" not in openapi_schema:
+ return openapi_schema
+
+ for _path, path_item in openapi_schema["paths"].items():
+ if not isinstance(path_item, dict):
+ continue
+
+ # Check GET method specifically
+ if "get" in path_item:
+ operation = path_item["get"]
+ if not isinstance(operation, dict):
+ continue
+
+ if "requestBody" in operation:
+ request_body = operation["requestBody"]
+ # Extract parameters from requestBody and convert to query parameters
+ if isinstance(request_body, dict) and "content" in request_body:
+ content = request_body.get("content", {})
+ json_content = content.get("application/json", {})
+ schema = json_content.get("schema", {})
+
+ if "parameters" not in operation:
+ operation["parameters"] = []
+ elif not isinstance(operation["parameters"], list):
+ operation["parameters"] = []
+
+ # If the schema has properties, convert each to a query parameter
+ if isinstance(schema, dict) and "properties" in schema:
+ for param_name, param_schema in schema["properties"].items():
+ # Check if this parameter is already in the parameters list
+ existing_param = None
+ for existing in operation["parameters"]:
+ if isinstance(existing, dict) and existing.get("name") == param_name:
+ existing_param = existing
+ break
+
+ if not existing_param:
+ # Create a new query parameter from the requestBody property
+ required = param_name in schema.get("required", [])
+ query_param = {
+ "name": param_name,
+ "in": "query",
+ "required": required,
+ "schema": param_schema,
+ }
+ # Add description if present
+ if "description" in param_schema:
+ query_param["description"] = param_schema["description"]
+ operation["parameters"].append(query_param)
+ elif isinstance(schema, dict):
+ # Handle direct schema (not a model with properties)
+ # Try to infer parameter name from schema title
+ param_name = schema.get("title", "").lower().replace(" ", "_")
+ if param_name:
+ # Check if this parameter is already in the parameters list
+ existing_param = None
+ for existing in operation["parameters"]:
+ if isinstance(existing, dict) and existing.get("name") == param_name:
+ existing_param = existing
+ break
+
+ if not existing_param:
+ # Create a new query parameter from the requestBody schema
+ query_param = {
+ "name": param_name,
+ "in": "query",
+ "required": False, # Default to optional for GET requests
+ "schema": schema,
+ }
+ # Add description if present
+ if "description" in schema:
+ query_param["description"] = schema["description"]
+ operation["parameters"].append(query_param)
+
+ # Remove request body from GET endpoint
+ del operation["requestBody"]
+
+ return openapi_schema
+
+
+def _extract_duplicate_union_types(openapi_schema: dict[str, Any]) -> dict[str, Any]:
+ """
+ Extract duplicate union types to shared schema references.
+
+ Stainless generates type names from union types based on their context, which can cause
+ duplicate names when the same union appears in different places. This function extracts
+ these duplicate unions to shared schema definitions and replaces inline definitions with
+ references to them.
+
+ According to Stainless docs, when duplicate types are detected, they should be extracted
+ to the same ref and declared as a model. This ensures Stainless generates consistent
+ type names regardless of where the union is referenced.
+
+ Fixes: https://www.stainless.com/docs/reference/diagnostics#Python/DuplicateDeclaration
+ """
+ if "components" not in openapi_schema or "schemas" not in openapi_schema["components"]:
+ return openapi_schema
+
+ schemas = openapi_schema["components"]["schemas"]
+
+ # Extract the Output union type (used in OpenAIResponseObjectWithInput-Output and ListOpenAIResponseInputItem)
+ output_union_schema_name = "OpenAIResponseMessageOutputUnion"
+ output_union_title = None
+
+ # Get the union type from OpenAIResponseObjectWithInput-Output.input.items.anyOf
+ if "OpenAIResponseObjectWithInput-Output" in schemas:
+ schema = schemas["OpenAIResponseObjectWithInput-Output"]
+ if isinstance(schema, dict) and "properties" in schema:
+ input_prop = schema["properties"].get("input")
+ if isinstance(input_prop, dict) and "items" in input_prop:
+ items = input_prop["items"]
+ if isinstance(items, dict) and "anyOf" in items:
+ # Extract the union schema with deep copy
+ output_union_schema = copy.deepcopy(items["anyOf"])
+ output_union_title = items.get("title", "OpenAIResponseMessageOutputUnion")
+
+ # Collect all refs from the oneOf to detect duplicates
+ refs_in_oneof = set()
+ for item in output_union_schema:
+ if isinstance(item, dict) and "oneOf" in item:
+ oneof = item["oneOf"]
+ if isinstance(oneof, list):
+ for variant in oneof:
+ if isinstance(variant, dict) and "$ref" in variant:
+ refs_in_oneof.add(variant["$ref"])
+ item["x-stainless-naming"] = "OpenAIResponseMessageOutputOneOf"
+
+ # Remove duplicate refs from anyOf that are already in oneOf
+ deduplicated_schema = []
+ for item in output_union_schema:
+ if isinstance(item, dict) and "$ref" in item:
+ if item["$ref"] not in refs_in_oneof:
+ deduplicated_schema.append(item)
+ else:
+ deduplicated_schema.append(item)
+ output_union_schema = deduplicated_schema
+
+ # Create the shared schema with x-stainless-naming to ensure consistent naming
+ if output_union_schema_name not in schemas:
+ schemas[output_union_schema_name] = {
+ "anyOf": output_union_schema,
+ "title": output_union_title,
+ "x-stainless-naming": output_union_schema_name,
+ }
+ # Replace with reference
+ input_prop["items"] = {"$ref": f"#/components/schemas/{output_union_schema_name}"}
+
+ # Replace the same union in ListOpenAIResponseInputItem.data.items.anyOf
+ if "ListOpenAIResponseInputItem" in schemas and output_union_schema_name in schemas:
+ schema = schemas["ListOpenAIResponseInputItem"]
+ if isinstance(schema, dict) and "properties" in schema:
+ data_prop = schema["properties"].get("data")
+ if isinstance(data_prop, dict) and "items" in data_prop:
+ items = data_prop["items"]
+ if isinstance(items, dict) and "anyOf" in items:
+ # Replace with reference
+ data_prop["items"] = {"$ref": f"#/components/schemas/{output_union_schema_name}"}
+
+ # Extract the Input union type (used in _responses_Request.input.anyOf[1].items.anyOf)
+ input_union_schema_name = "OpenAIResponseMessageInputUnion"
+
+ if "_responses_Request" in schemas:
+ schema = schemas["_responses_Request"]
+ if isinstance(schema, dict) and "properties" in schema:
+ input_prop = schema["properties"].get("input")
+ if isinstance(input_prop, dict) and "anyOf" in input_prop:
+ any_of = input_prop["anyOf"]
+ if isinstance(any_of, list) and len(any_of) > 1:
+ # Check the second item (index 1) which should be the array type
+ second_item = any_of[1]
+ if isinstance(second_item, dict) and "items" in second_item:
+ items = second_item["items"]
+ if isinstance(items, dict) and "anyOf" in items:
+ # Extract the union schema with deep copy
+ input_union_schema = copy.deepcopy(items["anyOf"])
+ input_union_title = items.get("title", "OpenAIResponseMessageInputUnion")
+
+ # Collect all refs from the oneOf to detect duplicates
+ refs_in_oneof = set()
+ for item in input_union_schema:
+ if isinstance(item, dict) and "oneOf" in item:
+ oneof = item["oneOf"]
+ if isinstance(oneof, list):
+ for variant in oneof:
+ if isinstance(variant, dict) and "$ref" in variant:
+ refs_in_oneof.add(variant["$ref"])
+ item["x-stainless-naming"] = "OpenAIResponseMessageInputOneOf"
+
+ # Remove duplicate refs from anyOf that are already in oneOf
+ deduplicated_schema = []
+ for item in input_union_schema:
+ if isinstance(item, dict) and "$ref" in item:
+ if item["$ref"] not in refs_in_oneof:
+ deduplicated_schema.append(item)
+ else:
+ deduplicated_schema.append(item)
+ input_union_schema = deduplicated_schema
+
+ # Create the shared schema with x-stainless-naming to ensure consistent naming
+ if input_union_schema_name not in schemas:
+ schemas[input_union_schema_name] = {
+ "anyOf": input_union_schema,
+ "title": input_union_title,
+ "x-stainless-naming": input_union_schema_name,
+ }
+ # Replace with reference
+ second_item["items"] = {"$ref": f"#/components/schemas/{input_union_schema_name}"}
+
+ return openapi_schema
+
+
+def _convert_multiline_strings_to_literal(obj: Any) -> Any:
+ """Recursively convert multi-line strings to LiteralScalarString for YAML block scalar formatting."""
+ try:
+ from ruamel.yaml.scalarstring import LiteralScalarString
+
+ if isinstance(obj, str) and "\n" in obj:
+ return LiteralScalarString(obj)
+ elif isinstance(obj, dict):
+ return {key: _convert_multiline_strings_to_literal(value) for key, value in obj.items()}
+ elif isinstance(obj, list):
+ return [_convert_multiline_strings_to_literal(item) for item in obj]
+ else:
+ return obj
+ except ImportError:
+ return obj
+
+
+def _write_yaml_file(file_path: Path, schema: dict[str, Any]) -> None:
+ """Write schema to YAML file using ruamel.yaml if available, otherwise standard yaml."""
+ try:
+ from ruamel.yaml import YAML
+
+ yaml_writer = YAML()
+ yaml_writer.default_flow_style = False
+ yaml_writer.sort_keys = False
+ yaml_writer.width = 4096
+ yaml_writer.allow_unicode = True
+ schema = _convert_multiline_strings_to_literal(schema)
+ with open(file_path, "w") as f:
+ yaml_writer.dump(schema, f)
+ except ImportError:
+ with open(file_path, "w") as f:
+ yaml.dump(schema, f, default_flow_style=False, sort_keys=False)
+
+ # Post-process to remove trailing whitespace from all lines
+ with open(file_path) as f:
+ lines = f.readlines()
+
+ # Strip trailing whitespace from each line, preserving newlines
+ cleaned_lines = [line.rstrip() + "\n" if line.endswith("\n") else line.rstrip() for line in lines]
+
+ with open(file_path, "w") as f:
+ f.writelines(cleaned_lines)
+
+
+def _apply_legacy_sorting(openapi_schema: dict[str, Any]) -> dict[str, Any]:
+ """
+ Temporarily match the legacy ordering from origin/main so diffs are easier to read.
+ Remove this once the generator output stabilizes and we no longer need legacy diffs.
+ """
+
+ def order_mapping(data: dict[str, Any], priority: list[str]) -> OrderedDict[str, Any]:
+ ordered: OrderedDict[str, Any] = OrderedDict()
+ for key in priority:
+ if key in data:
+ ordered[key] = data[key]
+ for key, value in data.items():
+ if key not in ordered:
+ ordered[key] = value
+ return ordered
+
+ paths = openapi_schema.get("paths")
+ if isinstance(paths, dict):
+ openapi_schema["paths"] = order_mapping(paths, LEGACY_PATH_ORDER)
+ for path, path_item in openapi_schema["paths"].items():
+ if not isinstance(path_item, dict):
+ continue
+ ordered_path_item = OrderedDict()
+ for method in ["get", "post", "put", "delete", "patch", "head", "options"]:
+ if method in path_item:
+ ordered_path_item[method] = order_mapping(path_item[method], LEGACY_OPERATION_KEYS)
+ for key, value in path_item.items():
+ if key not in ordered_path_item:
+ if isinstance(value, dict) and key.lower() in {
+ "get",
+ "post",
+ "put",
+ "delete",
+ "patch",
+ "head",
+ "options",
+ }:
+ ordered_path_item[key] = order_mapping(value, LEGACY_OPERATION_KEYS)
+ else:
+ ordered_path_item[key] = value
+ openapi_schema["paths"][path] = ordered_path_item
+
+ components = openapi_schema.setdefault("components", {})
+ schemas = components.get("schemas")
+ if isinstance(schemas, dict):
+ components["schemas"] = order_mapping(schemas, LEGACY_SCHEMA_ORDER)
+ responses = components.get("responses")
+ if isinstance(responses, dict):
+ components["responses"] = order_mapping(responses, LEGACY_RESPONSE_ORDER)
+
+ if LEGACY_TAGS:
+ openapi_schema["tags"] = LEGACY_TAGS
+
+ if LEGACY_TAG_GROUPS:
+ openapi_schema["x-tagGroups"] = LEGACY_TAG_GROUPS
+
+ if LEGACY_SECURITY:
+ openapi_schema["security"] = LEGACY_SECURITY
+
+ return openapi_schema
+
+
+def _fix_schema_issues(openapi_schema: dict[str, Any]) -> dict[str, Any]:
+ """Fix common schema issues: exclusiveMinimum, null defaults, and add titles to unions."""
+ # Convert anyOf with const values to enums across the entire schema
+ _convert_anyof_const_to_enum(openapi_schema)
+
+ # Fix other schema issues and add titles to unions
+ if "components" in openapi_schema and "schemas" in openapi_schema["components"]:
+ for schema_name, schema_def in openapi_schema["components"]["schemas"].items():
+ _fix_schema_recursive(schema_def)
+ _add_titles_to_unions(schema_def, schema_name)
+ return openapi_schema
+
+
+def validate_openapi_schema(schema: dict[str, Any], schema_name: str = "OpenAPI schema") -> bool:
+ """
+ Validate an OpenAPI schema using openapi-spec-validator.
+
+ Args:
+ schema: The OpenAPI schema dictionary to validate
+ schema_name: Name of the schema for error reporting
+
+ Returns:
+ True if valid, False otherwise
+
+ Raises:
+ OpenAPIValidationError: If validation fails
+ """
+ try:
+ validate_spec(schema)
+ print(f"{schema_name} is valid")
+ return True
+ except OpenAPISpecValidatorError as e:
+ print(f"{schema_name} validation failed: {e}")
+ return False
+ except Exception as e:
+ print(f"{schema_name} validation error: {e}")
+ return False
diff --git a/scripts/openapi_generator/state.py b/scripts/openapi_generator/state.py
new file mode 100644
index 0000000000..babd1451a4
--- /dev/null
+++ b/scripts/openapi_generator/state.py
@@ -0,0 +1,41 @@
+# Copyright (c) Meta Platforms, Inc. and affiliates.
+# All rights reserved.
+#
+# This source code is licensed under the terms described in the LICENSE file in
+# the root directory of this source tree.
+
+"""
+Shared state for the OpenAPI generator module.
+"""
+
+from typing import Any
+
+from llama_stack_api import Api
+from llama_stack_api.schema_utils import clear_dynamic_schema_types, register_dynamic_schema_type
+
+_dynamic_model_registry: dict[str, type] = {}
+
+# Cache for protocol methods to avoid repeated lookups
+_protocol_methods_cache: dict[Api, dict[str, Any]] | None = None
+
+# Global dict to store extra body field information by endpoint
+# Key: (path, method) tuple, Value: list of (param_name, param_type, description) tuples
+_extra_body_fields: dict[tuple[str, str], list[tuple[str, type, str | None]]] = {}
+
+
+def register_dynamic_model(name: str, model: type) -> type:
+ """Register and deduplicate dynamically generated request models."""
+ existing = _dynamic_model_registry.get(name)
+ if existing is not None:
+ register_dynamic_schema_type(existing)
+ return existing
+ _dynamic_model_registry[name] = model
+ register_dynamic_schema_type(model)
+ return model
+
+
+def reset_generator_state() -> None:
+ """Clear per-run caches so repeated generations stay deterministic."""
+ _dynamic_model_registry.clear()
+ _extra_body_fields.clear()
+ clear_dynamic_schema_types()
diff --git a/scripts/run_openapi_generator.sh b/scripts/run_openapi_generator.sh
new file mode 100755
index 0000000000..946b2886fe
--- /dev/null
+++ b/scripts/run_openapi_generator.sh
@@ -0,0 +1,19 @@
+#!/usr/bin/env bash
+
+# Copyright (c) Meta Platforms, Inc. and affiliates.
+# All rights reserved.
+#
+# This source code is licensed under the terms described in the LICENSE file in
+# the root directory of this source tree.
+
+PYTHONPATH=${PYTHONPATH:-}
+THIS_DIR="$(cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" && pwd)"
+
+set -euo pipefail
+
+
+stack_dir=$(dirname "$THIS_DIR")
+PYTHONPATH=$PYTHONPATH:$stack_dir \
+ python3 -m scripts.openapi_generator "$stack_dir"/docs/static
+
+cp "$stack_dir"/docs/static/stainless-llama-stack-spec.yaml "$stack_dir"/client-sdks/stainless/openapi.yml
diff --git a/src/llama_stack/core/library_client.py b/src/llama_stack/core/library_client.py
index 2a224d9158..d6be7aeca0 100644
--- a/src/llama_stack/core/library_client.py
+++ b/src/llama_stack/core/library_client.py
@@ -19,7 +19,7 @@
import yaml
from fastapi import Response as FastAPIResponse
-from llama_stack_api import is_unwrapped_body_param
+from llama_stack.core.utils.type_inspection import is_unwrapped_body_param
try:
from llama_stack_client import (
@@ -42,17 +42,10 @@
from llama_stack.core.build import print_pip_install_help
from llama_stack.core.configure import parse_and_maybe_upgrade_config
from llama_stack.core.datatypes import BuildConfig, BuildProvider, DistributionSpec
-from llama_stack.core.request_headers import (
- PROVIDER_DATA_VAR,
- request_provider_data_context,
-)
+from llama_stack.core.request_headers import PROVIDER_DATA_VAR, request_provider_data_context
from llama_stack.core.resolver import ProviderRegistry
from llama_stack.core.server.routes import RouteImpls, find_matching_route, initialize_route_impls
-from llama_stack.core.stack import (
- Stack,
- get_stack_run_config_from_distro,
- replace_env_vars,
-)
+from llama_stack.core.stack import Stack, get_stack_run_config_from_distro, replace_env_vars
from llama_stack.core.telemetry import Telemetry
from llama_stack.core.telemetry.tracing import CURRENT_TRACE_CONTEXT, end_trace, setup_logger, start_trace
from llama_stack.core.utils.config import redact_sensitive_fields
diff --git a/src/llama_stack/core/utils/type_inspection.py b/src/llama_stack/core/utils/type_inspection.py
new file mode 100644
index 0000000000..31e7f23289
--- /dev/null
+++ b/src/llama_stack/core/utils/type_inspection.py
@@ -0,0 +1,45 @@
+# Copyright (c) Meta Platforms, Inc. and affiliates.
+# All rights reserved.
+#
+# This source code is licensed under the terms described in the LICENSE file in
+# the root directory of this source tree.
+
+"""
+Utility functions for type inspection and parameter handling.
+"""
+
+import inspect
+import typing
+from typing import Any, get_args, get_origin
+
+from pydantic import BaseModel
+from pydantic.fields import FieldInfo
+
+
+def is_unwrapped_body_param(param_type: Any) -> bool:
+ """
+ Check if a parameter type represents an unwrapped body parameter.
+ An unwrapped body parameter is an Annotated type with Body(embed=False)
+
+ This is used to determine whether request parameters should be flattened
+ in OpenAPI specs and client libraries (matching FastAPI's embed=False behavior).
+
+ Args:
+ param_type: The parameter type annotation to check
+
+ Returns:
+ True if the parameter should be treated as an unwrapped body parameter
+ """
+ # Check if it's Annotated with Body(embed=False)
+ if get_origin(param_type) is typing.Annotated:
+ args = get_args(param_type)
+ base_type = args[0]
+ metadata = args[1:]
+
+ # Look for Body annotation with embed=False
+ # Body() returns a FieldInfo object, so we check for that type and the embed attribute
+ for item in metadata:
+ if isinstance(item, FieldInfo) and hasattr(item, "embed") and not item.embed:
+ return inspect.isclass(base_type) and issubclass(base_type, BaseModel)
+
+ return False
diff --git a/src/llama_stack_api/__init__.py b/src/llama_stack_api/__init__.py
index 19b29301be..b7efcc543f 100644
--- a/src/llama_stack_api/__init__.py
+++ b/src/llama_stack_api/__init__.py
@@ -353,8 +353,15 @@
from .schema_utils import (
CallableT,
ExtraBodyField,
+ SchemaInfo,
WebMethod,
+ clear_dynamic_schema_types,
+ get_registered_schema_info,
+ iter_dynamic_schema_types,
+ iter_json_schema_types,
+ iter_registered_schema_types,
json_schema_type,
+ register_dynamic_schema_type,
register_schema,
webmethod,
)
@@ -388,27 +395,6 @@
)
# Import from strong_typing
-from .strong_typing.core import JsonType
-from .strong_typing.docstring import Docstring, parse_type
-from .strong_typing.inspection import (
- get_signature,
- is_generic_list,
- is_type_optional,
- is_type_union,
- is_unwrapped_body_param,
- unwrap_generic_list,
- unwrap_optional_type,
- unwrap_union_types,
-)
-from .strong_typing.name import python_type_to_name
-from .strong_typing.schema import (
- JsonSchemaGenerator,
- Schema,
- SchemaOptions,
- StrictJsonType,
- get_schema_identifier,
-)
-from .strong_typing.serialization import json_dump_string, object_to_json
from .tools import (
ListToolDefsResponse,
ListToolGroupsResponse,
@@ -537,6 +523,7 @@
"ExtraBodyField",
"Files",
"Fp8QuantizationConfig",
+ "clear_dynamic_schema_types",
"get_schema_identifier",
"get_signature",
"GrammarResponseFormat",
@@ -557,6 +544,10 @@
"is_type_optional",
"is_type_union",
"is_unwrapped_body_param",
+ "iter_dynamic_schema_types",
+ "iter_json_schema_types",
+ "iter_registered_schema_types",
+ "get_registered_schema_info",
"Job",
"JobStatus",
"json_dump_string",
@@ -759,6 +750,7 @@
"RAGQueryGeneratorConfig",
"RAGQueryResult",
"RAGSearchMode",
+ "register_dynamic_schema_type",
"register_schema",
"RLHFAlgorithm",
"RRFRanker",
@@ -796,6 +788,7 @@
"ScoringResult",
"ScoringResultRow",
"Schema",
+ "SchemaInfo",
"SchemaOptions",
"SearchRankingOptions",
"Shield",
diff --git a/src/llama_stack_api/benchmarks.py b/src/llama_stack_api/benchmarks.py
index e9ac3a8b84..fdb2ccad43 100644
--- a/src/llama_stack_api/benchmarks.py
+++ b/src/llama_stack_api/benchmarks.py
@@ -48,6 +48,7 @@ class BenchmarkInput(CommonBenchmarkFields, BaseModel):
provider_benchmark_id: str | None = None
+@json_schema_type
class ListBenchmarksResponse(BaseModel):
data: list[Benchmark]
diff --git a/src/llama_stack_api/datasets.py b/src/llama_stack_api/datasets.py
index 76d787078e..6d707aa8ee 100644
--- a/src/llama_stack_api/datasets.py
+++ b/src/llama_stack_api/datasets.py
@@ -136,6 +136,7 @@ class DatasetInput(CommonDatasetFields, BaseModel):
dataset_id: str
+@json_schema_type
class ListDatasetsResponse(BaseModel):
"""Response from listing datasets.
diff --git a/src/llama_stack_api/inspect.py b/src/llama_stack_api/inspect.py
index 8326e9e6b0..b9e5a68434 100644
--- a/src/llama_stack_api/inspect.py
+++ b/src/llama_stack_api/inspect.py
@@ -54,6 +54,7 @@ class VersionInfo(BaseModel):
version: str
+@json_schema_type
class ListRoutesResponse(BaseModel):
"""Response containing a list of all available API routes.
diff --git a/src/llama_stack_api/models.py b/src/llama_stack_api/models.py
index 833864ec20..98c16b6c25 100644
--- a/src/llama_stack_api/models.py
+++ b/src/llama_stack_api/models.py
@@ -100,6 +100,7 @@ class OpenAIModel(BaseModel):
custom_metadata: dict[str, Any] | None = None
+@json_schema_type
class OpenAIListModelsResponse(BaseModel):
data: list[OpenAIModel]
diff --git a/src/llama_stack_api/openai_responses.py b/src/llama_stack_api/openai_responses.py
index 2dd73e90ac..952418f1cf 100644
--- a/src/llama_stack_api/openai_responses.py
+++ b/src/llama_stack_api/openai_responses.py
@@ -1316,6 +1316,7 @@ class OpenAIResponseInputFunctionToolCallOutput(BaseModel):
register_schema(OpenAIResponseInput, name="OpenAIResponseInput")
+@json_schema_type
class ListOpenAIResponseInputItem(BaseModel):
"""List container for OpenAI response input items.
diff --git a/src/llama_stack_api/post_training.py b/src/llama_stack_api/post_training.py
index 0cc9277d98..505c8bfd7e 100644
--- a/src/llama_stack_api/post_training.py
+++ b/src/llama_stack_api/post_training.py
@@ -236,6 +236,7 @@ class PostTrainingRLHFRequest(BaseModel):
logger_config: dict[str, Any]
+@json_schema_type
class PostTrainingJob(BaseModel):
job_uuid: str
@@ -265,6 +266,7 @@ class PostTrainingJobStatusResponse(BaseModel):
checkpoints: list[Checkpoint] = Field(default_factory=list)
+@json_schema_type
class ListPostTrainingJobsResponse(BaseModel):
data: list[PostTrainingJob]
diff --git a/src/llama_stack_api/prompts.py b/src/llama_stack_api/prompts.py
index 651d03e616..8562e47042 100644
--- a/src/llama_stack_api/prompts.py
+++ b/src/llama_stack_api/prompts.py
@@ -85,6 +85,7 @@ def generate_prompt_id(cls) -> str:
return f"pmpt_{hex_string}"
+@json_schema_type
class ListPromptsResponse(BaseModel):
"""Response model to list prompts."""
diff --git a/src/llama_stack_api/providers.py b/src/llama_stack_api/providers.py
index 5b555b82fd..88c66f2617 100644
--- a/src/llama_stack_api/providers.py
+++ b/src/llama_stack_api/providers.py
@@ -31,6 +31,7 @@ class ProviderInfo(BaseModel):
health: HealthResponse
+@json_schema_type
class ListProvidersResponse(BaseModel):
"""Response containing a list of all available providers.
diff --git a/src/llama_stack_api/schema_utils.py b/src/llama_stack_api/schema_utils.py
index 8444d2a340..162ef63fb7 100644
--- a/src/llama_stack_api/schema_utils.py
+++ b/src/llama_stack_api/schema_utils.py
@@ -4,11 +4,9 @@
# This source code is licensed under the terms described in the LICENSE file in
# the root directory of this source tree.
-from collections.abc import Callable
+from collections.abc import Callable, Iterable
from dataclasses import dataclass
-from typing import Any, TypeVar
-
-from .strong_typing.schema import json_schema_type, register_schema # noqa: F401
+from typing import Any, Literal, TypeVar
class ExtraBodyField[T]:
@@ -48,6 +46,98 @@ def __init__(self, description: str | None = None):
self.description = description
+SchemaSource = Literal["json_schema_type", "registered_schema", "dynamic_schema"]
+
+
+@dataclass(frozen=True)
+class SchemaInfo:
+ """Metadata describing a schema entry exposed to OpenAPI generation."""
+
+ name: str
+ type: Any
+ source: SchemaSource
+
+
+_json_schema_types: dict[type, SchemaInfo] = {}
+
+
+def json_schema_type(cls):
+ """
+ Decorator to mark a Pydantic model for top-level component registration.
+
+ Models marked with this decorator will be registered as top-level components
+ in the OpenAPI schema, while unmarked models will be inlined.
+
+ This provides control over schema registration to avoid unnecessary indirection
+ for simple one-off types while keeping complex reusable types as components.
+ """
+ cls._llama_stack_schema_type = True
+ schema_name = getattr(cls, "__name__", f"Anonymous_{id(cls)}")
+ cls._llama_stack_schema_name = schema_name
+ _json_schema_types.setdefault(cls, SchemaInfo(name=schema_name, type=cls, source="json_schema_type"))
+ return cls
+
+
+# Global registries for schemas discoverable by the generator
+_registered_schemas: dict[Any, SchemaInfo] = {}
+_dynamic_schema_types: dict[type, SchemaInfo] = {}
+
+
+def register_schema(schema_type, name: str | None = None):
+ """
+ Register a schema type for top-level component registration.
+
+ This replicates the behavior of strong_typing's register_schema function.
+ It's used for union types and other complex types that should appear as
+ top-level components in the OpenAPI schema.
+
+ Args:
+ schema_type: The type to register (e.g., union types, Annotated types)
+ name: Optional name for the schema in the OpenAPI spec. If not provided,
+ uses the type's __name__ or a generated name.
+ """
+ if name is None:
+ name = getattr(schema_type, "__name__", f"Anonymous_{id(schema_type)}")
+
+ # Store the registration information in a global registry
+ # since union types don't allow setting attributes
+ _registered_schemas[schema_type] = SchemaInfo(name=name, type=schema_type, source="registered_schema")
+
+ return schema_type
+
+
+def get_registered_schema_info(schema_type: Any) -> SchemaInfo | None:
+ """Return the registration metadata for a schema type if present."""
+ return _registered_schemas.get(schema_type)
+
+
+def iter_registered_schema_types() -> Iterable[SchemaInfo]:
+ """Iterate over all explicitly registered schema entries."""
+ return tuple(_registered_schemas.values())
+
+
+def iter_json_schema_types() -> Iterable[type]:
+ """Iterate over all Pydantic models decorated with @json_schema_type."""
+ return tuple(info.type for info in _json_schema_types.values())
+
+
+def iter_dynamic_schema_types() -> Iterable[type]:
+ """Iterate over dynamic models registered at generation time."""
+ return tuple(info.type for info in _dynamic_schema_types.values())
+
+
+def register_dynamic_schema_type(schema_type: type, name: str | None = None) -> type:
+ """Register a dynamic model generated at runtime for schema inclusion."""
+ schema_name = name if name is not None else getattr(schema_type, "__name__", f"Anonymous_{id(schema_type)}")
+ _dynamic_schema_types[schema_type] = SchemaInfo(name=schema_name, type=schema_type, source="dynamic_schema")
+ return schema_type
+
+
+def clear_dynamic_schema_types() -> None:
+ """Clear dynamic schema registrations."""
+ _dynamic_schema_types.clear()
+
+
@dataclass
class WebMethod:
level: str | None = None
diff --git a/src/llama_stack_api/scoring_functions.py b/src/llama_stack_api/scoring_functions.py
index f75336e54d..12051c20cb 100644
--- a/src/llama_stack_api/scoring_functions.py
+++ b/src/llama_stack_api/scoring_functions.py
@@ -155,6 +155,7 @@ class ScoringFnInput(CommonScoringFnFields, BaseModel):
provider_scoring_fn_id: str | None = None
+@json_schema_type
class ListScoringFunctionsResponse(BaseModel):
data: list[ScoringFn]
diff --git a/src/llama_stack_api/shields.py b/src/llama_stack_api/shields.py
index 2aeb833332..19e412a5ae 100644
--- a/src/llama_stack_api/shields.py
+++ b/src/llama_stack_api/shields.py
@@ -43,6 +43,7 @@ class ShieldInput(CommonShieldFields):
provider_shield_id: str | None = None
+@json_schema_type
class ListShieldsResponse(BaseModel):
data: list[Shield]
diff --git a/src/llama_stack_api/strong_typing/__init__.py b/src/llama_stack_api/strong_typing/__init__.py
deleted file mode 100644
index d832dcf6f8..0000000000
--- a/src/llama_stack_api/strong_typing/__init__.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-"""
-Type-safe data interchange for Python data classes.
-
-Provides auxiliary services for working with Python type annotations, converting typed data to and from JSON,
-and generating a JSON schema for a complex type.
-"""
-
-__version__ = "0.3.4"
-__author__ = "Levente Hunyadi"
-__copyright__ = "Copyright 2021-2024, Levente Hunyadi"
-__license__ = "MIT"
-__maintainer__ = "Levente Hunyadi"
-__status__ = "Production"
diff --git a/src/llama_stack_api/strong_typing/auxiliary.py b/src/llama_stack_api/strong_typing/auxiliary.py
deleted file mode 100644
index eb067b38b3..0000000000
--- a/src/llama_stack_api/strong_typing/auxiliary.py
+++ /dev/null
@@ -1,229 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-"""
-Type-safe data interchange for Python data classes.
-
-:see: https://github.com/hunyadi/strong_typing
-"""
-
-import dataclasses
-import sys
-from collections.abc import Callable
-from dataclasses import is_dataclass
-from typing import TypeVar, overload
-
-if sys.version_info >= (3, 9):
- from typing import Annotated as Annotated
-else:
- from typing import Annotated as Annotated
-
-if sys.version_info >= (3, 10):
- from typing import TypeAlias as TypeAlias
-else:
- from typing import TypeAlias as TypeAlias
-
-if sys.version_info >= (3, 11):
- from typing import dataclass_transform as dataclass_transform
-else:
- from typing import dataclass_transform as dataclass_transform
-
-T = TypeVar("T")
-
-
-def _compact_dataclass_repr(obj: object) -> str:
- """
- Compact data-class representation where positional arguments are used instead of keyword arguments.
-
- :param obj: A data-class object.
- :returns: A string that matches the pattern `Class(arg1, arg2, ...)`.
- """
-
- if is_dataclass(obj):
- arglist = ", ".join(repr(getattr(obj, field.name)) for field in dataclasses.fields(obj))
- return f"{obj.__class__.__name__}({arglist})"
- else:
- return obj.__class__.__name__
-
-
-class CompactDataClass:
- "A data class whose repr() uses positional rather than keyword arguments."
-
- def __repr__(self) -> str:
- return _compact_dataclass_repr(self)
-
-
-@overload
-def typeannotation(cls: type[T], /) -> type[T]: ...
-
-
-@overload
-def typeannotation(cls: None, *, eq: bool = True, order: bool = False) -> Callable[[type[T]], type[T]]: ...
-
-
-@dataclass_transform(eq_default=True, order_default=False)
-def typeannotation(
- cls: type[T] | None = None, *, eq: bool = True, order: bool = False
-) -> type[T] | Callable[[type[T]], type[T]]:
- """
- Returns the same class as was passed in, with dunder methods added based on the fields defined in the class.
-
- :param cls: The data-class type to transform into a type annotation.
- :param eq: Whether to generate functions to support equality comparison.
- :param order: Whether to generate functions to support ordering.
- :returns: A data-class type, or a wrapper for data-class types.
- """
-
- def wrap(cls: type[T]) -> type[T]:
- # mypy fails to equate bound-y functions (first argument interpreted as
- # the bound object) with class methods, hence the `ignore` directive.
- cls.__repr__ = _compact_dataclass_repr # type: ignore[method-assign]
- if not dataclasses.is_dataclass(cls):
- cls = dataclasses.dataclass( # type: ignore[call-overload]
- cls,
- init=True,
- repr=False,
- eq=eq,
- order=order,
- unsafe_hash=False,
- frozen=True,
- )
- return cls
-
- # see if decorator is used as @typeannotation or @typeannotation()
- if cls is None:
- # called with parentheses
- return wrap
- else:
- # called without parentheses
- return wrap(cls)
-
-
-@typeannotation
-class Alias:
- "Alternative name of a property, typically used in JSON serialization."
-
- name: str
-
-
-@typeannotation
-class Signed:
- "Signedness of an integer type."
-
- is_signed: bool
-
-
-@typeannotation
-class Storage:
- "Number of bytes the binary representation of an integer type takes, e.g. 4 bytes for an int32."
-
- bytes: int
-
-
-@typeannotation
-class IntegerRange:
- "Minimum and maximum value of an integer. The range is inclusive."
-
- minimum: int
- maximum: int
-
-
-@typeannotation
-class Precision:
- "Precision of a floating-point value."
-
- significant_digits: int
- decimal_digits: int = 0
-
- @property
- def integer_digits(self) -> int:
- return self.significant_digits - self.decimal_digits
-
-
-@typeannotation
-class TimePrecision:
- """
- Precision of a timestamp or time interval.
-
- :param decimal_digits: Number of fractional digits retained in the sub-seconds field for a timestamp.
- """
-
- decimal_digits: int = 0
-
-
-@typeannotation
-class Length:
- "Exact length of a string."
-
- value: int
-
-
-@typeannotation
-class MinLength:
- "Minimum length of a string."
-
- value: int
-
-
-@typeannotation
-class MaxLength:
- "Maximum length of a string."
-
- value: int
-
-
-@typeannotation
-class SpecialConversion:
- "Indicates that the annotated type is subject to custom conversion rules."
-
-
-int8: TypeAlias = Annotated[int, Signed(True), Storage(1), IntegerRange(-128, 127)]
-int16: TypeAlias = Annotated[int, Signed(True), Storage(2), IntegerRange(-32768, 32767)]
-int32: TypeAlias = Annotated[
- int,
- Signed(True),
- Storage(4),
- IntegerRange(-2147483648, 2147483647),
-]
-int64: TypeAlias = Annotated[
- int,
- Signed(True),
- Storage(8),
- IntegerRange(-9223372036854775808, 9223372036854775807),
-]
-
-uint8: TypeAlias = Annotated[int, Signed(False), Storage(1), IntegerRange(0, 255)]
-uint16: TypeAlias = Annotated[int, Signed(False), Storage(2), IntegerRange(0, 65535)]
-uint32: TypeAlias = Annotated[
- int,
- Signed(False),
- Storage(4),
- IntegerRange(0, 4294967295),
-]
-uint64: TypeAlias = Annotated[
- int,
- Signed(False),
- Storage(8),
- IntegerRange(0, 18446744073709551615),
-]
-
-float32: TypeAlias = Annotated[float, Storage(4)]
-float64: TypeAlias = Annotated[float, Storage(8)]
-
-# maps globals of type Annotated[T, ...] defined in this module to their string names
-_auxiliary_types: dict[object, str] = {}
-module = sys.modules[__name__]
-for var in dir(module):
- typ = getattr(module, var)
- if getattr(typ, "__metadata__", None) is not None:
- # type is Annotated[T, ...]
- _auxiliary_types[typ] = var
-
-
-def get_auxiliary_format(data_type: object) -> str | None:
- "Returns the JSON format string corresponding to an auxiliary type."
-
- return _auxiliary_types.get(data_type)
diff --git a/src/llama_stack_api/strong_typing/classdef.py b/src/llama_stack_api/strong_typing/classdef.py
deleted file mode 100644
index e54e3a9d68..0000000000
--- a/src/llama_stack_api/strong_typing/classdef.py
+++ /dev/null
@@ -1,440 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-import copy
-import dataclasses
-import datetime
-import decimal
-import enum
-import ipaddress
-import math
-import re
-import sys
-import types
-import typing
-import uuid
-from dataclasses import dataclass
-from typing import Any, Literal, TypeVar, Union
-
-from .auxiliary import (
- Alias,
- Annotated,
- MaxLength,
- Precision,
- float32,
- float64,
- int16,
- int32,
- int64,
-)
-from .core import JsonType, Schema
-from .docstring import Docstring, DocstringParam
-from .inspection import TypeLike
-from .serialization import json_to_object, object_to_json
-
-T = TypeVar("T")
-
-
-@dataclass
-class JsonSchemaNode:
- title: str | None
- description: str | None
-
-
-@dataclass
-class JsonSchemaType(JsonSchemaNode):
- type: str
- format: str | None
-
-
-@dataclass
-class JsonSchemaBoolean(JsonSchemaType):
- type: Literal["boolean"]
- const: bool | None
- default: bool | None
- examples: list[bool] | None
-
-
-@dataclass
-class JsonSchemaInteger(JsonSchemaType):
- type: Literal["integer"]
- const: int | None
- default: int | None
- examples: list[int] | None
- enum: list[int] | None
- minimum: int | None
- maximum: int | None
-
-
-@dataclass
-class JsonSchemaNumber(JsonSchemaType):
- type: Literal["number"]
- const: float | None
- default: float | None
- examples: list[float] | None
- minimum: float | None
- maximum: float | None
- exclusiveMinimum: float | None
- exclusiveMaximum: float | None
- multipleOf: float | None
-
-
-@dataclass
-class JsonSchemaString(JsonSchemaType):
- type: Literal["string"]
- const: str | None
- default: str | None
- examples: list[str] | None
- enum: list[str] | None
- minLength: int | None
- maxLength: int | None
-
-
-@dataclass
-class JsonSchemaArray(JsonSchemaType):
- type: Literal["array"]
- items: "JsonSchemaAny"
-
-
-@dataclass
-class JsonSchemaObject(JsonSchemaType):
- type: Literal["object"]
- properties: dict[str, "JsonSchemaAny"] | None
- additionalProperties: bool | None
- required: list[str] | None
-
-
-@dataclass
-class JsonSchemaRef(JsonSchemaNode):
- ref: Annotated[str, Alias("$ref")]
-
-
-@dataclass
-class JsonSchemaAllOf(JsonSchemaNode):
- allOf: list["JsonSchemaAny"]
-
-
-@dataclass
-class JsonSchemaAnyOf(JsonSchemaNode):
- anyOf: list["JsonSchemaAny"]
-
-
-@dataclass
-class Discriminator:
- propertyName: str
- mapping: dict[str, str]
-
-
-@dataclass
-class JsonSchemaOneOf(JsonSchemaNode):
- oneOf: list["JsonSchemaAny"]
- discriminator: Discriminator | None
-
-
-JsonSchemaAny = Union[
- JsonSchemaRef,
- JsonSchemaBoolean,
- JsonSchemaInteger,
- JsonSchemaNumber,
- JsonSchemaString,
- JsonSchemaArray,
- JsonSchemaObject,
- JsonSchemaOneOf,
-]
-
-
-@dataclass
-class JsonSchemaTopLevelObject(JsonSchemaObject):
- schema: Annotated[str, Alias("$schema")]
- definitions: dict[str, JsonSchemaAny] | None
-
-
-def integer_range_to_type(min_value: float, max_value: float) -> type:
- if min_value >= -(2**15) and max_value < 2**15:
- return int16
- elif min_value >= -(2**31) and max_value < 2**31:
- return int32
- else:
- return int64
-
-
-def enum_safe_name(name: str) -> str:
- name = re.sub(r"\W", "_", name)
- is_dunder = name.startswith("__")
- is_sunder = name.startswith("_") and name.endswith("_")
- if is_dunder or is_sunder: # provide an alternative for dunder and sunder names
- name = f"v{name}"
- return name
-
-
-def enum_values_to_type(
- module: types.ModuleType,
- name: str,
- values: dict[str, Any],
- title: str | None = None,
- description: str | None = None,
-) -> type[enum.Enum]:
- enum_class: type[enum.Enum] = enum.Enum(name, values) # type: ignore
-
- # assign the newly created type to the same module where the defining class is
- enum_class.__module__ = module.__name__
- enum_class.__doc__ = str(Docstring(short_description=title, long_description=description))
- setattr(module, name, enum_class)
-
- return enum.unique(enum_class)
-
-
-def schema_to_type(schema: Schema, *, module: types.ModuleType, class_name: str) -> TypeLike:
- """
- Creates a Python type from a JSON schema.
-
- :param schema: The JSON schema that the types would correspond to.
- :param module: The module in which to create the new types.
- :param class_name: The name assigned to the top-level class.
- """
-
- top_node = typing.cast(JsonSchemaTopLevelObject, json_to_object(JsonSchemaTopLevelObject, schema))
- if top_node.definitions is not None:
- for type_name, type_node in top_node.definitions.items():
- type_def = node_to_typedef(module, type_name, type_node)
- if type_def.default is not dataclasses.MISSING:
- raise TypeError("disallowed: `default` for top-level type definitions")
-
- type_def.type.__module__ = module.__name__
- setattr(module, type_name, type_def.type)
-
- return node_to_typedef(module, class_name, top_node).type
-
-
-@dataclass
-class TypeDef:
- type: TypeLike
- default: Any = dataclasses.MISSING
-
-
-def json_to_value(target_type: TypeLike, data: JsonType) -> Any:
- if data is not None:
- return json_to_object(target_type, data)
- else:
- return dataclasses.MISSING
-
-
-def node_to_typedef(module: types.ModuleType, context: str, node: JsonSchemaNode) -> TypeDef:
- if isinstance(node, JsonSchemaRef):
- match_obj = re.match(r"^#/definitions/(\w+)$", node.ref)
- if not match_obj:
- raise ValueError(f"invalid reference: {node.ref}")
-
- type_name = match_obj.group(1)
- return TypeDef(getattr(module, type_name), dataclasses.MISSING)
-
- elif isinstance(node, JsonSchemaBoolean):
- if node.const is not None:
- return TypeDef(Literal[node.const], dataclasses.MISSING)
-
- default = json_to_value(bool, node.default)
- return TypeDef(bool, default)
-
- elif isinstance(node, JsonSchemaInteger):
- if node.const is not None:
- return TypeDef(Literal[node.const], dataclasses.MISSING)
-
- integer_type: TypeLike
- if node.format == "int16":
- integer_type = int16
- elif node.format == "int32":
- integer_type = int32
- elif node.format == "int64":
- integer_type = int64
- else:
- if node.enum is not None:
- integer_type = integer_range_to_type(min(node.enum), max(node.enum))
- elif node.minimum is not None and node.maximum is not None:
- integer_type = integer_range_to_type(node.minimum, node.maximum)
- else:
- integer_type = int
-
- default = json_to_value(integer_type, node.default)
- return TypeDef(integer_type, default)
-
- elif isinstance(node, JsonSchemaNumber):
- if node.const is not None:
- return TypeDef(Literal[node.const], dataclasses.MISSING)
-
- number_type: TypeLike
- if node.format == "float32":
- number_type = float32
- elif node.format == "float64":
- number_type = float64
- else:
- if (
- node.exclusiveMinimum is not None
- and node.exclusiveMaximum is not None
- and node.exclusiveMinimum == -node.exclusiveMaximum
- ):
- integer_digits = round(math.log10(node.exclusiveMaximum))
- else:
- integer_digits = None
-
- if node.multipleOf is not None:
- decimal_digits = -round(math.log10(node.multipleOf))
- else:
- decimal_digits = None
-
- if integer_digits is not None and decimal_digits is not None:
- number_type = Annotated[
- decimal.Decimal,
- Precision(integer_digits + decimal_digits, decimal_digits),
- ]
- else:
- number_type = float
-
- default = json_to_value(number_type, node.default)
- return TypeDef(number_type, default)
-
- elif isinstance(node, JsonSchemaString):
- if node.const is not None:
- return TypeDef(Literal[node.const], dataclasses.MISSING)
-
- string_type: TypeLike
- if node.format == "date-time":
- string_type = datetime.datetime
- elif node.format == "uuid":
- string_type = uuid.UUID
- elif node.format == "ipv4":
- string_type = ipaddress.IPv4Address
- elif node.format == "ipv6":
- string_type = ipaddress.IPv6Address
-
- elif node.enum is not None:
- string_type = enum_values_to_type(
- module,
- context,
- {enum_safe_name(e): e for e in node.enum},
- title=node.title,
- description=node.description,
- )
-
- elif node.maxLength is not None:
- string_type = Annotated[str, MaxLength(node.maxLength)]
- else:
- string_type = str
-
- default = json_to_value(string_type, node.default)
- return TypeDef(string_type, default)
-
- elif isinstance(node, JsonSchemaArray):
- type_def = node_to_typedef(module, context, node.items)
- if type_def.default is not dataclasses.MISSING:
- raise TypeError("disallowed: `default` for array element type")
- list_type = list[(type_def.type,)] # type: ignore
- return TypeDef(list_type, dataclasses.MISSING)
-
- elif isinstance(node, JsonSchemaObject):
- if node.properties is None:
- return TypeDef(JsonType, dataclasses.MISSING)
-
- if node.additionalProperties is None or node.additionalProperties is not False:
- raise TypeError("expected: `additionalProperties` equals `false`")
-
- required = node.required if node.required is not None else []
-
- class_name = context
-
- fields: list[tuple[str, Any, dataclasses.Field]] = []
- params: dict[str, DocstringParam] = {}
- for prop_name, prop_node in node.properties.items():
- type_def = node_to_typedef(module, f"{class_name}__{prop_name}", prop_node)
- if prop_name in required:
- prop_type = type_def.type
- else:
- prop_type = Union[(None, type_def.type)]
- fields.append((prop_name, prop_type, dataclasses.field(default=type_def.default)))
- prop_desc = prop_node.title or prop_node.description
- if prop_desc is not None:
- params[prop_name] = DocstringParam(prop_name, prop_desc)
-
- fields.sort(key=lambda t: t[2].default is not dataclasses.MISSING)
- if sys.version_info >= (3, 12):
- class_type = dataclasses.make_dataclass(class_name, fields, module=module.__name__)
- else:
- class_type = dataclasses.make_dataclass(class_name, fields, namespace={"__module__": module.__name__})
- class_type.__doc__ = str(
- Docstring(
- short_description=node.title,
- long_description=node.description,
- params=params,
- )
- )
- setattr(module, class_name, class_type)
- return TypeDef(class_type, dataclasses.MISSING)
-
- elif isinstance(node, JsonSchemaOneOf):
- union_defs = tuple(node_to_typedef(module, context, n) for n in node.oneOf)
- if any(d.default is not dataclasses.MISSING for d in union_defs):
- raise TypeError("disallowed: `default` for union member type")
- union_types = tuple(d.type for d in union_defs)
- return TypeDef(Union[union_types], dataclasses.MISSING)
-
- raise NotImplementedError()
-
-
-@dataclass
-class SchemaFlatteningOptions:
- qualified_names: bool = False
- recursive: bool = False
-
-
-def flatten_schema(schema: Schema, *, options: SchemaFlatteningOptions | None = None) -> Schema:
- top_node = typing.cast(JsonSchemaTopLevelObject, json_to_object(JsonSchemaTopLevelObject, schema))
- flattener = SchemaFlattener(options)
- obj = flattener.flatten(top_node)
- return typing.cast(Schema, object_to_json(obj))
-
-
-class SchemaFlattener:
- options: SchemaFlatteningOptions
-
- def __init__(self, options: SchemaFlatteningOptions | None = None) -> None:
- self.options = options or SchemaFlatteningOptions()
-
- def flatten(self, source_node: JsonSchemaObject) -> JsonSchemaObject:
- if source_node.type != "object":
- return source_node
-
- source_props = source_node.properties or {}
- target_props: dict[str, JsonSchemaAny] = {}
-
- source_reqs = source_node.required or []
- target_reqs: list[str] = []
-
- for name, prop in source_props.items():
- if not isinstance(prop, JsonSchemaObject):
- target_props[name] = prop
- if name in source_reqs:
- target_reqs.append(name)
- continue
-
- if self.options.recursive:
- obj = self.flatten(prop)
- else:
- obj = prop
- if obj.properties is not None:
- if self.options.qualified_names:
- target_props.update((f"{name}.{n}", p) for n, p in obj.properties.items())
- else:
- target_props.update(obj.properties.items())
- if obj.required is not None:
- if self.options.qualified_names:
- target_reqs.extend(f"{name}.{n}" for n in obj.required)
- else:
- target_reqs.extend(obj.required)
-
- target_node = copy.copy(source_node)
- target_node.properties = target_props or None
- target_node.additionalProperties = False
- target_node.required = target_reqs or None
- return target_node
diff --git a/src/llama_stack_api/strong_typing/core.py b/src/llama_stack_api/strong_typing/core.py
deleted file mode 100644
index 5f3764aeb2..0000000000
--- a/src/llama_stack_api/strong_typing/core.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-"""
-Type-safe data interchange for Python data classes.
-
-:see: https://github.com/hunyadi/strong_typing
-"""
-
-from typing import Union
-
-
-class JsonObject:
- "Placeholder type for an unrestricted JSON object."
-
-
-class JsonArray:
- "Placeholder type for an unrestricted JSON array."
-
-
-# a JSON type with possible `null` values
-JsonType = Union[
- None,
- bool,
- int,
- float,
- str,
- dict[str, "JsonType"],
- list["JsonType"],
-]
-
-# a JSON type that cannot contain `null` values
-StrictJsonType = Union[
- bool,
- int,
- float,
- str,
- dict[str, "StrictJsonType"],
- list["StrictJsonType"],
-]
-
-# a meta-type that captures the object type in a JSON schema
-Schema = dict[str, JsonType]
diff --git a/src/llama_stack_api/strong_typing/deserializer.py b/src/llama_stack_api/strong_typing/deserializer.py
deleted file mode 100644
index 58dfe53a46..0000000000
--- a/src/llama_stack_api/strong_typing/deserializer.py
+++ /dev/null
@@ -1,872 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-"""
-Type-safe data interchange for Python data classes.
-
-:see: https://github.com/hunyadi/strong_typing
-"""
-
-import abc
-import base64
-import dataclasses
-import datetime
-import enum
-import inspect
-import ipaddress
-import sys
-import typing
-import uuid
-from collections.abc import Callable
-from types import ModuleType
-from typing import (
- Any,
- Generic,
- Literal,
- NamedTuple,
- Optional,
- TypeVar,
- Union,
-)
-
-from .core import JsonType
-from .exception import JsonKeyError, JsonTypeError, JsonValueError
-from .inspection import (
- TypeLike,
- create_object,
- enum_value_types,
- evaluate_type,
- get_class_properties,
- get_class_property,
- get_resolved_hints,
- is_dataclass_instance,
- is_dataclass_type,
- is_named_tuple_type,
- is_type_annotated,
- is_type_literal,
- is_type_optional,
- unwrap_annotated_type,
- unwrap_literal_values,
- unwrap_optional_type,
-)
-from .mapping import python_field_to_json_property
-from .name import python_type_to_str
-
-E = TypeVar("E", bound=enum.Enum)
-T = TypeVar("T")
-R = TypeVar("R")
-K = TypeVar("K")
-V = TypeVar("V")
-
-
-class Deserializer(abc.ABC, Generic[T]):
- "Parses a JSON value into a Python type."
-
- def build(self, context: ModuleType | None) -> None:
- """
- Creates auxiliary parsers that this parser is depending on.
-
- :param context: A module context for evaluating types specified as a string.
- """
-
- @abc.abstractmethod
- def parse(self, data: JsonType) -> T:
- """
- Parses a JSON value into a Python type.
-
- :param data: The JSON value to de-serialize.
- :returns: The Python object that the JSON value de-serializes to.
- """
-
-
-class NoneDeserializer(Deserializer[None]):
- "Parses JSON `null` values into Python `None`."
-
- def parse(self, data: JsonType) -> None:
- if data is not None:
- raise JsonTypeError(f"`None` type expects JSON `null` but instead received: {data}")
- return None
-
-
-class BoolDeserializer(Deserializer[bool]):
- "Parses JSON `boolean` values into Python `bool` type."
-
- def parse(self, data: JsonType) -> bool:
- if not isinstance(data, bool):
- raise JsonTypeError(f"`bool` type expects JSON `boolean` data but instead received: {data}")
- return bool(data)
-
-
-class IntDeserializer(Deserializer[int]):
- "Parses JSON `number` values into Python `int` type."
-
- def parse(self, data: JsonType) -> int:
- if not isinstance(data, int):
- raise JsonTypeError(f"`int` type expects integer data as JSON `number` but instead received: {data}")
- return int(data)
-
-
-class FloatDeserializer(Deserializer[float]):
- "Parses JSON `number` values into Python `float` type."
-
- def parse(self, data: JsonType) -> float:
- if not isinstance(data, float) and not isinstance(data, int):
- raise JsonTypeError(f"`int` type expects data as JSON `number` but instead received: {data}")
- return float(data)
-
-
-class StringDeserializer(Deserializer[str]):
- "Parses JSON `string` values into Python `str` type."
-
- def parse(self, data: JsonType) -> str:
- if not isinstance(data, str):
- raise JsonTypeError(f"`str` type expects JSON `string` data but instead received: {data}")
- return str(data)
-
-
-class BytesDeserializer(Deserializer[bytes]):
- "Parses JSON `string` values of Base64-encoded strings into Python `bytes` type."
-
- def parse(self, data: JsonType) -> bytes:
- if not isinstance(data, str):
- raise JsonTypeError(f"`bytes` type expects JSON `string` data but instead received: {data}")
- return base64.b64decode(data, validate=True)
-
-
-class DateTimeDeserializer(Deserializer[datetime.datetime]):
- "Parses JSON `string` values representing timestamps in ISO 8601 format to Python `datetime` with time zone."
-
- def parse(self, data: JsonType) -> datetime.datetime:
- if not isinstance(data, str):
- raise JsonTypeError(f"`datetime` type expects JSON `string` data but instead received: {data}")
-
- if data.endswith("Z"):
- data = f"{data[:-1]}+00:00" # Python's isoformat() does not support military time zones like "Zulu" for UTC
- timestamp = datetime.datetime.fromisoformat(data)
- if timestamp.tzinfo is None:
- raise JsonValueError(f"timestamp lacks explicit time zone designator: {data}")
- return timestamp
-
-
-class DateDeserializer(Deserializer[datetime.date]):
- "Parses JSON `string` values representing dates in ISO 8601 format to Python `date` type."
-
- def parse(self, data: JsonType) -> datetime.date:
- if not isinstance(data, str):
- raise JsonTypeError(f"`date` type expects JSON `string` data but instead received: {data}")
-
- return datetime.date.fromisoformat(data)
-
-
-class TimeDeserializer(Deserializer[datetime.time]):
- "Parses JSON `string` values representing time instances in ISO 8601 format to Python `time` type with time zone."
-
- def parse(self, data: JsonType) -> datetime.time:
- if not isinstance(data, str):
- raise JsonTypeError(f"`time` type expects JSON `string` data but instead received: {data}")
-
- return datetime.time.fromisoformat(data)
-
-
-class UUIDDeserializer(Deserializer[uuid.UUID]):
- "Parses JSON `string` values of UUID strings into Python `uuid.UUID` type."
-
- def parse(self, data: JsonType) -> uuid.UUID:
- if not isinstance(data, str):
- raise JsonTypeError(f"`UUID` type expects JSON `string` data but instead received: {data}")
- return uuid.UUID(data)
-
-
-class IPv4Deserializer(Deserializer[ipaddress.IPv4Address]):
- "Parses JSON `string` values of IPv4 address strings into Python `ipaddress.IPv4Address` type."
-
- def parse(self, data: JsonType) -> ipaddress.IPv4Address:
- if not isinstance(data, str):
- raise JsonTypeError(f"`IPv4Address` type expects JSON `string` data but instead received: {data}")
- return ipaddress.IPv4Address(data)
-
-
-class IPv6Deserializer(Deserializer[ipaddress.IPv6Address]):
- "Parses JSON `string` values of IPv6 address strings into Python `ipaddress.IPv6Address` type."
-
- def parse(self, data: JsonType) -> ipaddress.IPv6Address:
- if not isinstance(data, str):
- raise JsonTypeError(f"`IPv6Address` type expects JSON `string` data but instead received: {data}")
- return ipaddress.IPv6Address(data)
-
-
-class ListDeserializer(Deserializer[list[T]]):
- "Recursively de-serializes a JSON array into a Python `list`."
-
- item_type: type[T]
- item_parser: Deserializer
-
- def __init__(self, item_type: type[T]) -> None:
- self.item_type = item_type
-
- def build(self, context: ModuleType | None) -> None:
- self.item_parser = _get_deserializer(self.item_type, context)
-
- def parse(self, data: JsonType) -> list[T]:
- if not isinstance(data, list):
- type_name = python_type_to_str(self.item_type)
- raise JsonTypeError(f"type `List[{type_name}]` expects JSON `array` data but instead received: {data}")
-
- return [self.item_parser.parse(item) for item in data]
-
-
-class DictDeserializer(Deserializer[dict[K, V]]):
- "Recursively de-serializes a JSON object into a Python `dict`."
-
- key_type: type[K]
- value_type: type[V]
- value_parser: Deserializer[V]
-
- def __init__(self, key_type: type[K], value_type: type[V]) -> None:
- self.key_type = key_type
- self.value_type = value_type
- self._check_key_type()
-
- def build(self, context: ModuleType | None) -> None:
- self.value_parser = _get_deserializer(self.value_type, context)
-
- def _check_key_type(self) -> None:
- if self.key_type is str:
- return
-
- if issubclass(self.key_type, enum.Enum):
- value_types = enum_value_types(self.key_type)
- if len(value_types) != 1:
- raise JsonTypeError(
- f"type `{self.container_type}` has invalid key type, "
- f"enumerations must have a consistent member value type but several types found: {value_types}"
- )
- value_type = value_types.pop()
- if value_type is not str:
- f"`type `{self.container_type}` has invalid enumeration key type, expected `enum.Enum` with string values"
- return
-
- raise JsonTypeError(
- f"`type `{self.container_type}` has invalid key type, expected `str` or `enum.Enum` with string values"
- )
-
- @property
- def container_type(self) -> str:
- key_type_name = python_type_to_str(self.key_type)
- value_type_name = python_type_to_str(self.value_type)
- return f"Dict[{key_type_name}, {value_type_name}]"
-
- def parse(self, data: JsonType) -> dict[K, V]:
- if not isinstance(data, dict):
- raise JsonTypeError(
- f"`type `{self.container_type}` expects JSON `object` data but instead received: {data}"
- )
-
- return dict(
- (self.key_type(key), self.value_parser.parse(value)) # type: ignore[call-arg]
- for key, value in data.items()
- )
-
-
-class SetDeserializer(Deserializer[set[T]]):
- "Recursively de-serializes a JSON list into a Python `set`."
-
- member_type: type[T]
- member_parser: Deserializer
-
- def __init__(self, member_type: type[T]) -> None:
- self.member_type = member_type
-
- def build(self, context: ModuleType | None) -> None:
- self.member_parser = _get_deserializer(self.member_type, context)
-
- def parse(self, data: JsonType) -> set[T]:
- if not isinstance(data, list):
- type_name = python_type_to_str(self.member_type)
- raise JsonTypeError(f"type `Set[{type_name}]` expects JSON `array` data but instead received: {data}")
-
- return set(self.member_parser.parse(item) for item in data)
-
-
-class TupleDeserializer(Deserializer[tuple[Any, ...]]):
- "Recursively de-serializes a JSON list into a Python `tuple`."
-
- item_types: tuple[type[Any], ...]
- item_parsers: tuple[Deserializer[Any], ...]
-
- def __init__(self, item_types: tuple[type[Any], ...]) -> None:
- self.item_types = item_types
-
- def build(self, context: ModuleType | None) -> None:
- self.item_parsers = tuple(_get_deserializer(item_type, context) for item_type in self.item_types)
-
- @property
- def container_type(self) -> str:
- type_names = ", ".join(python_type_to_str(item_type) for item_type in self.item_types)
- return f"Tuple[{type_names}]"
-
- def parse(self, data: JsonType) -> tuple[Any, ...]:
- if not isinstance(data, list) or len(data) != len(self.item_parsers):
- if not isinstance(data, list):
- raise JsonTypeError(
- f"type `{self.container_type}` expects JSON `array` data but instead received: {data}"
- )
- else:
- count = len(self.item_parsers)
- raise JsonValueError(
- f"type `{self.container_type}` expects a JSON `array` of length {count} but received length {len(data)}"
- )
-
- return tuple(item_parser.parse(item) for item_parser, item in zip(self.item_parsers, data, strict=False))
-
-
-class UnionDeserializer(Deserializer):
- "De-serializes a JSON value (of any type) into a Python union type."
-
- member_types: tuple[type, ...]
- member_parsers: tuple[Deserializer, ...]
-
- def __init__(self, member_types: tuple[type, ...]) -> None:
- self.member_types = member_types
-
- def build(self, context: ModuleType | None) -> None:
- self.member_parsers = tuple(_get_deserializer(member_type, context) for member_type in self.member_types)
-
- def parse(self, data: JsonType) -> Any:
- for member_parser in self.member_parsers:
- # iterate over potential types of discriminated union
- try:
- return member_parser.parse(data)
- except (JsonKeyError, JsonTypeError):
- # indicates a required field is missing from JSON dict -OR- the data cannot be cast to the expected type,
- # i.e. we don't have the type that we are looking for
- continue
-
- type_names = ", ".join(python_type_to_str(member_type) for member_type in self.member_types)
- raise JsonKeyError(f"type `Union[{type_names}]` could not be instantiated from: {data}")
-
-
-def get_literal_properties(typ: type) -> set[str]:
- "Returns the names of all properties in a class that are of a literal type."
-
- return set(
- property_name for property_name, property_type in get_class_properties(typ) if is_type_literal(property_type)
- )
-
-
-def get_discriminating_properties(types: tuple[type, ...]) -> set[str]:
- "Returns a set of properties with literal type that are common across all specified classes."
-
- if not types or not all(isinstance(typ, type) for typ in types):
- return set()
-
- props = get_literal_properties(types[0])
- for typ in types[1:]:
- props = props & get_literal_properties(typ)
-
- return props
-
-
-class TaggedUnionDeserializer(Deserializer):
- "De-serializes a JSON value with one or more disambiguating properties into a Python union type."
-
- member_types: tuple[type, ...]
- disambiguating_properties: set[str]
- member_parsers: dict[tuple[str, Any], Deserializer]
-
- def __init__(self, member_types: tuple[type, ...]) -> None:
- self.member_types = member_types
- self.disambiguating_properties = get_discriminating_properties(member_types)
-
- def build(self, context: ModuleType | None) -> None:
- self.member_parsers = {}
- for member_type in self.member_types:
- for property_name in self.disambiguating_properties:
- literal_type = get_class_property(member_type, property_name)
- if not literal_type:
- continue
-
- for literal_value in unwrap_literal_values(literal_type):
- tpl = (property_name, literal_value)
- if tpl in self.member_parsers:
- raise JsonTypeError(
- f"disambiguating property `{property_name}` in type `{self.union_type}` has a duplicate value: {literal_value}"
- )
-
- self.member_parsers[tpl] = _get_deserializer(member_type, context)
-
- @property
- def union_type(self) -> str:
- type_names = ", ".join(python_type_to_str(member_type) for member_type in self.member_types)
- return f"Union[{type_names}]"
-
- def parse(self, data: JsonType) -> Any:
- if not isinstance(data, dict):
- raise JsonTypeError(
- f"tagged union type `{self.union_type}` expects JSON `object` data but instead received: {data}"
- )
-
- for property_name in self.disambiguating_properties:
- disambiguating_value = data.get(property_name)
- if disambiguating_value is None:
- continue
-
- member_parser = self.member_parsers.get((property_name, disambiguating_value))
- if member_parser is None:
- raise JsonTypeError(
- f"disambiguating property value is invalid for tagged union type `{self.union_type}`: {data}"
- )
-
- return member_parser.parse(data)
-
- raise JsonTypeError(
- f"disambiguating property value is missing for tagged union type `{self.union_type}`: {data}"
- )
-
-
-class LiteralDeserializer(Deserializer):
- "De-serializes a JSON value into a Python literal type."
-
- values: tuple[Any, ...]
- parser: Deserializer
-
- def __init__(self, values: tuple[Any, ...]) -> None:
- self.values = values
-
- def build(self, context: ModuleType | None) -> None:
- literal_type_tuple = tuple(type(value) for value in self.values)
- literal_type_set = set(literal_type_tuple)
- if len(literal_type_set) != 1:
- value_names = ", ".join(repr(value) for value in self.values)
- raise TypeError(
- f"type `Literal[{value_names}]` expects consistent literal value types but got: {literal_type_tuple}"
- )
-
- literal_type = literal_type_set.pop()
- self.parser = _get_deserializer(literal_type, context)
-
- def parse(self, data: JsonType) -> Any:
- value = self.parser.parse(data)
- if value not in self.values:
- value_names = ", ".join(repr(value) for value in self.values)
- raise JsonTypeError(f"type `Literal[{value_names}]` could not be instantiated from: {data}")
- return value
-
-
-class EnumDeserializer(Deserializer[E]):
- "Returns an enumeration instance based on the enumeration value read from a JSON value."
-
- enum_type: type[E]
-
- def __init__(self, enum_type: type[E]) -> None:
- self.enum_type = enum_type
-
- def parse(self, data: JsonType) -> E:
- return self.enum_type(data)
-
-
-class CustomDeserializer(Deserializer[T]):
- "Uses the `from_json` class method in class to de-serialize the object from JSON."
-
- converter: Callable[[JsonType], T]
-
- def __init__(self, converter: Callable[[JsonType], T]) -> None:
- self.converter = converter
-
- def parse(self, data: JsonType) -> T:
- return self.converter(data)
-
-
-class FieldDeserializer(abc.ABC, Generic[T, R]):
- """
- Deserializes a JSON property into a Python object field.
-
- :param property_name: The name of the JSON property to read from a JSON `object`.
- :param field_name: The name of the field in a Python class to write data to.
- :param parser: A compatible deserializer that can handle the field's type.
- """
-
- property_name: str
- field_name: str
- parser: Deserializer[T]
-
- def __init__(self, property_name: str, field_name: str, parser: Deserializer[T]) -> None:
- self.property_name = property_name
- self.field_name = field_name
- self.parser = parser
-
- @abc.abstractmethod
- def parse_field(self, data: dict[str, JsonType]) -> R: ...
-
-
-class RequiredFieldDeserializer(FieldDeserializer[T, T]):
- "Deserializes a JSON property into a mandatory Python object field."
-
- def parse_field(self, data: dict[str, JsonType]) -> T:
- if self.property_name not in data:
- raise JsonKeyError(f"missing required property `{self.property_name}` from JSON object: {data}")
-
- return self.parser.parse(data[self.property_name])
-
-
-class OptionalFieldDeserializer(FieldDeserializer[T, Optional[T]]):
- "Deserializes a JSON property into an optional Python object field with a default value of `None`."
-
- def parse_field(self, data: dict[str, JsonType]) -> T | None:
- value = data.get(self.property_name)
- if value is not None:
- return self.parser.parse(value)
- else:
- return None
-
-
-class DefaultFieldDeserializer(FieldDeserializer[T, T]):
- "Deserializes a JSON property into a Python object field with an explicit default value."
-
- default_value: T
-
- def __init__(
- self,
- property_name: str,
- field_name: str,
- parser: Deserializer,
- default_value: T,
- ) -> None:
- super().__init__(property_name, field_name, parser)
- self.default_value = default_value
-
- def parse_field(self, data: dict[str, JsonType]) -> T:
- value = data.get(self.property_name)
- if value is not None:
- return self.parser.parse(value)
- else:
- return self.default_value
-
-
-class DefaultFactoryFieldDeserializer(FieldDeserializer[T, T]):
- "Deserializes a JSON property into an optional Python object field with an explicit default value factory."
-
- default_factory: Callable[[], T]
-
- def __init__(
- self,
- property_name: str,
- field_name: str,
- parser: Deserializer[T],
- default_factory: Callable[[], T],
- ) -> None:
- super().__init__(property_name, field_name, parser)
- self.default_factory = default_factory
-
- def parse_field(self, data: dict[str, JsonType]) -> T:
- value = data.get(self.property_name)
- if value is not None:
- return self.parser.parse(value)
- else:
- return self.default_factory()
-
-
-class ClassDeserializer(Deserializer[T]):
- "Base class for de-serializing class-like types such as data classes, named tuples and regular classes."
-
- class_type: type
- property_parsers: list[FieldDeserializer]
- property_fields: set[str]
-
- def __init__(self, class_type: type[T]) -> None:
- self.class_type = class_type
-
- def assign(self, property_parsers: list[FieldDeserializer]) -> None:
- self.property_parsers = property_parsers
- self.property_fields = set(property_parser.property_name for property_parser in property_parsers)
-
- def parse(self, data: JsonType) -> T:
- if not isinstance(data, dict):
- type_name = python_type_to_str(self.class_type)
- raise JsonTypeError(f"`type `{type_name}` expects JSON `object` data but instead received: {data}")
-
- object_data: dict[str, JsonType] = typing.cast(dict[str, JsonType], data)
-
- field_values = {}
- for property_parser in self.property_parsers:
- field_values[property_parser.field_name] = property_parser.parse_field(object_data)
-
- if not self.property_fields.issuperset(object_data):
- unassigned_names = [name for name in object_data if name not in self.property_fields]
- raise JsonKeyError(f"unrecognized fields in JSON object: {unassigned_names}")
-
- return self.create(**field_values)
-
- def create(self, **field_values: Any) -> T:
- "Instantiates an object with a collection of property values."
-
- obj: T = create_object(self.class_type)
-
- # use `setattr` on newly created object instance
- for field_name, field_value in field_values.items():
- setattr(obj, field_name, field_value)
- return obj
-
-
-class NamedTupleDeserializer(ClassDeserializer[NamedTuple]):
- "De-serializes a named tuple from a JSON `object`."
-
- def build(self, context: ModuleType | None) -> None:
- property_parsers: list[FieldDeserializer] = [
- RequiredFieldDeserializer(field_name, field_name, _get_deserializer(field_type, context))
- for field_name, field_type in get_resolved_hints(self.class_type).items()
- ]
- super().assign(property_parsers)
-
- def create(self, **field_values: Any) -> NamedTuple:
- # mypy fails to deduce that this class returns NamedTuples only, hence the `ignore` directive
- return self.class_type(**field_values) # type: ignore[no-any-return]
-
-
-class DataclassDeserializer(ClassDeserializer[T]):
- "De-serializes a data class from a JSON `object`."
-
- def __init__(self, class_type: type[T]) -> None:
- if not dataclasses.is_dataclass(class_type):
- raise TypeError("expected: data-class type")
- super().__init__(class_type) # type: ignore[arg-type]
-
- def build(self, context: ModuleType | None) -> None:
- property_parsers: list[FieldDeserializer] = []
- resolved_hints = get_resolved_hints(self.class_type)
- for field in dataclasses.fields(self.class_type):
- field_type = resolved_hints[field.name]
- property_name = python_field_to_json_property(field.name, field_type)
-
- is_optional = is_type_optional(field_type)
- has_default = field.default is not dataclasses.MISSING
- has_default_factory = field.default_factory is not dataclasses.MISSING
-
- if is_optional:
- required_type: type[T] = unwrap_optional_type(field_type)
- else:
- required_type = field_type
-
- parser = _get_deserializer(required_type, context)
-
- if has_default:
- field_parser: FieldDeserializer = DefaultFieldDeserializer(
- property_name, field.name, parser, field.default
- )
- elif has_default_factory:
- default_factory = typing.cast(Callable[[], Any], field.default_factory)
- field_parser = DefaultFactoryFieldDeserializer(property_name, field.name, parser, default_factory)
- elif is_optional:
- field_parser = OptionalFieldDeserializer(property_name, field.name, parser)
- else:
- field_parser = RequiredFieldDeserializer(property_name, field.name, parser)
-
- property_parsers.append(field_parser)
-
- super().assign(property_parsers)
-
-
-class FrozenDataclassDeserializer(DataclassDeserializer[T]):
- "De-serializes a frozen data class from a JSON `object`."
-
- def create(self, **field_values: Any) -> T:
- "Instantiates an object with a collection of property values."
-
- # create object instance without calling `__init__`
- obj: T = create_object(self.class_type)
-
- # can't use `setattr` on frozen dataclasses, pass member variable values to `__init__`
- obj.__init__(**field_values) # type: ignore
- return obj
-
-
-class TypedClassDeserializer(ClassDeserializer[T]):
- "De-serializes a class with type annotations from a JSON `object` by iterating over class properties."
-
- def build(self, context: ModuleType | None) -> None:
- property_parsers: list[FieldDeserializer] = []
- for field_name, field_type in get_resolved_hints(self.class_type).items():
- property_name = python_field_to_json_property(field_name, field_type)
-
- is_optional = is_type_optional(field_type)
-
- if is_optional:
- required_type: type[T] = unwrap_optional_type(field_type)
- else:
- required_type = field_type
-
- parser = _get_deserializer(required_type, context)
-
- if is_optional:
- field_parser: FieldDeserializer = OptionalFieldDeserializer(property_name, field_name, parser)
- else:
- field_parser = RequiredFieldDeserializer(property_name, field_name, parser)
-
- property_parsers.append(field_parser)
-
- super().assign(property_parsers)
-
-
-def create_deserializer(typ: TypeLike, context: ModuleType | None = None) -> Deserializer:
- """
- Creates a de-serializer engine to produce a Python object from an object obtained from a JSON string.
-
- When de-serializing a JSON object into a Python object, the following transformations are applied:
-
- * Fundamental types are parsed as `bool`, `int`, `float` or `str`.
- * Date and time types are parsed from the ISO 8601 format with time zone into the corresponding Python type
- `datetime`, `date` or `time`.
- * Byte arrays are read from a string with Base64 encoding into a `bytes` instance.
- * UUIDs are extracted from a UUID string compliant with RFC 4122 into a `uuid.UUID` instance.
- * Enumerations are instantiated with a lookup on enumeration value.
- * Containers (e.g. `list`, `dict`, `set`, `tuple`) are parsed recursively.
- * Complex objects with properties (including data class types) are populated from dictionaries of key-value pairs
- using reflection (enumerating type annotations).
-
- :raises TypeError: A de-serializer engine cannot be constructed for the input type.
- """
-
- if context is None:
- if isinstance(typ, type):
- context = sys.modules[typ.__module__]
-
- return _get_deserializer(typ, context)
-
-
-_CACHE: dict[tuple[str, str], Deserializer] = {}
-
-
-def _get_deserializer(typ: TypeLike, context: ModuleType | None) -> Deserializer:
- "Creates or re-uses a de-serializer engine to parse an object obtained from a JSON string."
-
- cache_key = None
-
- if isinstance(typ, (str, typing.ForwardRef)):
- if context is None:
- raise TypeError(f"missing context for evaluating type: {typ}")
-
- if isinstance(typ, str):
- if hasattr(context, typ):
- cache_key = (context.__name__, typ)
- elif isinstance(typ, typing.ForwardRef):
- if hasattr(context, typ.__forward_arg__):
- cache_key = (context.__name__, typ.__forward_arg__)
-
- typ = evaluate_type(typ, context)
-
- typ = unwrap_annotated_type(typ) if is_type_annotated(typ) else typ
-
- if isinstance(typ, type) and typing.get_origin(typ) is None:
- cache_key = (typ.__module__, typ.__name__)
-
- if cache_key is not None:
- deserializer = _CACHE.get(cache_key)
- if deserializer is None:
- deserializer = _create_deserializer(typ)
-
- # store de-serializer immediately in cache to avoid stack overflow for recursive types
- _CACHE[cache_key] = deserializer
-
- if isinstance(typ, type):
- # use type's own module as context for evaluating member types
- context = sys.modules[typ.__module__]
-
- # create any de-serializers this de-serializer is depending on
- deserializer.build(context)
- else:
- # special forms are not always hashable, create a new de-serializer every time
- deserializer = _create_deserializer(typ)
- deserializer.build(context)
-
- return deserializer
-
-
-def _create_deserializer(typ: TypeLike) -> Deserializer:
- "Creates a de-serializer engine to parse an object obtained from a JSON string."
-
- # check for well-known types
- if typ is type(None):
- return NoneDeserializer()
- elif typ is bool:
- return BoolDeserializer()
- elif typ is int:
- return IntDeserializer()
- elif typ is float:
- return FloatDeserializer()
- elif typ is str:
- return StringDeserializer()
- elif typ is bytes:
- return BytesDeserializer()
- elif typ is datetime.datetime:
- return DateTimeDeserializer()
- elif typ is datetime.date:
- return DateDeserializer()
- elif typ is datetime.time:
- return TimeDeserializer()
- elif typ is uuid.UUID:
- return UUIDDeserializer()
- elif typ is ipaddress.IPv4Address:
- return IPv4Deserializer()
- elif typ is ipaddress.IPv6Address:
- return IPv6Deserializer()
-
- # dynamically-typed collection types
- if typ is list:
- raise TypeError("explicit item type required: use `List[T]` instead of `list`")
- if typ is dict:
- raise TypeError("explicit key and value types required: use `Dict[K, V]` instead of `dict`")
- if typ is set:
- raise TypeError("explicit member type required: use `Set[T]` instead of `set`")
- if typ is tuple:
- raise TypeError("explicit item type list required: use `Tuple[T, ...]` instead of `tuple`")
-
- # generic types (e.g. list, dict, set, etc.)
- origin_type = typing.get_origin(typ)
- if origin_type is list:
- (list_item_type,) = typing.get_args(typ) # unpack single tuple element
- return ListDeserializer(list_item_type)
- elif origin_type is dict:
- key_type, value_type = typing.get_args(typ)
- return DictDeserializer(key_type, value_type)
- elif origin_type is set:
- (set_member_type,) = typing.get_args(typ) # unpack single tuple element
- return SetDeserializer(set_member_type)
- elif origin_type is tuple:
- return TupleDeserializer(typing.get_args(typ))
- elif origin_type is Union:
- union_args = typing.get_args(typ)
- if get_discriminating_properties(union_args):
- return TaggedUnionDeserializer(union_args)
- else:
- return UnionDeserializer(union_args)
- elif origin_type is Literal:
- return LiteralDeserializer(typing.get_args(typ))
-
- if not inspect.isclass(typ):
- if is_dataclass_instance(typ):
- raise TypeError(f"dataclass type expected but got instance: {typ}")
- else:
- raise TypeError(f"unable to de-serialize unrecognized type: {typ}")
-
- if issubclass(typ, enum.Enum):
- return EnumDeserializer(typ)
-
- if is_named_tuple_type(typ):
- return NamedTupleDeserializer(typ)
-
- # check if object has custom serialization method
- convert_func = getattr(typ, "from_json", None)
- if callable(convert_func):
- return CustomDeserializer(convert_func)
-
- if is_dataclass_type(typ):
- dataclass_params = getattr(typ, "__dataclass_params__", None)
- if dataclass_params is not None and dataclass_params.frozen:
- return FrozenDataclassDeserializer(typ)
- else:
- return DataclassDeserializer(typ)
-
- return TypedClassDeserializer(typ)
diff --git a/src/llama_stack_api/strong_typing/docstring.py b/src/llama_stack_api/strong_typing/docstring.py
deleted file mode 100644
index 4c9ea49e50..0000000000
--- a/src/llama_stack_api/strong_typing/docstring.py
+++ /dev/null
@@ -1,410 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-"""
-Type-safe data interchange for Python data classes.
-
-:see: https://github.com/hunyadi/strong_typing
-"""
-
-import builtins
-import collections.abc
-import dataclasses
-import inspect
-import re
-import sys
-import types
-import typing
-from collections.abc import Callable
-from dataclasses import dataclass
-from io import StringIO
-from typing import Any, Protocol, TypeVar
-
-if sys.version_info >= (3, 10):
- from typing import TypeGuard
-else:
- from typing import TypeGuard
-
-from .inspection import (
- DataclassInstance,
- get_class_properties,
- get_signature,
- is_dataclass_type,
- is_type_enum,
-)
-
-T = TypeVar("T")
-
-
-@dataclass
-class DocstringParam:
- """
- A parameter declaration in a parameter block.
-
- :param name: The name of the parameter.
- :param description: The description text for the parameter.
- """
-
- name: str
- description: str
- param_type: type | str = inspect.Signature.empty
-
- def __str__(self) -> str:
- return f":param {self.name}: {self.description}"
-
-
-@dataclass
-class DocstringReturns:
- """
- A `returns` declaration extracted from a docstring.
-
- :param description: The description text for the return value.
- """
-
- description: str
- return_type: type = inspect.Signature.empty
-
- def __str__(self) -> str:
- return f":returns: {self.description}"
-
-
-@dataclass
-class DocstringRaises:
- """
- A `raises` declaration extracted from a docstring.
-
- :param typename: The type name of the exception raised.
- :param description: The description associated with the exception raised.
- """
-
- typename: str
- description: str
- raise_type: type = inspect.Signature.empty
-
- def __str__(self) -> str:
- return f":raises {self.typename}: {self.description}"
-
-
-@dataclass
-class Docstring:
- """
- Represents the documentation string (a.k.a. docstring) for a type such as a (data) class or function.
-
- A docstring is broken down into the following components:
- * A short description, which is the first block of text in the documentation string, and ends with a double
- newline or a parameter block.
- * A long description, which is the optional block of text following the short description, and ends with
- a parameter block.
- * A parameter block of named parameter and description string pairs in ReST-style.
- * A `returns` declaration, which adds explanation to the return value.
- * A `raises` declaration, which adds explanation to the exception type raised by the function on error.
-
- When the docstring is attached to a data class, it is understood as the documentation string of the class
- `__init__` method.
-
- :param short_description: The short description text parsed from a docstring.
- :param long_description: The long description text parsed from a docstring.
- :param params: The parameter block extracted from a docstring.
- :param returns: The returns declaration extracted from a docstring.
- """
-
- short_description: str | None = None
- long_description: str | None = None
- params: dict[str, DocstringParam] = dataclasses.field(default_factory=dict)
- returns: DocstringReturns | None = None
- raises: dict[str, DocstringRaises] = dataclasses.field(default_factory=dict)
-
- @property
- def full_description(self) -> str | None:
- if self.short_description and self.long_description:
- return f"{self.short_description}\n\n{self.long_description}"
- elif self.short_description:
- return self.short_description
- else:
- return None
-
- def __str__(self) -> str:
- output = StringIO()
-
- has_description = self.short_description or self.long_description
- has_blocks = self.params or self.returns or self.raises
-
- if has_description:
- if self.short_description and self.long_description:
- output.write(self.short_description)
- output.write("\n\n")
- output.write(self.long_description)
- elif self.short_description:
- output.write(self.short_description)
-
- if has_blocks:
- if has_description:
- output.write("\n")
-
- for param in self.params.values():
- output.write("\n")
- output.write(str(param))
- if self.returns:
- output.write("\n")
- output.write(str(self.returns))
- for raises in self.raises.values():
- output.write("\n")
- output.write(str(raises))
-
- s = output.getvalue()
- output.close()
- return s
-
-
-def is_exception(member: object) -> TypeGuard[type[BaseException]]:
- return isinstance(member, type) and issubclass(member, BaseException)
-
-
-def get_exceptions(module: types.ModuleType) -> dict[str, type[BaseException]]:
- "Returns all exception classes declared in a module."
-
- return {name: class_type for name, class_type in inspect.getmembers(module, is_exception)}
-
-
-class SupportsDoc(Protocol):
- __doc__: str | None
-
-
-def _maybe_unwrap_async_iterator(t):
- origin_type = typing.get_origin(t)
- if origin_type is collections.abc.AsyncIterator:
- return typing.get_args(t)[0]
- return t
-
-
-def parse_type(typ: SupportsDoc) -> Docstring:
- """
- Parse the docstring of a type into its components.
-
- :param typ: The type whose documentation string to parse.
- :returns: Components of the documentation string.
- """
- # Use docstring from the iterator origin type for streaming apis
- typ = _maybe_unwrap_async_iterator(typ)
-
- doc = get_docstring(typ)
- if doc is None:
- return Docstring()
-
- docstring = parse_text(doc)
- check_docstring(typ, docstring)
-
- # assign parameter and return types
- if is_dataclass_type(typ):
- properties = dict(get_class_properties(typing.cast(type, typ)))
-
- for name, param in docstring.params.items():
- param.param_type = properties[name]
-
- elif inspect.isfunction(typ):
- signature = get_signature(typ)
- for name, param in docstring.params.items():
- param.param_type = signature.parameters[name].annotation
- if docstring.returns:
- docstring.returns.return_type = signature.return_annotation
-
- # assign exception types
- defining_module = inspect.getmodule(typ)
- if defining_module:
- context: dict[str, type] = {}
- context.update(get_exceptions(builtins))
- context.update(get_exceptions(defining_module))
- for exc_name, exc in docstring.raises.items():
- raise_type = context.get(exc_name)
- if raise_type is None:
- type_name = getattr(typ, "__qualname__", None) or getattr(typ, "__name__", None) or None
- raise TypeError(
- f"doc-string exception type `{exc_name}` is not an exception defined in the context of `{type_name}`"
- )
-
- exc.raise_type = raise_type
-
- return docstring
-
-
-def parse_text(text: str) -> Docstring:
- """
- Parse a ReST-style docstring into its components.
-
- :param text: The documentation string to parse, typically acquired as `type.__doc__`.
- :returns: Components of the documentation string.
- """
-
- if not text:
- return Docstring()
-
- # find block that starts object metadata block (e.g. `:param p:` or `:returns:`)
- text = inspect.cleandoc(text)
- match = re.search("^:", text, flags=re.MULTILINE)
- if match:
- desc_chunk = text[: match.start()]
- meta_chunk = text[match.start() :] # noqa: E203
- else:
- desc_chunk = text
- meta_chunk = ""
-
- # split description text into short and long description
- parts = desc_chunk.split("\n\n", 1)
-
- # ensure short description has no newlines
- short_description = parts[0].strip().replace("\n", " ") or None
-
- # ensure long description preserves its structure (e.g. preformatted text)
- if len(parts) > 1:
- long_description = parts[1].strip() or None
- else:
- long_description = None
-
- params: dict[str, DocstringParam] = {}
- raises: dict[str, DocstringRaises] = {}
- returns = None
- for match in re.finditer(r"(^:.*?)(?=^:|\Z)", meta_chunk, flags=re.DOTALL | re.MULTILINE):
- chunk = match.group(0)
- if not chunk:
- continue
-
- args_chunk, desc_chunk = chunk.lstrip(":").split(":", 1)
- args = args_chunk.split()
- desc = re.sub(r"\s+", " ", desc_chunk.strip())
-
- if len(args) > 0:
- kw = args[0]
- if len(args) == 2:
- if kw == "param":
- params[args[1]] = DocstringParam(
- name=args[1],
- description=desc,
- )
- elif kw == "raise" or kw == "raises":
- raises[args[1]] = DocstringRaises(
- typename=args[1],
- description=desc,
- )
-
- elif len(args) == 1:
- if kw == "return" or kw == "returns":
- returns = DocstringReturns(description=desc)
-
- return Docstring(
- long_description=long_description,
- short_description=short_description,
- params=params,
- returns=returns,
- raises=raises,
- )
-
-
-def has_default_docstring(typ: SupportsDoc) -> bool:
- "Check if class has the auto-generated string assigned by @dataclass."
-
- if not isinstance(typ, type):
- return False
-
- if is_dataclass_type(typ):
- return typ.__doc__ is not None and re.match(f"^{re.escape(typ.__name__)}[(].*[)]$", typ.__doc__) is not None
-
- if is_type_enum(typ):
- return typ.__doc__ is not None and typ.__doc__ == "An enumeration."
-
- return False
-
-
-def has_docstring(typ: SupportsDoc) -> bool:
- "Check if class has a documentation string other than the auto-generated string assigned by @dataclass."
-
- if has_default_docstring(typ):
- return False
-
- return bool(typ.__doc__)
-
-
-def get_docstring(typ: SupportsDoc) -> str | None:
- if typ.__doc__ is None:
- return None
-
- if has_default_docstring(typ):
- return None
-
- return typ.__doc__
-
-
-def check_docstring(typ: SupportsDoc, docstring: Docstring, strict: bool = False) -> None:
- """
- Verifies the doc-string of a type.
-
- :raises TypeError: Raised on a mismatch between doc-string parameters, and function or type signature.
- """
-
- if is_dataclass_type(typ):
- check_dataclass_docstring(typ, docstring, strict)
- elif inspect.isfunction(typ):
- check_function_docstring(typ, docstring, strict)
-
-
-def check_dataclass_docstring(typ: type[DataclassInstance], docstring: Docstring, strict: bool = False) -> None:
- """
- Verifies the doc-string of a data-class type.
-
- :param strict: Whether to check if all data-class members have doc-strings.
- :raises TypeError: Raised on a mismatch between doc-string parameters and data-class members.
- """
-
- if not is_dataclass_type(typ):
- raise TypeError("not a data-class type")
-
- properties = dict(get_class_properties(typ))
- class_name = typ.__name__
-
- for name in docstring.params:
- if name not in properties:
- raise TypeError(f"doc-string parameter `{name}` is not a member of the data-class `{class_name}`")
-
- if not strict:
- return
-
- for name in properties:
- if name not in docstring.params:
- raise TypeError(f"member `{name}` in data-class `{class_name}` is missing its doc-string")
-
-
-def check_function_docstring(fn: Callable[..., Any], docstring: Docstring, strict: bool = False) -> None:
- """
- Verifies the doc-string of a function or member function.
-
- :param strict: Whether to check if all function parameters and the return type have doc-strings.
- :raises TypeError: Raised on a mismatch between doc-string parameters and function signature.
- """
-
- signature = get_signature(fn)
- func_name = fn.__qualname__
-
- for name in docstring.params:
- if name not in signature.parameters:
- raise TypeError(f"doc-string parameter `{name}` is absent from signature of function `{func_name}`")
-
- if docstring.returns is not None and signature.return_annotation is inspect.Signature.empty:
- raise TypeError(f"doc-string has returns description in function `{func_name}` with no return type annotation")
-
- if not strict:
- return
-
- for name, param in signature.parameters.items():
- # ignore `self` in member function signatures
- if name == "self" and (
- param.kind is inspect.Parameter.POSITIONAL_ONLY or param.kind is inspect.Parameter.POSITIONAL_OR_KEYWORD
- ):
- continue
-
- if name not in docstring.params:
- raise TypeError(f"function parameter `{name}` in `{func_name}` is missing its doc-string")
-
- if signature.return_annotation is not inspect.Signature.empty and docstring.returns is None:
- raise TypeError(f"function `{func_name}` has no returns description in its doc-string")
diff --git a/src/llama_stack_api/strong_typing/exception.py b/src/llama_stack_api/strong_typing/exception.py
deleted file mode 100644
index af037cc3c8..0000000000
--- a/src/llama_stack_api/strong_typing/exception.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-"""
-Type-safe data interchange for Python data classes.
-
-:see: https://github.com/hunyadi/strong_typing
-"""
-
-
-class JsonKeyError(Exception):
- "Raised when deserialization for a class or union type has failed because a matching member was not found."
-
-
-class JsonValueError(Exception):
- "Raised when (de)serialization of data has failed due to invalid value."
-
-
-class JsonTypeError(Exception):
- "Raised when deserialization of data has failed due to a type mismatch."
diff --git a/src/llama_stack_api/strong_typing/inspection.py b/src/llama_stack_api/strong_typing/inspection.py
deleted file mode 100644
index 319d126577..0000000000
--- a/src/llama_stack_api/strong_typing/inspection.py
+++ /dev/null
@@ -1,1104 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-"""
-Type-safe data interchange for Python data classes.
-
-:see: https://github.com/hunyadi/strong_typing
-"""
-
-import dataclasses
-import datetime
-import enum
-import importlib
-import importlib.machinery
-import importlib.util
-import inspect
-import re
-import sys
-import types
-import typing
-import uuid
-from collections.abc import Callable, Iterable
-from typing import (
- Any,
- Literal,
- NamedTuple,
- Protocol,
- TypeVar,
- Union,
- runtime_checkable,
-)
-
-if sys.version_info >= (3, 9):
- from typing import Annotated
-else:
- from typing import Annotated
-
-if sys.version_info >= (3, 10):
- from typing import TypeGuard
-else:
- from typing import TypeGuard
-
-
-from pydantic import BaseModel
-from pydantic.fields import FieldInfo
-
-S = TypeVar("S")
-T = TypeVar("T")
-K = TypeVar("K")
-V = TypeVar("V")
-
-
-def _is_type_like(data_type: object) -> bool:
- """
- Checks if the object is a type or type-like object (e.g. generic type).
-
- :param data_type: The object to validate.
- :returns: True if the object is a type or type-like object.
- """
-
- if isinstance(data_type, type):
- # a standard type
- return True
- elif typing.get_origin(data_type) is not None:
- # a generic type such as `list`, `dict` or `set`
- return True
- elif hasattr(data_type, "__forward_arg__"):
- # an instance of `ForwardRef`
- return True
- elif data_type is Any:
- # the special form `Any`
- return True
- else:
- return False
-
-
-if sys.version_info >= (3, 9):
- TypeLike = Union[type, types.GenericAlias, typing.ForwardRef, Any]
-
- def is_type_like(
- data_type: object,
- ) -> TypeGuard[TypeLike]:
- """
- Checks if the object is a type or type-like object (e.g. generic type).
-
- :param data_type: The object to validate.
- :returns: True if the object is a type or type-like object.
- """
-
- return _is_type_like(data_type)
-
-else:
- TypeLike = object
-
- def is_type_like(
- data_type: object,
- ) -> bool:
- return _is_type_like(data_type)
-
-
-def evaluate_member_type(typ: Any, cls: type) -> Any:
- """
- Evaluates a forward reference type in a dataclass member.
-
- :param typ: The dataclass member type to convert.
- :param cls: The dataclass in which the member is defined.
- :returns: The evaluated type.
- """
-
- return evaluate_type(typ, sys.modules[cls.__module__])
-
-
-def evaluate_type(typ: Any, module: types.ModuleType) -> Any:
- """
- Evaluates a forward reference type.
-
- :param typ: The type to convert, typically a dataclass member type.
- :param module: The context for the type, i.e. the module in which the member is defined.
- :returns: The evaluated type.
- """
-
- if isinstance(typ, str):
- # evaluate data-class field whose type annotation is a string
- return eval(typ, module.__dict__, locals())
- if isinstance(typ, typing.ForwardRef):
- if sys.version_info >= (3, 9):
- return typ._evaluate(module.__dict__, locals(), recursive_guard=frozenset())
- else:
- return typ._evaluate(module.__dict__, locals())
- else:
- return typ
-
-
-@runtime_checkable
-class DataclassInstance(Protocol):
- __dataclass_fields__: typing.ClassVar[dict[str, dataclasses.Field]]
-
-
-def is_dataclass_type(typ: Any) -> TypeGuard[type[DataclassInstance]]:
- "True if the argument corresponds to a data class type (but not an instance)."
-
- typ = unwrap_annotated_type(typ)
- return isinstance(typ, type) and dataclasses.is_dataclass(typ)
-
-
-def is_dataclass_instance(obj: Any) -> TypeGuard[DataclassInstance]:
- "True if the argument corresponds to a data class instance (but not a type)."
-
- return not isinstance(obj, type) and dataclasses.is_dataclass(obj)
-
-
-@dataclasses.dataclass
-class DataclassField:
- name: str
- type: Any
- default: Any
-
- def __init__(self, name: str, type: Any, default: Any = dataclasses.MISSING) -> None:
- self.name = name
- self.type = type
- self.default = default
-
-
-def dataclass_fields(cls: type[DataclassInstance]) -> Iterable[DataclassField]:
- "Generates the fields of a data-class resolving forward references."
-
- for field in dataclasses.fields(cls):
- yield DataclassField(field.name, evaluate_member_type(field.type, cls), field.default)
-
-
-def dataclass_field_by_name(cls: type[DataclassInstance], name: str) -> DataclassField:
- "Looks up a field in a data-class by its field name."
-
- for field in dataclasses.fields(cls):
- if field.name == name:
- return DataclassField(field.name, evaluate_member_type(field.type, cls))
-
- raise LookupError(f"field `{name}` missing from class `{cls.__name__}`")
-
-
-def is_named_tuple_instance(obj: Any) -> TypeGuard[NamedTuple]:
- "True if the argument corresponds to a named tuple instance."
-
- return is_named_tuple_type(type(obj))
-
-
-def is_named_tuple_type(typ: Any) -> TypeGuard[type[NamedTuple]]:
- """
- True if the argument corresponds to a named tuple type.
-
- Calling the function `collections.namedtuple` gives a new type that is a subclass of `tuple` (and no other classes)
- with a member named `_fields` that is a tuple whose items are all strings.
- """
-
- if not isinstance(typ, type):
- return False
-
- typ = unwrap_annotated_type(typ)
-
- b = getattr(typ, "__bases__", None)
- if b is None:
- return False
-
- if len(b) != 1 or b[0] != tuple:
- return False
-
- f = getattr(typ, "_fields", None)
- if not isinstance(f, tuple):
- return False
-
- return all(isinstance(n, str) for n in f)
-
-
-if sys.version_info >= (3, 11):
-
- def is_type_enum(typ: object) -> TypeGuard[type[enum.Enum]]:
- "True if the specified type is an enumeration type."
-
- typ = unwrap_annotated_type(typ)
- return isinstance(typ, enum.EnumType)
-
-else:
-
- def is_type_enum(typ: object) -> TypeGuard[type[enum.Enum]]:
- "True if the specified type is an enumeration type."
-
- typ = unwrap_annotated_type(typ)
-
- # use an explicit isinstance(..., type) check to filter out special forms like generics
- return isinstance(typ, type) and issubclass(typ, enum.Enum)
-
-
-def enum_value_types(enum_type: type[enum.Enum]) -> list[type]:
- """
- Returns all unique value types of the `enum.Enum` type in definition order.
- """
-
- # filter unique enumeration value types by keeping definition order
- return list(dict.fromkeys(type(e.value) for e in enum_type))
-
-
-def extend_enum(
- source: type[enum.Enum],
-) -> Callable[[type[enum.Enum]], type[enum.Enum]]:
- """
- Creates a new enumeration type extending the set of values in an existing type.
-
- :param source: The existing enumeration type to be extended with new values.
- :returns: A new enumeration type with the extended set of values.
- """
-
- def wrap(extend: type[enum.Enum]) -> type[enum.Enum]:
- # create new enumeration type combining the values from both types
- values: dict[str, Any] = {}
- values.update((e.name, e.value) for e in source)
- values.update((e.name, e.value) for e in extend)
- # mypy fails to determine that __name__ is always a string; hence the `ignore` directive.
- enum_class: type[enum.Enum] = enum.Enum(extend.__name__, values) # type: ignore[misc]
-
- # assign the newly created type to the same module where the extending class is defined
- enum_class.__module__ = extend.__module__
- enum_class.__doc__ = extend.__doc__
- setattr(sys.modules[extend.__module__], extend.__name__, enum_class)
-
- return enum.unique(enum_class)
-
- return wrap
-
-
-if sys.version_info >= (3, 10):
-
- def _is_union_like(typ: object) -> bool:
- "True if type is a union such as `Union[T1, T2, ...]` or a union type `T1 | T2`."
-
- return typing.get_origin(typ) is Union or isinstance(typ, types.UnionType)
-
-else:
-
- def _is_union_like(typ: object) -> bool:
- "True if type is a union such as `Union[T1, T2, ...]` or a union type `T1 | T2`."
-
- return typing.get_origin(typ) is Union
-
-
-def is_type_optional(typ: object, strict: bool = False) -> TypeGuard[type[Any | None]]:
- """
- True if the type annotation corresponds to an optional type (e.g. `Optional[T]` or `Union[T1,T2,None]`).
-
- `Optional[T]` is represented as `Union[T, None]` is classic style, and is equivalent to `T | None` in new style.
-
- :param strict: True if only `Optional[T]` qualifies as an optional type but `Union[T1, T2, None]` does not.
- """
-
- typ = unwrap_annotated_type(typ)
-
- if _is_union_like(typ):
- args = typing.get_args(typ)
- if strict and len(args) != 2:
- return False
-
- return type(None) in args
-
- return False
-
-
-def unwrap_optional_type(typ: type[T | None]) -> type[T]:
- """
- Extracts the inner type of an optional type.
-
- :param typ: The optional type `Optional[T]`.
- :returns: The inner type `T`.
- """
-
- return rewrap_annotated_type(_unwrap_optional_type, typ)
-
-
-def _unwrap_optional_type(typ: type[T | None]) -> type[T]:
- "Extracts the type qualified as optional (e.g. returns `T` for `Optional[T]`)."
-
- # Optional[T] is represented internally as Union[T, None]
- if not _is_union_like(typ):
- raise TypeError("optional type must have un-subscripted type of Union")
-
- # will automatically unwrap Union[T] into T
- return Union[tuple(filter(lambda item: item is not type(None), typing.get_args(typ)))] # type: ignore[return-value]
-
-
-def is_type_union(typ: object) -> bool:
- "True if the type annotation corresponds to a union type (e.g. `Union[T1,T2,T3]`)."
-
- typ = unwrap_annotated_type(typ)
- if _is_union_like(typ):
- args = typing.get_args(typ)
- return len(args) > 2 or type(None) not in args
-
- return False
-
-
-def unwrap_union_types(typ: object) -> tuple[object, ...]:
- """
- Extracts the inner types of a union type.
-
- :param typ: The union type `Union[T1, T2, ...]`.
- :returns: The inner types `T1`, `T2`, etc.
- """
-
- typ = unwrap_annotated_type(typ)
- return _unwrap_union_types(typ)
-
-
-def _unwrap_union_types(typ: object) -> tuple[object, ...]:
- "Extracts the types in a union (e.g. returns a tuple of types `T1` and `T2` for `Union[T1, T2]`)."
-
- if not _is_union_like(typ):
- raise TypeError("union type must have un-subscripted type of Union")
-
- return typing.get_args(typ)
-
-
-def is_type_literal(typ: object) -> bool:
- "True if the specified type is a literal of one or more constant values, e.g. `Literal['string']` or `Literal[42]`."
-
- typ = unwrap_annotated_type(typ)
- return typing.get_origin(typ) is Literal
-
-
-def unwrap_literal_value(typ: object) -> Any:
- """
- Extracts the single constant value captured by a literal type.
-
- :param typ: The literal type `Literal[value]`.
- :returns: The values captured by the literal type.
- """
-
- args = unwrap_literal_values(typ)
- if len(args) != 1:
- raise TypeError("too many values in literal type")
-
- return args[0]
-
-
-def unwrap_literal_values(typ: object) -> tuple[Any, ...]:
- """
- Extracts the constant values captured by a literal type.
-
- :param typ: The literal type `Literal[value, ...]`.
- :returns: A tuple of values captured by the literal type.
- """
-
- typ = unwrap_annotated_type(typ)
- return typing.get_args(typ)
-
-
-def unwrap_literal_types(typ: object) -> tuple[type, ...]:
- """
- Extracts the types of the constant values captured by a literal type.
-
- :param typ: The literal type `Literal[value, ...]`.
- :returns: A tuple of item types `T` such that `type(value) == T`.
- """
-
- return tuple(type(t) for t in unwrap_literal_values(typ))
-
-
-def is_generic_list(typ: object) -> TypeGuard[type[list]]:
- "True if the specified type is a generic list, i.e. `List[T]`."
-
- typ = unwrap_annotated_type(typ)
- return typing.get_origin(typ) is list
-
-
-def unwrap_generic_list(typ: type[list[T]]) -> type[T]:
- """
- Extracts the item type of a list type.
-
- :param typ: The list type `List[T]`.
- :returns: The item type `T`.
- """
-
- return rewrap_annotated_type(_unwrap_generic_list, typ)
-
-
-def _unwrap_generic_list(typ: type[list[T]]) -> type[T]:
- "Extracts the item type of a list type (e.g. returns `T` for `List[T]`)."
-
- (list_type,) = typing.get_args(typ) # unpack single tuple element
- return list_type # type: ignore[no-any-return]
-
-
-def is_generic_sequence(typ: object) -> bool:
- "True if the specified type is a generic Sequence, i.e. `Sequence[T]`."
- import collections.abc
-
- typ = unwrap_annotated_type(typ)
- return typing.get_origin(typ) is collections.abc.Sequence
-
-
-def unwrap_generic_sequence(typ: object) -> type:
- """
- Extracts the item type of a Sequence type.
-
- :param typ: The Sequence type `Sequence[T]`.
- :returns: The item type `T`.
- """
-
- return rewrap_annotated_type(_unwrap_generic_sequence, typ) # type: ignore[arg-type]
-
-
-def _unwrap_generic_sequence(typ: object) -> type:
- "Extracts the item type of a Sequence type (e.g. returns `T` for `Sequence[T]`)."
-
- (sequence_type,) = typing.get_args(typ) # unpack single tuple element
- return sequence_type # type: ignore[no-any-return]
-
-
-def is_generic_set(typ: object) -> TypeGuard[type[set]]:
- "True if the specified type is a generic set, i.e. `Set[T]`."
-
- typ = unwrap_annotated_type(typ)
- return typing.get_origin(typ) is set
-
-
-def unwrap_generic_set(typ: type[set[T]]) -> type[T]:
- """
- Extracts the item type of a set type.
-
- :param typ: The set type `Set[T]`.
- :returns: The item type `T`.
- """
-
- return rewrap_annotated_type(_unwrap_generic_set, typ)
-
-
-def _unwrap_generic_set(typ: type[set[T]]) -> type[T]:
- "Extracts the item type of a set type (e.g. returns `T` for `Set[T]`)."
-
- (set_type,) = typing.get_args(typ) # unpack single tuple element
- return set_type # type: ignore[no-any-return]
-
-
-def is_generic_dict(typ: object) -> TypeGuard[type[dict]]:
- "True if the specified type is a generic dictionary, i.e. `Dict[KeyType, ValueType]`."
-
- typ = unwrap_annotated_type(typ)
- return typing.get_origin(typ) is dict
-
-
-def unwrap_generic_dict(typ: type[dict[K, V]]) -> tuple[type[K], type[V]]:
- """
- Extracts the key and value types of a dictionary type as a tuple.
-
- :param typ: The dictionary type `Dict[K, V]`.
- :returns: The key and value types `K` and `V`.
- """
-
- return _unwrap_generic_dict(unwrap_annotated_type(typ))
-
-
-def _unwrap_generic_dict(typ: type[dict[K, V]]) -> tuple[type[K], type[V]]:
- "Extracts the key and value types of a dict type (e.g. returns (`K`, `V`) for `Dict[K, V]`)."
-
- key_type, value_type = typing.get_args(typ)
- return key_type, value_type
-
-
-def is_type_annotated(typ: TypeLike) -> bool:
- "True if the type annotation corresponds to an annotated type (i.e. `Annotated[T, ...]`)."
-
- return getattr(typ, "__metadata__", None) is not None
-
-
-def get_annotation(data_type: TypeLike, annotation_type: type[T]) -> T | None:
- """
- Returns the first annotation on a data type that matches the expected annotation type.
-
- :param data_type: The annotated type from which to extract the annotation.
- :param annotation_type: The annotation class to look for.
- :returns: The annotation class instance found (if any).
- """
-
- metadata = getattr(data_type, "__metadata__", None)
- if metadata is not None:
- for annotation in metadata:
- if isinstance(annotation, annotation_type):
- return annotation
-
- return None
-
-
-def unwrap_annotated_type(typ: T) -> T:
- "Extracts the wrapped type from an annotated type (e.g. returns `T` for `Annotated[T, ...]`)."
-
- if is_type_annotated(typ):
- # type is Annotated[T, ...]
- return typing.get_args(typ)[0] # type: ignore[no-any-return]
- else:
- # type is a regular type
- return typ
-
-
-def rewrap_annotated_type(transform: Callable[[type[S]], type[T]], typ: type[S]) -> type[T]:
- """
- Un-boxes, transforms and re-boxes an optionally annotated type.
-
- :param transform: A function that maps an un-annotated type to another type.
- :param typ: A type to un-box (if necessary), transform, and re-box (if necessary).
- """
-
- metadata = getattr(typ, "__metadata__", None)
- if metadata is not None:
- # type is Annotated[T, ...]
- inner_type = typing.get_args(typ)[0]
- else:
- # type is a regular type
- inner_type = typ
-
- transformed_type = transform(inner_type)
-
- if metadata is not None:
- return Annotated[(transformed_type, *metadata)] # type: ignore[return-value]
- else:
- return transformed_type
-
-
-def get_module_classes(module: types.ModuleType) -> list[type]:
- "Returns all classes declared directly in a module."
-
- def is_class_member(member: object) -> TypeGuard[type]:
- return inspect.isclass(member) and member.__module__ == module.__name__
-
- return [class_type for _, class_type in inspect.getmembers(module, is_class_member)]
-
-
-if sys.version_info >= (3, 9):
-
- def get_resolved_hints(typ: type) -> dict[str, type]:
- return typing.get_type_hints(typ, include_extras=True)
-
-else:
-
- def get_resolved_hints(typ: type) -> dict[str, type]:
- return typing.get_type_hints(typ)
-
-
-def get_class_properties(typ: type) -> Iterable[tuple[str, type | str]]:
- "Returns all properties of a class."
-
- if is_dataclass_type(typ):
- return ((field.name, field.type) for field in dataclasses.fields(typ))
- elif hasattr(typ, "model_fields"):
- # Pydantic BaseModel - use model_fields to exclude ClassVar and other non-field attributes
- # Reconstruct Annotated type if discriminator exists to preserve metadata
- from typing import Annotated, Any
-
- from pydantic.fields import FieldInfo
-
- def get_field_type(name: str, field: Any) -> type | str:
- # If field has discriminator, wrap in Annotated to preserve it for schema generation
- if field.discriminator:
- field_info = FieldInfo(annotation=None, discriminator=field.discriminator)
- # Annotated returns _AnnotatedAlias which isn't a type but is valid here
- return Annotated[field.annotation, field_info] # type: ignore[return-value]
- # field.annotation can be Union types, Annotated, etc. which aren't type but are valid
- return field.annotation # type: ignore[return-value,no-any-return]
-
- return ((name, get_field_type(name, field)) for name, field in typ.model_fields.items())
- else:
- resolved_hints = get_resolved_hints(typ)
- return resolved_hints.items()
-
-
-def get_class_property(typ: type, name: str) -> type | str | None:
- "Looks up the annotated type of a property in a class by its property name."
-
- for property_name, property_type in get_class_properties(typ):
- if name == property_name:
- return property_type
- return None
-
-
-@dataclasses.dataclass
-class _ROOT:
- pass
-
-
-def get_referenced_types(typ: TypeLike, module: types.ModuleType | None = None) -> set[type]:
- """
- Extracts types directly or indirectly referenced by this type.
-
- For example, extract `T` from `List[T]`, `Optional[T]` or `Annotated[T, ...]`, `K` and `V` from `Dict[K,V]`,
- `A` and `B` from `Union[A,B]`.
-
- :param typ: A type or special form.
- :param module: The context in which types are evaluated.
- :returns: Types referenced by the given type or special form.
- """
-
- collector = TypeCollector()
- collector.run(typ, _ROOT, module)
- return collector.references
-
-
-class TypeCollector:
- """
- Collects types directly or indirectly referenced by a type.
-
- :param graph: The type dependency graph, linking types to types they depend on.
- """
-
- graph: dict[type, set[type]]
-
- @property
- def references(self) -> set[type]:
- "Types collected by the type collector."
-
- dependencies = set()
- for edges in self.graph.values():
- dependencies.update(edges)
- return dependencies
-
- def __init__(self) -> None:
- self.graph = {_ROOT: set()}
-
- def traverse(self, typ: type) -> None:
- "Finds all dependent types of a type."
-
- self.run(typ, _ROOT, sys.modules[typ.__module__])
-
- def traverse_all(self, types: Iterable[type]) -> None:
- "Finds all dependent types of a list of types."
-
- for typ in types:
- self.traverse(typ)
-
- def run(
- self,
- typ: TypeLike,
- cls: type[DataclassInstance],
- module: types.ModuleType | None,
- ) -> None:
- """
- Extracts types indirectly referenced by this type.
-
- For example, extract `T` from `List[T]`, `Optional[T]` or `Annotated[T, ...]`, `K` and `V` from `Dict[K,V]`,
- `A` and `B` from `Union[A,B]`.
-
- :param typ: A type or special form.
- :param cls: A dataclass type being expanded for dependent types.
- :param module: The context in which types are evaluated.
- :returns: Types referenced by the given type or special form.
- """
-
- if typ is type(None) or typ is Any:
- return
-
- if isinstance(typ, type):
- self.graph[cls].add(typ)
-
- if typ in self.graph:
- return
-
- self.graph[typ] = set()
-
- metadata = getattr(typ, "__metadata__", None)
- if metadata is not None:
- # type is Annotated[T, ...]
- arg = typing.get_args(typ)[0]
- return self.run(arg, cls, module)
-
- # type is a forward reference
- if isinstance(typ, str) or isinstance(typ, typing.ForwardRef):
- if module is None:
- raise ValueError("missing context for evaluating types")
-
- evaluated_type = evaluate_type(typ, module)
- return self.run(evaluated_type, cls, module)
-
- # type is a special form
- origin = typing.get_origin(typ)
- if origin in [list, dict, frozenset, set, tuple, Union]:
- for arg in typing.get_args(typ):
- self.run(arg, cls, module)
- return
- elif origin is Literal:
- return
-
- # type is optional or a union type
- if is_type_optional(typ):
- return self.run(unwrap_optional_type(typ), cls, module)
- if is_type_union(typ):
- for union_type in unwrap_union_types(typ):
- self.run(union_type, cls, module)
- return
-
- # type is a regular type
- elif is_dataclass_type(typ) or is_type_enum(typ) or isinstance(typ, type):
- context = sys.modules[typ.__module__]
- if is_dataclass_type(typ):
- for field in dataclass_fields(typ):
- self.run(field.type, typ, context)
- else:
- for field_name, field_type in get_resolved_hints(typ).items():
- self.run(field_type, typ, context)
- return
-
- raise TypeError(f"expected: type-like; got: {typ}")
-
-
-if sys.version_info >= (3, 10):
-
- def get_signature(fn: Callable[..., Any]) -> inspect.Signature:
- "Extracts the signature of a function."
-
- return inspect.signature(fn, eval_str=True)
-
-else:
-
- def get_signature(fn: Callable[..., Any]) -> inspect.Signature:
- "Extracts the signature of a function."
-
- return inspect.signature(fn)
-
-
-def is_reserved_property(name: str) -> bool:
- "True if the name stands for an internal property."
-
- # filter built-in and special properties
- if re.match(r"^__.+__$", name):
- return True
-
- # filter built-in special names
- if name in ["_abc_impl"]:
- return True
-
- return False
-
-
-def create_module(name: str) -> types.ModuleType:
- """
- Creates a new module dynamically at run-time.
-
- :param name: Fully qualified name of the new module (with dot notation).
- """
-
- if name in sys.modules:
- raise KeyError(f"{name!r} already in sys.modules")
-
- spec = importlib.machinery.ModuleSpec(name, None)
- module = importlib.util.module_from_spec(spec)
- sys.modules[name] = module
- if spec.loader is not None:
- spec.loader.exec_module(module)
- return module
-
-
-if sys.version_info >= (3, 10):
-
- def create_data_type(class_name: str, fields: list[tuple[str, type]]) -> type:
- """
- Creates a new data-class type dynamically.
-
- :param class_name: The name of new data-class type.
- :param fields: A list of fields (and their type) that the new data-class type is expected to have.
- :returns: The newly created data-class type.
- """
-
- # has the `slots` parameter
- return dataclasses.make_dataclass(class_name, fields, slots=True)
-
-else:
-
- def create_data_type(class_name: str, fields: list[tuple[str, type]]) -> type:
- """
- Creates a new data-class type dynamically.
-
- :param class_name: The name of new data-class type.
- :param fields: A list of fields (and their type) that the new data-class type is expected to have.
- :returns: The newly created data-class type.
- """
-
- cls = dataclasses.make_dataclass(class_name, fields)
-
- cls_dict = dict(cls.__dict__)
- field_names = tuple(field.name for field in dataclasses.fields(cls))
-
- cls_dict["__slots__"] = field_names
-
- for field_name in field_names:
- cls_dict.pop(field_name, None)
- cls_dict.pop("__dict__", None)
-
- qualname = getattr(cls, "__qualname__", None)
- cls = type(cls)(cls.__name__, (), cls_dict)
- if qualname is not None:
- cls.__qualname__ = qualname
-
- return cls
-
-
-def create_object(typ: type[T]) -> T:
- "Creates an instance of a type."
-
- if issubclass(typ, Exception):
- # exception types need special treatment
- e = typ.__new__(typ)
- return typing.cast(T, e)
- else:
- return object.__new__(typ)
-
-
-if sys.version_info >= (3, 9):
- TypeOrGeneric = Union[type, types.GenericAlias]
-
-else:
- TypeOrGeneric = object
-
-
-def is_generic_instance(obj: Any, typ: TypeLike) -> bool:
- """
- Returns whether an object is an instance of a generic class, a standard class or of a subclass thereof.
-
- This function checks the following items recursively:
- * items of a list
- * keys and values of a dictionary
- * members of a set
- * items of a tuple
- * members of a union type
-
- :param obj: The (possibly generic container) object to check recursively.
- :param typ: The expected type of the object.
- """
-
- if isinstance(typ, typing.ForwardRef):
- fwd: typing.ForwardRef = typ
- identifier = fwd.__forward_arg__
- typ = eval(identifier)
- if isinstance(typ, type):
- return isinstance(obj, typ)
- else:
- return False
-
- # generic types (e.g. list, dict, set, etc.)
- origin_type = typing.get_origin(typ)
- if origin_type is list:
- if not isinstance(obj, list):
- return False
- (list_item_type,) = typing.get_args(typ) # unpack single tuple element
- list_obj: list = obj
- return all(is_generic_instance(item, list_item_type) for item in list_obj)
- elif origin_type is dict:
- if not isinstance(obj, dict):
- return False
- key_type, value_type = typing.get_args(typ)
- dict_obj: dict = obj
- return all(
- is_generic_instance(key, key_type) and is_generic_instance(value, value_type)
- for key, value in dict_obj.items()
- )
- elif origin_type is set:
- if not isinstance(obj, set):
- return False
- (set_member_type,) = typing.get_args(typ) # unpack single tuple element
- set_obj: set = obj
- return all(is_generic_instance(item, set_member_type) for item in set_obj)
- elif origin_type is tuple:
- if not isinstance(obj, tuple):
- return False
- return all(
- is_generic_instance(item, tuple_item_type)
- for tuple_item_type, item in zip(
- (tuple_item_type for tuple_item_type in typing.get_args(typ)),
- (item for item in obj),
- strict=False,
- )
- )
- elif origin_type is Union:
- return any(is_generic_instance(obj, member_type) for member_type in typing.get_args(typ))
- elif isinstance(typ, type):
- return isinstance(obj, typ)
- else:
- raise TypeError(f"expected `type` but got: {typ}")
-
-
-class RecursiveChecker:
- _pred: Callable[[type, Any], bool] | None
-
- def __init__(self, pred: Callable[[type, Any], bool]) -> None:
- """
- Creates a checker to verify if a predicate applies to all nested member properties of an object recursively.
-
- :param pred: The predicate to test on member properties. Takes a property type and a property value.
- """
-
- self._pred = pred
-
- def pred(self, typ: type, obj: Any) -> bool:
- "Acts as a workaround for the type checker mypy."
-
- assert self._pred is not None
- return self._pred(typ, obj)
-
- def check(self, typ: TypeLike, obj: Any) -> bool:
- """
- Checks if a predicate applies to all nested member properties of an object recursively.
-
- :param typ: The type to recurse into.
- :param obj: The object to inspect recursively. Must be an instance of the given type.
- :returns: True if all member properties pass the filter predicate.
- """
-
- # check for well-known types
- if (
- typ is type(None)
- or typ is bool
- or typ is int
- or typ is float
- or typ is str
- or typ is bytes
- or typ is datetime.datetime
- or typ is datetime.date
- or typ is datetime.time
- or typ is uuid.UUID
- ):
- return self.pred(typing.cast(type, typ), obj)
-
- # generic types (e.g. list, dict, set, etc.)
- origin_type = typing.get_origin(typ)
- if origin_type is list:
- if not isinstance(obj, list):
- raise TypeError(f"expected `list` but got: {obj}")
- (list_item_type,) = typing.get_args(typ) # unpack single tuple element
- list_obj: list = obj
- return all(self.check(list_item_type, item) for item in list_obj)
- elif origin_type is dict:
- if not isinstance(obj, dict):
- raise TypeError(f"expected `dict` but got: {obj}")
- key_type, value_type = typing.get_args(typ)
- dict_obj: dict = obj
- return all(self.check(value_type, item) for item in dict_obj.values())
- elif origin_type is set:
- if not isinstance(obj, set):
- raise TypeError(f"expected `set` but got: {obj}")
- (set_member_type,) = typing.get_args(typ) # unpack single tuple element
- set_obj: set = obj
- return all(self.check(set_member_type, item) for item in set_obj)
- elif origin_type is tuple:
- if not isinstance(obj, tuple):
- raise TypeError(f"expected `tuple` but got: {obj}")
- return all(
- self.check(tuple_item_type, item)
- for tuple_item_type, item in zip(
- (tuple_item_type for tuple_item_type in typing.get_args(typ)),
- (item for item in obj),
- strict=False,
- )
- )
- elif origin_type is Union:
- return self.pred(typ, obj) # type: ignore[arg-type]
-
- if not inspect.isclass(typ):
- raise TypeError(f"expected `type` but got: {typ}")
-
- # enumeration type
- if issubclass(typ, enum.Enum):
- if not isinstance(obj, enum.Enum):
- raise TypeError(f"expected `{typ}` but got: {obj}")
- return self.pred(typ, obj)
-
- # class types with properties
- if is_named_tuple_type(typ):
- if not isinstance(obj, tuple):
- raise TypeError(f"expected `NamedTuple` but got: {obj}")
- return all(
- self.check(field_type, getattr(obj, field_name))
- for field_name, field_type in typing.get_type_hints(typ).items()
- )
- elif is_dataclass_type(typ):
- if not isinstance(obj, typ):
- raise TypeError(f"expected `{typ}` but got: {obj}")
- resolved_hints = get_resolved_hints(typ)
- return all(
- self.check(resolved_hints[field.name], getattr(obj, field.name)) for field in dataclasses.fields(typ)
- )
- else:
- if not isinstance(obj, typ):
- raise TypeError(f"expected `{typ}` but got: {obj}")
- return all(
- self.check(property_type, getattr(obj, property_name))
- for property_name, property_type in get_class_properties(typ)
- )
-
-
-def check_recursive(
- obj: object,
- /,
- *,
- pred: Callable[[type, Any], bool] | None = None,
- type_pred: Callable[[type], bool] | None = None,
- value_pred: Callable[[Any], bool] | None = None,
-) -> bool:
- """
- Checks if a predicate applies to all nested member properties of an object recursively.
-
- :param obj: The object to inspect recursively.
- :param pred: The predicate to test on member properties. Takes a property type and a property value.
- :param type_pred: Constrains the check to properties of an expected type. Properties of other types pass automatically.
- :param value_pred: Verifies a condition on member property values (of an expected type).
- :returns: True if all member properties pass the filter predicate(s).
- """
-
- if type_pred is not None and value_pred is not None:
- if pred is not None:
- raise TypeError("filter predicate not permitted when type and value predicates are present")
-
- type_p: Callable[[type[T]], bool] = type_pred
- value_p: Callable[[T], bool] = value_pred
- pred = lambda typ, obj: not type_p(typ) or value_p(obj) # noqa: E731
-
- elif value_pred is not None:
- if pred is not None:
- raise TypeError("filter predicate not permitted when value predicate is present")
-
- value_only_p: Callable[[T], bool] = value_pred
- pred = lambda typ, obj: value_only_p(obj) # noqa: E731
-
- elif type_pred is not None:
- raise TypeError("value predicate required when type predicate is present")
-
- elif pred is None:
- pred = lambda typ, obj: True # noqa: E731
-
- return RecursiveChecker(pred).check(type(obj), obj)
-
-
-def is_unwrapped_body_param(param_type: Any) -> bool:
- """
- Check if a parameter type represents an unwrapped body parameter.
- An unwrapped body parameter is an Annotated type with Body(embed=False)
-
- This is used to determine whether request parameters should be flattened
- in OpenAPI specs and client libraries (matching FastAPI's embed=False behavior).
-
- Args:
- param_type: The parameter type annotation to check
-
- Returns:
- True if the parameter should be treated as an unwrapped body parameter
- """
- # Check if it's Annotated with Body(embed=False)
- if typing.get_origin(param_type) is Annotated:
- args = typing.get_args(param_type)
- base_type = args[0]
- metadata = args[1:]
-
- # Look for Body annotation with embed=False
- # Body() returns a FieldInfo object, so we check for that type and the embed attribute
- for item in metadata:
- if isinstance(item, FieldInfo) and hasattr(item, "embed") and not item.embed:
- return inspect.isclass(base_type) and issubclass(base_type, BaseModel)
-
- return False
diff --git a/src/llama_stack_api/strong_typing/mapping.py b/src/llama_stack_api/strong_typing/mapping.py
deleted file mode 100644
index d6c1a3172a..0000000000
--- a/src/llama_stack_api/strong_typing/mapping.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-"""
-Type-safe data interchange for Python data classes.
-
-:see: https://github.com/hunyadi/strong_typing
-"""
-
-import keyword
-
-from .auxiliary import Alias
-from .inspection import get_annotation
-
-
-def python_field_to_json_property(python_id: str, python_type: object | None = None) -> str:
- """
- Map a Python field identifier to a JSON property name.
-
- Authors may use an underscore appended at the end of a Python identifier as per PEP 8 if it clashes with a Python
- keyword: e.g. `in` would become `in_` and `from` would become `from_`. Remove these suffixes when exporting to JSON.
-
- Authors may supply an explicit alias with the type annotation `Alias`, e.g. `Annotated[MyType, Alias("alias")]`.
- """
-
- if python_type is not None:
- alias = get_annotation(python_type, Alias)
- if alias:
- return alias.name
-
- if python_id.endswith("_"):
- id = python_id[:-1]
- if keyword.iskeyword(id):
- return id
-
- return python_id
diff --git a/src/llama_stack_api/strong_typing/name.py b/src/llama_stack_api/strong_typing/name.py
deleted file mode 100644
index 60501ac431..0000000000
--- a/src/llama_stack_api/strong_typing/name.py
+++ /dev/null
@@ -1,188 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-"""
-Type-safe data interchange for Python data classes.
-
-:see: https://github.com/hunyadi/strong_typing
-"""
-
-import typing
-from typing import Any, Literal, Union
-
-from .auxiliary import _auxiliary_types
-from .inspection import (
- TypeLike,
- is_generic_dict,
- is_generic_list,
- is_generic_sequence,
- is_type_optional,
- is_type_union,
- unwrap_generic_dict,
- unwrap_generic_list,
- unwrap_generic_sequence,
- unwrap_optional_type,
- unwrap_union_types,
-)
-
-
-class TypeFormatter:
- """
- Type formatter.
-
- :param use_union_operator: Whether to emit union types as `X | Y` as per PEP 604.
- """
-
- use_union_operator: bool
-
- def __init__(self, use_union_operator: bool = False) -> None:
- self.use_union_operator = use_union_operator
-
- def union_to_str(self, data_type_args: tuple[TypeLike, ...]) -> str:
- if self.use_union_operator:
- return " | ".join(self.python_type_to_str(t) for t in data_type_args)
- else:
- if len(data_type_args) == 2 and type(None) in data_type_args:
- # Optional[T] is represented as Union[T, None]
- origin_name = "Optional"
- data_type_args = tuple(t for t in data_type_args if t is not type(None))
- else:
- origin_name = "Union"
-
- args = ", ".join(self.python_type_to_str(t) for t in data_type_args)
- return f"{origin_name}[{args}]"
-
- def plain_type_to_str(self, data_type: TypeLike) -> str:
- "Returns the string representation of a Python type without metadata."
-
- # return forward references as the annotation string
- if isinstance(data_type, typing.ForwardRef):
- fwd: typing.ForwardRef = data_type
- return fwd.__forward_arg__
- elif isinstance(data_type, str):
- return data_type
-
- origin = typing.get_origin(data_type)
- if origin is not None:
- data_type_args = typing.get_args(data_type)
-
- if origin is dict: # Dict[T]
- origin_name = "Dict"
- elif origin is list: # List[T]
- origin_name = "List"
- elif origin is set: # Set[T]
- origin_name = "Set"
- elif origin is Union:
- return self.union_to_str(data_type_args)
- elif origin is Literal:
- args = ", ".join(repr(arg) for arg in data_type_args)
- return f"Literal[{args}]"
- else:
- origin_name = origin.__name__
-
- args = ", ".join(self.python_type_to_str(t) for t in data_type_args)
- return f"{origin_name}[{args}]"
-
- return data_type.__name__
-
- def python_type_to_str(self, data_type: TypeLike) -> str:
- "Returns the string representation of a Python type."
-
- if data_type is type(None):
- return "None"
-
- # use compact name for alias types
- name = _auxiliary_types.get(data_type)
- if name is not None:
- return name
-
- metadata = getattr(data_type, "__metadata__", None)
- if metadata is not None:
- # type is Annotated[T, ...]
- metatuple: tuple[Any, ...] = metadata
- arg = typing.get_args(data_type)[0]
-
- # check for auxiliary types with user-defined annotations
- metaset = set(metatuple)
- for auxiliary_type, auxiliary_name in _auxiliary_types.items():
- auxiliary_arg = typing.get_args(auxiliary_type)[0]
- if arg is not auxiliary_arg:
- continue
-
- auxiliary_metatuple: tuple[Any, ...] | None = getattr(auxiliary_type, "__metadata__", None)
- if auxiliary_metatuple is None:
- continue
-
- if metaset.issuperset(auxiliary_metatuple):
- # type is an auxiliary type with extra annotations
- auxiliary_args = ", ".join(repr(m) for m in metatuple if m not in auxiliary_metatuple)
- return f"Annotated[{auxiliary_name}, {auxiliary_args}]"
-
- # type is an annotated type
- args = ", ".join(repr(m) for m in metatuple)
- return f"Annotated[{self.plain_type_to_str(arg)}, {args}]"
- else:
- # type is a regular type
- return self.plain_type_to_str(data_type)
-
-
-def python_type_to_str(data_type: TypeLike, use_union_operator: bool = False) -> str:
- """
- Returns the string representation of a Python type.
-
- :param use_union_operator: Whether to emit union types as `X | Y` as per PEP 604.
- """
-
- fmt = TypeFormatter(use_union_operator)
- return fmt.python_type_to_str(data_type)
-
-
-def python_type_to_name(data_type: TypeLike, force: bool = False) -> str:
- """
- Returns the short name of a Python type.
-
- :param force: Whether to produce a name for composite types such as generics.
- """
-
- # use compact name for alias types
- name = _auxiliary_types.get(data_type)
- if name is not None:
- return name
-
- # unwrap annotated types
- metadata = getattr(data_type, "__metadata__", None)
- if metadata is not None:
- # type is Annotated[T, ...]
- arg = typing.get_args(data_type)[0]
- return python_type_to_name(arg, force=force)
-
- if force:
- # generic types
- if is_type_optional(data_type, strict=True):
- inner_name = python_type_to_name(unwrap_optional_type(data_type), force=True)
- return f"Optional__{inner_name}"
- elif is_generic_list(data_type):
- item_name = python_type_to_name(unwrap_generic_list(data_type), force=True)
- return f"List__{item_name}"
- elif is_generic_sequence(data_type):
- # Treat Sequence the same as List for schema generation purposes
- item_name = python_type_to_name(unwrap_generic_sequence(data_type), force=True)
- return f"List__{item_name}"
- elif is_generic_dict(data_type):
- key_type, value_type = unwrap_generic_dict(data_type)
- key_name = python_type_to_name(key_type, force=True)
- value_name = python_type_to_name(value_type, force=True)
- return f"Dict__{key_name}__{value_name}"
- elif is_type_union(data_type):
- member_types = unwrap_union_types(data_type)
- member_names = "__".join(python_type_to_name(member_type, force=True) for member_type in member_types)
- return f"Union__{member_names}"
-
- # named system or user-defined type
- if hasattr(data_type, "__name__") and not typing.get_args(data_type):
- return data_type.__name__
-
- raise TypeError(f"cannot assign a simple name to type: {data_type}")
diff --git a/src/llama_stack_api/strong_typing/schema.py b/src/llama_stack_api/strong_typing/schema.py
deleted file mode 100644
index 916690e414..0000000000
--- a/src/llama_stack_api/strong_typing/schema.py
+++ /dev/null
@@ -1,791 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-"""
-Type-safe data interchange for Python data classes.
-
-:see: https://github.com/hunyadi/strong_typing
-"""
-
-import collections.abc
-import dataclasses
-import datetime
-import decimal
-import enum
-import functools
-import inspect
-import json
-import types
-import typing
-import uuid
-from collections.abc import Callable
-from copy import deepcopy
-from typing import (
- Annotated,
- Any,
- ClassVar,
- Literal,
- TypeVar,
- Union,
- overload,
-)
-
-import jsonschema
-
-from . import docstring
-from .auxiliary import (
- Alias,
- IntegerRange,
- MaxLength,
- MinLength,
- Precision,
- get_auxiliary_format,
-)
-from .core import JsonArray, JsonObject, JsonType, Schema, StrictJsonType
-from .inspection import (
- TypeLike,
- enum_value_types,
- get_annotation,
- get_class_properties,
- is_type_enum,
- is_type_like,
- is_type_optional,
- unwrap_optional_type,
-)
-from .name import python_type_to_name
-from .serialization import object_to_json
-
-# determines the maximum number of distinct enum members up to which a Dict[EnumType, Any] is converted into a JSON
-# schema with explicitly listed properties (rather than employing a pattern constraint on property names)
-OBJECT_ENUM_EXPANSION_LIMIT = 4
-
-
-T = TypeVar("T")
-
-
-def get_class_docstrings(data_type: type) -> tuple[str | None, str | None]:
- docstr = docstring.parse_type(data_type)
-
- # check if class has a doc-string other than the auto-generated string assigned by @dataclass
- if docstring.has_default_docstring(data_type):
- return None, None
-
- return docstr.short_description, docstr.long_description
-
-
-def get_class_property_docstrings(
- data_type: type, transform_fun: Callable[[type, str, str], str] | None = None
-) -> dict[str, str]:
- """
- Extracts the documentation strings associated with the properties of a composite type.
-
- :param data_type: The object whose properties to iterate over.
- :param transform_fun: An optional function that maps a property documentation string to a custom tailored string.
- :returns: A dictionary mapping property names to descriptions.
- """
-
- result: dict[str, str] = {}
- # Only try to get MRO if data_type is actually a class
- # Special types like Literal, Union, etc. don't have MRO
- if not inspect.isclass(data_type):
- return result
-
- for base in inspect.getmro(data_type):
- docstr = docstring.parse_type(base)
- for param in docstr.params.values():
- if param.name in result:
- continue
-
- if transform_fun:
- description = transform_fun(data_type, param.name, param.description)
- else:
- description = param.description
-
- result[param.name] = description
- return result
-
-
-def docstring_to_schema(data_type: type) -> Schema:
- short_description, long_description = get_class_docstrings(data_type)
- schema: Schema = {
- "title": python_type_to_name(data_type, force=True),
- }
-
- description = "\n".join(filter(None, [short_description, long_description]))
- if description:
- schema["description"] = description
- return schema
-
-
-def id_from_ref(data_type: typing.ForwardRef | str | type) -> str:
- "Extracts the name of a possibly forward-referenced type."
-
- if isinstance(data_type, typing.ForwardRef):
- forward_type: typing.ForwardRef = data_type
- return forward_type.__forward_arg__
- elif isinstance(data_type, str):
- return data_type
- else:
- return data_type.__name__
-
-
-def type_from_ref(data_type: typing.ForwardRef | str | type) -> tuple[str, type]:
- "Creates a type from a forward reference."
-
- if isinstance(data_type, typing.ForwardRef):
- forward_type: typing.ForwardRef = data_type
- true_type = eval(forward_type.__forward_code__)
- return forward_type.__forward_arg__, true_type
- elif isinstance(data_type, str):
- true_type = eval(data_type)
- return data_type, true_type
- else:
- return data_type.__name__, data_type
-
-
-@dataclasses.dataclass
-class TypeCatalogEntry:
- schema: Schema | None
- identifier: str
- examples: JsonType | None = None
-
-
-class TypeCatalog:
- "Maintains an association of well-known Python types to their JSON schema."
-
- _by_type: dict[TypeLike, TypeCatalogEntry]
- _by_name: dict[str, TypeCatalogEntry]
-
- def __init__(self) -> None:
- self._by_type = {}
- self._by_name = {}
-
- def __contains__(self, data_type: TypeLike) -> bool:
- if isinstance(data_type, typing.ForwardRef):
- fwd: typing.ForwardRef = data_type
- name = fwd.__forward_arg__
- return name in self._by_name
- else:
- return data_type in self._by_type
-
- def add(
- self,
- data_type: TypeLike,
- schema: Schema | None,
- identifier: str,
- examples: list[JsonType] | None = None,
- ) -> None:
- if isinstance(data_type, typing.ForwardRef):
- raise TypeError("forward references cannot be used to register a type")
-
- if data_type in self._by_type:
- raise ValueError(f"type {data_type} is already registered in the catalog")
-
- entry = TypeCatalogEntry(schema, identifier, examples)
- self._by_type[data_type] = entry
- self._by_name[identifier] = entry
-
- def get(self, data_type: TypeLike) -> TypeCatalogEntry:
- if isinstance(data_type, typing.ForwardRef):
- fwd: typing.ForwardRef = data_type
- name = fwd.__forward_arg__
- return self._by_name[name]
- else:
- return self._by_type[data_type]
-
-
-@dataclasses.dataclass
-class SchemaOptions:
- definitions_path: str = "#/definitions/"
- use_descriptions: bool = True
- use_examples: bool = True
- property_description_fun: Callable[[type, str, str], str] | None = None
-
-
-class JsonSchemaGenerator:
- "Creates a JSON schema with user-defined type definitions."
-
- type_catalog: ClassVar[TypeCatalog] = TypeCatalog()
- types_used: dict[str, TypeLike]
- options: SchemaOptions
-
- def __init__(self, options: SchemaOptions | None = None):
- if options is None:
- self.options = SchemaOptions()
- else:
- self.options = options
- self.types_used = {}
-
- @functools.singledispatchmethod
- def _metadata_to_schema(self, arg: object) -> Schema:
- # unrecognized annotation
- return {}
-
- @_metadata_to_schema.register
- def _(self, arg: IntegerRange) -> Schema:
- return {"minimum": arg.minimum, "maximum": arg.maximum}
-
- @_metadata_to_schema.register
- def _(self, arg: Precision) -> Schema:
- return {
- "multipleOf": 10 ** (-arg.decimal_digits),
- "exclusiveMinimum": -(10**arg.integer_digits),
- "exclusiveMaximum": (10**arg.integer_digits),
- }
-
- @_metadata_to_schema.register
- def _(self, arg: MinLength) -> Schema:
- return {"minLength": arg.value}
-
- @_metadata_to_schema.register
- def _(self, arg: MaxLength) -> Schema:
- return {"maxLength": arg.value}
-
- def _with_metadata(self, type_schema: Schema, metadata: tuple[Any, ...] | None) -> Schema:
- if metadata:
- for m in metadata:
- type_schema.update(self._metadata_to_schema(m))
- return type_schema
-
- def _simple_type_to_schema(self, typ: TypeLike, json_schema_extra: dict | None = None) -> Schema | None:
- """
- Returns the JSON schema associated with a simple, unrestricted type.
-
- :returns: The schema for a simple type, or `None`.
- """
-
- if typ is type(None):
- return {"type": "null"}
- elif typ is bool:
- return {"type": "boolean"}
- elif typ is int:
- return {"type": "integer"}
- elif typ is float:
- return {"type": "number"}
- elif typ is str:
- if json_schema_extra and "contentEncoding" in json_schema_extra:
- return {
- "type": "string",
- "contentEncoding": json_schema_extra["contentEncoding"],
- }
- return {"type": "string"}
- elif typ is bytes:
- return {"type": "string", "contentEncoding": "base64"}
- elif typ is datetime.datetime:
- # 2018-11-13T20:20:39+00:00
- return {
- "type": "string",
- "format": "date-time",
- }
- elif typ is datetime.date:
- # 2018-11-13
- return {"type": "string", "format": "date"}
- elif typ is datetime.time:
- # 20:20:39+00:00
- return {"type": "string", "format": "time"}
- elif typ is decimal.Decimal:
- return {"type": "number"}
- elif typ is uuid.UUID:
- # f81d4fae-7dec-11d0-a765-00a0c91e6bf6
- return {"type": "string", "format": "uuid"}
- elif typ is Any:
- return {
- "oneOf": [
- {"type": "null"},
- {"type": "boolean"},
- {"type": "number"},
- {"type": "string"},
- {"type": "array"},
- {"type": "object"},
- ]
- }
- elif typ is JsonObject:
- return {"type": "object"}
- elif typ is JsonArray:
- return {"type": "array"}
- else:
- # not a simple type
- return None
-
- def type_to_schema(
- self,
- data_type: TypeLike,
- force_expand: bool = False,
- json_schema_extra: dict | None = None,
- ) -> Schema:
- common_info = {}
- if json_schema_extra and "deprecated" in json_schema_extra:
- common_info["deprecated"] = json_schema_extra["deprecated"]
- return self._type_to_schema(data_type, force_expand, json_schema_extra) | common_info
-
- def _type_to_schema(
- self,
- data_type: TypeLike,
- force_expand: bool = False,
- json_schema_extra: dict | None = None,
- ) -> Schema:
- """
- Returns the JSON schema associated with a type.
-
- :param data_type: The Python type whose JSON schema to return.
- :param force_expand: Forces a JSON schema to be returned even if the type is registered in the catalog of known types.
- :returns: The JSON schema associated with the type.
- """
-
- # short-circuit for common simple types
- schema = self._simple_type_to_schema(data_type, json_schema_extra)
- if schema is not None:
- return schema
-
- # types registered in the type catalog of well-known types
- type_catalog = JsonSchemaGenerator.type_catalog
- if not force_expand and data_type in type_catalog:
- # user-defined type
- identifier = type_catalog.get(data_type).identifier
- self.types_used.setdefault(identifier, data_type)
- return {"$ref": f"{self.options.definitions_path}{identifier}"}
-
- # unwrap annotated types
- metadata = getattr(data_type, "__metadata__", None)
- if metadata is not None:
- # type is Annotated[T, ...]
- typ = typing.get_args(data_type)[0]
- schema = self._simple_type_to_schema(typ)
- if schema is not None:
- # recognize well-known auxiliary types
- fmt = get_auxiliary_format(data_type)
- if fmt is not None:
- schema.update({"format": fmt})
- return schema
- else:
- return self._with_metadata(schema, metadata)
-
- else:
- # type is a regular type
- typ = data_type
-
- if isinstance(typ, typing.ForwardRef) or isinstance(typ, str):
- if force_expand:
- identifier, true_type = type_from_ref(typ)
- return self.type_to_schema(true_type, force_expand=True)
- else:
- try:
- identifier, true_type = type_from_ref(typ)
- self.types_used[identifier] = true_type
- except NameError:
- identifier = id_from_ref(typ)
-
- return {"$ref": f"{self.options.definitions_path}{identifier}"}
-
- if is_type_enum(typ):
- enum_type: type[enum.Enum] = typ
- value_types = enum_value_types(enum_type)
- if len(value_types) != 1:
- raise ValueError(
- f"enumerations must have a consistent member value type but several types found: {value_types}"
- )
- enum_value_type = value_types.pop()
-
- enum_schema: Schema
- if enum_value_type is bool or enum_value_type is int or enum_value_type is float or enum_value_type is str:
- if enum_value_type is bool:
- enum_schema_type = "boolean"
- elif enum_value_type is int:
- enum_schema_type = "integer"
- elif enum_value_type is float:
- enum_schema_type = "number"
- elif enum_value_type is str:
- enum_schema_type = "string"
-
- enum_schema = {
- "type": enum_schema_type,
- "enum": [object_to_json(e.value) for e in enum_type],
- }
- if self.options.use_descriptions:
- enum_schema.update(docstring_to_schema(typ))
- return enum_schema
- else:
- enum_schema = self.type_to_schema(enum_value_type)
- if self.options.use_descriptions:
- enum_schema.update(docstring_to_schema(typ))
- return enum_schema
-
- origin_type = typing.get_origin(typ)
- if origin_type is list:
- (list_type,) = typing.get_args(typ) # unpack single tuple element
- return {"type": "array", "items": self.type_to_schema(list_type)}
- elif origin_type is collections.abc.Sequence:
- # Treat Sequence the same as list for JSON schema (both are arrays)
- (sequence_type,) = typing.get_args(typ) # unpack single tuple element
- return {"type": "array", "items": self.type_to_schema(sequence_type)}
- elif origin_type is dict:
- key_type, value_type = typing.get_args(typ)
- if not (key_type is str or key_type is int or is_type_enum(key_type)):
- raise ValueError("`dict` with key type not coercible to `str` is not supported")
-
- dict_schema: Schema
- value_schema = self.type_to_schema(value_type)
- if is_type_enum(key_type):
- enum_values = [str(e.value) for e in key_type]
- if len(enum_values) > OBJECT_ENUM_EXPANSION_LIMIT:
- dict_schema = {
- "propertyNames": {"pattern": "^(" + "|".join(enum_values) + ")$"},
- "additionalProperties": value_schema,
- }
- else:
- dict_schema = {
- "properties": dict.fromkeys(enum_values, value_schema),
- "additionalProperties": False,
- }
- else:
- dict_schema = {"additionalProperties": value_schema}
-
- schema = {"type": "object"}
- schema.update(dict_schema)
- return schema
- elif origin_type is set:
- (set_type,) = typing.get_args(typ) # unpack single tuple element
- return {
- "type": "array",
- "items": self.type_to_schema(set_type),
- "uniqueItems": True,
- }
- elif origin_type is tuple:
- args = typing.get_args(typ)
- return {
- "type": "array",
- "minItems": len(args),
- "maxItems": len(args),
- "prefixItems": [self.type_to_schema(member_type) for member_type in args],
- }
- elif origin_type in (Union, types.UnionType):
- discriminator = None
- if typing.get_origin(data_type) is Annotated:
- discriminator = typing.get_args(data_type)[1].discriminator
- ret: Schema = {"oneOf": [self.type_to_schema(union_type) for union_type in typing.get_args(typ)]}
- if discriminator:
- # for each union type, we need to read the value of the discriminator
- mapping: dict[str, JsonType] = {}
- for union_type in typing.get_args(typ):
- props = self.type_to_schema(union_type, force_expand=True)["properties"]
- # mypy is confused here because JsonType allows multiple types, some of them
- # not indexable (bool?) or not indexable by string (list?). The correctness of
- # types depends on correct model definitions. Hence multiple ignore statements below.
- discriminator_value = props[discriminator]["default"] # type: ignore[index,call-overload]
- mapping[discriminator_value] = self.type_to_schema(union_type)["$ref"] # type: ignore[index]
-
- ret["discriminator"] = {
- "propertyName": discriminator,
- "mapping": mapping,
- }
- return ret
- elif origin_type is Literal:
- literal_args = typing.get_args(typ)
- if len(literal_args) == 1:
- (literal_value,) = literal_args
- schema = self.type_to_schema(type(literal_value))
- schema["const"] = literal_value
- return schema
- elif len(literal_args) > 1:
- first_value = literal_args[0]
- schema = self.type_to_schema(type(first_value))
- schema["enum"] = list(literal_args)
- return schema
- else:
- return {"enum": []}
- elif origin_type is type:
- (concrete_type,) = typing.get_args(typ) # unpack single tuple element
- return {"const": self.type_to_schema(concrete_type, force_expand=True)}
- elif origin_type is collections.abc.AsyncIterator:
- (concrete_type,) = typing.get_args(typ)
- return self.type_to_schema(concrete_type)
-
- # dictionary of class attributes
- members = dict(inspect.getmembers(typ, lambda a: not inspect.isroutine(a)))
-
- property_docstrings = get_class_property_docstrings(typ, self.options.property_description_fun)
- properties: dict[str, Schema] = {}
- required: list[str] = []
- for property_name, property_type in get_class_properties(typ):
- # rename property if an alias name is specified
- alias = get_annotation(property_type, Alias)
- if alias:
- output_name = alias.name
- else:
- output_name = property_name
-
- defaults = {}
- json_schema_extra = None
- if "model_fields" in members:
- f = members["model_fields"]
- defaults = {k: finfo.default for k, finfo in f.items()}
- if output_name in f:
- finfo = f[output_name]
- json_schema_extra = finfo.json_schema_extra or {}
- if finfo.deprecated:
- json_schema_extra["deprecated"] = True
-
- if is_type_optional(property_type):
- optional_type: type = unwrap_optional_type(property_type)
- property_def = self.type_to_schema(optional_type, json_schema_extra=json_schema_extra)
- else:
- property_def = self.type_to_schema(property_type, json_schema_extra=json_schema_extra)
- required.append(output_name)
-
- # check if attribute has a default value initializer
- if defaults.get(property_name) is not None:
- def_value = defaults[property_name]
- # check if value can be directly represented in JSON
- if isinstance(
- def_value,
- (
- bool,
- int,
- float,
- str,
- enum.Enum,
- datetime.datetime,
- datetime.date,
- datetime.time,
- ),
- ):
- property_def["default"] = object_to_json(def_value)
-
- # add property docstring if available
- property_doc = property_docstrings.get(property_name)
- if property_doc:
- # print(output_name, property_doc)
- property_def.pop("title", None)
- property_def["description"] = property_doc
-
- properties[output_name] = property_def
-
- schema = {"type": "object"}
- if len(properties) > 0:
- schema["properties"] = typing.cast(JsonType, properties)
- schema["additionalProperties"] = False
- if len(required) > 0:
- schema["required"] = typing.cast(JsonType, required)
- if self.options.use_descriptions:
- schema.update(docstring_to_schema(typ))
- return schema
-
- def _type_to_schema_with_lookup(self, data_type: TypeLike) -> Schema:
- """
- Returns the JSON schema associated with a type that may be registered in the catalog of known types.
-
- :param data_type: The type whose JSON schema we seek.
- :returns: The JSON schema associated with the type.
- """
-
- entry = JsonSchemaGenerator.type_catalog.get(data_type)
- if entry.schema is None:
- type_schema = self.type_to_schema(data_type, force_expand=True)
- else:
- type_schema = deepcopy(entry.schema)
-
- # add descriptive text (if present)
- if self.options.use_descriptions:
- if isinstance(data_type, type) and not isinstance(data_type, typing.ForwardRef):
- type_schema.update(docstring_to_schema(data_type))
-
- # add example (if present)
- if self.options.use_examples and entry.examples:
- type_schema["examples"] = entry.examples
-
- return type_schema
-
- def classdef_to_schema(self, data_type: TypeLike, force_expand: bool = False) -> tuple[Schema, dict[str, Schema]]:
- """
- Returns the JSON schema associated with a type and any nested types.
-
- :param data_type: The type whose JSON schema to return.
- :param force_expand: True if a full JSON schema is to be returned even for well-known types; false if a schema
- reference is to be used for well-known types.
- :returns: A tuple of the JSON schema, and a mapping between nested type names and their corresponding schema.
- """
-
- if not is_type_like(data_type):
- raise TypeError(f"expected a type-like object but got: {data_type}")
-
- self.types_used = {}
- try:
- type_schema = self.type_to_schema(data_type, force_expand=force_expand)
-
- types_defined: dict[str, Schema] = {}
- while len(self.types_used) > len(types_defined):
- # make a snapshot copy; original collection is going to be modified
- types_undefined = {
- sub_name: sub_type
- for sub_name, sub_type in self.types_used.items()
- if sub_name not in types_defined
- }
-
- # expand undefined types, which may lead to additional types to be defined
- for sub_name, sub_type in types_undefined.items():
- types_defined[sub_name] = self._type_to_schema_with_lookup(sub_type)
-
- type_definitions = dict(sorted(types_defined.items()))
- finally:
- self.types_used = {}
-
- return type_schema, type_definitions
-
-
-class Validator(enum.Enum):
- "Defines constants for JSON schema standards."
-
- Draft7 = jsonschema.Draft7Validator
- Draft201909 = jsonschema.Draft201909Validator
- Draft202012 = jsonschema.Draft202012Validator
- Latest = jsonschema.Draft202012Validator
-
-
-def classdef_to_schema(
- data_type: TypeLike,
- options: SchemaOptions | None = None,
- validator: Validator = Validator.Latest,
-) -> Schema:
- """
- Returns the JSON schema corresponding to the given type.
-
- :param data_type: The Python type used to generate the JSON schema
- :returns: A JSON object that you can serialize to a JSON string with json.dump or json.dumps
- :raises TypeError: Indicates that the generated JSON schema does not validate against the desired meta-schema.
- """
-
- # short-circuit with an error message when passing invalid data
- if not is_type_like(data_type):
- raise TypeError(f"expected a type-like object but got: {data_type}")
-
- generator = JsonSchemaGenerator(options)
- type_schema, type_definitions = generator.classdef_to_schema(data_type)
-
- class_schema: Schema = {}
- if type_definitions:
- class_schema["definitions"] = typing.cast(JsonType, type_definitions)
- class_schema.update(type_schema)
-
- validator_id = validator.value.META_SCHEMA["$id"]
- try:
- validator.value.check_schema(class_schema)
- except jsonschema.exceptions.SchemaError:
- raise TypeError(f"schema does not validate against meta-schema <{validator_id}>")
-
- schema = {"$schema": validator_id}
- schema.update(class_schema)
- return schema
-
-
-def validate_object(data_type: TypeLike, json_dict: JsonType) -> None:
- """
- Validates if the JSON dictionary object conforms to the expected type.
-
- :param data_type: The type to match against.
- :param json_dict: A JSON object obtained with `json.load` or `json.loads`.
- :raises jsonschema.exceptions.ValidationError: Indicates that the JSON object cannot represent the type.
- """
-
- schema_dict = classdef_to_schema(data_type)
- jsonschema.validate(json_dict, schema_dict, format_checker=jsonschema.FormatChecker())
-
-
-def print_schema(data_type: type) -> None:
- """Pretty-prints the JSON schema corresponding to the type."""
-
- s = classdef_to_schema(data_type)
- print(json.dumps(s, indent=4))
-
-
-def get_schema_identifier(data_type: type) -> str | None:
- if data_type in JsonSchemaGenerator.type_catalog:
- return JsonSchemaGenerator.type_catalog.get(data_type).identifier
- else:
- return None
-
-
-def register_schema(
- data_type: T,
- schema: Schema | None = None,
- name: str | None = None,
- examples: list[JsonType] | None = None,
-) -> T:
- """
- Associates a type with a JSON schema definition.
-
- :param data_type: The type to associate with a JSON schema.
- :param schema: The schema to associate the type with. Derived automatically if omitted.
- :param name: The name used for looking uo the type. Determined automatically if omitted.
- :returns: The input type.
- """
-
- JsonSchemaGenerator.type_catalog.add(
- data_type,
- schema,
- name if name is not None else python_type_to_name(data_type),
- examples,
- )
- return data_type
-
-
-@overload
-def json_schema_type(cls: type[T], /) -> type[T]: ...
-
-
-@overload
-def json_schema_type(cls: None, *, schema: Schema | None = None) -> Callable[[type[T]], type[T]]: ...
-
-
-def json_schema_type(
- cls: type[T] | None = None,
- *,
- schema: Schema | None = None,
- examples: list[JsonType] | None = None,
-) -> type[T] | Callable[[type[T]], type[T]]:
- """Decorator to add user-defined schema definition to a class."""
-
- def wrap(cls: type[T]) -> type[T]:
- return register_schema(cls, schema, examples=examples)
-
- # see if decorator is used as @json_schema_type or @json_schema_type()
- if cls is None:
- # called with parentheses
- return wrap
- else:
- # called as @json_schema_type without parentheses
- return wrap(cls)
-
-
-register_schema(JsonObject, name="JsonObject")
-register_schema(JsonArray, name="JsonArray")
-
-register_schema(
- JsonType,
- name="JsonType",
- examples=[
- {
- "property1": None,
- "property2": True,
- "property3": 64,
- "property4": "string",
- "property5": ["item"],
- "property6": {"key": "value"},
- }
- ],
-)
-register_schema(
- StrictJsonType,
- name="StrictJsonType",
- examples=[
- {
- "property1": True,
- "property2": 64,
- "property3": "string",
- "property4": ["item"],
- "property5": {"key": "value"},
- }
- ],
-)
diff --git a/src/llama_stack_api/strong_typing/serialization.py b/src/llama_stack_api/strong_typing/serialization.py
deleted file mode 100644
index 3e34945add..0000000000
--- a/src/llama_stack_api/strong_typing/serialization.py
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-"""
-Type-safe data interchange for Python data classes.
-
-:see: https://github.com/hunyadi/strong_typing
-"""
-
-import inspect
-import json
-import sys
-from types import ModuleType
-from typing import Any, TextIO, TypeVar
-
-from .core import JsonType
-from .deserializer import create_deserializer
-from .inspection import TypeLike
-from .serializer import create_serializer
-
-T = TypeVar("T")
-
-
-def object_to_json(obj: Any) -> JsonType:
- """
- Converts a Python object to a representation that can be exported to JSON.
-
- * Fundamental types (e.g. numeric types) are written as is.
- * Date and time types are serialized in the ISO 8601 format with time zone.
- * A byte array is written as a string with Base64 encoding.
- * UUIDs are written as a UUID string.
- * Enumerations are written as their value.
- * Containers (e.g. `list`, `dict`, `set`, `tuple`) are exported recursively.
- * Objects with properties (including data class types) are converted to a dictionaries of key-value pairs.
- """
-
- typ: type = type(obj)
- generator = create_serializer(typ)
- return generator.generate(obj)
-
-
-def json_to_object(typ: TypeLike, data: JsonType, *, context: ModuleType | None = None) -> object:
- """
- Creates an object from a representation that has been de-serialized from JSON.
-
- When de-serializing a JSON object into a Python object, the following transformations are applied:
-
- * Fundamental types are parsed as `bool`, `int`, `float` or `str`.
- * Date and time types are parsed from the ISO 8601 format with time zone into the corresponding Python type
- `datetime`, `date` or `time`
- * A byte array is read from a string with Base64 encoding into a `bytes` instance.
- * UUIDs are extracted from a UUID string into a `uuid.UUID` instance.
- * Enumerations are instantiated with a lookup on enumeration value.
- * Containers (e.g. `list`, `dict`, `set`, `tuple`) are parsed recursively.
- * Complex objects with properties (including data class types) are populated from dictionaries of key-value pairs
- using reflection (enumerating type annotations).
-
- :raises TypeError: A de-serializing engine cannot be constructed for the input type.
- :raises JsonKeyError: Deserialization for a class or union type has failed because a matching member was not found.
- :raises JsonTypeError: Deserialization for data has failed due to a type mismatch.
- """
-
- # use caller context for evaluating types if no context is supplied
- if context is None:
- this_frame = inspect.currentframe()
- if this_frame is not None:
- caller_frame = this_frame.f_back
- del this_frame
-
- if caller_frame is not None:
- try:
- context = sys.modules[caller_frame.f_globals["__name__"]]
- finally:
- del caller_frame
-
- parser = create_deserializer(typ, context)
- return parser.parse(data)
-
-
-def json_dump_string(json_object: JsonType) -> str:
- "Dump an object as a JSON string with a compact representation."
-
- return json.dumps(json_object, ensure_ascii=False, check_circular=False, separators=(",", ":"))
-
-
-def json_dump(json_object: JsonType, file: TextIO) -> None:
- json.dump(
- json_object,
- file,
- ensure_ascii=False,
- check_circular=False,
- separators=(",", ":"),
- )
- file.write("\n")
diff --git a/src/llama_stack_api/strong_typing/serializer.py b/src/llama_stack_api/strong_typing/serializer.py
deleted file mode 100644
index 4a12a1f4b3..0000000000
--- a/src/llama_stack_api/strong_typing/serializer.py
+++ /dev/null
@@ -1,494 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-"""
-Type-safe data interchange for Python data classes.
-
-:see: https://github.com/hunyadi/strong_typing
-"""
-
-import abc
-import base64
-import datetime
-import enum
-import functools
-import inspect
-import ipaddress
-import sys
-import typing
-import uuid
-from collections.abc import Callable
-from types import FunctionType, MethodType, ModuleType
-from typing import (
- Any,
- Generic,
- Literal,
- NamedTuple,
- TypeVar,
- Union,
-)
-
-from .core import JsonType
-from .exception import JsonTypeError, JsonValueError
-from .inspection import (
- TypeLike,
- enum_value_types,
- evaluate_type,
- get_class_properties,
- get_resolved_hints,
- is_dataclass_type,
- is_named_tuple_type,
- is_reserved_property,
- is_type_annotated,
- is_type_enum,
- unwrap_annotated_type,
-)
-from .mapping import python_field_to_json_property
-
-T = TypeVar("T")
-
-
-class Serializer(abc.ABC, Generic[T]):
- @abc.abstractmethod
- def generate(self, data: T) -> JsonType: ...
-
-
-class NoneSerializer(Serializer[None]):
- def generate(self, data: None) -> None:
- # can be directly represented in JSON
- return None
-
-
-class BoolSerializer(Serializer[bool]):
- def generate(self, data: bool) -> bool:
- # can be directly represented in JSON
- return data
-
-
-class IntSerializer(Serializer[int]):
- def generate(self, data: int) -> int:
- # can be directly represented in JSON
- return data
-
-
-class FloatSerializer(Serializer[float]):
- def generate(self, data: float) -> float:
- # can be directly represented in JSON
- return data
-
-
-class StringSerializer(Serializer[str]):
- def generate(self, data: str) -> str:
- # can be directly represented in JSON
- return data
-
-
-class BytesSerializer(Serializer[bytes]):
- def generate(self, data: bytes) -> str:
- return base64.b64encode(data).decode("ascii")
-
-
-class DateTimeSerializer(Serializer[datetime.datetime]):
- def generate(self, obj: datetime.datetime) -> str:
- if obj.tzinfo is None:
- raise JsonValueError(f"timestamp lacks explicit time zone designator: {obj}")
- fmt = obj.isoformat()
- if fmt.endswith("+00:00"):
- fmt = f"{fmt[:-6]}Z" # Python's isoformat() does not support military time zones like "Zulu" for UTC
- return fmt
-
-
-class DateSerializer(Serializer[datetime.date]):
- def generate(self, obj: datetime.date) -> str:
- return obj.isoformat()
-
-
-class TimeSerializer(Serializer[datetime.time]):
- def generate(self, obj: datetime.time) -> str:
- return obj.isoformat()
-
-
-class UUIDSerializer(Serializer[uuid.UUID]):
- def generate(self, obj: uuid.UUID) -> str:
- return str(obj)
-
-
-class IPv4Serializer(Serializer[ipaddress.IPv4Address]):
- def generate(self, obj: ipaddress.IPv4Address) -> str:
- return str(obj)
-
-
-class IPv6Serializer(Serializer[ipaddress.IPv6Address]):
- def generate(self, obj: ipaddress.IPv6Address) -> str:
- return str(obj)
-
-
-class EnumSerializer(Serializer[enum.Enum]):
- def generate(self, obj: enum.Enum) -> int | str:
- value = obj.value
- if isinstance(value, int):
- return value
- return str(value)
-
-
-class UntypedListSerializer(Serializer[list]):
- def generate(self, obj: list) -> list[JsonType]:
- return [object_to_json(item) for item in obj]
-
-
-class UntypedDictSerializer(Serializer[dict]):
- def generate(self, obj: dict) -> dict[str, JsonType]:
- if obj and isinstance(next(iter(obj.keys())), enum.Enum):
- iterator = ((key.value, object_to_json(value)) for key, value in obj.items())
- else:
- iterator = ((str(key), object_to_json(value)) for key, value in obj.items())
- return dict(iterator)
-
-
-class UntypedSetSerializer(Serializer[set]):
- def generate(self, obj: set) -> list[JsonType]:
- return [object_to_json(item) for item in obj]
-
-
-class UntypedTupleSerializer(Serializer[tuple]):
- def generate(self, obj: tuple) -> list[JsonType]:
- return [object_to_json(item) for item in obj]
-
-
-class TypedCollectionSerializer(Serializer, Generic[T]):
- generator: Serializer[T]
-
- def __init__(self, item_type: type[T], context: ModuleType | None) -> None:
- self.generator = _get_serializer(item_type, context)
-
-
-class TypedListSerializer(TypedCollectionSerializer[T]):
- def generate(self, obj: list[T]) -> list[JsonType]:
- return [self.generator.generate(item) for item in obj]
-
-
-class TypedStringDictSerializer(TypedCollectionSerializer[T]):
- def __init__(self, value_type: type[T], context: ModuleType | None) -> None:
- super().__init__(value_type, context)
-
- def generate(self, obj: dict[str, T]) -> dict[str, JsonType]:
- return {key: self.generator.generate(value) for key, value in obj.items()}
-
-
-class TypedEnumDictSerializer(TypedCollectionSerializer[T]):
- def __init__(
- self,
- key_type: type[enum.Enum],
- value_type: type[T],
- context: ModuleType | None,
- ) -> None:
- super().__init__(value_type, context)
-
- value_types = enum_value_types(key_type)
- if len(value_types) != 1:
- raise JsonTypeError(
- f"invalid key type, enumerations must have a consistent member value type but several types found: {value_types}"
- )
-
- value_type = value_types.pop()
- if value_type is not str:
- raise JsonTypeError("invalid enumeration key type, expected `enum.Enum` with string values")
-
- def generate(self, obj: dict[enum.Enum, T]) -> dict[str, JsonType]:
- return {key.value: self.generator.generate(value) for key, value in obj.items()}
-
-
-class TypedSetSerializer(TypedCollectionSerializer[T]):
- def generate(self, obj: set[T]) -> JsonType:
- return [self.generator.generate(item) for item in obj]
-
-
-class TypedTupleSerializer(Serializer[tuple]):
- item_generators: tuple[Serializer, ...]
-
- def __init__(self, item_types: tuple[type, ...], context: ModuleType | None) -> None:
- self.item_generators = tuple(_get_serializer(item_type, context) for item_type in item_types)
-
- def generate(self, obj: tuple) -> list[JsonType]:
- return [item_generator.generate(item) for item_generator, item in zip(self.item_generators, obj, strict=False)]
-
-
-class CustomSerializer(Serializer):
- converter: Callable[[object], JsonType]
-
- def __init__(self, converter: Callable[[object], JsonType]) -> None:
- self.converter = converter
-
- def generate(self, obj: object) -> JsonType:
- return self.converter(obj)
-
-
-class FieldSerializer(Generic[T]):
- """
- Serializes a Python object field into a JSON property.
-
- :param field_name: The name of the field in a Python class to read data from.
- :param property_name: The name of the JSON property to write to a JSON `object`.
- :param generator: A compatible serializer that can handle the field's type.
- """
-
- field_name: str
- property_name: str
- generator: Serializer
-
- def __init__(self, field_name: str, property_name: str, generator: Serializer[T]) -> None:
- self.field_name = field_name
- self.property_name = property_name
- self.generator = generator
-
- def generate_field(self, obj: object, object_dict: dict[str, JsonType]) -> None:
- value = getattr(obj, self.field_name)
- if value is not None:
- object_dict[self.property_name] = self.generator.generate(value)
-
-
-class TypedClassSerializer(Serializer[T]):
- property_generators: list[FieldSerializer]
-
- def __init__(self, class_type: type[T], context: ModuleType | None) -> None:
- self.property_generators = [
- FieldSerializer(
- field_name,
- python_field_to_json_property(field_name, field_type),
- _get_serializer(field_type, context),
- )
- for field_name, field_type in get_class_properties(class_type)
- ]
-
- def generate(self, obj: T) -> dict[str, JsonType]:
- object_dict: dict[str, JsonType] = {}
- for property_generator in self.property_generators:
- property_generator.generate_field(obj, object_dict)
-
- return object_dict
-
-
-class TypedNamedTupleSerializer(TypedClassSerializer[NamedTuple]):
- def __init__(self, class_type: type[NamedTuple], context: ModuleType | None) -> None:
- super().__init__(class_type, context)
-
-
-class DataclassSerializer(TypedClassSerializer[T]):
- def __init__(self, class_type: type[T], context: ModuleType | None) -> None:
- super().__init__(class_type, context)
-
-
-class UnionSerializer(Serializer):
- def generate(self, obj: Any) -> JsonType:
- return object_to_json(obj)
-
-
-class LiteralSerializer(Serializer):
- generator: Serializer
-
- def __init__(self, values: tuple[Any, ...], context: ModuleType | None) -> None:
- literal_type_tuple = tuple(type(value) for value in values)
- literal_type_set = set(literal_type_tuple)
- if len(literal_type_set) != 1:
- value_names = ", ".join(repr(value) for value in values)
- raise TypeError(
- f"type `Literal[{value_names}]` expects consistent literal value types but got: {literal_type_tuple}"
- )
-
- literal_type = literal_type_set.pop()
- self.generator = _get_serializer(literal_type, context)
-
- def generate(self, obj: Any) -> JsonType:
- return self.generator.generate(obj)
-
-
-class UntypedNamedTupleSerializer(Serializer):
- fields: dict[str, str]
-
- def __init__(self, class_type: type[NamedTuple]) -> None:
- # named tuples are also instances of tuple
- self.fields = {}
- field_names: tuple[str, ...] = class_type._fields
- for field_name in field_names:
- self.fields[field_name] = python_field_to_json_property(field_name)
-
- def generate(self, obj: NamedTuple) -> JsonType:
- object_dict = {}
- for field_name, property_name in self.fields.items():
- value = getattr(obj, field_name)
- object_dict[property_name] = object_to_json(value)
-
- return object_dict
-
-
-class UntypedClassSerializer(Serializer):
- def generate(self, obj: object) -> JsonType:
- # iterate over object attributes to get a standard representation
- object_dict = {}
- for name in dir(obj):
- if is_reserved_property(name):
- continue
-
- value = getattr(obj, name)
- if value is None:
- continue
-
- # filter instance methods
- if inspect.ismethod(value):
- continue
-
- object_dict[python_field_to_json_property(name)] = object_to_json(value)
-
- return object_dict
-
-
-def create_serializer(typ: TypeLike, context: ModuleType | None = None) -> Serializer:
- """
- Creates a serializer engine to produce an object that can be directly converted into a JSON string.
-
- When serializing a Python object into a JSON object, the following transformations are applied:
-
- * Fundamental types (`bool`, `int`, `float` or `str`) are returned as-is.
- * Date and time types (`datetime`, `date` or `time`) produce an ISO 8601 format string with time zone
- (ending with `Z` for UTC).
- * Byte arrays (`bytes`) are written as a string with Base64 encoding.
- * UUIDs (`uuid.UUID`) are written as a UUID string as per RFC 4122.
- * Enumerations yield their enumeration value.
- * Containers (e.g. `list`, `dict`, `set`, `tuple`) are processed recursively.
- * Complex objects with properties (including data class types) generate dictionaries of key-value pairs.
-
- :raises TypeError: A serializer engine cannot be constructed for the input type.
- """
-
- if context is None:
- if isinstance(typ, type):
- context = sys.modules[typ.__module__]
-
- return _get_serializer(typ, context)
-
-
-def _get_serializer(typ: TypeLike, context: ModuleType | None) -> Serializer:
- if isinstance(typ, (str, typing.ForwardRef)):
- if context is None:
- raise TypeError(f"missing context for evaluating type: {typ}")
-
- typ = evaluate_type(typ, context)
-
- if isinstance(typ, type):
- return _fetch_serializer(typ)
- else:
- # special forms are not always hashable
- return _create_serializer(typ, context)
-
-
-@functools.cache
-def _fetch_serializer(typ: type) -> Serializer:
- context = sys.modules[typ.__module__]
- return _create_serializer(typ, context)
-
-
-def _create_serializer(typ: TypeLike, context: ModuleType | None) -> Serializer:
- # check for well-known types
- if typ is type(None):
- return NoneSerializer()
- elif typ is bool:
- return BoolSerializer()
- elif typ is int:
- return IntSerializer()
- elif typ is float:
- return FloatSerializer()
- elif typ is str:
- return StringSerializer()
- elif typ is bytes:
- return BytesSerializer()
- elif typ is datetime.datetime:
- return DateTimeSerializer()
- elif typ is datetime.date:
- return DateSerializer()
- elif typ is datetime.time:
- return TimeSerializer()
- elif typ is uuid.UUID:
- return UUIDSerializer()
- elif typ is ipaddress.IPv4Address:
- return IPv4Serializer()
- elif typ is ipaddress.IPv6Address:
- return IPv6Serializer()
-
- # dynamically-typed collection types
- if typ is list:
- return UntypedListSerializer()
- elif typ is dict:
- return UntypedDictSerializer()
- elif typ is set:
- return UntypedSetSerializer()
- elif typ is tuple:
- return UntypedTupleSerializer()
-
- # generic types (e.g. list, dict, set, etc.)
- origin_type = typing.get_origin(typ)
- if origin_type is list:
- (list_item_type,) = typing.get_args(typ) # unpack single tuple element
- return TypedListSerializer(list_item_type, context)
- elif origin_type is dict:
- key_type, value_type = typing.get_args(typ)
- if key_type is str:
- return TypedStringDictSerializer(value_type, context)
- elif issubclass(key_type, enum.Enum):
- return TypedEnumDictSerializer(key_type, value_type, context)
- elif origin_type is set:
- (set_member_type,) = typing.get_args(typ) # unpack single tuple element
- return TypedSetSerializer(set_member_type, context)
- elif origin_type is tuple:
- return TypedTupleSerializer(typing.get_args(typ), context)
- elif origin_type is Union:
- return UnionSerializer()
- elif origin_type is Literal:
- return LiteralSerializer(typing.get_args(typ), context)
-
- if is_type_annotated(typ):
- return create_serializer(unwrap_annotated_type(typ))
-
- # check if object has custom serialization method
- convert_func = getattr(typ, "to_json", None)
- if callable(convert_func):
- return CustomSerializer(convert_func)
-
- if is_type_enum(typ):
- return EnumSerializer()
- if is_dataclass_type(typ):
- return DataclassSerializer(typ, context)
- if is_named_tuple_type(typ):
- if getattr(typ, "__annotations__", None):
- return TypedNamedTupleSerializer(typ, context)
- else:
- return UntypedNamedTupleSerializer(typ)
-
- # fail early if caller passes an object with an exotic type
- if not isinstance(typ, type) or typ is FunctionType or typ is MethodType or typ is type or typ is ModuleType:
- raise TypeError(f"object of type {typ} cannot be represented in JSON")
-
- if get_resolved_hints(typ):
- return TypedClassSerializer(typ, context)
- else:
- return UntypedClassSerializer()
-
-
-def object_to_json(obj: Any) -> JsonType:
- """
- Converts a Python object to a representation that can be exported to JSON.
-
- * Fundamental types (e.g. numeric types) are written as is.
- * Date and time types are serialized in the ISO 8601 format with time zone.
- * A byte array is written as a string with Base64 encoding.
- * UUIDs are written as a UUID string.
- * Enumerations are written as their value.
- * Containers (e.g. `list`, `dict`, `set`, `tuple`) are exported recursively.
- * Objects with properties (including data class types) are converted to a dictionaries of key-value pairs.
- """
-
- typ: type = type(obj)
- generator = create_serializer(typ)
- return generator.generate(obj)
diff --git a/src/llama_stack_api/strong_typing/slots.py b/src/llama_stack_api/strong_typing/slots.py
deleted file mode 100644
index 7728341405..0000000000
--- a/src/llama_stack_api/strong_typing/slots.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-from typing import Any, TypeVar
-
-T = TypeVar("T")
-
-
-class SlotsMeta(type):
- def __new__(cls: type[T], name: str, bases: tuple[type, ...], ns: dict[str, Any]) -> T:
- # caller may have already provided slots, in which case just retain them and keep going
- slots: tuple[str, ...] = ns.get("__slots__", ())
-
- # add fields with type annotations to slots
- annotations: dict[str, Any] = ns.get("__annotations__", {})
- members = tuple(member for member in annotations.keys() if member not in slots)
-
- # assign slots
- ns["__slots__"] = slots + tuple(members)
- return super().__new__(cls, name, bases, ns) # type: ignore
-
-
-class Slots(metaclass=SlotsMeta):
- pass
diff --git a/src/llama_stack_api/strong_typing/topological.py b/src/llama_stack_api/strong_typing/topological.py
deleted file mode 100644
index 9502a58879..0000000000
--- a/src/llama_stack_api/strong_typing/topological.py
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright (c) Meta Platforms, Inc. and affiliates.
-# All rights reserved.
-#
-# This source code is licensed under the terms described in the LICENSE file in
-# the root directory of this source tree.
-
-"""
-Type-safe data interchange for Python data classes.
-
-:see: https://github.com/hunyadi/strong_typing
-"""
-
-from collections.abc import Callable, Iterable
-from typing import TypeVar
-
-from .inspection import TypeCollector
-
-T = TypeVar("T")
-
-
-def topological_sort(graph: dict[T, set[T]]) -> list[T]:
- """
- Performs a topological sort of a graph.
-
- Nodes with no outgoing edges are first. Nodes with no incoming edges are last.
- The topological ordering is not unique.
-
- :param graph: A dictionary of mappings from nodes to adjacent nodes. Keys and set members must be hashable.
- :returns: The list of nodes in topological order.
- """
-
- # empty list that will contain the sorted nodes (in reverse order)
- ordered: list[T] = []
-
- seen: dict[T, bool] = {}
-
- def _visit(n: T) -> None:
- status = seen.get(n)
- if status is not None:
- if status: # node has a permanent mark
- return
- else: # node has a temporary mark
- raise RuntimeError(f"cycle detected in graph for node {n}")
-
- seen[n] = False # apply temporary mark
- for m in graph[n]: # visit all adjacent nodes
- if m != n: # ignore self-referencing nodes
- _visit(m)
-
- seen[n] = True # apply permanent mark
- ordered.append(n)
-
- for n in graph.keys():
- _visit(n)
-
- return ordered
-
-
-def type_topological_sort(
- types: Iterable[type],
- dependency_fn: Callable[[type], Iterable[type]] | None = None,
-) -> list[type]:
- """
- Performs a topological sort of a list of types.
-
- Types that don't depend on other types (i.e. fundamental types) are first. Types on which no other types depend
- are last. The topological ordering is not unique.
-
- :param types: A list of types (simple or composite).
- :param dependency_fn: Returns a list of additional dependencies for a class (e.g. classes referenced by a foreign key).
- :returns: The list of types in topological order.
- """
-
- if not all(isinstance(typ, type) for typ in types):
- raise TypeError("expected a list of types")
-
- collector = TypeCollector()
- collector.traverse_all(types)
- graph = collector.graph
-
- if dependency_fn:
- new_types: set[type] = set()
- for source_type, references in graph.items():
- dependent_types = dependency_fn(source_type)
- references.update(dependent_types)
- new_types.update(dependent_types)
- for new_type in new_types:
- graph[new_type] = set()
-
- return topological_sort(graph)
diff --git a/src/llama_stack_api/tools.py b/src/llama_stack_api/tools.py
index 81c989f882..4dd5d55d23 100644
--- a/src/llama_stack_api/tools.py
+++ b/src/llama_stack_api/tools.py
@@ -88,6 +88,7 @@ async def get_tool(self, tool_name: str) -> ToolDef: ...
async def get_tool_group(self, toolgroup_id: str) -> ToolGroup: ...
+@json_schema_type
class ListToolGroupsResponse(BaseModel):
"""Response containing a list of tool groups.
@@ -97,6 +98,7 @@ class ListToolGroupsResponse(BaseModel):
data: list[ToolGroup]
+@json_schema_type
class ListToolDefsResponse(BaseModel):
"""Response containing a list of tool definitions.
diff --git a/src/llama_stack_api/vector_io.py b/src/llama_stack_api/vector_io.py
index 053e569f44..bfad644cc0 100644
--- a/src/llama_stack_api/vector_io.py
+++ b/src/llama_stack_api/vector_io.py
@@ -15,8 +15,7 @@
from llama_stack_api.common.tracing import telemetry_traceable
from llama_stack_api.inference import InterleavedContent
-from llama_stack_api.schema_utils import json_schema_type, webmethod
-from llama_stack_api.strong_typing.schema import register_schema
+from llama_stack_api.schema_utils import json_schema_type, register_schema, webmethod
from llama_stack_api.vector_stores import VectorStore
from llama_stack_api.version import LLAMA_STACK_API_V1
@@ -738,8 +737,8 @@ async def openai_retrieve_vector_store_file_contents(
self,
vector_store_id: str,
file_id: str,
- include_embeddings: Annotated[bool | None, Query(default=False)] = False,
- include_metadata: Annotated[bool | None, Query(default=False)] = False,
+ include_embeddings: Annotated[bool | None, Query()] = False,
+ include_metadata: Annotated[bool | None, Query()] = False,
) -> VectorStoreFileContentResponse:
"""Retrieves the contents of a vector store file.
diff --git a/tests/unit/server/test_schema_registry.py b/tests/unit/server/test_schema_registry.py
new file mode 100644
index 0000000000..548b43a29d
--- /dev/null
+++ b/tests/unit/server/test_schema_registry.py
@@ -0,0 +1,48 @@
+# Copyright (c) Meta Platforms, Inc. and affiliates.
+# All rights reserved.
+#
+# This source code is licensed under the terms described in the LICENSE file in
+# the root directory of this source tree.
+
+from pydantic import BaseModel
+
+from llama_stack_api import Conversation, SamplingStrategy
+from llama_stack_api.schema_utils import (
+ clear_dynamic_schema_types,
+ get_registered_schema_info,
+ iter_dynamic_schema_types,
+ iter_json_schema_types,
+ iter_registered_schema_types,
+ register_dynamic_schema_type,
+)
+
+
+def test_json_schema_registry_contains_known_model() -> None:
+ assert Conversation in iter_json_schema_types()
+
+
+def test_registered_schema_registry_contains_sampling_strategy() -> None:
+ registered_names = {info.name for info in iter_registered_schema_types()}
+ assert "SamplingStrategy" in registered_names
+
+ schema_info = get_registered_schema_info(SamplingStrategy)
+ assert schema_info is not None
+ assert schema_info.name == "SamplingStrategy"
+
+
+def test_dynamic_schema_registration_round_trip() -> None:
+ existing_models = tuple(iter_dynamic_schema_types())
+ clear_dynamic_schema_types()
+ try:
+
+ class TemporaryModel(BaseModel):
+ foo: str
+
+ register_dynamic_schema_type(TemporaryModel)
+ assert TemporaryModel in iter_dynamic_schema_types()
+
+ clear_dynamic_schema_types()
+ assert TemporaryModel not in iter_dynamic_schema_types()
+ finally:
+ for model in existing_models:
+ register_dynamic_schema_type(model)
diff --git a/uv.lock b/uv.lock
index 8f45f0564d..a343eb5d87 100644
--- a/uv.lock
+++ b/uv.lock
@@ -1834,6 +1834,21 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/fe/54/c86cd8e011fe98803d7e382fd67c0df5ceab8d2b7ad8c5a81524f791551c/jsonschema-4.25.0-py3-none-any.whl", hash = "sha256:24c2e8da302de79c8b9382fee3e76b355e44d2a4364bb207159ce10b517bd716", size = 89184, upload-time = "2025-07-18T15:39:42.956Z" },
]
+[[package]]
+name = "jsonschema-path"
+version = "0.3.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pathable" },
+ { name = "pyyaml" },
+ { name = "referencing" },
+ { name = "requests" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/6e/45/41ebc679c2a4fced6a722f624c18d658dee42612b83ea24c1caf7c0eb3a8/jsonschema_path-0.3.4.tar.gz", hash = "sha256:8365356039f16cc65fddffafda5f58766e34bebab7d6d105616ab52bc4297001", size = 11159, upload-time = "2025-01-24T14:33:16.547Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cb/58/3485da8cb93d2f393bce453adeef16896751f14ba3e2024bc21dc9597646/jsonschema_path-0.3.4-py3-none-any.whl", hash = "sha256:f502191fdc2b22050f9a81c9237be9d27145b9001c55842bece5e94e382e52f8", size = 14810, upload-time = "2025-01-24T14:33:14.652Z" },
+]
+
[[package]]
name = "jsonschema-specifications"
version = "2025.4.1"
@@ -1913,6 +1928,38 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/89/43/d9bebfc3db7dea6ec80df5cb2aad8d274dd18ec2edd6c4f21f32c237cbbb/kubernetes-33.1.0-py2.py3-none-any.whl", hash = "sha256:544de42b24b64287f7e0aa9513c93cb503f7f40eea39b20f66810011a86eabc5", size = 1941335, upload-time = "2025-06-09T21:57:56.327Z" },
]
+[[package]]
+name = "lazy-object-proxy"
+version = "1.12.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/08/a2/69df9c6ba6d316cfd81fe2381e464db3e6de5db45f8c43c6a23504abf8cb/lazy_object_proxy-1.12.0.tar.gz", hash = "sha256:1f5a462d92fd0cfb82f1fab28b51bfb209fabbe6aabf7f0d51472c0c124c0c61", size = 43681, upload-time = "2025-08-22T13:50:06.783Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0d/1b/b5f5bd6bda26f1e15cd3232b223892e4498e34ec70a7f4f11c401ac969f1/lazy_object_proxy-1.12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8ee0d6027b760a11cc18281e702c0309dd92da458a74b4c15025d7fc490deede", size = 26746, upload-time = "2025-08-22T13:42:37.572Z" },
+ { url = "https://files.pythonhosted.org/packages/55/64/314889b618075c2bfc19293ffa9153ce880ac6153aacfd0a52fcabf21a66/lazy_object_proxy-1.12.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:4ab2c584e3cc8be0dfca422e05ad30a9abe3555ce63e9ab7a559f62f8dbc6ff9", size = 71457, upload-time = "2025-08-22T13:42:38.743Z" },
+ { url = "https://files.pythonhosted.org/packages/11/53/857fc2827fc1e13fbdfc0ba2629a7d2579645a06192d5461809540b78913/lazy_object_proxy-1.12.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:14e348185adbd03ec17d051e169ec45686dcd840a3779c9d4c10aabe2ca6e1c0", size = 71036, upload-time = "2025-08-22T13:42:40.184Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/24/e581ffed864cd33c1b445b5763d617448ebb880f48675fc9de0471a95cbc/lazy_object_proxy-1.12.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c4fcbe74fb85df8ba7825fa05eddca764138da752904b378f0ae5ab33a36c308", size = 69329, upload-time = "2025-08-22T13:42:41.311Z" },
+ { url = "https://files.pythonhosted.org/packages/78/be/15f8f5a0b0b2e668e756a152257d26370132c97f2f1943329b08f057eff0/lazy_object_proxy-1.12.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:563d2ec8e4d4b68ee7848c5ab4d6057a6d703cb7963b342968bb8758dda33a23", size = 70690, upload-time = "2025-08-22T13:42:42.51Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/aa/f02be9bbfb270e13ee608c2b28b8771f20a5f64356c6d9317b20043c6129/lazy_object_proxy-1.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:53c7fd99eb156bbb82cbc5d5188891d8fdd805ba6c1e3b92b90092da2a837073", size = 26563, upload-time = "2025-08-22T13:42:43.685Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/26/b74c791008841f8ad896c7f293415136c66cc27e7c7577de4ee68040c110/lazy_object_proxy-1.12.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:86fd61cb2ba249b9f436d789d1356deae69ad3231dc3c0f17293ac535162672e", size = 26745, upload-time = "2025-08-22T13:42:44.982Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/52/641870d309e5d1fb1ea7d462a818ca727e43bfa431d8c34b173eb090348c/lazy_object_proxy-1.12.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:81d1852fb30fab81696f93db1b1e55a5d1ff7940838191062f5f56987d5fcc3e", size = 71537, upload-time = "2025-08-22T13:42:46.141Z" },
+ { url = "https://files.pythonhosted.org/packages/47/b6/919118e99d51c5e76e8bf5a27df406884921c0acf2c7b8a3b38d847ab3e9/lazy_object_proxy-1.12.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:be9045646d83f6c2664c1330904b245ae2371b5c57a3195e4028aedc9f999655", size = 71141, upload-time = "2025-08-22T13:42:47.375Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/47/1d20e626567b41de085cf4d4fb3661a56c159feaa73c825917b3b4d4f806/lazy_object_proxy-1.12.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:67f07ab742f1adfb3966c40f630baaa7902be4222a17941f3d85fd1dae5565ff", size = 69449, upload-time = "2025-08-22T13:42:48.49Z" },
+ { url = "https://files.pythonhosted.org/packages/58/8d/25c20ff1a1a8426d9af2d0b6f29f6388005fc8cd10d6ee71f48bff86fdd0/lazy_object_proxy-1.12.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:75ba769017b944fcacbf6a80c18b2761a1795b03f8899acdad1f1c39db4409be", size = 70744, upload-time = "2025-08-22T13:42:49.608Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/67/8ec9abe15c4f8a4bcc6e65160a2c667240d025cbb6591b879bea55625263/lazy_object_proxy-1.12.0-cp313-cp313-win_amd64.whl", hash = "sha256:7b22c2bbfb155706b928ac4d74c1a63ac8552a55ba7fff4445155523ea4067e1", size = 26568, upload-time = "2025-08-22T13:42:57.719Z" },
+ { url = "https://files.pythonhosted.org/packages/23/12/cd2235463f3469fd6c62d41d92b7f120e8134f76e52421413a0ad16d493e/lazy_object_proxy-1.12.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4a79b909aa16bde8ae606f06e6bbc9d3219d2e57fb3e0076e17879072b742c65", size = 27391, upload-time = "2025-08-22T13:42:50.62Z" },
+ { url = "https://files.pythonhosted.org/packages/60/9e/f1c53e39bbebad2e8609c67d0830cc275f694d0ea23d78e8f6db526c12d3/lazy_object_proxy-1.12.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:338ab2f132276203e404951205fe80c3fd59429b3a724e7b662b2eb539bb1be9", size = 80552, upload-time = "2025-08-22T13:42:51.731Z" },
+ { url = "https://files.pythonhosted.org/packages/4c/b6/6c513693448dcb317d9d8c91d91f47addc09553613379e504435b4cc8b3e/lazy_object_proxy-1.12.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8c40b3c9faee2e32bfce0df4ae63f4e73529766893258eca78548bac801c8f66", size = 82857, upload-time = "2025-08-22T13:42:53.225Z" },
+ { url = "https://files.pythonhosted.org/packages/12/1c/d9c4aaa4c75da11eb7c22c43d7c90a53b4fca0e27784a5ab207768debea7/lazy_object_proxy-1.12.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:717484c309df78cedf48396e420fa57fc8a2b1f06ea889df7248fdd156e58847", size = 80833, upload-time = "2025-08-22T13:42:54.391Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/ae/29117275aac7d7d78ae4f5a4787f36ff33262499d486ac0bf3e0b97889f6/lazy_object_proxy-1.12.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a6b7ea5ea1ffe15059eb44bcbcb258f97bcb40e139b88152c40d07b1a1dfc9ac", size = 79516, upload-time = "2025-08-22T13:42:55.812Z" },
+ { url = "https://files.pythonhosted.org/packages/19/40/b4e48b2c38c69392ae702ae7afa7b6551e0ca5d38263198b7c79de8b3bdf/lazy_object_proxy-1.12.0-cp313-cp313t-win_amd64.whl", hash = "sha256:08c465fb5cd23527512f9bd7b4c7ba6cec33e28aad36fbbe46bf7b858f9f3f7f", size = 27656, upload-time = "2025-08-22T13:42:56.793Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/3a/277857b51ae419a1574557c0b12e0d06bf327b758ba94cafc664cb1e2f66/lazy_object_proxy-1.12.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c9defba70ab943f1df98a656247966d7729da2fe9c2d5d85346464bf320820a3", size = 26582, upload-time = "2025-08-22T13:49:49.366Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/b6/c5e0fa43535bb9c87880e0ba037cdb1c50e01850b0831e80eb4f4762f270/lazy_object_proxy-1.12.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:6763941dbf97eea6b90f5b06eb4da9418cc088fce0e3883f5816090f9afcde4a", size = 71059, upload-time = "2025-08-22T13:49:50.488Z" },
+ { url = "https://files.pythonhosted.org/packages/06/8a/7dcad19c685963c652624702f1a968ff10220b16bfcc442257038216bf55/lazy_object_proxy-1.12.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fdc70d81235fc586b9e3d1aeef7d1553259b62ecaae9db2167a5d2550dcc391a", size = 71034, upload-time = "2025-08-22T13:49:54.224Z" },
+ { url = "https://files.pythonhosted.org/packages/12/ac/34cbfb433a10e28c7fd830f91c5a348462ba748413cbb950c7f259e67aa7/lazy_object_proxy-1.12.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:0a83c6f7a6b2bfc11ef3ed67f8cbe99f8ff500b05655d8e7df9aab993a6abc95", size = 69529, upload-time = "2025-08-22T13:49:55.29Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/6a/11ad7e349307c3ca4c0175db7a77d60ce42a41c60bcb11800aabd6a8acb8/lazy_object_proxy-1.12.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:256262384ebd2a77b023ad02fbcc9326282bcfd16484d5531154b02bc304f4c5", size = 70391, upload-time = "2025-08-22T13:49:56.35Z" },
+ { url = "https://files.pythonhosted.org/packages/59/97/9b410ed8fbc6e79c1ee8b13f8777a80137d4bc189caf2c6202358e66192c/lazy_object_proxy-1.12.0-cp314-cp314-win_amd64.whl", hash = "sha256:7601ec171c7e8584f8ff3f4e440aa2eebf93e854f04639263875b8c2971f819f", size = 26988, upload-time = "2025-08-22T13:49:57.302Z" },
+]
+
[[package]]
name = "linkify"
version = "1.4"
@@ -1992,6 +2039,7 @@ dev = [
{ name = "black" },
{ name = "mypy" },
{ name = "nbval" },
+ { name = "openapi-spec-validator" },
{ name = "pre-commit" },
{ name = "pytest" },
{ name = "pytest-asyncio" },
@@ -2117,6 +2165,7 @@ requires-dist = [
{ name = "python-dotenv" },
{ name = "python-multipart", specifier = ">=0.0.20" },
{ name = "pyyaml", specifier = ">=6.0" },
+ { name = "pyyaml", specifier = ">=6.0.2" },
{ name = "rich" },
{ name = "sqlalchemy", extras = ["asyncio"], specifier = ">=2.0.41" },
{ name = "starlette" },
@@ -2138,6 +2187,7 @@ dev = [
{ name = "black" },
{ name = "mypy" },
{ name = "nbval" },
+ { name = "openapi-spec-validator", specifier = ">=0.7.2" },
{ name = "pre-commit", specifier = ">=4.4.0" },
{ name = "pytest", specifier = ">=8.4" },
{ name = "pytest-asyncio", specifier = ">=1.0" },
@@ -3011,6 +3061,35 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/14/f3/ebbd700d8dc1e6380a7a382969d96bc0cbea8717b52fb38ff0ca2a7653e8/openai-2.5.0-py3-none-any.whl", hash = "sha256:21380e5f52a71666dbadbf322dd518bdf2b9d11ed0bb3f96bea17310302d6280", size = 999851, upload-time = "2025-10-17T18:14:45.528Z" },
]
+[[package]]
+name = "openapi-schema-validator"
+version = "0.6.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "jsonschema" },
+ { name = "jsonschema-specifications" },
+ { name = "rfc3339-validator" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/8b/f3/5507ad3325169347cd8ced61c232ff3df70e2b250c49f0fe140edb4973c6/openapi_schema_validator-0.6.3.tar.gz", hash = "sha256:f37bace4fc2a5d96692f4f8b31dc0f8d7400fd04f3a937798eaf880d425de6ee", size = 11550, upload-time = "2025-01-10T18:08:22.268Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/21/c6/ad0fba32775ae749016829dace42ed80f4407b171da41313d1a3a5f102e4/openapi_schema_validator-0.6.3-py3-none-any.whl", hash = "sha256:f3b9870f4e556b5a62a1c39da72a6b4b16f3ad9c73dc80084b1b11e74ba148a3", size = 8755, upload-time = "2025-01-10T18:08:19.758Z" },
+]
+
+[[package]]
+name = "openapi-spec-validator"
+version = "0.7.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "jsonschema" },
+ { name = "jsonschema-path" },
+ { name = "lazy-object-proxy" },
+ { name = "openapi-schema-validator" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/82/af/fe2d7618d6eae6fb3a82766a44ed87cd8d6d82b4564ed1c7cfb0f6378e91/openapi_spec_validator-0.7.2.tar.gz", hash = "sha256:cc029309b5c5dbc7859df0372d55e9d1ff43e96d678b9ba087f7c56fc586f734", size = 36855, upload-time = "2025-06-07T14:48:56.299Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/27/dd/b3fd642260cb17532f66cc1e8250f3507d1e580483e209dc1e9d13bd980d/openapi_spec_validator-0.7.2-py3-none-any.whl", hash = "sha256:4bbdc0894ec85f1d1bea1d6d9c8b2c3c8d7ccaa13577ef40da9c006c9fd0eb60", size = 39713, upload-time = "2025-06-07T14:48:54.077Z" },
+]
+
[[package]]
name = "opentelemetry-api"
version = "1.36.0"
@@ -3247,6 +3326,15 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18", size = 103650, upload-time = "2024-04-05T09:43:53.299Z" },
]
+[[package]]
+name = "pathable"
+version = "0.4.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/67/93/8f2c2075b180c12c1e9f6a09d1a985bc2036906b13dff1d8917e395f2048/pathable-0.4.4.tar.gz", hash = "sha256:6905a3cd17804edfac7875b5f6c9142a218c7caef78693c2dbbbfbac186d88b2", size = 8124, upload-time = "2025-01-10T18:43:13.247Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7d/eb/b6260b31b1a96386c0a880edebe26f89669098acea8e0318bff6adb378fd/pathable-0.4.4-py3-none-any.whl", hash = "sha256:5ae9e94793b6ef5a4cbe0a7ce9dbbefc1eec38df253763fd0aeeacf2762dbbc2", size = 9592, upload-time = "2025-01-10T18:43:11.88Z" },
+]
+
[[package]]
name = "pathspec"
version = "0.12.1"
@@ -4404,6 +4492,18 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/1c/4c/cc276ce57e572c102d9542d383b2cfd551276581dc60004cb94fe8774c11/responses-0.25.8-py3-none-any.whl", hash = "sha256:0c710af92def29c8352ceadff0c3fe340ace27cf5af1bbe46fb71275bcd2831c", size = 34769, upload-time = "2025-08-08T19:01:45.018Z" },
]
+[[package]]
+name = "rfc3339-validator"
+version = "0.1.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "six" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/28/ea/a9387748e2d111c3c2b275ba970b735e04e15cdb1eb30693b6b5708c4dbd/rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b", size = 5513, upload-time = "2021-05-12T16:37:54.178Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa", size = 3490, upload-time = "2021-05-12T16:37:52.536Z" },
+]
+
[[package]]
name = "rich"
version = "14.1.0"
@@ -4516,40 +4616,46 @@ wheels = [
[[package]]
name = "ruamel-yaml"
-version = "0.18.14"
+version = "0.18.16"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "ruamel-yaml-clib", marker = "python_full_version < '3.14' and platform_python_implementation == 'CPython'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/39/87/6da0df742a4684263261c253f00edd5829e6aca970fff69e75028cccc547/ruamel.yaml-0.18.14.tar.gz", hash = "sha256:7227b76aaec364df15936730efbf7d72b30c0b79b1d578bbb8e3dcb2d81f52b7", size = 145511, upload-time = "2025-06-09T08:51:09.828Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/9f/c7/ee630b29e04a672ecfc9b63227c87fd7a37eb67c1bf30fe95376437f897c/ruamel.yaml-0.18.16.tar.gz", hash = "sha256:a6e587512f3c998b2225d68aa1f35111c29fad14aed561a26e73fab729ec5e5a", size = 147269, upload-time = "2025-10-22T17:54:02.346Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/af/6d/6fe4805235e193aad4aaf979160dd1f3c487c57d48b810c816e6e842171b/ruamel.yaml-0.18.14-py3-none-any.whl", hash = "sha256:710ff198bb53da66718c7db27eec4fbcc9aa6ca7204e4c1df2f282b6fe5eb6b2", size = 118570, upload-time = "2025-06-09T08:51:06.348Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/73/bb1bc2529f852e7bf64a2dec885e89ff9f5cc7bbf6c9340eed30ff2c69c5/ruamel.yaml-0.18.16-py3-none-any.whl", hash = "sha256:048f26d64245bae57a4f9ef6feb5b552a386830ef7a826f235ffb804c59efbba", size = 119858, upload-time = "2025-10-22T17:53:59.012Z" },
]
[[package]]
name = "ruamel-yaml-clib"
-version = "0.2.12"
-source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/20/84/80203abff8ea4993a87d823a5f632e4d92831ef75d404c9fc78d0176d2b5/ruamel.yaml.clib-0.2.12.tar.gz", hash = "sha256:6c8fbb13ec503f99a91901ab46e0b07ae7941cd527393187039aec586fdfd36f", size = 225315, upload-time = "2024-10-20T10:10:56.22Z" }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/48/41/e7a405afbdc26af961678474a55373e1b323605a4f5e2ddd4a80ea80f628/ruamel.yaml.clib-0.2.12-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:20b0f8dc160ba83b6dcc0e256846e1a02d044e13f7ea74a3d1d56ede4e48c632", size = 133433, upload-time = "2024-10-20T10:12:55.657Z" },
- { url = "https://files.pythonhosted.org/packages/ec/b0/b850385604334c2ce90e3ee1013bd911aedf058a934905863a6ea95e9eb4/ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:943f32bc9dedb3abff9879edc134901df92cfce2c3d5c9348f172f62eb2d771d", size = 647362, upload-time = "2024-10-20T10:12:57.155Z" },
- { url = "https://files.pythonhosted.org/packages/44/d0/3f68a86e006448fb6c005aee66565b9eb89014a70c491d70c08de597f8e4/ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95c3829bb364fdb8e0332c9931ecf57d9be3519241323c5274bd82f709cebc0c", size = 754118, upload-time = "2024-10-20T10:12:58.501Z" },
- { url = "https://files.pythonhosted.org/packages/52/a9/d39f3c5ada0a3bb2870d7db41901125dbe2434fa4f12ca8c5b83a42d7c53/ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:749c16fcc4a2b09f28843cda5a193e0283e47454b63ec4b81eaa2242f50e4ccd", size = 706497, upload-time = "2024-10-20T10:13:00.211Z" },
- { url = "https://files.pythonhosted.org/packages/b0/fa/097e38135dadd9ac25aecf2a54be17ddf6e4c23e43d538492a90ab3d71c6/ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bf165fef1f223beae7333275156ab2022cffe255dcc51c27f066b4370da81e31", size = 698042, upload-time = "2024-10-21T11:26:46.038Z" },
- { url = "https://files.pythonhosted.org/packages/ec/d5/a659ca6f503b9379b930f13bc6b130c9f176469b73b9834296822a83a132/ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:32621c177bbf782ca5a18ba4d7af0f1082a3f6e517ac2a18b3974d4edf349680", size = 745831, upload-time = "2024-10-21T11:26:47.487Z" },
- { url = "https://files.pythonhosted.org/packages/db/5d/36619b61ffa2429eeaefaab4f3374666adf36ad8ac6330d855848d7d36fd/ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b82a7c94a498853aa0b272fd5bc67f29008da798d4f93a2f9f289feb8426a58d", size = 715692, upload-time = "2024-12-11T19:58:17.252Z" },
- { url = "https://files.pythonhosted.org/packages/b1/82/85cb92f15a4231c89b95dfe08b09eb6adca929ef7df7e17ab59902b6f589/ruamel.yaml.clib-0.2.12-cp312-cp312-win32.whl", hash = "sha256:e8c4ebfcfd57177b572e2040777b8abc537cdef58a2120e830124946aa9b42c5", size = 98777, upload-time = "2024-10-20T10:13:01.395Z" },
- { url = "https://files.pythonhosted.org/packages/d7/8f/c3654f6f1ddb75daf3922c3d8fc6005b1ab56671ad56ffb874d908bfa668/ruamel.yaml.clib-0.2.12-cp312-cp312-win_amd64.whl", hash = "sha256:0467c5965282c62203273b838ae77c0d29d7638c8a4e3a1c8bdd3602c10904e4", size = 115523, upload-time = "2024-10-20T10:13:02.768Z" },
- { url = "https://files.pythonhosted.org/packages/29/00/4864119668d71a5fa45678f380b5923ff410701565821925c69780356ffa/ruamel.yaml.clib-0.2.12-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:4c8c5d82f50bb53986a5e02d1b3092b03622c02c2eb78e29bec33fd9593bae1a", size = 132011, upload-time = "2024-10-20T10:13:04.377Z" },
- { url = "https://files.pythonhosted.org/packages/7f/5e/212f473a93ae78c669ffa0cb051e3fee1139cb2d385d2ae1653d64281507/ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux2014_aarch64.whl", hash = "sha256:e7e3736715fbf53e9be2a79eb4db68e4ed857017344d697e8b9749444ae57475", size = 642488, upload-time = "2024-10-20T10:13:05.906Z" },
- { url = "https://files.pythonhosted.org/packages/1f/8f/ecfbe2123ade605c49ef769788f79c38ddb1c8fa81e01f4dbf5cf1a44b16/ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b7e75b4965e1d4690e93021adfcecccbca7d61c7bddd8e22406ef2ff20d74ef", size = 745066, upload-time = "2024-10-20T10:13:07.26Z" },
- { url = "https://files.pythonhosted.org/packages/e2/a9/28f60726d29dfc01b8decdb385de4ced2ced9faeb37a847bd5cf26836815/ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96777d473c05ee3e5e3c3e999f5d23c6f4ec5b0c38c098b3a5229085f74236c6", size = 701785, upload-time = "2024-10-20T10:13:08.504Z" },
- { url = "https://files.pythonhosted.org/packages/84/7e/8e7ec45920daa7f76046578e4f677a3215fe8f18ee30a9cb7627a19d9b4c/ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:3bc2a80e6420ca8b7d3590791e2dfc709c88ab9152c00eeb511c9875ce5778bf", size = 693017, upload-time = "2024-10-21T11:26:48.866Z" },
- { url = "https://files.pythonhosted.org/packages/c5/b3/d650eaade4ca225f02a648321e1ab835b9d361c60d51150bac49063b83fa/ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e188d2699864c11c36cdfdada94d781fd5d6b0071cd9c427bceb08ad3d7c70e1", size = 741270, upload-time = "2024-10-21T11:26:50.213Z" },
- { url = "https://files.pythonhosted.org/packages/87/b8/01c29b924dcbbed75cc45b30c30d565d763b9c4d540545a0eeecffb8f09c/ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4f6f3eac23941b32afccc23081e1f50612bdbe4e982012ef4f5797986828cd01", size = 709059, upload-time = "2024-12-11T19:58:18.846Z" },
- { url = "https://files.pythonhosted.org/packages/30/8c/ed73f047a73638257aa9377ad356bea4d96125b305c34a28766f4445cc0f/ruamel.yaml.clib-0.2.12-cp313-cp313-win32.whl", hash = "sha256:6442cb36270b3afb1b4951f060eccca1ce49f3d087ca1ca4563a6eb479cb3de6", size = 98583, upload-time = "2024-10-20T10:13:09.658Z" },
- { url = "https://files.pythonhosted.org/packages/b0/85/e8e751d8791564dd333d5d9a4eab0a7a115f7e349595417fd50ecae3395c/ruamel.yaml.clib-0.2.12-cp313-cp313-win_amd64.whl", hash = "sha256:e5b8daf27af0b90da7bb903a876477a9e6d7270be6146906b276605997c7e9a3", size = 115190, upload-time = "2024-10-20T10:13:10.66Z" },
+version = "0.2.14"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d8/e9/39ec4d4b3f91188fad1842748f67d4e749c77c37e353c4e545052ee8e893/ruamel.yaml.clib-0.2.14.tar.gz", hash = "sha256:803f5044b13602d58ea378576dd75aa759f52116a0232608e8fdada4da33752e", size = 225394, upload-time = "2025-09-22T19:51:23.753Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b4/42/ccfb34a25289afbbc42017e4d3d4288e61d35b2e00cfc6b92974a6a1f94b/ruamel.yaml.clib-0.2.14-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:6aeadc170090ff1889f0d2c3057557f9cd71f975f17535c26a5d37af98f19c27", size = 271775, upload-time = "2025-09-23T14:24:12.771Z" },
+ { url = "https://files.pythonhosted.org/packages/82/73/e628a92e80197ff6a79ab81ec3fa00d4cc082d58ab78d3337b7ba7043301/ruamel.yaml.clib-0.2.14-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:5e56ac47260c0eed992789fa0b8efe43404a9adb608608631a948cee4fc2b052", size = 138842, upload-time = "2025-09-22T19:50:49.156Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/c5/346c7094344a60419764b4b1334d9e0285031c961176ff88ffb652405b0c/ruamel.yaml.clib-0.2.14-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:a911aa73588d9a8b08d662b9484bc0567949529824a55d3885b77e8dd62a127a", size = 647404, upload-time = "2025-09-22T19:50:52.921Z" },
+ { url = "https://files.pythonhosted.org/packages/df/99/65080c863eb06d4498de3d6c86f3e90595e02e159fd8529f1565f56cfe2c/ruamel.yaml.clib-0.2.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a05ba88adf3d7189a974b2de7a9d56731548d35dc0a822ec3dc669caa7019b29", size = 753141, upload-time = "2025-09-22T19:50:50.294Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/e3/0de85f3e3333f8e29e4b10244374a202a87665d1131798946ee22cf05c7c/ruamel.yaml.clib-0.2.14-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb04c5650de6668b853623eceadcdb1a9f2fee381f5d7b6bc842ee7c239eeec4", size = 703477, upload-time = "2025-09-22T19:50:51.508Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/25/0d2f09d8833c7fd77ab8efeff213093c16856479a9d293180a0d89f6bed9/ruamel.yaml.clib-0.2.14-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:df3ec9959241d07bc261f4983d25a1205ff37703faf42b474f15d54d88b4f8c9", size = 741157, upload-time = "2025-09-23T18:42:50.408Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/8c/959f10c2e2153cbdab834c46e6954b6dd9e3b109c8f8c0a3cf1618310985/ruamel.yaml.clib-0.2.14-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:fbc08c02e9b147a11dfcaa1ac8a83168b699863493e183f7c0c8b12850b7d259", size = 745859, upload-time = "2025-09-22T19:50:54.497Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/6b/e580a7c18b485e1a5f30a32cda96b20364b0ba649d9d2baaf72f8bd21f83/ruamel.yaml.clib-0.2.14-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c099cafc1834d3c5dac305865d04235f7c21c167c8dd31ebc3d6bbc357e2f023", size = 770200, upload-time = "2025-09-22T19:50:55.718Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/44/3455eebc761dc8e8fdced90f2b0a3fa61e32ba38b50de4130e2d57db0f21/ruamel.yaml.clib-0.2.14-cp312-cp312-win32.whl", hash = "sha256:b5b0f7e294700b615a3bcf6d28b26e6da94e8eba63b079f4ec92e9ba6c0d6b54", size = 98829, upload-time = "2025-09-22T19:50:58.895Z" },
+ { url = "https://files.pythonhosted.org/packages/76/ab/5121f7f3b651db93de546f8c982c241397aad0a4765d793aca1dac5eadee/ruamel.yaml.clib-0.2.14-cp312-cp312-win_amd64.whl", hash = "sha256:a37f40a859b503304dd740686359fcf541d6fb3ff7fc10f539af7f7150917c68", size = 115570, upload-time = "2025-09-22T19:50:57.981Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/ae/e3811f05415594025e96000349d3400978adaed88d8f98d494352d9761ee/ruamel.yaml.clib-0.2.14-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7e4f9da7e7549946e02a6122dcad00b7c1168513acb1f8a726b1aaf504a99d32", size = 269205, upload-time = "2025-09-23T14:24:15.06Z" },
+ { url = "https://files.pythonhosted.org/packages/72/06/7d51f4688d6d72bb72fa74254e1593c4f5ebd0036be5b41fe39315b275e9/ruamel.yaml.clib-0.2.14-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:dd7546c851e59c06197a7c651335755e74aa383a835878ca86d2c650c07a2f85", size = 137417, upload-time = "2025-09-22T19:50:59.82Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/08/b4499234a420ef42960eeb05585df5cc7eb25ccb8c980490b079e6367050/ruamel.yaml.clib-0.2.14-cp313-cp313-manylinux2014_aarch64.whl", hash = "sha256:1c1acc3a0209ea9042cc3cfc0790edd2eddd431a2ec3f8283d081e4d5018571e", size = 642558, upload-time = "2025-09-22T19:51:03.388Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/ba/1975a27dedf1c4c33306ee67c948121be8710b19387aada29e2f139c43ee/ruamel.yaml.clib-0.2.14-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2070bf0ad1540d5c77a664de07ebcc45eebd1ddcab71a7a06f26936920692beb", size = 744087, upload-time = "2025-09-22T19:51:00.897Z" },
+ { url = "https://files.pythonhosted.org/packages/20/15/8a19a13d27f3bd09fa18813add8380a29115a47b553845f08802959acbce/ruamel.yaml.clib-0.2.14-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd8fe07f49c170e09d76773fb86ad9135e0beee44f36e1576a201b0676d3d1d", size = 699709, upload-time = "2025-09-22T19:51:02.075Z" },
+ { url = "https://files.pythonhosted.org/packages/19/ee/8d6146a079ad21e534b5083c9ee4a4c8bec42f79cf87594b60978286b39a/ruamel.yaml.clib-0.2.14-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ff86876889ea478b1381089e55cf9e345707b312beda4986f823e1d95e8c0f59", size = 708926, upload-time = "2025-09-23T18:42:51.707Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/f5/426b714abdc222392e68f3b8ad323930d05a214a27c7e7a0f06c69126401/ruamel.yaml.clib-0.2.14-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:1f118b707eece8cf84ecbc3e3ec94d9db879d85ed608f95870d39b2d2efa5dca", size = 740202, upload-time = "2025-09-22T19:51:04.673Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/ac/3c5c2b27a183f4fda8a57c82211721c016bcb689a4a175865f7646db9f94/ruamel.yaml.clib-0.2.14-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b30110b29484adc597df6bd92a37b90e63a8c152ca8136aad100a02f8ba6d1b6", size = 765196, upload-time = "2025-09-22T19:51:05.916Z" },
+ { url = "https://files.pythonhosted.org/packages/92/2e/06f56a71fd55021c993ed6e848c9b2e5e9cfce180a42179f0ddd28253f7c/ruamel.yaml.clib-0.2.14-cp313-cp313-win32.whl", hash = "sha256:f4e97a1cf0b7a30af9e1d9dad10a5671157b9acee790d9e26996391f49b965a2", size = 98635, upload-time = "2025-09-22T19:51:08.183Z" },
+ { url = "https://files.pythonhosted.org/packages/51/79/76aba16a1689b50528224b182f71097ece338e7a4ab55e84c2e73443b78a/ruamel.yaml.clib-0.2.14-cp313-cp313-win_amd64.whl", hash = "sha256:090782b5fb9d98df96509eecdbcaffd037d47389a89492320280d52f91330d78", size = 115238, upload-time = "2025-09-22T19:51:07.081Z" },
+ { url = "https://files.pythonhosted.org/packages/21/e2/a59ff65c26aaf21a24eb38df777cb9af5d87ba8fc8107c163c2da9d1e85e/ruamel.yaml.clib-0.2.14-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:7df6f6e9d0e33c7b1d435defb185095386c469109de723d514142632a7b9d07f", size = 271441, upload-time = "2025-09-23T14:24:16.498Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/fa/3234f913fe9a6525a7b97c6dad1f51e72b917e6872e051a5e2ffd8b16fbb/ruamel.yaml.clib-0.2.14-cp314-cp314-macosx_15_0_arm64.whl", hash = "sha256:70eda7703b8126f5e52fcf276e6c0f40b0d314674f896fc58c47b0aef2b9ae83", size = 137970, upload-time = "2025-09-22T19:51:09.472Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/ec/4edbf17ac2c87fa0845dd366ef8d5852b96eb58fcd65fc1ecf5fe27b4641/ruamel.yaml.clib-0.2.14-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:a0cb71ccc6ef9ce36eecb6272c81afdc2f565950cdcec33ae8e6cd8f7fc86f27", size = 739639, upload-time = "2025-09-22T19:51:10.566Z" },
+ { url = "https://files.pythonhosted.org/packages/15/18/b0e1fafe59051de9e79cdd431863b03593ecfa8341c110affad7c8121efc/ruamel.yaml.clib-0.2.14-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e7cb9ad1d525d40f7d87b6df7c0ff916a66bc52cb61b66ac1b2a16d0c1b07640", size = 764456, upload-time = "2025-09-22T19:51:11.736Z" },
]
[[package]]