{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/okareo/json-schema/okareo-evaluator-spec-request-schema.json",
  "title": "EvaluatorSpecRequest",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/okareo-checks-api-openapi.yml#/components/schemas/EvaluatorSpecRequest",
  "properties": {
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Name",
      "description": "Name of the evaluator"
    },
    "user_input": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 50000
        },
        {
          "type": "null"
        }
      ],
      "title": "User Input",
      "description": "Primary user instruction for generation. When set, used instead of description for the LLM prompt."
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Description",
      "description": "Description for the evaluator.\n            When this request is sent to generate an evaluator, this field will be used to generate it (or user_input if set)."
    },
    "requires_scenario_input": {
      "type": "boolean",
      "title": "Requires Scenario Input",
      "description": "Whether the evaluator requires scenario input",
      "default": false
    },
    "requires_scenario_result": {
      "type": "boolean",
      "title": "Requires Scenario Result",
      "description": "Whether the evaluator requires scenario expected result",
      "default": false
    },
    "output_data_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Output Data Type",
      "description": "Evaluator output data type (i.e., bool, int, float)"
    },
    "project_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid"
        },
        {
          "type": "null"
        }
      ],
      "title": "Project Id",
      "description": "ID for the project"
    },
    "check_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Check Type",
      "description": "model or code based check",
      "default": "code"
    },
    "prior_code": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 50000
        },
        {
          "type": "null"
        }
      ],
      "title": "Prior Code",
      "description": "Existing code to refine (code branch). When set, LLM is asked to modify/improve it."
    },
    "prior_prompt": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 50000
        },
        {
          "type": "null"
        }
      ],
      "title": "Prior Prompt",
      "description": "Existing prompt to refine (model branch). When set, LLM is asked to revise it."
    }
  },
  "type": "object"
}