openapi: 3.1.0
info:
  title: Llama Stack Specification
  version: v1
  description: >-
    This is the specification of the Llama Stack that provides
                    a set of endpoints and their corresponding interfaces that are
    tailored to
                    best leverage Llama Models.
servers:
  - url: http://any-hosted-llama-stack.com
paths:
  /v1/datasetio/rows:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRowsResult'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - DatasetIO
      description: >-
        Get a paginated list of rows from a dataset.
      parameters:
        - name: dataset_id
          in: query
          description: >-
            The ID of the dataset to get the rows from.
          required: true
          schema:
            type: string
        - name: rows_in_page
          in: query
          description: The number of rows to get per page.
          required: true
          schema:
            type: integer
        - name: page_token
          in: query
          description: The token to get the next page of rows.
          required: false
          schema:
            type: string
        - name: filter_condition
          in: query
          description: >-
            (Optional) A condition to filter the rows by.
          required: false
          schema:
            type: string
    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:
        - DatasetIO
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppendRowsRequest'
        required: true
  /v1/batch-inference/chat-completion:
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchChatCompletionResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - BatchInference (Coming Soon)
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchChatCompletionRequest'
        required: true
  /v1/batch-inference/completion:
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchCompletionResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - BatchInference (Coming Soon)
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchCompletionRequest'
        required: true
  /v1/post-training/job/cancel:
    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:
        - PostTraining (Coming Soon)
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelTrainingJobRequest'
        required: true
  /v1/inference/chat-completion:
    post:
      responses:
        '200':
          description: >-
            If stream=False, returns a ChatCompletionResponse with the full completion.
            If stream=True, returns an SSE event stream of ChatCompletionResponseStreamChunk
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatCompletionResponse'
            text/event-stream:
              schema:
                $ref: '#/components/schemas/ChatCompletionResponseStreamChunk'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Inference
      description: >-
        Generate a chat completion for the given messages using the specified model.
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChatCompletionRequest'
        required: true
  /v1/inference/completion:
    post:
      responses:
        '200':
          description: >-
            If stream=False, returns a CompletionResponse with the full completion.
            If stream=True, returns an SSE event stream of CompletionResponseStreamChunk
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompletionResponse'
            text/event-stream:
              schema:
                $ref: '#/components/schemas/CompletionResponseStreamChunk'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Inference
      description: >-
        Generate a completion for the given content using the specified model.
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompletionRequest'
        required: true
  /v1/agents:
    get:
      responses:
        '200':
          description: A ListAgentsResponse.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAgentsResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Agents
      description: List all agents.
      parameters: []
    post:
      responses:
        '200':
          description: >-
            An AgentCreateResponse with the agent ID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentCreateResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Agents
      description: >-
        Create an agent with the given configuration.
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAgentRequest'
        required: true
  /v1/agents/{agent_id}/session:
    post:
      responses:
        '200':
          description: An AgentSessionCreateResponse.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentSessionCreateResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Agents
      description: Create a new session for an agent.
      parameters:
        - name: agent_id
          in: path
          description: >-
            The ID of the agent to create the session for.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAgentSessionRequest'
        required: true
  /v1/agents/{agent_id}/session/{session_id}/turn:
    post:
      responses:
        '200':
          description: >-
            If stream=False, returns a Turn object. If stream=True, returns an SSE
            event stream of AgentTurnResponseStreamChunk
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Turn'
            text/event-stream:
              schema:
                $ref: '#/components/schemas/AgentTurnResponseStreamChunk'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Agents
      description: Create a new turn for an agent.
      parameters:
        - name: agent_id
          in: path
          description: >-
            The ID of the agent to create the turn for.
          required: true
          schema:
            type: string
        - name: session_id
          in: path
          description: >-
            The ID of the session to create the turn for.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAgentTurnRequest'
        required: true
  /v1/files:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBucketResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Files (Coming Soon)
      description: List all buckets.
      parameters:
        - name: bucket
          in: query
          required: true
          schema:
            type: string
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileUploadResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Files (Coming Soon)
      description: >-
        Create a new upload session for a file identified by a bucket and key.
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUploadSessionRequest'
        required: true
  /v1/agents/{agent_id}:
    get:
      responses:
        '200':
          description: An Agent of the agent.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Agents
      description: Describe an agent by its ID.
      parameters:
        - name: agent_id
          in: path
          description: ID of the agent.
          required: true
          schema:
            type: string
    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:
        - Agents
      description: Delete an agent by its ID.
      parameters:
        - name: agent_id
          in: path
          description: The ID of the agent to delete.
          required: true
          schema:
            type: string
  /v1/agents/{agent_id}/session/{session_id}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Session'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Agents
      description: Retrieve an agent session by its ID.
      parameters:
        - name: session_id
          in: path
          description: The ID of the session to get.
          required: true
          schema:
            type: string
        - name: agent_id
          in: path
          description: >-
            The ID of the agent to get the session for.
          required: true
          schema:
            type: string
        - name: turn_ids
          in: query
          description: >-
            (Optional) List of turn IDs to filter the session by.
          required: false
          schema:
            type: array
            items:
              type: string
    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:
        - Agents
      description: Delete an agent session by its ID.
      parameters:
        - name: session_id
          in: path
          description: The ID of the session to delete.
          required: true
          schema:
            type: string
        - name: agent_id
          in: path
          description: >-
            The ID of the agent to delete the session for.
          required: true
          schema:
            type: string
  /v1/files/{bucket}/{key}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Files (Coming Soon)
      description: >-
        Get a file info identified by a bucket and key.
      parameters:
        - name: bucket
          in: path
          description: 'Bucket name (valid chars: a-zA-Z0-9_-)'
          required: true
          schema:
            type: string
        - name: key
          in: path
          description: >-
            Key under which the file is stored (valid chars: a-zA-Z0-9_-/.)
          required: true
          schema:
            type: string
    delete:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Files (Coming Soon)
      description: >-
        Delete a file identified by a bucket and key.
      parameters:
        - name: bucket
          in: path
          description: 'Bucket name (valid chars: a-zA-Z0-9_-)'
          required: true
          schema:
            type: string
        - name: key
          in: path
          description: >-
            Key under which the file is stored (valid chars: a-zA-Z0-9_-/.)
          required: true
          schema:
            type: string
  /v1/inference/embeddings:
    post:
      responses:
        '200':
          description: >-
            An array of embeddings, one for each content. Each embedding is a list
            of floats. The dimensionality of the embedding is model-specific; you
            can check model metadata using /models/{model_id}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmbeddingsResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Inference
      description: >-
        Generate embeddings for content pieces using the specified model.
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmbeddingsRequest'
        required: true
  /v1/eval/benchmarks/{benchmark_id}/evaluations:
    post:
      responses:
        '200':
          description: >-
            EvaluateResponse object containing generations and scores
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EvaluateResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Eval
      description: Evaluate a list of rows on a benchmark.
      parameters:
        - name: benchmark_id
          in: path
          description: >-
            The ID of the benchmark to run the evaluation on.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EvaluateRowsRequest'
        required: true
  /v1/agents/{agent_id}/session/{session_id}/turn/{turn_id}/step/{step_id}:
    get:
      responses:
        '200':
          description: An AgentStepResponse.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentStepResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Agents
      description: Retrieve an agent step by its ID.
      parameters:
        - name: agent_id
          in: path
          description: The ID of the agent to get the step for.
          required: true
          schema:
            type: string
        - name: session_id
          in: path
          description: >-
            The ID of the session to get the step for.
          required: true
          schema:
            type: string
        - name: turn_id
          in: path
          description: The ID of the turn to get the step for.
          required: true
          schema:
            type: string
        - name: step_id
          in: path
          description: The ID of the step to get.
          required: true
          schema:
            type: string
  /v1/agents/{agent_id}/session/{session_id}/turn/{turn_id}:
    get:
      responses:
        '200':
          description: A Turn.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Turn'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Agents
      description: Retrieve an agent turn by its ID.
      parameters:
        - name: agent_id
          in: path
          description: The ID of the agent to get the turn for.
          required: true
          schema:
            type: string
        - name: session_id
          in: path
          description: >-
            The ID of the session to get the turn for.
          required: true
          schema:
            type: string
        - name: turn_id
          in: path
          description: The ID of the turn to get.
          required: true
          schema:
            type: string
  /v1/eval/benchmarks/{benchmark_id}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Benchmark'
                  - type: 'null'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Benchmarks
      description: ''
      parameters:
        - name: benchmark_id
          in: path
          required: true
          schema:
            type: string
  /v1/datasets/{dataset_id}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Dataset'
                  - type: 'null'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Datasets
      description: ''
      parameters:
        - name: dataset_id
          in: path
          required: true
          schema:
            type: string
    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
      description: ''
      parameters:
        - name: dataset_id
          in: path
          required: true
          schema:
            type: string
  /v1/models/{model_id}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Model'
                  - type: 'null'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Models
      description: ''
      parameters:
        - name: model_id
          in: path
          required: true
          schema:
            type: string
    delete:
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Models
      description: ''
      parameters:
        - name: model_id
          in: path
          required: true
          schema:
            type: string
  /v1/scoring-functions/{scoring_fn_id}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ScoringFn'
                  - type: 'null'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - ScoringFunctions
      description: ''
      parameters:
        - name: scoring_fn_id
          in: path
          required: true
          schema:
            type: string
  /v1/shields/{identifier}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Shield'
                  - type: 'null'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Shields
      description: ''
      parameters:
        - name: identifier
          in: path
          required: true
          schema:
            type: string
  /v1/telemetry/traces/{trace_id}/spans/{span_id}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Span'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Telemetry
      description: ''
      parameters:
        - name: trace_id
          in: path
          required: true
          schema:
            type: string
        - name: span_id
          in: path
          required: true
          schema:
            type: string
  /v1/telemetry/spans/{span_id}/tree:
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuerySpanTreeResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Telemetry
      description: ''
      parameters:
        - name: span_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetSpanTreeRequest'
        required: true
  /v1/tools/{tool_name}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tool'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - ToolGroups
      description: ''
      parameters:
        - name: tool_name
          in: path
          required: true
          schema:
            type: string
  /v1/toolgroups/{toolgroup_id}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolGroup'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - ToolGroups
      description: ''
      parameters:
        - name: toolgroup_id
          in: path
          required: true
          schema:
            type: string
    delete:
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - ToolGroups
      description: Unregister a tool group
      parameters:
        - name: toolgroup_id
          in: path
          required: true
          schema:
            type: string
  /v1/telemetry/traces/{trace_id}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trace'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Telemetry
      description: ''
      parameters:
        - name: trace_id
          in: path
          required: true
          schema:
            type: string
  /v1/post-training/job/artifacts:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/PostTrainingJobArtifactsResponse'
                  - type: 'null'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - PostTraining (Coming Soon)
      description: ''
      parameters:
        - name: job_uuid
          in: query
          required: true
          schema:
            type: string
  /v1/post-training/job/status:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/PostTrainingJobStatusResponse'
                  - type: 'null'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - PostTraining (Coming Soon)
      description: ''
      parameters:
        - name: job_uuid
          in: query
          required: true
          schema:
            type: string
  /v1/post-training/jobs:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPostTrainingJobsResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - PostTraining (Coming Soon)
      description: ''
      parameters: []
  /v1/files/session:{upload_id}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/FileUploadResponse'
                  - type: 'null'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Files (Coming Soon)
      description: >-
        Returns information about an existsing upload session
      parameters:
        - name: upload_id
          in: path
          description: ID of the upload session
          required: true
          schema:
            type: string
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/FileResponse'
                  - type: 'null'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Files (Coming Soon)
      description: >-
        Upload file content to an existing upload session. On the server, request
        body will have the raw bytes that are uploaded.
      parameters:
        - name: upload_id
          in: path
          description: ID of the upload session
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/octet-stream:
            schema:
              type: string
              format: binary
        required: true
  /v1/vector-dbs/{vector_db_id}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/VectorDB'
                  - type: 'null'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - VectorDBs
      description: ''
      parameters:
        - name: vector_db_id
          in: path
          required: true
          schema:
            type: string
    delete:
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - VectorDBs
      description: ''
      parameters:
        - name: vector_db_id
          in: path
          required: true
          schema:
            type: string
  /v1/health:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HealthInfo'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Inspect
      description: ''
      parameters: []
  /v1/tool-runtime/rag-tool/insert:
    post:
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - ToolRuntime
      description: >-
        Index documents so they can be used by the RAG system
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InsertRequest'
        required: true
  /v1/vector-io/insert:
    post:
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - VectorIO
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InsertChunksRequest'
        required: true
  /v1/tool-runtime/invoke:
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolInvocationResult'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - ToolRuntime
      description: Run a tool with the given arguments
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvokeToolRequest'
        required: true
  /v1/eval/benchmarks/{benchmark_id}/jobs/{job_id}:
    get:
      responses:
        '200':
          description: The status of the evaluationjob.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/JobStatus'
                  - type: 'null'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Eval
      description: Get the status of a job.
      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
    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:
        - Eval
      description: Cancel a job.
      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
  /v1/eval/benchmarks/{benchmark_id}/jobs/{job_id}/result:
    get:
      responses:
        '200':
          description: The result of the job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EvaluateResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Eval
      description: Get the result of a job.
      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
  /v1/agents/{agent_id}/sessions:
    get:
      responses:
        '200':
          description: A ListAgentSessionsResponse.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAgentSessionsResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Agents
      description: List all session(s) of a given agent.
      parameters:
        - name: agent_id
          in: path
          description: >-
            The ID of the agent to list sessions for.
          required: true
          schema:
            type: string
  /v1/eval/benchmarks:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBenchmarksResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Benchmarks
      description: ''
      parameters: []
    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
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterBenchmarkRequest'
        required: true
  /v1/datasets:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListDatasetsResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Datasets
      description: ''
      parameters: []
    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:
        - Datasets
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterDatasetRequest'
        required: true
  /v1/files/{bucket}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListFileResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Files (Coming Soon)
      description: List all files in a bucket.
      parameters:
        - name: bucket
          in: path
          description: 'Bucket name (valid chars: a-zA-Z0-9_-)'
          required: true
          schema:
            type: string
  /v1/models:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListModelsResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Models
      description: ''
      parameters: []
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Model'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Models
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterModelRequest'
        required: true
  /v1/inspect/providers:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListProvidersResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Inspect
      description: ''
      parameters: []
  /v1/inspect/routes:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListRoutesResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Inspect
      description: ''
      parameters: []
  /v1/tool-runtime/list-tools:
    get:
      responses:
        '200':
          description: OK
          content:
            application/jsonl:
              schema:
                $ref: '#/components/schemas/ToolDef'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - ToolRuntime
      description: ''
      parameters:
        - name: tool_group_id
          in: query
          required: false
          schema:
            type: string
        - name: mcp_endpoint
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/URL'
  /v1/scoring-functions:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListScoringFunctionsResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - ScoringFunctions
      description: ''
      parameters: []
    post:
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - ScoringFunctions
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterScoringFunctionRequest'
        required: true
  /v1/shields:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListShieldsResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Shields
      description: ''
      parameters: []
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shield'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Shields
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterShieldRequest'
        required: true
  /v1/toolgroups:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListToolGroupsResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - ToolGroups
      description: List tool groups with optional provider
      parameters: []
    post:
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - ToolGroups
      description: Register a tool group
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterToolGroupRequest'
        required: true
  /v1/tools:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListToolsResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - ToolGroups
      description: List tools with optional tool group
      parameters:
        - name: toolgroup_id
          in: query
          required: false
          schema:
            type: string
  /v1/vector-dbs:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListVectorDBsResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - VectorDBs
      description: ''
      parameters: []
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VectorDB'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - VectorDBs
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterVectorDbRequest'
        required: true
  /v1/telemetry/events:
    post:
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Telemetry
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LogEventRequest'
        required: true
  /v1/post-training/preference-optimize:
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostTrainingJob'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - PostTraining (Coming Soon)
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreferenceOptimizeRequest'
        required: true
  /v1/tool-runtime/rag-tool/query:
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RAGQueryResult'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - ToolRuntime
      description: >-
        Query the RAG system for context; typically invoked by the agent
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueryRequest'
        required: true
  /v1/vector-io/query:
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryChunksResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - VectorIO
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueryChunksRequest'
        required: true
  /v1/telemetry/spans:
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuerySpansResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Telemetry
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuerySpansRequest'
        required: true
  /v1/telemetry/traces:
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryTracesResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Telemetry
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueryTracesRequest'
        required: true
  /v1/agents/{agent_id}/session/{session_id}/turn/{turn_id}/resume:
    post:
      responses:
        '200':
          description: >-
            A Turn object if stream is False, otherwise an AsyncIterator of AgentTurnResponseStreamChunk
            objects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Turn'
            text/event-stream:
              schema:
                $ref: '#/components/schemas/AgentTurnResponseStreamChunk'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Agents
      description: >-
        Resume an agent turn with executed tool call responses.

        When a Turn has the status `awaiting_input` due to pending input from client
        side tool calls, this endpoint can be used to submit the outputs from the
        tool calls once they are ready.
      parameters:
        - name: agent_id
          in: path
          description: The ID of the agent to resume.
          required: true
          schema:
            type: string
        - name: session_id
          in: path
          description: The ID of the session to resume.
          required: true
          schema:
            type: string
        - name: turn_id
          in: path
          description: The ID of the turn to resume.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResumeAgentTurnRequest'
        required: true
  /v1/eval/benchmarks/{benchmark_id}/jobs:
    post:
      responses:
        '200':
          description: >-
            The job that was created to run the evaluation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Eval
      description: Run an evaluation on a benchmark.
      parameters:
        - name: benchmark_id
          in: path
          description: >-
            The ID of the benchmark to run the evaluation on.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunEvalRequest'
        required: true
  /v1/safety/run-shield:
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunShieldResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Safety
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunShieldRequest'
        required: true
  /v1/telemetry/spans/export:
    post:
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Telemetry
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SaveSpansToDatasetRequest'
        required: true
  /v1/scoring/score:
    post:
      responses:
        '200':
          description: >-
            ScoreResponse object containing rows and aggregated results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScoreResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Scoring
      description: Score a list of rows.
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScoreRequest'
        required: true
  /v1/scoring/score-batch:
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScoreBatchResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Scoring
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScoreBatchRequest'
        required: true
  /v1/post-training/supervised-fine-tune:
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostTrainingJob'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - PostTraining (Coming Soon)
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupervisedFineTuneRequest'
        required: true
  /v1/synthetic-data-generation/generate:
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyntheticDataGenerationResponse'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - SyntheticDataGeneration (Coming Soon)
      description: ''
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SyntheticDataGenerateRequest'
        required: true
  /v1/version:
    get:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionInfo'
        '400':
          $ref: '#/components/responses/BadRequest400'
        '429':
          $ref: >-
            #/components/responses/TooManyRequests429
        '500':
          $ref: >-
            #/components/responses/InternalServerError500
        default:
          $ref: '#/components/responses/DefaultError'
      tags:
        - Inspect
      description: ''
      parameters: []
jsonSchemaDialect: >-
  https://json-schema.org/draft/2020-12/schema
components:
  schemas:
    Error:
      type: object
      properties:
        status:
          type: integer
          description: HTTP status code
        title:
          type: string
          description: >-
            Error title, a short summary of the error which is invariant for an error
            type
        detail:
          type: string
          description: >-
            Error detail, a longer human-readable description of the error
        instance:
          type: string
          description: >-
            (Optional) A URL which can be used to retrieve more information about
            the specific occurrence of the error
      additionalProperties: false
      required:
        - status
        - title
        - detail
      title: Error
      description: >-
        Error response from the API. Roughly follows RFC 7807.
    AppendRowsRequest:
      type: object
      properties:
        dataset_id:
          type: string
        rows:
          type: array
          items:
            type: object
            additionalProperties:
              oneOf:
                - type: 'null'
                - type: boolean
                - type: number
                - type: string
                - type: array
                - type: object
      additionalProperties: false
      required:
        - dataset_id
        - rows
      title: AppendRowsRequest
    CompletionMessage:
      type: object
      properties:
        role:
          type: string
          const: assistant
          default: assistant
          description: >-
            Must be "assistant" to identify this as the model's response
        content:
          $ref: '#/components/schemas/InterleavedContent'
          description: The content of the model's response
        stop_reason:
          type: string
          enum:
            - end_of_turn
            - end_of_message
            - out_of_tokens
          description: >-
            Reason why the model stopped generating. Options are: - `StopReason.end_of_turn`:
            The model finished generating the entire response. - `StopReason.end_of_message`:
            The model finished generating but generated a partial response -- usually,
            a tool call. The user may call the tool and continue the conversation
            with the tool's response. - `StopReason.out_of_tokens`: The model ran
            out of token budget.
        tool_calls:
          type: array
          items:
            $ref: '#/components/schemas/ToolCall'
          description: >-
            List of tool calls. Each tool call is a ToolCall object.
      additionalProperties: false
      required:
        - role
        - content
        - stop_reason
      title: CompletionMessage
      description: >-
        A message containing the model's (assistant) response in a chat conversation.
    GrammarResponseFormat:
      type: object
      properties:
        type:
          type: string
          const: grammar
          default: grammar
          description: >-
            Must be "grammar" to identify this format type
        bnf:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
          description: >-
            The BNF grammar specification the response should conform to
      additionalProperties: false
      required:
        - type
        - bnf
      title: GrammarResponseFormat
      description: >-
        Configuration for grammar-guided response generation.
    GreedySamplingStrategy:
      type: object
      properties:
        type:
          type: string
          const: greedy
          default: greedy
      additionalProperties: false
      required:
        - type
      title: GreedySamplingStrategy
    ImageContentItem:
      type: object
      properties:
        type:
          type: string
          const: image
          default: image
          description: >-
            Discriminator type of the content item. Always "image"
        image:
          type: object
          properties:
            url:
              $ref: '#/components/schemas/URL'
              description: >-
                A URL of the image or data URL in the format of data:image/{type};base64,{data}.
                Note that URL could have length limits.
            data:
              type: string
              contentEncoding: base64
              description: base64 encoded image data as string
          additionalProperties: false
          description: >-
            Image as a base64 encoded string or an URL
      additionalProperties: false
      required:
        - type
        - image
      title: ImageContentItem
      description: A image content item
    InterleavedContent:
      oneOf:
        - type: string
        - $ref: '#/components/schemas/InterleavedContentItem'
        - type: array
          items:
            $ref: '#/components/schemas/InterleavedContentItem'
    InterleavedContentItem:
      oneOf:
        - $ref: '#/components/schemas/ImageContentItem'
        - $ref: '#/components/schemas/TextContentItem'
      discriminator:
        propertyName: type
        mapping:
          image: '#/components/schemas/ImageContentItem'
          text: '#/components/schemas/TextContentItem'
    JsonSchemaResponseFormat:
      type: object
      properties:
        type:
          type: string
          const: json_schema
          default: json_schema
          description: >-
            Must be "json_schema" to identify this format type
        json_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.
      additionalProperties: false
      required:
        - type
        - json_schema
      title: JsonSchemaResponseFormat
      description: >-
        Configuration for JSON schema-guided response generation.
    Message:
      oneOf:
        - $ref: '#/components/schemas/UserMessage'
        - $ref: '#/components/schemas/SystemMessage'
        - $ref: '#/components/schemas/ToolResponseMessage'
        - $ref: '#/components/schemas/CompletionMessage'
      discriminator:
        propertyName: role
        mapping:
          user: '#/components/schemas/UserMessage'
          system: '#/components/schemas/SystemMessage'
          tool: '#/components/schemas/ToolResponseMessage'
          assistant: '#/components/schemas/CompletionMessage'
    ResponseFormat:
      oneOf:
        - $ref: '#/components/schemas/JsonSchemaResponseFormat'
        - $ref: '#/components/schemas/GrammarResponseFormat'
      discriminator:
        propertyName: type
        mapping:
          json_schema: '#/components/schemas/JsonSchemaResponseFormat'
          grammar: '#/components/schemas/GrammarResponseFormat'
    SamplingParams:
      type: object
      properties:
        strategy:
          $ref: '#/components/schemas/SamplingStrategy'
        max_tokens:
          type: integer
          default: 0
        repetition_penalty:
          type: number
          default: 1.0
      additionalProperties: false
      required:
        - strategy
      title: SamplingParams
    SamplingStrategy:
      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'
    SystemMessage:
      type: object
      properties:
        role:
          type: string
          const: system
          default: system
          description: >-
            Must be "system" to identify this as a system message
        content:
          $ref: '#/components/schemas/InterleavedContent'
          description: >-
            The content of the "system prompt". If multiple system messages are provided,
            they are concatenated. The underlying Llama Stack code may also add other
            system messages (for example, for formatting tool definitions).
      additionalProperties: false
      required:
        - role
        - content
      title: SystemMessage
      description: >-
        A system message providing instructions or context to the model.
    TextContentItem:
      type: object
      properties:
        type:
          type: string
          const: text
          default: text
          description: >-
            Discriminator type of the content item. Always "text"
        text:
          type: string
          description: Text content
      additionalProperties: false
      required:
        - type
        - text
      title: TextContentItem
      description: A text content item
    ToolCall:
      type: object
      properties:
        call_id:
          type: string
        tool_name:
          oneOf:
            - type: string
              enum:
                - brave_search
                - wolfram_alpha
                - photogen
                - code_interpreter
              title: BuiltinTool
            - type: string
        arguments:
          type: object
          additionalProperties:
            oneOf:
              - type: string
              - type: integer
              - type: number
              - type: boolean
              - type: 'null'
              - type: array
                items:
                  oneOf:
                    - type: string
                    - type: integer
                    - type: number
                    - type: boolean
                    - type: 'null'
              - type: object
                additionalProperties:
                  oneOf:
                    - type: string
                    - type: integer
                    - type: number
                    - type: boolean
                    - type: 'null'
      additionalProperties: false
      required:
        - call_id
        - tool_name
        - arguments
      title: ToolCall
    ToolDefinition:
      type: object
      properties:
        tool_name:
          oneOf:
            - type: string
              enum:
                - brave_search
                - wolfram_alpha
                - photogen
                - code_interpreter
              title: BuiltinTool
            - type: string
        description:
          type: string
        parameters:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ToolParamDefinition'
      additionalProperties: false
      required:
        - tool_name
      title: ToolDefinition
    ToolParamDefinition:
      type: object
      properties:
        param_type:
          type: string
        description:
          type: string
        required:
          type: boolean
          default: true
        default:
          oneOf:
            - type: 'null'
            - type: boolean
            - type: number
            - type: string
            - type: array
            - type: object
      additionalProperties: false
      required:
        - param_type
      title: ToolParamDefinition
    ToolResponseMessage:
      type: object
      properties:
        role:
          type: string
          const: tool
          default: tool
          description: >-
            Must be "tool" to identify this as a tool response
        call_id:
          type: string
          description: >-
            Unique identifier for the tool call this response is for
        tool_name:
          oneOf:
            - type: string
              enum:
                - brave_search
                - wolfram_alpha
                - photogen
                - code_interpreter
              title: BuiltinTool
            - type: string
          description: Name of the tool that was called
        content:
          $ref: '#/components/schemas/InterleavedContent'
          description: The response content from the tool
      additionalProperties: false
      required:
        - role
        - call_id
        - tool_name
        - content
      title: ToolResponseMessage
      description: >-
        A message representing the result of a tool invocation.
    TopKSamplingStrategy:
      type: object
      properties:
        type:
          type: string
          const: top_k
          default: top_k
        top_k:
          type: integer
      additionalProperties: false
      required:
        - type
        - top_k
      title: TopKSamplingStrategy
    TopPSamplingStrategy:
      type: object
      properties:
        type:
          type: string
          const: top_p
          default: top_p
        temperature:
          type: number
        top_p:
          type: number
          default: 0.95
      additionalProperties: false
      required:
        - type
      title: TopPSamplingStrategy
    URL:
      type: object
      properties:
        uri:
          type: string
      additionalProperties: false
      required:
        - uri
      title: URL
    UserMessage:
      type: object
      properties:
        role:
          type: string
          const: user
          default: user
          description: >-
            Must be "user" to identify this as a user message
        content:
          $ref: '#/components/schemas/InterleavedContent'
          description: >-
            The content of the message, which can include text and other media
        context:
          $ref: '#/components/schemas/InterleavedContent'
          description: >-
            (Optional) This field is used internally by Llama Stack to pass RAG context.
            This field may be removed in the API in the future.
      additionalProperties: false
      required:
        - role
        - content
      title: UserMessage
      description: >-
        A message from the user in a chat conversation.
    BatchChatCompletionRequest:
      type: object
      properties:
        model:
          type: string
        messages_batch:
          type: array
          items:
            type: array
            items:
              $ref: '#/components/schemas/Message'
        sampling_params:
          $ref: '#/components/schemas/SamplingParams'
        tools:
          type: array
          items:
            $ref: '#/components/schemas/ToolDefinition'
        tool_choice:
          type: string
          enum:
            - auto
            - required
            - none
          title: ToolChoice
          description: >-
            Whether tool use is required or automatic. This is a hint to the model
            which may not be followed. It depends on the Instruction Following capabilities
            of the model.
        tool_prompt_format:
          type: string
          enum:
            - json
            - function_tag
            - python_list
          title: ToolPromptFormat
          description: >-
            Prompt format for calling custom / zero shot tools.
        response_format:
          $ref: '#/components/schemas/ResponseFormat'
        logprobs:
          type: object
          properties:
            top_k:
              type: integer
              default: 0
              description: >-
                How many tokens (for each position) to return log probabilities for.
          additionalProperties: false
          title: LogProbConfig
      additionalProperties: false
      required:
        - model
        - messages_batch
      title: BatchChatCompletionRequest
    BatchChatCompletionResponse:
      type: object
      properties:
        batch:
          type: array
          items:
            $ref: '#/components/schemas/ChatCompletionResponse'
      additionalProperties: false
      required:
        - batch
      title: BatchChatCompletionResponse
    ChatCompletionResponse:
      type: object
      properties:
        metrics:
          type: array
          items:
            $ref: '#/components/schemas/MetricEvent'
        completion_message:
          $ref: '#/components/schemas/CompletionMessage'
          description: The complete response message
        logprobs:
          type: array
          items:
            $ref: '#/components/schemas/TokenLogProbs'
          description: >-
            Optional log probabilities for generated tokens
      additionalProperties: false
      required:
        - completion_message
      title: ChatCompletionResponse
      description: Response from a chat completion request.
    MetricEvent:
      type: object
      properties:
        trace_id:
          type: string
        span_id:
          type: string
        timestamp:
          type: string
          format: date-time
        attributes:
          type: object
          additionalProperties:
            oneOf:
              - type: string
              - type: integer
              - type: number
              - type: boolean
              - type: 'null'
        type:
          type: string
          const: metric
          default: metric
        metric:
          type: string
        value:
          oneOf:
            - type: integer
            - type: number
        unit:
          type: string
      additionalProperties: false
      required:
        - trace_id
        - span_id
        - timestamp
        - type
        - metric
        - value
        - unit
      title: MetricEvent
    TokenLogProbs:
      type: object
      properties:
        logprobs_by_token:
          type: object
          additionalProperties:
            type: number
          description: >-
            Dictionary mapping tokens to their log probabilities
      additionalProperties: false
      required:
        - logprobs_by_token
      title: TokenLogProbs
      description: Log probabilities for generated tokens.
    BatchCompletionRequest:
      type: object
      properties:
        model:
          type: string
        content_batch:
          type: array
          items:
            $ref: '#/components/schemas/InterleavedContent'
        sampling_params:
          $ref: '#/components/schemas/SamplingParams'
        response_format:
          $ref: '#/components/schemas/ResponseFormat'
        logprobs:
          type: object
          properties:
            top_k:
              type: integer
              default: 0
              description: >-
                How many tokens (for each position) to return log probabilities for.
          additionalProperties: false
          title: LogProbConfig
      additionalProperties: false
      required:
        - model
        - content_batch
      title: BatchCompletionRequest
    BatchCompletionResponse:
      type: object
      properties:
        batch:
          type: array
          items:
            $ref: '#/components/schemas/CompletionResponse'
      additionalProperties: false
      required:
        - batch
      title: BatchCompletionResponse
    CompletionResponse:
      type: object
      properties:
        content:
          type: string
          description: The generated completion text
        stop_reason:
          type: string
          enum:
            - end_of_turn
            - end_of_message
            - out_of_tokens
          description: Reason why generation stopped
        logprobs:
          type: array
          items:
            $ref: '#/components/schemas/TokenLogProbs'
          description: >-
            Optional log probabilities for generated tokens
      additionalProperties: false
      required:
        - content
        - stop_reason
      title: CompletionResponse
      description: Response from a completion request.
    CancelTrainingJobRequest:
      type: object
      properties:
        job_uuid:
          type: string
      additionalProperties: false
      required:
        - job_uuid
      title: CancelTrainingJobRequest
    ToolConfig:
      type: object
      properties:
        tool_choice:
          oneOf:
            - type: string
              enum:
                - auto
                - required
                - none
              title: ToolChoice
              description: >-
                Whether tool use is required or automatic. This is a hint to the model
                which may not be followed. It depends on the Instruction Following
                capabilities of the model.
            - type: string
          default: auto
          description: >-
            (Optional) Whether tool use is automatic, required, or none. Can also
            specify a tool name to use a specific tool. Defaults to ToolChoice.auto.
        tool_prompt_format:
          type: string
          enum:
            - json
            - function_tag
            - python_list
          description: >-
            (Optional) Instructs the model how to format tool calls. By default, Llama
            Stack will attempt to use a format that is best adapted to the model.
            - `ToolPromptFormat.json`: The tool calls are formatted as a JSON object.
            - `ToolPromptFormat.function_tag`: The tool calls are enclosed in a <function=function_name>
            tag. - `ToolPromptFormat.python_list`: The tool calls are output as Python
            syntax -- a list of function calls.
        system_message_behavior:
          type: string
          enum:
            - append
            - replace
          description: >-
            (Optional) Config for how to override the default system prompt. - `SystemMessageBehavior.append`:
            Appends the provided system message to the default system prompt. - `SystemMessageBehavior.replace`:
            Replaces the default system prompt with the provided system message. The
            system message can include the string '{{function_definitions}}' to indicate
            where the function definitions should be inserted.
          default: append
      additionalProperties: false
      title: ToolConfig
      description: Configuration for tool use.
    ChatCompletionRequest:
      type: object
      properties:
        model_id:
          type: string
          description: >-
            The identifier of the model to use. The model must be registered with
            Llama Stack and available via the /models endpoint.
        messages:
          type: array
          items:
            $ref: '#/components/schemas/Message'
          description: List of messages in the conversation
        sampling_params:
          $ref: '#/components/schemas/SamplingParams'
          description: >-
            Parameters to control the sampling strategy
        tools:
          type: array
          items:
            $ref: '#/components/schemas/ToolDefinition'
          description: >-
            (Optional) List of tool definitions available to the model
        tool_choice:
          type: string
          enum:
            - auto
            - required
            - none
          description: >-
            (Optional) Whether tool use is required or automatic. Defaults to ToolChoice.auto.
            .. deprecated:: Use tool_config instead.
        tool_prompt_format:
          type: string
          enum:
            - json
            - function_tag
            - python_list
          description: >-
            (Optional) Instructs the model how to format tool calls. By default, Llama
            Stack will attempt to use a format that is best adapted to the model.
            - `ToolPromptFormat.json`: The tool calls are formatted as a JSON object.
            - `ToolPromptFormat.function_tag`: The tool calls are enclosed in a <function=function_name>
            tag. - `ToolPromptFormat.python_list`: The tool calls are output as Python
            syntax -- a list of function calls. .. deprecated:: Use tool_config instead.
        response_format:
          $ref: '#/components/schemas/ResponseFormat'
          description: >-
            (Optional) Grammar specification for guided (structured) decoding. There
            are two options: - `ResponseFormat.json_schema`: The grammar is a JSON
            schema. Most providers support this format. - `ResponseFormat.grammar`:
            The grammar is a BNF grammar. This format is more flexible, but not all
            providers support it.
        stream:
          type: boolean
          description: >-
            (Optional) If True, generate an SSE event stream of the response. Defaults
            to False.
        logprobs:
          type: object
          properties:
            top_k:
              type: integer
              default: 0
              description: >-
                How many tokens (for each position) to return log probabilities for.
          additionalProperties: false
          description: >-
            (Optional) If specified, log probabilities for each token position will
            be returned.
        tool_config:
          $ref: '#/components/schemas/ToolConfig'
          description: (Optional) Configuration for tool use.
      additionalProperties: false
      required:
        - model_id
        - messages
      title: ChatCompletionRequest
    ChatCompletionResponseEvent:
      type: object
      properties:
        event_type:
          type: string
          enum:
            - start
            - complete
            - progress
          description: Type of the event
        delta:
          $ref: '#/components/schemas/ContentDelta'
          description: >-
            Content generated since last event. This can be one or more tokens, or
            a tool call.
        logprobs:
          type: array
          items:
            $ref: '#/components/schemas/TokenLogProbs'
          description: >-
            Optional log probabilities for generated tokens
        stop_reason:
          type: string
          enum:
            - end_of_turn
            - end_of_message
            - out_of_tokens
          description: >-
            Optional reason why generation stopped, if complete
      additionalProperties: false
      required:
        - event_type
        - delta
      title: ChatCompletionResponseEvent
      description: >-
        An event during chat completion generation.
    ChatCompletionResponseStreamChunk:
      type: object
      properties:
        metrics:
          type: array
          items:
            $ref: '#/components/schemas/MetricEvent'
        event:
          $ref: '#/components/schemas/ChatCompletionResponseEvent'
          description: The event containing the new content
      additionalProperties: false
      required:
        - event
      title: ChatCompletionResponseStreamChunk
      description: >-
        A chunk of a streamed chat completion response.
    ContentDelta:
      oneOf:
        - $ref: '#/components/schemas/TextDelta'
        - $ref: '#/components/schemas/ImageDelta'
        - $ref: '#/components/schemas/ToolCallDelta'
      discriminator:
        propertyName: type
        mapping:
          text: '#/components/schemas/TextDelta'
          image: '#/components/schemas/ImageDelta'
          tool_call: '#/components/schemas/ToolCallDelta'
    ImageDelta:
      type: object
      properties:
        type:
          type: string
          const: image
          default: image
        image:
          type: string
          contentEncoding: base64
      additionalProperties: false
      required:
        - type
        - image
      title: ImageDelta
    TextDelta:
      type: object
      properties:
        type:
          type: string
          const: text
          default: text
        text:
          type: string
      additionalProperties: false
      required:
        - type
        - text
      title: TextDelta
    ToolCallDelta:
      type: object
      properties:
        type:
          type: string
          const: tool_call
          default: tool_call
        tool_call:
          oneOf:
            - type: string
            - $ref: '#/components/schemas/ToolCall'
        parse_status:
          type: string
          enum:
            - started
            - in_progress
            - failed
            - succeeded
          title: ToolCallParseStatus
      additionalProperties: false
      required:
        - type
        - tool_call
        - parse_status
      title: ToolCallDelta
    CompletionRequest:
      type: object
      properties:
        model_id:
          type: string
          description: >-
            The identifier of the model to use. The model must be registered with
            Llama Stack and available via the /models endpoint.
        content:
          $ref: '#/components/schemas/InterleavedContent'
          description: The content to generate a completion for
        sampling_params:
          $ref: '#/components/schemas/SamplingParams'
          description: >-
            (Optional) Parameters to control the sampling strategy
        response_format:
          $ref: '#/components/schemas/ResponseFormat'
          description: >-
            (Optional) Grammar specification for guided (structured) decoding
        stream:
          type: boolean
          description: >-
            (Optional) If True, generate an SSE event stream of the response. Defaults
            to False.
        logprobs:
          type: object
          properties:
            top_k:
              type: integer
              default: 0
              description: >-
                How many tokens (for each position) to return log probabilities for.
          additionalProperties: false
          description: >-
            (Optional) If specified, log probabilities for each token position will
            be returned.
      additionalProperties: false
      required:
        - model_id
        - content
      title: CompletionRequest
    CompletionResponseStreamChunk:
      type: object
      properties:
        delta:
          type: string
          description: >-
            New content generated since last chunk. This can be one or more tokens.
        stop_reason:
          type: string
          enum:
            - end_of_turn
            - end_of_message
            - out_of_tokens
          description: >-
            Optional reason why generation stopped, if complete
        logprobs:
          type: array
          items:
            $ref: '#/components/schemas/TokenLogProbs'
          description: >-
            Optional log probabilities for generated tokens
      additionalProperties: false
      required:
        - delta
      title: CompletionResponseStreamChunk
      description: >-
        A chunk of a streamed completion response.
    AgentConfig:
      type: object
      properties:
        sampling_params:
          $ref: '#/components/schemas/SamplingParams'
        input_shields:
          type: array
          items:
            type: string
        output_shields:
          type: array
          items:
            type: string
        toolgroups:
          type: array
          items:
            $ref: '#/components/schemas/AgentTool'
        client_tools:
          type: array
          items:
            $ref: '#/components/schemas/ToolDef'
        tool_choice:
          type: string
          enum:
            - auto
            - required
            - none
          title: ToolChoice
          description: >-
            Whether tool use is required or automatic. This is a hint to the model
            which may not be followed. It depends on the Instruction Following capabilities
            of the model.
          deprecated: true
        tool_prompt_format:
          type: string
          enum:
            - json
            - function_tag
            - python_list
          title: ToolPromptFormat
          description: >-
            Prompt format for calling custom / zero shot tools.
          deprecated: true
        tool_config:
          $ref: '#/components/schemas/ToolConfig'
        max_infer_iters:
          type: integer
          default: 10
        model:
          type: string
        instructions:
          type: string
        enable_session_persistence:
          type: boolean
          default: false
        response_format:
          $ref: '#/components/schemas/ResponseFormat'
      additionalProperties: false
      required:
        - model
        - instructions
      title: AgentConfig
    AgentTool:
      oneOf:
        - type: string
        - type: object
          properties:
            name:
              type: string
            args:
              type: object
              additionalProperties:
                oneOf:
                  - type: 'null'
                  - type: boolean
                  - type: number
                  - type: string
                  - type: array
                  - type: object
          additionalProperties: false
          required:
            - name
            - args
          title: AgentToolGroupWithArgs
    ToolDef:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/ToolParameter'
        metadata:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - name
      title: ToolDef
    ToolParameter:
      type: object
      properties:
        name:
          type: string
        parameter_type:
          type: string
        description:
          type: string
        required:
          type: boolean
          default: true
        default:
          oneOf:
            - type: 'null'
            - type: boolean
            - type: number
            - type: string
            - type: array
            - type: object
      additionalProperties: false
      required:
        - name
        - parameter_type
        - description
        - required
      title: ToolParameter
    CreateAgentRequest:
      type: object
      properties:
        agent_config:
          $ref: '#/components/schemas/AgentConfig'
          description: The configuration for the agent.
      additionalProperties: false
      required:
        - agent_config
      title: CreateAgentRequest
    AgentCreateResponse:
      type: object
      properties:
        agent_id:
          type: string
      additionalProperties: false
      required:
        - agent_id
      title: AgentCreateResponse
    CreateAgentSessionRequest:
      type: object
      properties:
        session_name:
          type: string
          description: The name of the session to create.
      additionalProperties: false
      required:
        - session_name
      title: CreateAgentSessionRequest
    AgentSessionCreateResponse:
      type: object
      properties:
        session_id:
          type: string
      additionalProperties: false
      required:
        - session_id
      title: AgentSessionCreateResponse
    CreateAgentTurnRequest:
      type: object
      properties:
        messages:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/UserMessage'
              - $ref: '#/components/schemas/ToolResponseMessage'
          description: List of messages to start the turn with.
        stream:
          type: boolean
          description: >-
            (Optional) If True, generate an SSE event stream of the response. Defaults
            to False.
        documents:
          type: array
          items:
            type: object
            properties:
              content:
                oneOf:
                  - type: string
                  - $ref: '#/components/schemas/InterleavedContentItem'
                  - type: array
                    items:
                      $ref: '#/components/schemas/InterleavedContentItem'
                  - $ref: '#/components/schemas/URL'
                description: The content of the document.
              mime_type:
                type: string
                description: The MIME type of the document.
            additionalProperties: false
            required:
              - content
              - mime_type
            title: Document
            description: A document to be used by an agent.
          description: >-
            (Optional) List of documents to create the turn with.
        toolgroups:
          type: array
          items:
            $ref: '#/components/schemas/AgentTool'
          description: >-
            (Optional) List of toolgroups to create the turn with, will be used in
            addition to the agent's config toolgroups for the request.
        tool_config:
          $ref: '#/components/schemas/ToolConfig'
          description: >-
            (Optional) The tool configuration to create the turn with, will be used
            to override the agent's tool_config.
      additionalProperties: false
      required:
        - messages
      title: CreateAgentTurnRequest
    InferenceStep:
      type: object
      properties:
        turn_id:
          type: string
          description: The ID of the turn.
        step_id:
          type: string
          description: The ID of the step.
        started_at:
          type: string
          format: date-time
          description: The time the step started.
        completed_at:
          type: string
          format: date-time
          description: The time the step completed.
        step_type:
          type: string
          const: inference
          default: inference
        model_response:
          $ref: '#/components/schemas/CompletionMessage'
          description: The response from the LLM.
      additionalProperties: false
      required:
        - turn_id
        - step_id
        - step_type
        - model_response
      title: InferenceStep
      description: An inference step in an agent turn.
    MemoryRetrievalStep:
      type: object
      properties:
        turn_id:
          type: string
          description: The ID of the turn.
        step_id:
          type: string
          description: The ID of the step.
        started_at:
          type: string
          format: date-time
          description: The time the step started.
        completed_at:
          type: string
          format: date-time
          description: The time the step completed.
        step_type:
          type: string
          const: memory_retrieval
          default: memory_retrieval
        vector_db_ids:
          type: string
          description: >-
            The IDs of the vector databases to retrieve context from.
        inserted_context:
          $ref: '#/components/schemas/InterleavedContent'
          description: >-
            The context retrieved from the vector databases.
      additionalProperties: false
      required:
        - turn_id
        - step_id
        - step_type
        - vector_db_ids
        - inserted_context
      title: MemoryRetrievalStep
      description: >-
        A memory retrieval step in an agent turn.
    SafetyViolation:
      type: object
      properties:
        violation_level:
          $ref: '#/components/schemas/ViolationLevel'
        user_message:
          type: string
        metadata:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - violation_level
        - metadata
      title: SafetyViolation
    ShieldCallStep:
      type: object
      properties:
        turn_id:
          type: string
          description: The ID of the turn.
        step_id:
          type: string
          description: The ID of the step.
        started_at:
          type: string
          format: date-time
          description: The time the step started.
        completed_at:
          type: string
          format: date-time
          description: The time the step completed.
        step_type:
          type: string
          const: shield_call
          default: shield_call
        violation:
          $ref: '#/components/schemas/SafetyViolation'
          description: The violation from the shield call.
      additionalProperties: false
      required:
        - turn_id
        - step_id
        - step_type
      title: ShieldCallStep
      description: A shield call step in an agent turn.
    ToolExecutionStep:
      type: object
      properties:
        turn_id:
          type: string
          description: The ID of the turn.
        step_id:
          type: string
          description: The ID of the step.
        started_at:
          type: string
          format: date-time
          description: The time the step started.
        completed_at:
          type: string
          format: date-time
          description: The time the step completed.
        step_type:
          type: string
          const: tool_execution
          default: tool_execution
        tool_calls:
          type: array
          items:
            $ref: '#/components/schemas/ToolCall'
          description: The tool calls to execute.
        tool_responses:
          type: array
          items:
            $ref: '#/components/schemas/ToolResponse'
          description: The tool responses from the tool calls.
      additionalProperties: false
      required:
        - turn_id
        - step_id
        - step_type
        - tool_calls
        - tool_responses
      title: ToolExecutionStep
      description: A tool execution step in an agent turn.
    ToolResponse:
      type: object
      properties:
        call_id:
          type: string
        tool_name:
          oneOf:
            - type: string
              enum:
                - brave_search
                - wolfram_alpha
                - photogen
                - code_interpreter
              title: BuiltinTool
            - type: string
        content:
          $ref: '#/components/schemas/InterleavedContent'
        metadata:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - call_id
        - tool_name
        - content
      title: ToolResponse
    Turn:
      type: object
      properties:
        turn_id:
          type: string
        session_id:
          type: string
        input_messages:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/UserMessage'
              - $ref: '#/components/schemas/ToolResponseMessage'
        steps:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/InferenceStep'
              - $ref: '#/components/schemas/ToolExecutionStep'
              - $ref: '#/components/schemas/ShieldCallStep'
              - $ref: '#/components/schemas/MemoryRetrievalStep'
            discriminator:
              propertyName: step_type
              mapping:
                inference: '#/components/schemas/InferenceStep'
                tool_execution: '#/components/schemas/ToolExecutionStep'
                shield_call: '#/components/schemas/ShieldCallStep'
                memory_retrieval: '#/components/schemas/MemoryRetrievalStep'
        output_message:
          $ref: '#/components/schemas/CompletionMessage'
        output_attachments:
          type: array
          items:
            type: object
            properties:
              content:
                oneOf:
                  - type: string
                  - $ref: '#/components/schemas/InterleavedContentItem'
                  - type: array
                    items:
                      $ref: '#/components/schemas/InterleavedContentItem'
                  - $ref: '#/components/schemas/URL'
                description: The content of the attachment.
              mime_type:
                type: string
                description: The MIME type of the attachment.
            additionalProperties: false
            required:
              - content
              - mime_type
            title: Attachment
            description: An attachment to an agent turn.
        started_at:
          type: string
          format: date-time
        completed_at:
          type: string
          format: date-time
      additionalProperties: false
      required:
        - turn_id
        - session_id
        - input_messages
        - steps
        - output_message
        - started_at
      title: Turn
      description: >-
        A single turn in an interaction with an Agentic System.
    ViolationLevel:
      type: string
      enum:
        - info
        - warn
        - error
      title: ViolationLevel
    AgentTurnResponseEvent:
      type: object
      properties:
        payload:
          $ref: '#/components/schemas/AgentTurnResponseEventPayload'
      additionalProperties: false
      required:
        - payload
      title: AgentTurnResponseEvent
    AgentTurnResponseEventPayload:
      oneOf:
        - $ref: '#/components/schemas/AgentTurnResponseStepStartPayload'
        - $ref: '#/components/schemas/AgentTurnResponseStepProgressPayload'
        - $ref: '#/components/schemas/AgentTurnResponseStepCompletePayload'
        - $ref: '#/components/schemas/AgentTurnResponseTurnStartPayload'
        - $ref: '#/components/schemas/AgentTurnResponseTurnCompletePayload'
        - $ref: '#/components/schemas/AgentTurnResponseTurnAwaitingInputPayload'
      discriminator:
        propertyName: event_type
        mapping:
          step_start: '#/components/schemas/AgentTurnResponseStepStartPayload'
          step_progress: '#/components/schemas/AgentTurnResponseStepProgressPayload'
          step_complete: '#/components/schemas/AgentTurnResponseStepCompletePayload'
          turn_start: '#/components/schemas/AgentTurnResponseTurnStartPayload'
          turn_complete: '#/components/schemas/AgentTurnResponseTurnCompletePayload'
          turn_awaiting_input: '#/components/schemas/AgentTurnResponseTurnAwaitingInputPayload'
    AgentTurnResponseStepCompletePayload:
      type: object
      properties:
        event_type:
          type: string
          const: step_complete
          default: step_complete
        step_type:
          type: string
          enum:
            - inference
            - tool_execution
            - shield_call
            - memory_retrieval
          title: StepType
          description: Type of the step in an agent turn.
        step_id:
          type: string
        step_details:
          oneOf:
            - $ref: '#/components/schemas/InferenceStep'
            - $ref: '#/components/schemas/ToolExecutionStep'
            - $ref: '#/components/schemas/ShieldCallStep'
            - $ref: '#/components/schemas/MemoryRetrievalStep'
          discriminator:
            propertyName: step_type
            mapping:
              inference: '#/components/schemas/InferenceStep'
              tool_execution: '#/components/schemas/ToolExecutionStep'
              shield_call: '#/components/schemas/ShieldCallStep'
              memory_retrieval: '#/components/schemas/MemoryRetrievalStep'
      additionalProperties: false
      required:
        - event_type
        - step_type
        - step_id
        - step_details
      title: AgentTurnResponseStepCompletePayload
    AgentTurnResponseStepProgressPayload:
      type: object
      properties:
        event_type:
          type: string
          const: step_progress
          default: step_progress
        step_type:
          type: string
          enum:
            - inference
            - tool_execution
            - shield_call
            - memory_retrieval
          title: StepType
          description: Type of the step in an agent turn.
        step_id:
          type: string
        delta:
          $ref: '#/components/schemas/ContentDelta'
      additionalProperties: false
      required:
        - event_type
        - step_type
        - step_id
        - delta
      title: AgentTurnResponseStepProgressPayload
    AgentTurnResponseStepStartPayload:
      type: object
      properties:
        event_type:
          type: string
          const: step_start
          default: step_start
        step_type:
          type: string
          enum:
            - inference
            - tool_execution
            - shield_call
            - memory_retrieval
          title: StepType
          description: Type of the step in an agent turn.
        step_id:
          type: string
        metadata:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - event_type
        - step_type
        - step_id
      title: AgentTurnResponseStepStartPayload
    AgentTurnResponseStreamChunk:
      type: object
      properties:
        event:
          $ref: '#/components/schemas/AgentTurnResponseEvent'
      additionalProperties: false
      required:
        - event
      title: AgentTurnResponseStreamChunk
      description: streamed agent turn completion response.
    "AgentTurnResponseTurnAwaitingInputPayload":
      type: object
      properties:
        event_type:
          type: string
          const: turn_awaiting_input
          default: turn_awaiting_input
        turn:
          $ref: '#/components/schemas/Turn'
      additionalProperties: false
      required:
        - event_type
        - turn
      title: >-
        AgentTurnResponseTurnAwaitingInputPayload
    AgentTurnResponseTurnCompletePayload:
      type: object
      properties:
        event_type:
          type: string
          const: turn_complete
          default: turn_complete
        turn:
          $ref: '#/components/schemas/Turn'
      additionalProperties: false
      required:
        - event_type
        - turn
      title: AgentTurnResponseTurnCompletePayload
    AgentTurnResponseTurnStartPayload:
      type: object
      properties:
        event_type:
          type: string
          const: turn_start
          default: turn_start
        turn_id:
          type: string
      additionalProperties: false
      required:
        - event_type
        - turn_id
      title: AgentTurnResponseTurnStartPayload
    CreateUploadSessionRequest:
      type: object
      properties:
        bucket:
          type: string
          description: >-
            Bucket under which the file is stored (valid chars: a-zA-Z0-9_-)
        key:
          type: string
          description: >-
            Key under which the file is stored (valid chars: a-zA-Z0-9_-/.)
        mime_type:
          type: string
          description: MIME type of the file
        size:
          type: integer
          description: File size in bytes
      additionalProperties: false
      required:
        - bucket
        - key
        - mime_type
        - size
      title: CreateUploadSessionRequest
    FileUploadResponse:
      type: object
      properties:
        id:
          type: string
          description: ID of the upload session
        url:
          type: string
          description: Upload URL for the file or file parts
        offset:
          type: integer
          description: Upload content offset
        size:
          type: integer
          description: Upload content size
      additionalProperties: false
      required:
        - id
        - url
        - offset
        - size
      title: FileUploadResponse
      description: >-
        Response after initiating a file upload session.
    FileResponse:
      type: object
      properties:
        bucket:
          type: string
          description: >-
            Bucket under which the file is stored (valid chars: a-zA-Z0-9_-)
        key:
          type: string
          description: >-
            Key under which the file is stored (valid chars: a-zA-Z0-9_-/.)
        mime_type:
          type: string
          description: MIME type of the file
        url:
          type: string
          description: Upload URL for the file contents
        bytes:
          type: integer
          description: Size of the file in bytes
        created_at:
          type: integer
          description: Timestamp of when the file was created
      additionalProperties: false
      required:
        - bucket
        - key
        - mime_type
        - url
        - bytes
        - created_at
      title: FileResponse
      description: Response representing a file entry.
    EmbeddingsRequest:
      type: object
      properties:
        model_id:
          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.
        contents:
          oneOf:
            - type: array
              items:
                type: string
            - type: array
              items:
                $ref: '#/components/schemas/InterleavedContentItem'
          description: >-
            List of contents to generate embeddings for. Each content can be a string
            or an InterleavedContentItem (and hence can be multimodal). The behavior
            depends on the model and provider. Some models may only support text.
        text_truncation:
          type: string
          enum:
            - none
            - start
            - end
          description: >-
            (Optional) Config for how to truncate text for embedding when text is
            longer than the model's max sequence length.
        output_dimension:
          type: integer
          description: >-
            (Optional) Output dimensionality for the embeddings. Only supported by
            Matryoshka models.
        task_type:
          type: string
          enum:
            - query
            - document
          description: >-
            (Optional) How is the embedding being used? This is only supported by
            asymmetric embedding models.
      additionalProperties: false
      required:
        - model_id
        - contents
      title: EmbeddingsRequest
    EmbeddingsResponse:
      type: object
      properties:
        embeddings:
          type: array
          items:
            type: array
            items:
              type: number
          description: >-
            List of embedding vectors, one per input content. Each embedding is a
            list of floats. The dimensionality of the embedding is model-specific;
            you can check model metadata using /models/{model_id}
      additionalProperties: false
      required:
        - embeddings
      title: EmbeddingsResponse
      description: >-
        Response containing generated embeddings.
    AgentCandidate:
      type: object
      properties:
        type:
          type: string
          const: agent
          default: agent
        config:
          $ref: '#/components/schemas/AgentConfig'
          description: >-
            The configuration for the agent candidate.
      additionalProperties: false
      required:
        - type
        - config
      title: AgentCandidate
      description: An agent candidate for evaluation.
    AggregationFunctionType:
      type: string
      enum:
        - average
        - median
        - categorical_count
        - accuracy
      title: AggregationFunctionType
    BasicScoringFnParams:
      type: object
      properties:
        type:
          type: string
          const: basic
          default: basic
        aggregation_functions:
          type: array
          items:
            $ref: '#/components/schemas/AggregationFunctionType'
      additionalProperties: false
      required:
        - type
      title: BasicScoringFnParams
    BenchmarkConfig:
      type: object
      properties:
        eval_candidate:
          $ref: '#/components/schemas/EvalCandidate'
          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:
          type: integer
          description: >-
            (Optional) The number of examples to evaluate. If not provided, all examples
            in the dataset will be evaluated
      additionalProperties: false
      required:
        - eval_candidate
        - scoring_params
      title: BenchmarkConfig
      description: >-
        A benchmark configuration for evaluation.
    EvalCandidate:
      oneOf:
        - $ref: '#/components/schemas/ModelCandidate'
        - $ref: '#/components/schemas/AgentCandidate'
      discriminator:
        propertyName: type
        mapping:
          model: '#/components/schemas/ModelCandidate'
          agent: '#/components/schemas/AgentCandidate'
    LLMAsJudgeScoringFnParams:
      type: object
      properties:
        type:
          type: string
          const: llm_as_judge
          default: llm_as_judge
        judge_model:
          type: string
        prompt_template:
          type: string
        judge_score_regexes:
          type: array
          items:
            type: string
        aggregation_functions:
          type: array
          items:
            $ref: '#/components/schemas/AggregationFunctionType'
      additionalProperties: false
      required:
        - type
        - judge_model
      title: LLMAsJudgeScoringFnParams
    ModelCandidate:
      type: object
      properties:
        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:
      type: object
      properties:
        type:
          type: string
          const: regex_parser
          default: regex_parser
        parsing_regexes:
          type: array
          items:
            type: string
        aggregation_functions:
          type: array
          items:
            $ref: '#/components/schemas/AggregationFunctionType'
      additionalProperties: false
      required:
        - type
      title: RegexParserScoringFnParams
    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'
    EvaluateRowsRequest:
      type: object
      properties:
        input_rows:
          type: array
          items:
            type: object
            additionalProperties:
              oneOf:
                - type: 'null'
                - type: boolean
                - type: number
                - type: string
                - type: array
                - type: object
          description: The rows to 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
      required:
        - input_rows
        - scoring_functions
        - benchmark_config
      title: EvaluateRowsRequest
    EvaluateResponse:
      type: object
      properties:
        generations:
          type: array
          items:
            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
      required:
        - generations
        - scores
      title: EvaluateResponse
      description: The response from an evaluation.
    ScoringResult:
      type: object
      properties:
        score_rows:
          type: array
          items:
            type: object
            additionalProperties:
              oneOf:
                - type: 'null'
                - type: boolean
                - type: number
                - type: string
                - type: array
                - type: object
          description: >-
            The scoring result for each row. Each row is a map of column name to value.
        aggregated_results:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
          description: Map of metric name to aggregated value
      additionalProperties: false
      required:
        - score_rows
        - aggregated_results
      title: ScoringResult
      description: A scoring result for a single row.
    Agent:
      type: object
      properties:
        agent_id:
          type: string
        agent_config:
          $ref: '#/components/schemas/AgentConfig'
        created_at:
          type: string
          format: date-time
      additionalProperties: false
      required:
        - agent_id
        - agent_config
        - created_at
      title: Agent
    Session:
      type: object
      properties:
        session_id:
          type: string
        session_name:
          type: string
        turns:
          type: array
          items:
            $ref: '#/components/schemas/Turn'
        started_at:
          type: string
          format: date-time
      additionalProperties: false
      required:
        - session_id
        - session_name
        - turns
        - started_at
      title: Session
      description: >-
        A single session of an interaction with an Agentic System.
    AgentStepResponse:
      type: object
      properties:
        step:
          oneOf:
            - $ref: '#/components/schemas/InferenceStep'
            - $ref: '#/components/schemas/ToolExecutionStep'
            - $ref: '#/components/schemas/ShieldCallStep'
            - $ref: '#/components/schemas/MemoryRetrievalStep'
          discriminator:
            propertyName: step_type
            mapping:
              inference: '#/components/schemas/InferenceStep'
              tool_execution: '#/components/schemas/ToolExecutionStep'
              shield_call: '#/components/schemas/ShieldCallStep'
              memory_retrieval: '#/components/schemas/MemoryRetrievalStep'
      additionalProperties: false
      required:
        - step
      title: AgentStepResponse
    Benchmark:
      type: object
      properties:
        identifier:
          type: string
        provider_resource_id:
          type: string
        provider_id:
          type: string
        type:
          type: string
          const: benchmark
          default: benchmark
        dataset_id:
          type: string
        scoring_functions:
          type: array
          items:
            type: string
        metadata:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - identifier
        - provider_resource_id
        - provider_id
        - type
        - dataset_id
        - scoring_functions
        - metadata
      title: Benchmark
    AgentTurnInputType:
      type: object
      properties:
        type:
          type: string
          const: agent_turn_input
          default: agent_turn_input
      additionalProperties: false
      required:
        - type
      title: AgentTurnInputType
    ArrayType:
      type: object
      properties:
        type:
          type: string
          const: array
          default: array
      additionalProperties: false
      required:
        - type
      title: ArrayType
    BooleanType:
      type: object
      properties:
        type:
          type: string
          const: boolean
          default: boolean
      additionalProperties: false
      required:
        - type
      title: BooleanType
    ChatCompletionInputType:
      type: object
      properties:
        type:
          type: string
          const: chat_completion_input
          default: chat_completion_input
      additionalProperties: false
      required:
        - type
      title: ChatCompletionInputType
    CompletionInputType:
      type: object
      properties:
        type:
          type: string
          const: completion_input
          default: completion_input
      additionalProperties: false
      required:
        - type
      title: CompletionInputType
    Dataset:
      type: object
      properties:
        identifier:
          type: string
        provider_resource_id:
          type: string
        provider_id:
          type: string
        type:
          type: string
          const: dataset
          default: dataset
        dataset_schema:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ParamType'
        url:
          $ref: '#/components/schemas/URL'
        metadata:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - identifier
        - provider_resource_id
        - provider_id
        - type
        - dataset_schema
        - url
        - metadata
      title: Dataset
    JsonType:
      type: object
      properties:
        type:
          type: string
          const: json
          default: json
      additionalProperties: false
      required:
        - type
      title: JsonType
    NumberType:
      type: object
      properties:
        type:
          type: string
          const: number
          default: number
      additionalProperties: false
      required:
        - type
      title: NumberType
    ObjectType:
      type: object
      properties:
        type:
          type: string
          const: object
          default: object
      additionalProperties: false
      required:
        - type
      title: ObjectType
    ParamType:
      oneOf:
        - $ref: '#/components/schemas/StringType'
        - $ref: '#/components/schemas/NumberType'
        - $ref: '#/components/schemas/BooleanType'
        - $ref: '#/components/schemas/ArrayType'
        - $ref: '#/components/schemas/ObjectType'
        - $ref: '#/components/schemas/JsonType'
        - $ref: '#/components/schemas/UnionType'
        - $ref: '#/components/schemas/ChatCompletionInputType'
        - $ref: '#/components/schemas/CompletionInputType'
        - $ref: '#/components/schemas/AgentTurnInputType'
      discriminator:
        propertyName: type
        mapping:
          string: '#/components/schemas/StringType'
          number: '#/components/schemas/NumberType'
          boolean: '#/components/schemas/BooleanType'
          array: '#/components/schemas/ArrayType'
          object: '#/components/schemas/ObjectType'
          json: '#/components/schemas/JsonType'
          union: '#/components/schemas/UnionType'
          chat_completion_input: '#/components/schemas/ChatCompletionInputType'
          completion_input: '#/components/schemas/CompletionInputType'
          agent_turn_input: '#/components/schemas/AgentTurnInputType'
    StringType:
      type: object
      properties:
        type:
          type: string
          const: string
          default: string
      additionalProperties: false
      required:
        - type
      title: StringType
    UnionType:
      type: object
      properties:
        type:
          type: string
          const: union
          default: union
      additionalProperties: false
      required:
        - type
      title: UnionType
    Model:
      type: object
      properties:
        identifier:
          type: string
        provider_resource_id:
          type: string
        provider_id:
          type: string
        type:
          type: string
          const: model
          default: model
        metadata:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
        model_type:
          $ref: '#/components/schemas/ModelType'
          default: llm
      additionalProperties: false
      required:
        - identifier
        - provider_resource_id
        - provider_id
        - type
        - metadata
        - model_type
      title: Model
    ModelType:
      type: string
      enum:
        - llm
        - embedding
      title: ModelType
    PaginatedRowsResult:
      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 in the current page.
        total_count:
          type: integer
          description: The total number of rows in the dataset.
        next_page_token:
          type: string
          description: The token to get the next page of rows.
      additionalProperties: false
      required:
        - rows
        - total_count
      title: PaginatedRowsResult
      description: A paginated list of rows from a dataset.
    ScoringFn:
      type: object
      properties:
        identifier:
          type: string
        provider_resource_id:
          type: string
        provider_id:
          type: string
        type:
          type: string
          const: scoring_function
          default: scoring_function
        description:
          type: string
        metadata:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
        return_type:
          $ref: '#/components/schemas/ParamType'
        params:
          $ref: '#/components/schemas/ScoringFnParams'
      additionalProperties: false
      required:
        - identifier
        - provider_resource_id
        - provider_id
        - type
        - metadata
        - return_type
      title: ScoringFn
    Shield:
      type: object
      properties:
        identifier:
          type: string
        provider_resource_id:
          type: string
        provider_id:
          type: string
        type:
          type: string
          const: shield
          default: shield
        params:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - identifier
        - provider_resource_id
        - provider_id
        - type
      title: Shield
      description: >-
        A safety shield resource that can be used to check content
    Span:
      type: object
      properties:
        span_id:
          type: string
        trace_id:
          type: string
        parent_span_id:
          type: string
        name:
          type: string
        start_time:
          type: string
          format: date-time
        end_time:
          type: string
          format: date-time
        attributes:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - span_id
        - trace_id
        - name
        - start_time
      title: Span
    GetSpanTreeRequest:
      type: object
      properties:
        attributes_to_return:
          type: array
          items:
            type: string
        max_depth:
          type: integer
      additionalProperties: false
      title: GetSpanTreeRequest
    SpanStatus:
      type: string
      enum:
        - ok
        - error
      title: SpanStatus
    SpanWithStatus:
      type: object
      properties:
        span_id:
          type: string
        trace_id:
          type: string
        parent_span_id:
          type: string
        name:
          type: string
        start_time:
          type: string
          format: date-time
        end_time:
          type: string
          format: date-time
        attributes:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
        status:
          $ref: '#/components/schemas/SpanStatus'
      additionalProperties: false
      required:
        - span_id
        - trace_id
        - name
        - start_time
      title: SpanWithStatus
    QuerySpanTreeResponse:
      type: object
      properties:
        data:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SpanWithStatus'
      additionalProperties: false
      required:
        - data
      title: QuerySpanTreeResponse
    Tool:
      type: object
      properties:
        identifier:
          type: string
        provider_resource_id:
          type: string
        provider_id:
          type: string
        type:
          type: string
          const: tool
          default: tool
        toolgroup_id:
          type: string
        tool_host:
          $ref: '#/components/schemas/ToolHost'
        description:
          type: string
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/ToolParameter'
        metadata:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - identifier
        - provider_resource_id
        - provider_id
        - type
        - toolgroup_id
        - tool_host
        - description
        - parameters
      title: Tool
    ToolHost:
      type: string
      enum:
        - distribution
        - client
        - model_context_protocol
      title: ToolHost
    ToolGroup:
      type: object
      properties:
        identifier:
          type: string
        provider_resource_id:
          type: string
        provider_id:
          type: string
        type:
          type: string
          const: tool_group
          default: tool_group
        mcp_endpoint:
          $ref: '#/components/schemas/URL'
        args:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - identifier
        - provider_resource_id
        - provider_id
        - type
      title: ToolGroup
    Trace:
      type: object
      properties:
        trace_id:
          type: string
        root_span_id:
          type: string
        start_time:
          type: string
          format: date-time
        end_time:
          type: string
          format: date-time
      additionalProperties: false
      required:
        - trace_id
        - root_span_id
        - start_time
      title: Trace
    Checkpoint:
      description: Checkpoint created during training runs
      title: Checkpoint
    PostTrainingJobArtifactsResponse:
      type: object
      properties:
        job_uuid:
          type: string
        checkpoints:
          type: array
          items:
            $ref: '#/components/schemas/Checkpoint'
      additionalProperties: false
      required:
        - job_uuid
        - checkpoints
      title: PostTrainingJobArtifactsResponse
      description: Artifacts of a finetuning job.
    JobStatus:
      type: string
      enum:
        - completed
        - in_progress
        - failed
        - scheduled
      title: JobStatus
    PostTrainingJobStatusResponse:
      type: object
      properties:
        job_uuid:
          type: string
        status:
          $ref: '#/components/schemas/JobStatus'
        scheduled_at:
          type: string
          format: date-time
        started_at:
          type: string
          format: date-time
        completed_at:
          type: string
          format: date-time
        resources_allocated:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
        checkpoints:
          type: array
          items:
            $ref: '#/components/schemas/Checkpoint'
      additionalProperties: false
      required:
        - job_uuid
        - status
        - checkpoints
      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
      required:
        - data
      title: ListPostTrainingJobsResponse
    VectorDB:
      type: object
      properties:
        identifier:
          type: string
        provider_resource_id:
          type: string
        provider_id:
          type: string
        type:
          type: string
          const: vector_db
          default: vector_db
        embedding_model:
          type: string
        embedding_dimension:
          type: integer
      additionalProperties: false
      required:
        - identifier
        - provider_resource_id
        - provider_id
        - type
        - embedding_model
        - embedding_dimension
      title: VectorDB
    HealthInfo:
      type: object
      properties:
        status:
          type: string
      additionalProperties: false
      required:
        - status
      title: HealthInfo
    RAGDocument:
      type: object
      properties:
        document_id:
          type: string
        content:
          oneOf:
            - type: string
            - $ref: '#/components/schemas/InterleavedContentItem'
            - type: array
              items:
                $ref: '#/components/schemas/InterleavedContentItem'
            - $ref: '#/components/schemas/URL'
        mime_type:
          type: string
        metadata:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - document_id
        - content
        - metadata
      title: RAGDocument
    InsertRequest:
      type: object
      properties:
        documents:
          type: array
          items:
            $ref: '#/components/schemas/RAGDocument'
        vector_db_id:
          type: string
        chunk_size_in_tokens:
          type: integer
      additionalProperties: false
      required:
        - documents
        - vector_db_id
        - chunk_size_in_tokens
      title: InsertRequest
    InsertChunksRequest:
      type: object
      properties:
        vector_db_id:
          type: string
        chunks:
          type: array
          items:
            type: object
            properties:
              content:
                $ref: '#/components/schemas/InterleavedContent'
              metadata:
                type: object
                additionalProperties:
                  oneOf:
                    - type: 'null'
                    - type: boolean
                    - type: number
                    - type: string
                    - type: array
                    - type: object
            additionalProperties: false
            required:
              - content
              - metadata
            title: Chunk
        ttl_seconds:
          type: integer
      additionalProperties: false
      required:
        - vector_db_id
        - chunks
      title: InsertChunksRequest
    InvokeToolRequest:
      type: object
      properties:
        tool_name:
          type: string
        kwargs:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - tool_name
        - kwargs
      title: InvokeToolRequest
    ToolInvocationResult:
      type: object
      properties:
        content:
          $ref: '#/components/schemas/InterleavedContent'
        error_message:
          type: string
        error_code:
          type: integer
        metadata:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - content
      title: ToolInvocationResult
    ListAgentSessionsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Session'
      additionalProperties: false
      required:
        - data
      title: ListAgentSessionsResponse
    ListAgentsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Agent'
      additionalProperties: false
      required:
        - data
      title: ListAgentsResponse
    BucketResponse:
      type: object
      properties:
        name:
          type: string
      additionalProperties: false
      required:
        - name
      title: BucketResponse
    ListBucketResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/BucketResponse'
          description: List of FileResponse entries
      additionalProperties: false
      required:
        - data
      title: ListBucketResponse
      description: >-
        Response representing a list of file entries.
    ListBenchmarksResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Benchmark'
      additionalProperties: false
      required:
        - data
      title: ListBenchmarksResponse
    ListDatasetsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Dataset'
      additionalProperties: false
      required:
        - data
      title: ListDatasetsResponse
    ListFileResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/FileResponse'
          description: List of FileResponse entries
      additionalProperties: false
      required:
        - data
      title: ListFileResponse
      description: >-
        Response representing a list of file entries.
    ListModelsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Model'
      additionalProperties: false
      required:
        - data
      title: ListModelsResponse
    ProviderInfo:
      type: object
      properties:
        api:
          type: string
        provider_id:
          type: string
        provider_type:
          type: string
      additionalProperties: false
      required:
        - api
        - provider_id
        - provider_type
      title: ProviderInfo
    ListProvidersResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ProviderInfo'
      additionalProperties: false
      required:
        - data
      title: ListProvidersResponse
    RouteInfo:
      type: object
      properties:
        route:
          type: string
        method:
          type: string
        provider_types:
          type: array
          items:
            type: string
      additionalProperties: false
      required:
        - route
        - method
        - provider_types
      title: RouteInfo
    ListRoutesResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/RouteInfo'
      additionalProperties: false
      required:
        - data
      title: ListRoutesResponse
    ListScoringFunctionsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ScoringFn'
      additionalProperties: false
      required:
        - data
      title: ListScoringFunctionsResponse
    ListShieldsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Shield'
      additionalProperties: false
      required:
        - data
      title: ListShieldsResponse
    ListToolGroupsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ToolGroup'
      additionalProperties: false
      required:
        - data
      title: ListToolGroupsResponse
    ListToolsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Tool'
      additionalProperties: false
      required:
        - data
      title: ListToolsResponse
    ListVectorDBsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/VectorDB'
      additionalProperties: false
      required:
        - data
      title: ListVectorDBsResponse
    Event:
      oneOf:
        - $ref: '#/components/schemas/UnstructuredLogEvent'
        - $ref: '#/components/schemas/MetricEvent'
        - $ref: '#/components/schemas/StructuredLogEvent'
      discriminator:
        propertyName: type
        mapping:
          unstructured_log: '#/components/schemas/UnstructuredLogEvent'
          metric: '#/components/schemas/MetricEvent'
          structured_log: '#/components/schemas/StructuredLogEvent'
    LogSeverity:
      type: string
      enum:
        - verbose
        - debug
        - info
        - warn
        - error
        - critical
      title: LogSeverity
    SpanEndPayload:
      type: object
      properties:
        type:
          type: string
          const: span_end
          default: span_end
        status:
          $ref: '#/components/schemas/SpanStatus'
      additionalProperties: false
      required:
        - type
        - status
      title: SpanEndPayload
    SpanStartPayload:
      type: object
      properties:
        type:
          type: string
          const: span_start
          default: span_start
        name:
          type: string
        parent_span_id:
          type: string
      additionalProperties: false
      required:
        - type
        - name
      title: SpanStartPayload
    StructuredLogEvent:
      type: object
      properties:
        trace_id:
          type: string
        span_id:
          type: string
        timestamp:
          type: string
          format: date-time
        attributes:
          type: object
          additionalProperties:
            oneOf:
              - type: string
              - type: integer
              - type: number
              - type: boolean
              - type: 'null'
        type:
          type: string
          const: structured_log
          default: structured_log
        payload:
          $ref: '#/components/schemas/StructuredLogPayload'
      additionalProperties: false
      required:
        - trace_id
        - span_id
        - timestamp
        - type
        - payload
      title: StructuredLogEvent
    StructuredLogPayload:
      oneOf:
        - $ref: '#/components/schemas/SpanStartPayload'
        - $ref: '#/components/schemas/SpanEndPayload'
      discriminator:
        propertyName: type
        mapping:
          span_start: '#/components/schemas/SpanStartPayload'
          span_end: '#/components/schemas/SpanEndPayload'
    UnstructuredLogEvent:
      type: object
      properties:
        trace_id:
          type: string
        span_id:
          type: string
        timestamp:
          type: string
          format: date-time
        attributes:
          type: object
          additionalProperties:
            oneOf:
              - type: string
              - type: integer
              - type: number
              - type: boolean
              - type: 'null'
        type:
          type: string
          const: unstructured_log
          default: unstructured_log
        message:
          type: string
        severity:
          $ref: '#/components/schemas/LogSeverity'
      additionalProperties: false
      required:
        - trace_id
        - span_id
        - timestamp
        - type
        - message
        - severity
      title: UnstructuredLogEvent
    LogEventRequest:
      type: object
      properties:
        event:
          $ref: '#/components/schemas/Event'
        ttl_seconds:
          type: integer
      additionalProperties: false
      required:
        - event
        - ttl_seconds
      title: LogEventRequest
    DPOAlignmentConfig:
      type: object
      properties:
        reward_scale:
          type: number
        reward_clip:
          type: number
        epsilon:
          type: number
        gamma:
          type: number
      additionalProperties: false
      required:
        - reward_scale
        - reward_clip
        - epsilon
        - gamma
      title: DPOAlignmentConfig
    DataConfig:
      type: object
      properties:
        dataset_id:
          type: string
        batch_size:
          type: integer
        shuffle:
          type: boolean
        data_format:
          $ref: '#/components/schemas/DatasetFormat'
        validation_dataset_id:
          type: string
        packed:
          type: boolean
          default: false
        train_on_input:
          type: boolean
          default: false
      additionalProperties: false
      required:
        - dataset_id
        - batch_size
        - shuffle
        - data_format
      title: DataConfig
    DatasetFormat:
      type: string
      enum:
        - instruct
        - dialog
      title: DatasetFormat
    EfficiencyConfig:
      type: object
      properties:
        enable_activation_checkpointing:
          type: boolean
          default: false
        enable_activation_offloading:
          type: boolean
          default: false
        memory_efficient_fsdp_wrap:
          type: boolean
          default: false
        fsdp_cpu_offload:
          type: boolean
          default: false
      additionalProperties: false
      title: EfficiencyConfig
    OptimizerConfig:
      type: object
      properties:
        optimizer_type:
          $ref: '#/components/schemas/OptimizerType'
        lr:
          type: number
        weight_decay:
          type: number
        num_warmup_steps:
          type: integer
      additionalProperties: false
      required:
        - optimizer_type
        - lr
        - weight_decay
        - num_warmup_steps
      title: OptimizerConfig
    OptimizerType:
      type: string
      enum:
        - adam
        - adamw
        - sgd
      title: OptimizerType
    TrainingConfig:
      type: object
      properties:
        n_epochs:
          type: integer
        max_steps_per_epoch:
          type: integer
        gradient_accumulation_steps:
          type: integer
        max_validation_steps:
          type: integer
        data_config:
          $ref: '#/components/schemas/DataConfig'
        optimizer_config:
          $ref: '#/components/schemas/OptimizerConfig'
        efficiency_config:
          $ref: '#/components/schemas/EfficiencyConfig'
        dtype:
          type: string
          default: bf16
      additionalProperties: false
      required:
        - n_epochs
        - max_steps_per_epoch
        - gradient_accumulation_steps
        - max_validation_steps
        - data_config
        - optimizer_config
      title: TrainingConfig
    PreferenceOptimizeRequest:
      type: object
      properties:
        job_uuid:
          type: string
        finetuned_model:
          type: string
        algorithm_config:
          $ref: '#/components/schemas/DPOAlignmentConfig'
        training_config:
          $ref: '#/components/schemas/TrainingConfig'
        hyperparam_search_config:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
        logger_config:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      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
      required:
        - job_uuid
      title: PostTrainingJob
    DefaultRAGQueryGeneratorConfig:
      type: object
      properties:
        type:
          type: string
          const: default
          default: default
        separator:
          type: string
          default: ' '
      additionalProperties: false
      required:
        - type
        - separator
      title: DefaultRAGQueryGeneratorConfig
    LLMRAGQueryGeneratorConfig:
      type: object
      properties:
        type:
          type: string
          const: llm
          default: llm
        model:
          type: string
        template:
          type: string
      additionalProperties: false
      required:
        - type
        - model
        - template
      title: LLMRAGQueryGeneratorConfig
    RAGQueryConfig:
      type: object
      properties:
        query_generator_config:
          $ref: '#/components/schemas/RAGQueryGeneratorConfig'
        max_tokens_in_context:
          type: integer
          default: 4096
        max_chunks:
          type: integer
          default: 5
      additionalProperties: false
      required:
        - query_generator_config
        - max_tokens_in_context
        - max_chunks
      title: RAGQueryConfig
    RAGQueryGeneratorConfig:
      oneOf:
        - $ref: '#/components/schemas/DefaultRAGQueryGeneratorConfig'
        - $ref: '#/components/schemas/LLMRAGQueryGeneratorConfig'
      discriminator:
        propertyName: type
        mapping:
          default: '#/components/schemas/DefaultRAGQueryGeneratorConfig'
          llm: '#/components/schemas/LLMRAGQueryGeneratorConfig'
    QueryRequest:
      type: object
      properties:
        content:
          $ref: '#/components/schemas/InterleavedContent'
        vector_db_ids:
          type: array
          items:
            type: string
        query_config:
          $ref: '#/components/schemas/RAGQueryConfig'
      additionalProperties: false
      required:
        - content
        - vector_db_ids
      title: QueryRequest
    RAGQueryResult:
      type: object
      properties:
        content:
          $ref: '#/components/schemas/InterleavedContent'
        metadata:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - metadata
      title: RAGQueryResult
    QueryChunksRequest:
      type: object
      properties:
        vector_db_id:
          type: string
        query:
          $ref: '#/components/schemas/InterleavedContent'
        params:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - vector_db_id
        - query
      title: QueryChunksRequest
    QueryChunksResponse:
      type: object
      properties:
        chunks:
          type: array
          items:
            type: object
            properties:
              content:
                $ref: '#/components/schemas/InterleavedContent'
              metadata:
                type: object
                additionalProperties:
                  oneOf:
                    - type: 'null'
                    - type: boolean
                    - type: number
                    - type: string
                    - type: array
                    - type: object
            additionalProperties: false
            required:
              - content
              - metadata
            title: Chunk
        scores:
          type: array
          items:
            type: number
      additionalProperties: false
      required:
        - chunks
        - scores
      title: QueryChunksResponse
    QueryCondition:
      type: object
      properties:
        key:
          type: string
        op:
          $ref: '#/components/schemas/QueryConditionOp'
        value:
          oneOf:
            - type: 'null'
            - type: boolean
            - type: number
            - type: string
            - type: array
            - type: object
      additionalProperties: false
      required:
        - key
        - op
        - value
      title: QueryCondition
    QueryConditionOp:
      type: string
      enum:
        - eq
        - ne
        - gt
        - lt
      title: QueryConditionOp
    QuerySpansRequest:
      type: object
      properties:
        attribute_filters:
          type: array
          items:
            $ref: '#/components/schemas/QueryCondition'
        attributes_to_return:
          type: array
          items:
            type: string
        max_depth:
          type: integer
      additionalProperties: false
      required:
        - attribute_filters
        - attributes_to_return
      title: QuerySpansRequest
    QuerySpansResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Span'
      additionalProperties: false
      required:
        - data
      title: QuerySpansResponse
    QueryTracesRequest:
      type: object
      properties:
        attribute_filters:
          type: array
          items:
            $ref: '#/components/schemas/QueryCondition'
        limit:
          type: integer
        offset:
          type: integer
        order_by:
          type: array
          items:
            type: string
      additionalProperties: false
      title: QueryTracesRequest
    QueryTracesResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Trace'
      additionalProperties: false
      required:
        - data
      title: QueryTracesResponse
    RegisterBenchmarkRequest:
      type: object
      properties:
        benchmark_id:
          type: string
        dataset_id:
          type: string
        scoring_functions:
          type: array
          items:
            type: string
        provider_benchmark_id:
          type: string
        provider_id:
          type: string
        metadata:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - benchmark_id
        - dataset_id
        - scoring_functions
      title: RegisterBenchmarkRequest
    RegisterDatasetRequest:
      type: object
      properties:
        dataset_id:
          type: string
        dataset_schema:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ParamType'
        url:
          $ref: '#/components/schemas/URL'
        provider_dataset_id:
          type: string
        provider_id:
          type: string
        metadata:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - dataset_id
        - dataset_schema
        - url
      title: RegisterDatasetRequest
    RegisterModelRequest:
      type: object
      properties:
        model_id:
          type: string
        provider_model_id:
          type: string
        provider_id:
          type: string
        metadata:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
        model_type:
          $ref: '#/components/schemas/ModelType'
      additionalProperties: false
      required:
        - model_id
      title: RegisterModelRequest
    RegisterScoringFunctionRequest:
      type: object
      properties:
        scoring_fn_id:
          type: string
        description:
          type: string
        return_type:
          $ref: '#/components/schemas/ParamType'
        provider_scoring_fn_id:
          type: string
        provider_id:
          type: string
        params:
          $ref: '#/components/schemas/ScoringFnParams'
      additionalProperties: false
      required:
        - scoring_fn_id
        - description
        - return_type
      title: RegisterScoringFunctionRequest
    RegisterShieldRequest:
      type: object
      properties:
        shield_id:
          type: string
        provider_shield_id:
          type: string
        provider_id:
          type: string
        params:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - shield_id
      title: RegisterShieldRequest
    RegisterToolGroupRequest:
      type: object
      properties:
        toolgroup_id:
          type: string
        provider_id:
          type: string
        mcp_endpoint:
          $ref: '#/components/schemas/URL'
        args:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - toolgroup_id
        - provider_id
      title: RegisterToolGroupRequest
    RegisterVectorDbRequest:
      type: object
      properties:
        vector_db_id:
          type: string
        embedding_model:
          type: string
        embedding_dimension:
          type: integer
        provider_id:
          type: string
        provider_vector_db_id:
          type: string
      additionalProperties: false
      required:
        - vector_db_id
        - embedding_model
      title: RegisterVectorDbRequest
    ResumeAgentTurnRequest:
      type: object
      properties:
        tool_responses:
          oneOf:
            - type: array
              items:
                $ref: '#/components/schemas/ToolResponse'
            - type: array
              items:
                $ref: '#/components/schemas/ToolResponseMessage'
          description: >-
            The tool call responses to resume the turn with. NOTE: ToolResponseMessage
            will be deprecated. Use ToolResponse.
        stream:
          type: boolean
          description: Whether to stream the response.
      additionalProperties: false
      required:
        - tool_responses
      title: ResumeAgentTurnRequest
    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
      additionalProperties: false
      required:
        - job_id
      title: Job
    RunShieldRequest:
      type: object
      properties:
        shield_id:
          type: string
        messages:
          type: array
          items:
            $ref: '#/components/schemas/Message'
        params:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - shield_id
        - messages
        - params
      title: RunShieldRequest
    RunShieldResponse:
      type: object
      properties:
        violation:
          $ref: '#/components/schemas/SafetyViolation'
      additionalProperties: false
      title: RunShieldResponse
    SaveSpansToDatasetRequest:
      type: object
      properties:
        attribute_filters:
          type: array
          items:
            $ref: '#/components/schemas/QueryCondition'
        attributes_to_save:
          type: array
          items:
            type: string
        dataset_id:
          type: string
        max_depth:
          type: integer
      additionalProperties: false
      required:
        - attribute_filters
        - attributes_to_save
        - dataset_id
      title: SaveSpansToDatasetRequest
    ScoreRequest:
      type: object
      properties:
        input_rows:
          type: array
          items:
            type: object
            additionalProperties:
              oneOf:
                - type: 'null'
                - type: boolean
                - type: number
                - type: string
                - type: array
                - type: object
          description: The rows to score.
        scoring_functions:
          type: object
          additionalProperties:
            oneOf:
              - $ref: '#/components/schemas/ScoringFnParams'
              - type: 'null'
          description: >-
            The scoring functions to use for the scoring.
      additionalProperties: false
      required:
        - input_rows
        - scoring_functions
      title: ScoreRequest
    ScoreResponse:
      type: object
      properties:
        results:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ScoringResult'
          description: >-
            A map of scoring function name to ScoringResult.
      additionalProperties: false
      required:
        - results
      title: ScoreResponse
      description: The response from scoring.
    ScoreBatchRequest:
      type: object
      properties:
        dataset_id:
          type: string
        scoring_functions:
          type: object
          additionalProperties:
            oneOf:
              - $ref: '#/components/schemas/ScoringFnParams'
              - type: 'null'
        save_results_dataset:
          type: boolean
      additionalProperties: false
      required:
        - dataset_id
        - scoring_functions
        - save_results_dataset
      title: ScoreBatchRequest
    ScoreBatchResponse:
      type: object
      properties:
        dataset_id:
          type: string
        results:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ScoringResult'
      additionalProperties: false
      required:
        - results
      title: ScoreBatchResponse
    AlgorithmConfig:
      oneOf:
        - $ref: '#/components/schemas/LoraFinetuningConfig'
        - $ref: '#/components/schemas/QATFinetuningConfig'
      discriminator:
        propertyName: type
        mapping:
          LoRA: '#/components/schemas/LoraFinetuningConfig'
          QAT: '#/components/schemas/QATFinetuningConfig'
    LoraFinetuningConfig:
      type: object
      properties:
        type:
          type: string
          const: LoRA
          default: LoRA
        lora_attn_modules:
          type: array
          items:
            type: string
        apply_lora_to_mlp:
          type: boolean
        apply_lora_to_output:
          type: boolean
        rank:
          type: integer
        alpha:
          type: integer
        use_dora:
          type: boolean
          default: false
        quantize_base:
          type: boolean
          default: false
      additionalProperties: false
      required:
        - type
        - lora_attn_modules
        - apply_lora_to_mlp
        - apply_lora_to_output
        - rank
        - alpha
      title: LoraFinetuningConfig
    QATFinetuningConfig:
      type: object
      properties:
        type:
          type: string
          const: QAT
          default: QAT
        quantizer_name:
          type: string
        group_size:
          type: integer
      additionalProperties: false
      required:
        - type
        - quantizer_name
        - group_size
      title: QATFinetuningConfig
    SupervisedFineTuneRequest:
      type: object
      properties:
        job_uuid:
          type: string
        training_config:
          $ref: '#/components/schemas/TrainingConfig'
        hyperparam_search_config:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
        logger_config:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
        model:
          type: string
        checkpoint_dir:
          type: string
        algorithm_config:
          $ref: '#/components/schemas/AlgorithmConfig'
      additionalProperties: false
      required:
        - job_uuid
        - training_config
        - hyperparam_search_config
        - logger_config
        - model
      title: SupervisedFineTuneRequest
    SyntheticDataGenerateRequest:
      type: object
      properties:
        dialogs:
          type: array
          items:
            $ref: '#/components/schemas/Message'
        filtering_function:
          type: string
          enum:
            - none
            - random
            - top_k
            - top_p
            - top_k_top_p
            - sigmoid
          title: FilteringFunction
          description: The type of filtering function.
        model:
          type: string
      additionalProperties: false
      required:
        - dialogs
        - filtering_function
      title: SyntheticDataGenerateRequest
    SyntheticDataGenerationResponse:
      type: object
      properties:
        synthetic_data:
          type: array
          items:
            type: object
            additionalProperties:
              oneOf:
                - type: 'null'
                - type: boolean
                - type: number
                - type: string
                - type: array
                - type: object
        statistics:
          type: object
          additionalProperties:
            oneOf:
              - type: 'null'
              - type: boolean
              - type: number
              - type: string
              - type: array
              - type: object
      additionalProperties: false
      required:
        - synthetic_data
      title: SyntheticDataGenerationResponse
      description: >-
        Response from the synthetic data generation. Batch of (prompt, response, score)
        tuples that pass the threshold.
    VersionInfo:
      type: object
      properties:
        version:
          type: string
      additionalProperties: false
      required:
        - version
      title: VersionInfo
  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: >-
      Main functionalities provided by this API:

      - Create agents with specific instructions and ability to use tools.

      - Interactions with agents are grouped into sessions ("threads"), and each interaction
      is called a "turn".

      - Agents can be provided with various tools (see the ToolGroups and ToolRuntime
      APIs for more details).

      - Agents can be provided with various shields (see the Safety API for more details).

      - Agents can also use Memory to retrieve information from knowledge bases. See
      the RAG Tool and Vector IO APIs for more details.
    x-displayName: >-
      Agents API for creating and interacting with agentic systems.
  - name: BatchInference (Coming Soon)
  - name: Benchmarks
  - name: DatasetIO
  - name: Datasets
  - name: Eval
    x-displayName: >-
      Llama Stack Evaluation API for running evaluations on model and agent candidates.
  - name: Files (Coming Soon)
  - name: Inference
    description: >-
      This API provides the raw interface to the underlying models. Two kinds of models
      are supported:

      - LLM models: these models generate "raw" and "chat" (conversational) completions.

      - Embedding models: these models generate embeddings to be used for semantic
      search.
    x-displayName: >-
      Llama Stack Inference API for generating completions, chat completions, and
      embeddings.
  - name: Inspect
  - name: Models
  - name: PostTraining (Coming Soon)
  - name: Safety
  - name: Scoring
  - name: ScoringFunctions
  - name: Shields
  - name: SyntheticDataGeneration (Coming Soon)
  - name: Telemetry
  - name: ToolGroups
  - name: ToolRuntime
  - name: VectorDBs
  - name: VectorIO
x-tagGroups:
  - name: Operations
    tags:
      - Agents
      - BatchInference (Coming Soon)
      - Benchmarks
      - DatasetIO
      - Datasets
      - Eval
      - Files (Coming Soon)
      - Inference
      - Inspect
      - Models
      - PostTraining (Coming Soon)
      - Safety
      - Scoring
      - ScoringFunctions
      - Shields
      - SyntheticDataGeneration (Coming Soon)
      - Telemetry
      - ToolGroups
      - ToolRuntime
      - VectorDBs
      - VectorIO
