> ## Documentation Index
> Fetch the complete documentation index at: https://arize-ax.mintlify.site/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create evaluator version

> Create a new version of an existing evaluator. The new version becomes the latest
version immediately (versioning is append-only).

**Payload Requirements**
- `commit_message` describes the changes in this version.
- Provide either `template_config` or `code_config` to match the evaluator's `type`.
  `code_config.type` is a separate inner discriminator (`managed` or `custom`) and is unrelated to the top-level `type`.
  Schema and constraints match Create Evaluator.

**Valid example** (template version)
```json
{
  "commit_message": "Improve prompt template for better accuracy",
  "template_config": {
    "name": "hallucination",
    "template": "Given the input: {input}\nand output: {output}\nIs the output a hallucination? Explain your reasoning.",
    "include_explanations": true,
    "use_function_calling_if_available": true,
    "classification_choices": {"hallucinated": 0, "factual": 1},
    "llm_config": {
      "ai_integration_id": "TGxtSW50ZWdyYXRpb246MTI6YUJjRA==",
      "model_name": "gpt-4o",
      "invocation_parameters": {"temperature": 0},
      "provider_parameters": {}
    }
  }
}
```

**Invalid example** (missing required `commit_message`)
```json
{
  "template_config": {
    "name": "hallucination",
    "template": "Is this a hallucination?",
    "include_explanations": false,
    "use_function_calling_if_available": false,
    "llm_config": {
      "ai_integration_id": "TGxtSW50ZWdyYXRpb246MTI6YUJjRA==",
      "model_name": "gpt-4o",
      "invocation_parameters": {},
      "provider_parameters": {}
    }
  }
}
```

<Note>This endpoint is in beta, read more [here](https://arize.com/docs/ax/rest-reference#api-version-stages).</Note>




## OpenAPI

````yaml https://api.arize.com/v2/spec.yaml post /v2/evaluators/{evaluator_id}/versions
openapi: 3.0.3
info:
  title: Arize REST API
  version: 2.0.0
  description: |
    API specification for the backend data server. The API is hosted globally
    at https://api.arize.com/v2 or in your own environment.
  license:
    name: Apache-2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
  - description: Global
    url: https://api.arize.com
  - description: Regional
    url: https://api.{region}.arize.com
    variables:
      region:
        default: eu-west-1a
        enum:
          - eu-west-1a
          - ca-central-1a
  - description: Custom Host
    url: https://{host}
    variables:
      host:
        default: api.arize.com
security:
  - bearerAuth: []
tags:
  - name: AI Integrations
    description: |
      AI integrations configure access to external LLM providers (e.g. OpenAI,
      Azure OpenAI, AWS Bedrock, Vertex AI). Integrations can be scoped to the
      entire account, a specific organization, or a specific space.
  - name: Annotation Configs
    description: >
      Annotation configs allow you to define consistent annotation schemas that

      can be reused across your workspace, ensuring evaluations are structured
      and

      comparable over time.
  - name: Annotation Queues
    description: >
      Annotation queues help you organize and manage human evaluation workflows.

      Use queues to assign spans or examples to annotators for review and
      labeling.
  - name: API Keys
    description: >
      API keys are used to authenticate requests to the Arize API. List your
      keys

      to view metadata; the raw secret is never returned after creation.
  - name: Datasets
    description: |
      Datasets are structured, version-controlled example collections you use to
      run, evaluate, and track LLM experiments.
  - name: Evaluators
    description: >
      Evaluators are reusable evaluation configurations used to assess the
      quality

      of LLM outputs. They can be template-based (using LLM judges) or
      code-based.
  - name: Experiments
    description: >
      Experiments let you systematically test prompt/model changes using
      datasets,

      tasks, and evaluators.
  - name: Integrations
    description: >
      Integrations configure access to external LLM providers (e.g. OpenAI,

      Azure OpenAI, AWS Bedrock, Vertex AI), notifications services (e.g.
      PagerDuty, Slack), and

      your own agents. Integrations can be scoped to the entire account, a
      specific

      organization, or a specific space.
  - name: Organizations
    description: >
      Organizations are top-level containers within an Arize AX account for
      grouping spaces.
  - name: Projects
    description: |
      Projects represent LLM applications being monitored in Arize where you can
      observe traces and spans.
  - name: Prompts
    description: >
      Prompts are reusable, versioned templates for LLM interactions. Use
      prompts

      to standardize and manage how you interact with LLMs across your
      application.
  - name: Resource Restrictions
    description: |
      Endpoints for restricting and unrestricting resources (projects, models).
  - name: Role Bindings
    description: |
      Role bindings assign a role to a user on a resource. REST currently
      supports space- and project-scoped bindings.
  - name: Roles
    description: >
      Roles define sets of permissions that can be assigned to users within an

      account. Create custom roles to tailor access control to your team's
      needs.
  - name: Spaces
    description: >
      Spaces are containers within an organization for grouping related
      projects,

      datasets, and experiments, enabling collaboration or isolated
      experimentation

      with role-based access control.
  - name: Spans
    description: |
      Spans represent individual operations within a trace. A span captures the
      timing, status, and attributes of a single operation in your application.
  - name: Tasks
    description: |
      Tasks are configurable units of work that tie one or more evaluators to a
      data source (project or dataset). Use tasks to automate evaluation of LLM
      outputs, with support for continuous evaluation and backfill runs.
  - name: Users
    description: >
      Users represent members of an account. The Users endpoints allow creating,

      listing, updating (display name), and removing users from the account
      programmatically.
paths:
  /v2/evaluators/{evaluator_id}/versions:
    post:
      tags:
        - Evaluators
      summary: Create evaluator version
      description: >
        Create a new version of an existing evaluator. The new version becomes
        the latest

        version immediately (versioning is append-only).


        **Payload Requirements**

        - `commit_message` describes the changes in this version.

        - Provide either `template_config` or `code_config` to match the
        evaluator's `type`.
          `code_config.type` is a separate inner discriminator (`managed` or `custom`) and is unrelated to the top-level `type`.
          Schema and constraints match Create Evaluator.

        **Valid example** (template version)

        ```json

        {
          "commit_message": "Improve prompt template for better accuracy",
          "template_config": {
            "name": "hallucination",
            "template": "Given the input: {input}\nand output: {output}\nIs the output a hallucination? Explain your reasoning.",
            "include_explanations": true,
            "use_function_calling_if_available": true,
            "classification_choices": {"hallucinated": 0, "factual": 1},
            "llm_config": {
              "ai_integration_id": "TGxtSW50ZWdyYXRpb246MTI6YUJjRA==",
              "model_name": "gpt-4o",
              "invocation_parameters": {"temperature": 0},
              "provider_parameters": {}
            }
          }
        }

        ```


        **Invalid example** (missing required `commit_message`)

        ```json

        {
          "template_config": {
            "name": "hallucination",
            "template": "Is this a hallucination?",
            "include_explanations": false,
            "use_function_calling_if_available": false,
            "llm_config": {
              "ai_integration_id": "TGxtSW50ZWdyYXRpb246MTI6YUJjRA==",
              "model_name": "gpt-4o",
              "invocation_parameters": {},
              "provider_parameters": {}
            }
          }
        }

        ```


        <Note>This endpoint is in beta, read more
        [here](https://arize.com/docs/ax/rest-reference#api-version-stages).</Note>
      operationId: evaluator_versions_create
      parameters:
        - $ref: '#/components/parameters/EvaluatorIdPathParam'
      requestBody:
        $ref: '#/components/requestBodies/CreateEvaluatorVersionRequestBody'
      responses:
        '201':
          $ref: '#/components/responses/EvaluatorVersionCreated'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '429':
          $ref: '#/components/responses/RateLimitExceeded'
components:
  parameters:
    EvaluatorIdPathParam:
      name: evaluator_id
      in: path
      required: true
      description: The unique evaluator identifier (base64)
      schema:
        $ref: '#/components/schemas/Id'
      example: RXZhbHVhdG9yOjEyMzQ1
  requestBodies:
    CreateEvaluatorVersionRequestBody:
      description: Body containing evaluator version creation parameters
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EvaluatorVersionCreate'
          examples:
            template_example:
              summary: New template version
              value:
                commit_message: Improve template wording
                template_config:
                  name: hallucination
                  template: |-
                    Evaluate whether the output is factually grounded.

                    Input: {input}
                    Output: {output}
                  include_explanations: true
                  use_function_calling_if_available: true
                  classification_choices:
                    hallucinated: 0
                    factual: 1
                  direction: maximize
                  data_granularity: span
                  llm_config:
                    ai_integration_id: TGxtSW50ZWdyYXRpb246MTI6YUJjRA==
                    model_name: gpt-4o
                    invocation_parameters:
                      temperature: 0
                    provider_parameters: {}
            code_example:
              summary: New managed code version
              value:
                commit_message: Tune keywords
                code_config:
                  type: managed
                  name: keywords_eval
                  managed_evaluator: ContainsAnyKeyword
                  variables:
                    - output
                  static_params:
                    - name: keywords
                      type: STRING_ARRAY
                      default_value:
                        - alpha
                        - beta
  responses:
    EvaluatorVersionCreated:
      description: Returns the created evaluator version
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EvaluatorVersion'
          examples:
            template_version:
              summary: Template version
              value:
                id: RXZhbHVhdG9yVmVyc2lvbjoxMTpBYkNk
                evaluator_id: RXZhbHVhdG9yOjEyOmFCY0Q=
                commit_hash: b4c2d0e5f8a3b1629f7d4cc0328g98e2d5f921g3
                commit_message: Improve template wording
                type: template
                template_config:
                  name: hallucination
                  template: Evaluate whether the output is factually grounded...
                  include_explanations: true
                  use_function_calling_if_available: true
                  classification_choices:
                    hallucinated: 0
                    factual: 1
                  direction: maximize
                  data_granularity: span
                  llm_config:
                    ai_integration_id: TGxtSW50ZWdyYXRpb246MTI6YUJjRA==
                    model_name: gpt-4o
                    invocation_parameters:
                      temperature: 0
                    provider_parameters: {}
                created_at: '2026-02-17T10:30:00.000Z'
                created_by_user_id: VXNlcjoxOm5OYkM=
            code_version:
              summary: Managed code version
              value:
                id: RXZhbHVhdG9yVmVyc2lvbjoxMjpEZUZn
                evaluator_id: RXZhbHVhdG9yOjEzOmNEZUY=
                commit_hash: d6e4f2g7b0c3d1841h9f6ee2540i10g4f7h143i5
                commit_message: Tune keywords
                type: code
                code_config:
                  type: managed
                  name: keywords_eval
                  managed_evaluator: ContainsAnyKeyword
                  variables:
                    - output
                  static_params:
                    - name: keywords
                      type: STRING_ARRAY
                      default_value:
                        - alpha
                        - beta
                  data_granularity: span
                  query_filter: null
                created_at: '2026-02-17T10:30:00.000Z'
                created_by_user_id: VXNlcjoxOm5OYkM=
    BadRequest:
      description: Invalid request
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            status: 400
            title: Invalid request parameters
            detail: The 'name' field is required and must be a non-empty string.
            instance: /resource
            type: https://arize.com/docs/ax/rest-reference/errors#invalid-request
    Unauthorized:
      description: Authentication is required
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            status: 401
            title: Authentication required
            detail: You must be authenticated to access this resource.
            instance: /resource
            type: >-
              https://arize.com/docs/ax/rest-reference/errors#authentication-required
    Forbidden:
      description: Insufficient permissions to access this resource
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            status: 403
            title: Access forbidden
            detail: You do not have permission to access this resource.
            instance: /resource/12345
            type: https://arize.com/docs/ax/rest-reference/errors#access-forbidden
    NotFound:
      description: Not found
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            status: 404
            title: Resource not found
            detail: The requested resource with ID '12345' was not found.
            instance: /resource/12345
            type: https://arize.com/docs/ax/rest-reference/errors#resource-not-found
    UnprocessableEntity:
      description: Unprocessable entity
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            status: 422
            title: Unprocessable Entity
            detail: One or more fields failed validation.
            instance: /resource/12345
            type: >-
              https://arize.com/docs/ax/rest-reference/errors#unprocessable-entity
    RateLimitExceeded:
      description: Rate limit exceeded
      headers:
        Retry-After:
          description: |
            When throttled (429), how long to wait before retrying. Value is
            either a delta-seconds integer.
          schema:
            type: integer
            minimum: 0
          example: 42
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            status: 429
            title: Rate limit exceeded
            detail: >-
              You have exceeded the allowed number of requests. Please try again
              later.
            instance: /resource
            type: >-
              https://arize.com/docs/ax/rest-reference/errors#rate-limit-exceeded
  schemas:
    Id:
      type: string
      description: A universally unique identifier (base64-encoded opaque string).
      example: RW50aXR5OjEyMzQ1
    EvaluatorVersionCreate:
      oneOf:
        - $ref: '#/components/schemas/EvaluatorVersionTemplateCreate'
        - $ref: '#/components/schemas/EvaluatorVersionCodeCreate'
      description: >
        Payload for an evaluator version: exactly one of `template_config` or
        `code_config`.

        Used both when creating an evaluator (initial `version`) and when
        appending a version.
    EvaluatorVersion:
      oneOf:
        - $ref: '#/components/schemas/EvaluatorVersionTemplate'
        - $ref: '#/components/schemas/EvaluatorVersionCode'
        - $ref: '#/components/schemas/EvaluatorVersionHarness'
        - $ref: '#/components/schemas/EvaluatorVersionRemote'
      discriminator:
        propertyName: type
        mapping:
          template:
            $ref: '#/components/schemas/EvaluatorVersionTemplate'
          code:
            $ref: '#/components/schemas/EvaluatorVersionCode'
          harness:
            $ref: '#/components/schemas/EvaluatorVersionHarness'
          remote:
            $ref: '#/components/schemas/EvaluatorVersionRemote'
      description: |
        A versioned snapshot of an evaluator's configuration. The `type` field
        discriminates the branch and matches the parent evaluator's `type`.
    Problem:
      type: object
      description: RFC 9457 Problem Details
      properties:
        title:
          type: string
          description: A short, human-readable summary of the problem type
        status:
          type: integer
          description: >-
            The HTTP status code generated by the origin server for this
            occurrence of the problem
        type:
          type: string
          format: uri-reference
          description: A URI reference that identifies the problem type
        detail:
          type: string
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem
        instance:
          type: string
          format: uri-reference
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem
      required:
        - title
        - status
      additionalProperties: false
    EvaluatorVersionTemplateCreate:
      type: object
      required:
        - commit_message
        - template_config
      properties:
        commit_message:
          type: string
          description: Commit message describing the changes
        template_config:
          $ref: '#/components/schemas/TemplateConfig'
          description: The template configuration for this version
      additionalProperties: false
    EvaluatorVersionCodeCreate:
      type: object
      required:
        - commit_message
        - code_config
      properties:
        commit_message:
          type: string
          description: Commit message describing the changes
        code_config:
          $ref: '#/components/schemas/CodeConfig'
          description: The code configuration for this version
      additionalProperties: false
    EvaluatorVersionTemplate:
      allOf:
        - $ref: '#/components/schemas/EvaluatorVersionCommon'
        - type: object
          required:
            - template_config
          properties:
            type:
              type: string
              enum:
                - template
              description: >-
                Discriminator identifying this as a template evaluator version.
                Always `template` for this variant.
            template_config:
              $ref: '#/components/schemas/TemplateConfig'
              description: The LLM template configuration for this version
          additionalProperties: false
      description: Evaluator version carrying a template (LLM) configuration.
    EvaluatorVersionCode:
      allOf:
        - $ref: '#/components/schemas/EvaluatorVersionCommon'
        - type: object
          required:
            - code_config
          properties:
            type:
              type: string
              enum:
                - code
              description: >-
                Discriminator identifying this as a code evaluator version.
                Always `code` for this variant.
            code_config:
              $ref: '#/components/schemas/CodeConfig'
              description: The code evaluator configuration for this version
          additionalProperties: false
      description: Evaluator version carrying a code configuration.
    EvaluatorVersionHarness:
      allOf:
        - $ref: '#/components/schemas/EvaluatorVersionCommon'
        - type: object
          properties:
            type:
              type: string
              enum:
                - harness
              description: Discriminator identifying this as a harness evaluator version.
          additionalProperties: false
      description: |
        Evaluator version backed by a harness evaluation config. Only common
        version metadata (id, commit info, timestamps) is returned — the harness
        configuration is not yet accessible and will be a future addition.
    EvaluatorVersionRemote:
      allOf:
        - $ref: '#/components/schemas/EvaluatorVersionCommon'
        - type: object
          properties:
            type:
              type: string
              enum:
                - remote
              description: Discriminator identifying this as a remote evaluator version.
          additionalProperties: false
      description: |
        Evaluator version backed by a remote evaluation config. Only common
        version metadata (id, commit info, timestamps) is returned — the remote
        configuration is not yet accessible and will be a future addition.
    TemplateConfig:
      type: object
      required:
        - name
        - template
        - include_explanations
        - use_function_calling_if_available
        - llm_config
      properties:
        name:
          type: string
          description: Eval column name. Must match ^[a-zA-Z0-9_\s\-&()]+$
        template:
          type: string
          description: The prompt template with variable placeholders
        include_explanations:
          type: boolean
          description: Whether to include explanations in the evaluation output
        use_function_calling_if_available:
          type: boolean
          description: Whether to use function calling if the model supports it
        classification_choices:
          type: object
          nullable: true
          additionalProperties:
            type: number
          description: >-
            Map of choice label to numeric score (e.g. {"relevant": 1,
            "irrelevant": 0}). When omitted, the evaluator produces freeform
            (non-classification) output.
        direction:
          allOf:
            - $ref: '#/components/schemas/OptimizationDirection'
          default: maximize
          description: >-
            Direction for optimization applied to this template's evaluation
            scores. Defaults to `maximize` when omitted.
        data_granularity:
          allOf:
            - $ref: '#/components/schemas/DataGranularity'
          nullable: true
          description: Data granularity level. Defaults to null when omitted.
        llm_config:
          $ref: '#/components/schemas/EvaluatorLlmConfig'
          description: The LLM configuration for executing the template
      additionalProperties: false
    CodeConfig:
      description: >
        Discriminated union representing either a managed (built-in) or custom

        (user-supplied Python) code evaluator configuration, resolved by the

        nested `type` field (`managed` -> `ManagedCodeConfig`, `custom` ->
        `CustomCodeConfig`).

        This inner `type` is independent of the parent evaluator version's
        `type` (which is always `code` here).
      oneOf:
        - $ref: '#/components/schemas/ManagedCodeConfig'
        - $ref: '#/components/schemas/CustomCodeConfig'
      discriminator:
        propertyName: type
        mapping:
          managed:
            $ref: '#/components/schemas/ManagedCodeConfig'
          custom:
            $ref: '#/components/schemas/CustomCodeConfig'
    EvaluatorVersionCommon:
      type: object
      required:
        - id
        - evaluator_id
        - commit_hash
        - commit_message
        - created_at
        - created_by_user_id
        - type
      properties:
        id:
          type: string
          description: The unique identifier for this version
        evaluator_id:
          type: string
          description: The parent evaluator ID
        commit_hash:
          type: string
          description: A unique hash identifying this version
        commit_message:
          type: string
          nullable: true
          description: A message describing the changes in this version
        created_at:
          type: string
          format: date-time
          description: When this version was created
        created_by_user_id:
          type: string
          nullable: true
          description: The unique identifier for the user who created this version
        type:
          $ref: '#/components/schemas/EvaluatorType'
    OptimizationDirection:
      type: string
      enum:
        - maximize
        - minimize
        - none
      default: none
      description: |
        The direction for optimization. Defaults to `none` when omitted.
        - maximize: higher scores are better
        - minimize: lower scores are better
        - none: higher or lower scores are neither better nor worse
    DataGranularity:
      type: string
      enum:
        - span
        - trace
        - session
      description: |
        Data granularity level for evaluation.
        - span - Evaluate at the individual span level.
        - trace - Evaluate at the full trace level.
        - session - Evaluate at the session level.
    EvaluatorLlmConfig:
      type: object
      required:
        - ai_integration_id
        - model_name
        - invocation_parameters
        - provider_parameters
      properties:
        ai_integration_id:
          type: string
          description: AI integration identifier (base64)
        model_name:
          type: string
          description: Model name (e.g. gpt-4o)
        invocation_parameters:
          $ref: '#/components/schemas/InvocationParams'
        provider_parameters:
          $ref: '#/components/schemas/ProviderParams'
      additionalProperties: false
    ManagedCodeConfig:
      allOf:
        - $ref: '#/components/schemas/CodeConfigCommon'
        - type: object
          required:
            - type
            - name
            - managed_evaluator
            - variables
          properties:
            type:
              type: string
              enum:
                - managed
              description: >-
                Discriminator identifying this as a managed (built-in) code
                evaluator
            name:
              type: string
              description: Eval column name. Must match ^[a-zA-Z0-9_\s\-&()]+$
              pattern: ^[a-zA-Z0-9_\s\-&()]+$
            managed_evaluator:
              $ref: '#/components/schemas/ManagedCodeEvaluator'
              description: Which managed code evaluator implementation to use
            variables:
              type: array
              items:
                type: string
              description: >
                Dataset columns or span attributes passed into the evaluator
                (order and count

                must match the managed evaluator's requirements).
            static_params:
              type: array
              items:
                $ref: '#/components/schemas/StaticParam'
              description: >
                Static parameters for the managed evaluator (see registry
                `args`). When omitted,

                the registry's required arguments must be satisfied by defaults
                on the evaluator

                class; otherwise validation fails with 400. If the registry has
                no args, omitting

                this field is equivalent to an empty list.
          additionalProperties: false
    CustomCodeConfig:
      allOf:
        - $ref: '#/components/schemas/CodeConfigCommon'
        - type: object
          required:
            - type
            - name
            - code
            - variables
          properties:
            type:
              type: string
              enum:
                - custom
              description: >-
                Discriminator identifying this as a custom (user-supplied
                Python) code evaluator
            name:
              type: string
              description: Eval column name. Must match ^[a-zA-Z0-9_\s\-&()]+$
              pattern: ^[a-zA-Z0-9_\s\-&()]+$
            code:
              type: string
              description: Python source defining the evaluator class
            imports:
              type: string
              nullable: true
              description: >-
                Optional package import block prepended when running the
                evaluator
            variables:
              type: array
              items:
                type: string
              description: >-
                Dataset columns or span attributes mapped to evaluate()
                arguments
            static_params:
              type: array
              items:
                $ref: '#/components/schemas/StaticParam'
              description: >
                Optional typed defaults accessible on the evaluator instance.
                Omit or pass an

                empty array when the custom class does not read any static
                parameters.
          additionalProperties: false
    EvaluatorType:
      type: string
      enum:
        - template
        - code
        - harness
        - remote
      description: >
        The evaluator type:


        - `template` — LLM-based evaluator.

        - `code` — managed built-in evaluators or custom Python code (both are
          subtypes of `code`, discriminated by the nested `CodeConfig.type` =
          `managed` | `custom`).
        - `harness` — test harness evaluator.

        - `remote` — remote evaluator.


        Applies to both the parent `Evaluator.type` field and every version's
        `type`

        discriminator — a version's `type` must always match its parent
        evaluator's `type`.
    InvocationParams:
      type: object
      description: Parameters for the LLM invocation
      properties:
        temperature:
          type: number
          description: Sampling temperature (higher = more random)
        max_tokens:
          type: integer
          description: Maximum number of tokens to generate
        max_completion_tokens:
          type: integer
          description: Maximum number of completion tokens to generate
        top_p:
          type: number
          description: Nucleus sampling parameter
        frequency_penalty:
          type: number
          description: Frequency penalty (-2.0 to 2.0)
        presence_penalty:
          type: number
          description: Presence penalty (-2.0 to 2.0)
        stop:
          type: array
          items:
            type: string
          description: Stop sequences
        response_format:
          allOf:
            - $ref: '#/components/schemas/ResponseFormat'
          description: >-
            Response format configuration. Optional. When omitted, no structured
            output constraint is applied (the provider's default plain-text
            behavior is used).
        tool_config:
          allOf:
            - $ref: '#/components/schemas/ToolConfig'
          description: >-
            Tool configuration for the LLM invocation. Optional. When omitted,
            no tools are made available to the model.
        top_k:
          type: integer
          description: >-
            Top-K sampling parameter. A top-K of 1 means the next selected token
            is the most probable (greedy decoding).
        thinking_level:
          type: string
          description: >-
            Controls how much reasoning the model performs before responding.
            Supported by Gemini 3.x models. Accepted values: 'low', 'high'.
        thinking_budget:
          type: integer
          description: >-
            Maximum tokens the model may use for internal reasoning. Supported
            by Gemini 2.5 models. Range: 0-24576 (Flash/Flash-Lite) or 128-32768
            (Pro). Set 0 to disable thinking on Flash models.
        reasoning_effort:
          type: string
          description: >-
            Controls how much reasoning the model performs before responding.
            Supported by OpenAI o-series and GPT-5 models. o-series: 'low' |
            'medium' | 'high'. GPT-5: 'none' | 'low' | 'medium' | 'high' |
            'xhigh'.
        verbosity:
          type: string
          description: >-
            Controls the verbosity of model output. Supported by OpenAI GPT-5
            series. Accepted values: 'low' | 'medium' | 'high'.
      additionalProperties: true
    ProviderParams:
      type: object
      description: Provider-specific parameters
      properties:
        azure_params:
          type: object
          description: Azure OpenAI specific parameters
          properties:
            azure_deployment_name:
              type: string
              description: The Azure deployment name
            azure_openai_endpoint:
              type: string
              description: The Azure OpenAI endpoint URL
            azure_openai_version:
              type: string
              description: The Azure OpenAI API version
        anthropic_headers:
          type: object
          description: Anthropic-specific headers
          properties:
            anthropic_beta:
              type: array
              description: Anthropic beta feature flags
              items:
                type: string
                nullable: true
              nullable: true
        anthropic_version:
          type: string
          description: Anthropic API version
        bedrock_options:
          type: object
          description: AWS Bedrock options
          properties:
            use_converse_endpoint:
              type: boolean
              default: false
              description: >-
                Whether to use the AWS Bedrock Converse endpoint. Defaults to
                `false`.
        region:
          type: string
          description: Region for the model deployment
      additionalProperties: true
    CodeConfigCommon:
      type: object
      properties:
        data_granularity:
          allOf:
            - $ref: '#/components/schemas/DataGranularity'
          nullable: true
          description: >
            Data granularity level for evaluation. When omitted or null, no
            granularity

            filter is applied (span-level evaluation is used by default on the
            server).
        query_filter:
          type: string
          nullable: true
          description: >
            Optional filter query over the chosen data granularity. When omitted
            or null,

            no filter is applied.
    ManagedCodeEvaluator:
      type: string
      enum:
        - MatchesRegex
        - JSONParseable
        - ContainsAnyKeyword
        - ContainsAllKeywords
        - ExactMatch
      description: Built-in managed code evaluator name
    StaticParam:
      type: object
      required:
        - name
        - type
        - default_value
      properties:
        name:
          type: string
          description: Parameter name (matches the managed evaluator's argument name)
        type:
          $ref: '#/components/schemas/StaticParamType'
        default_value:
          oneOf:
            - type: string
            - type: array
              items:
                type: string
          description: >
            Default value. Must be a string when `type` is STRING or REGEX, and
            a string

            array when `type` is STRING_ARRAY. Mismatches are rejected with 400
            by the server.
      additionalProperties: false
    ResponseFormat:
      type: object
      description: Response format configuration
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/ResponseFormatType'
          default: text
          description: The response format type. Defaults to `text` if not specified.
        json_schema:
          type: object
          description: JSON schema configuration (when type is json_schema)
          properties:
            name:
              type: string
              description: The name of the JSON schema
            description:
              type: string
              description: A description of the JSON schema
            schema:
              type: object
              description: The JSON schema object
            strict:
              type: boolean
              default: false
              description: >-
                Whether to enforce strict schema validation. Defaults to
                `false`.
    ToolConfig:
      type: object
      description: Tool configuration for the LLM invocation
      properties:
        tools:
          type: array
          description: List of tool definitions available to the model
          items:
            type: object
        tool_choice:
          description: Tool choice configuration
    StaticParamType:
      type: string
      enum:
        - STRING
        - STRING_ARRAY
        - REGEX
      description: |
        Argument type for static evaluator parameters.
        - STRING - A single string value.
        - STRING_ARRAY - An array of string values.
        - REGEX - A regular expression string.
    ResponseFormatType:
      type: string
      enum:
        - text
        - json_object
        - json_schema
      description: The response format type
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: <api-key>
      description: >
        Most Arize AI endpoints require authentication. For those endpoints that
        require authentication, include your API key in the request header using
        the format

        ``` Authorization: Bearer <api-key>

        ```

````