{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/okareo/json-schema/okareo-model-under-test-schema-schema.json",
  "title": "ModelUnderTestSchema",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/okareo-models-api-openapi.yml#/components/schemas/ModelUnderTestSchema",
  "properties": {
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Name",
      "description": "Name of the model"
    },
    "models": {
      "anyOf": [
        {
          "additionalProperties": {
            "additionalProperties": true,
            "type": "object"
          },
          "propertyNames": {
            "enum": [
              "generation",
              "cohere",
              "openai",
              "openai_assistant",
              "pinecone",
              "qdrant",
              "custom",
              "custom_batch",
              "custom_target",
              "custom_target_async",
              "driver",
              "custom_endpoint",
              "voice"
            ]
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Models",
      "description": "Models to be added for testing"
    },
    "version": {
      "type": "integer",
      "title": "Version",
      "description": "Version of the model under test. Defaults to 1 if not provided.",
      "default": 1
    },
    "sensitive_fields": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Sensitive Fields",
      "description": "List of sensitive fields in the model to redact. Should include nested fields, e.g. ['headers.authorization', 'body.password']"
    },
    "tags": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Tags",
      "description": "Tags are strings that can be used to filter models in the Okareo app",
      "default": []
    },
    "project_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid"
        },
        {
          "type": "null"
        }
      ],
      "title": "Project Id",
      "description": "ID of the project"
    },
    "update": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Update",
      "description": "If set to true, the model will be updated instead of returning the existing model",
      "default": false
    }
  },
  "type": "object"
}