PostHog · Schema

PatchedEvaluation

A/B TestingAnalyticsFeature FlagsOpen SourceProduct AnalyticsSession Recording

Properties

Name Type Description
id string
name string Name of the evaluation.
description string Optional description of what this evaluation checks.
enabled boolean Whether the evaluation runs automatically on new $ai_generation events.
status object
status_reason object
evaluation_type object 'llm_judge' uses an LLM to score outputs against a prompt; 'hog' runs deterministic Hog code. * `llm_judge` - LLM as a judge * `hog` - Hog
evaluation_config object Configuration dict. For 'llm_judge': {prompt}. For 'hog': {source}.
output_type object Output format. Currently only 'boolean' is supported. * `boolean` - Boolean (Pass/Fail)
output_config object Output config. For 'boolean' output_type: {allows_na} to permit N/A results.
conditions object Optional trigger conditions to filter which events are evaluated. OR between condition sets, AND within each.
model_configuration object
created_at string
updated_at string
created_by object
deleted boolean Set to true to soft-delete the evaluation.
View JSON Schema on GitHub

JSON Schema

posthog-patchedevaluation-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/PatchedEvaluation",
  "title": "PatchedEvaluation",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "readOnly": true
    },
    "name": {
      "type": "string",
      "description": "Name of the evaluation.",
      "maxLength": 400
    },
    "description": {
      "type": "string",
      "description": "Optional description of what this evaluation checks."
    },
    "enabled": {
      "type": "boolean",
      "description": "Whether the evaluation runs automatically on new $ai_generation events."
    },
    "status": {
      "allOf": [
        {
          "$ref": "#/components/schemas/EvaluationStatusEnum"
        }
      ],
      "readOnly": true
    },
    "status_reason": {
      "readOnly": true,
      "nullable": true,
      "oneOf": [
        {
          "$ref": "#/components/schemas/StatusReasonEnum"
        },
        {
          "$ref": "#/components/schemas/NullEnum"
        }
      ]
    },
    "evaluation_type": {
      "allOf": [
        {
          "$ref": "#/components/schemas/EvaluationTypeEnum"
        }
      ],
      "description": "'llm_judge' uses an LLM to score outputs against a prompt; 'hog' runs deterministic Hog code.\n\n* `llm_judge` - LLM as a judge\n* `hog` - Hog"
    },
    "evaluation_config": {
      "oneOf": [
        {
          "type": "object",
          "title": "LLM judge config",
          "required": [
            "prompt"
          ],
          "properties": {
            "prompt": {
              "type": "string",
              "description": "Evaluation criteria for the LLM judge. Describe what makes a good vs bad response.",
              "minLength": 1
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "title": "Hog config",
          "required": [
            "source"
          ],
          "properties": {
            "source": {
              "type": "string",
              "description": "Hog source code. Must return true (pass), false (fail), or null for N/A.",
              "minLength": 1
            }
          },
          "additionalProperties": false
        }
      ],
      "description": "Configuration dict. For 'llm_judge': {prompt}. For 'hog': {source}."
    },
    "output_type": {
      "allOf": [
        {
          "$ref": "#/components/schemas/OutputTypeEnum"
        }
      ],
      "description": "Output format. Currently only 'boolean' is supported.\n\n* `boolean` - Boolean (Pass/Fail)"
    },
    "output_config": {
      "type": "object",
      "properties": {
        "allows_na": {
          "type": "boolean",
          "description": "Whether the evaluation can return N/A for non-applicable generations.",
          "default": false
        }
      },
      "additionalProperties": false,
      "description": "Output config. For 'boolean' output_type: {allows_na} to permit N/A results."
    },
    "conditions": {
      "description": "Optional trigger conditions to filter which events are evaluated. OR between condition sets, AND within each."
    },
    "model_configuration": {
      "allOf": [
        {
          "$ref": "#/components/schemas/ModelConfiguration"
        }
      ],
      "nullable": true
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true
    },
    "created_by": {
      "allOf": [
        {
          "$ref": "#/components/schemas/UserBasic"
        }
      ],
      "readOnly": true
    },
    "deleted": {
      "type": "boolean",
      "description": "Set to true to soft-delete the evaluation."
    }
  }
}