---
title: "Evaluate Session"
method: POST
path: "/evaluate_session"
---

# Evaluate Session

`POST /evaluate_session`

## Request body

- EvaluateSessionRequestBody
  - `session_id` string, required
  - `skip_cache` boolean
  - `evaluation_type` string, nullable
  - `origin` string, nullable, required

## Response `200`

Successful Response

- EvaluateSessionResponse
  - `metadata` EvaluationMetadataDTO, required
    - `id` string
    - `created_at_utc` string, date-time
    - `error` string, nullable
    - `evaluator_class` string, nullable
    - `origin` string, nullable
    - `session_id` string, nullable
    - `incident_id` string, nullable
    - `author_uuid` string, nullable
    - `author` UserDTO, required
      - `id` string, required
      - `email` string, required
      - `organization` OrganizationDTO, required
        - `id` string, required
        - `name` string, required
    - `session` SessionDTO, required
      - `session_id` string, required
      - `author` UserDTO, required
        - `id` string, required
        - `email` string, required
        - `organization` OrganizationDTO, required
          - `id` string, required
          - `name` string, required
      - `organization` OrganizationDTO, required
        - `id` string, required
        - `name` string, required
    - `incident` BenchmarkingIncidentEvaluationCoreModelsDtosIncidentDtoIncidentDTO, required
      - `id` string, required
      - `incident_key` string, required
      - `organization` OrganizationDTO, required
        - `id` string, required
        - `name` string, required
  - `full_report` FullEvaluationReport, required
    - `evaluation_metadata` EvaluationMetadata, required — Metadata of an evaluation record.
      - `id` string
      - `created_at_utc` string, date-time
      - `error` string, nullable
      - `evaluator_class` string, nullable
      - `origin` string, nullable
      - `session_id` string, nullable
      - `incident_id` string, nullable
      - `author_uuid` string, nullable
    - `evaluation_data` EvaluationData
      - `traversal_session` TraversalSession
        - `traversal_session_id` string, required
        - `investigation_prompt` string, required — Initial prompt that triggered the investigation
        - `incident_time` string, date-time, nullable, required — Approximate incident time supplied with the investigation trigger
        - `investigation` Investigation, required — Object containing the output of the investigation. Contains data about the the report and tools such as metrics/logs/etc Attributes: mode: Mode of the investigation. Can be RCA, EXPLORE, CHAT, or TRIAGE. agent_report: arbitrary structured dict triage_report: Alert Triage report generated by the agent tool_reports: dict of raw tool outputs by source tool name. context_item_reports: list of context item reports model_config: ConfigDict for the model
          - `mode` 'rca' | 'chat' | 'triage' | 'alert_story', required
          - `agent_report` object, nullable — RCA report generated by the agent for the investigation
          - `triage_report` TriageReportAnswerV2 — Alert Triage V2 report with question-based narrative structure. This format organizes triage findings as a guided investigation narrative — **less "what," more "why" and "so what."** Instead of grouping by data types (logs, metrics), findings are structured around diagnostic questions that mirror how SREs reason during troubleshooting. The report follows the natural SRE reasoning sequence: 1. What triggered this alert? (Symptom/Detection) 2. What else changed around the same time? (Correlated Factors) 3. Who or what was affected? (System Impact) 4. What could have caused it? (Related Changes) 5. Has this happened before? (Context/History) 6. What should I do next? (Recommendation) This structure enables engineers to make triage decisions in under 30 seconds by providing a compact, readable, and consistent narrative that answers: "what happened, what else changed, who was affected, and what should I do?" Attributes: report_summary: Brief TL;DR (3 sentences max) with state awareness (recovered/ongoing/intermittent), key metrics, and outcome priority_confidence: Confidence score reflecting evidence strength priority_confidence_explanation: Actionable explanation of the priority confidence finding_summaries: 3-5 findings following the SRE reasoning chain with question-based structure service_impact_summary: Quantified impact on services and users with specific numbers service_impact_summary_evidence: Evidence linking to impact statements highlights: Key service/resource names for UI highlighting (specific names only)
            - `report_summary` string, required — Brief TL;DR limited to 3 sentences max: (1) what happened with explicit state awareness (recovered/ongoing/intermittent) and time window, (2) most important symptoms with key metrics (error rate, latency, volume, duration), (3) outcome/current status. Answers 'what happened and so what?' in narrative style.
            - `priority_confidence` number, required — Confidence score 0-10: 8-10 (multiple correlated evidence sources, clear causality), 5-7 (supporting evidence with some gaps), 0-4 (suggestive patterns only, significant unknowns)
            - `priority_confidence_explanation` string, required — Specific, actionable explanation of the priority_confidence score based on evidence quality, completeness, and impact observed. Examples: 'Multiple correlated evidence sources confirm consumer lag issue', 'Evidence suggests transient issue with recovery', 'Limited evidence of impact, monitor for recurrence'
            - `finding_summaries` FindingSummary[] — 3-5 findings following the SRE reasoning chain (symptom → correlated factors → impact → causes → history → recommendation). Each finding answers a diagnostic question with 1-3 short, declarative bullet points that quantify deviations, include chronological hints, and merge tightly related signals. Skip questions if no relevant data available.
              - …
            - `service_impact_summary` string[] — Bullet points with quantified impact (request volumes, error counts, affected services/operations, SLO/burn rate status). Include specific numbers and explicit state awareness (recovered/ongoing). Example: 'Service: payments-api, Volume: 200 requests/sec failing, Burn rate: 10x normal'
            - `service_impact_summary_evidence` ServiceImpactSummaryEvidenceV2[] — Evidence linking impact statements to specific metrics, logs, or alerts via UUIDs. Each entry connects 1-3 evidence items to an impact claim.
              - …
            - `highlights` string[] — Specific service names, resource names, operation names, region names, or key tag values to highlight in UI. Use exact names from the system, NOT generic terms like 'database' or 'Redis'. Single tokens or system-specific multi-word phrases only.
          - `tool_reports` object — dict of raw tool outputs by source tool name
          - `context_item_reports` ContextItemReportModel[] — list of context item reports
            - `id` string, required
            - `title` string, required
            - `artifact_unit_ids` string[], required
            - `text_content` object, required
            - `context_item_value` string, nullable, required
            - `chat_message_id` string, required
            - `context_item_name` string, nullable, required
            - `platform_link` string, nullable, required
      - `incident` IncidentMetadata
        - `id` string, nullable — Database ID of the incident (UUID)
        - `organization_id` string, nullable — Organization ID of the incident
        - `incident_key` string, required — Unique key of the incident within customer's ecosystem
        - `created_at` string, date-time, nullable — Timestamp when the incident was created in the database
        - `start_time` string, date-time, nullable — Approximate incident start time as supplied by the customer
        - `description` string, nullable — Description of the incident as supplied by the customer
      - `incident_data` IncidentDataCollection
        - `raw_list` IncidentDataWithSource[]
          - `source_type` 'slack' | 'confluence' | 'firehydrant' | 'servicenow' | 'notion' | 'datadog' | 'jira' | 'manual', required
          - `data` union, required
            - ConfluencePostmortem — Represents a Confluence postmortem page with its content and attachments.
              - …
            - FireHydrantPostmortem
              - …
            - JiraTicket — Jira ticket as ground truth data for incident evaluation.
              - …
            - ManualGroundTruthData — Model for manual ground truth data. Contains user-provided root cause summaries and evidence items that should have been identified during an incident investigation. Attributes: type: Data source type discriminator (always MANUAL) content: The ground truth content (root cause summary, evidence items, etc.) created_at: When the ground truth was first created updated_at: When the ground truth was last updated author_email: Email of the user who last updated the ground truth
              - …
            - NotionPage — Represents a Notion page with its content and metadata.
              - …
            - BenchmarkingIncidentEvaluationCoreModelsIncidentDataSlackSlackChannel
              - …
            - DatadogIncidentInfo — Information extracted from a Datadog incident.
              - …
            - BaseServiceNowIncident
              - …
        - `markdown_by_id` object
    - `evaluator_input` union
      - FiveWhysEvaluatorInput
        - `true_answer` string, required
        - `root_cause_hypotheses` string[], required
      - EntitiesEvaluatorInput
        - `true_answer` string, required
        - `root_cause_hypotheses` string[], required
        - `true_entities` Entity[], required
          - `name` string, required
          - `type` string, required
          - `role` 'root_cause' | 'impacted' | 'unrelated', required
          - `role_reasoning` string, required
          - `description` string, required
          - `problem_caused` string, required
        - `predicted_entities` array[], required
          - Entity[]
            - `name` string, required
            - `type` string, required
            - `role` 'root_cause' | 'impacted' | 'unrelated', required
            - `role_reasoning` string, required
            - `description` string, required
            - `problem_caused` string, required
    - `result` union
      - FiveWhysEvaluatorOutput
        - `score` number, required
        - `reason` string, required
        - `hypotheses_evaluations` FiveWhysSingleIssueEvaluationOutput[], required
          - `score` number, required
          - `reason` string, required
          - `full_evaluation_details` object, required
      - EntitiesEvaluatorOutput
        - `candidate_issue_evaluations` SingleCandidateIssueEntitiesEvaluationOutput[], required
          - `all_true_entities` Entity[], required
            - `name` string, required
            - `type` string, required
            - `role` 'root_cause' | 'impacted' | 'unrelated', required
            - `role_reasoning` string, required
            - `description` string, required
            - `problem_caused` string, required
          - `all_predicted_entities` Entity[], required
            - `name` string, required
            - `type` string, required
            - `role` 'root_cause' | 'impacted' | 'unrelated', required
            - `role_reasoning` string, required
            - `description` string, required
            - `problem_caused` string, required
          - `predicted_entity_evaluations` PredictedEntityEvaluation[], required
            - `entity` Entity, required
              - …
            - `true_role` 'root_cause' | 'impacted' | 'unrelated', nullable, required — True role of the entity in the incident
            - `true_role_reasoning` string, required — Explanation of the true role of the entity in the incident
            - `is_correct_entity` boolean, required
            - `is_correct_role` boolean, required
          - `scope_all_entities` EntitiesEvaluationResult, required
            - `true_entities` Entity[], required
              - …
            - `predicted_entities` Entity[], required
              - …
            - `predicted_entity_evaluations` PredictedEntityEvaluation[], required
              - …
            - `predicted_true_positives` Entity[], required
              - …
            - `predicted_true_positives_with_correct_role` Entity[], required
              - …
            - `predicted_true_positives_with_wrong_role` Entity[], required
              - …
            - `predicted_false_positives` Entity[], required
              - …
            - `predicted_false_negatives` Entity[], required
              - …
            - `precision` number, required
            - `precision_str` string, required
            - `recall` number, required
            - `recall_str` string, required
            - `true_positives_role_accuracy` number, required
            - `true_positives_role_accuracy_str` string, required
            - `score` number, required
          - `scope_root_cause_entities` EntitiesEvaluationResult, required
            - `true_entities` Entity[], required
              - …
            - `predicted_entities` Entity[], required
              - …
            - `predicted_entity_evaluations` PredictedEntityEvaluation[], required
              - …
            - `predicted_true_positives` Entity[], required
              - …
            - `predicted_true_positives_with_correct_role` Entity[], required
              - …
            - `predicted_true_positives_with_wrong_role` Entity[], required
              - …
            - `predicted_false_positives` Entity[], required
              - …
            - `predicted_false_negatives` Entity[], required
              - …
            - `precision` number, required
            - `precision_str` string, required
            - `recall` number, required
            - `recall_str` string, required
            - `true_positives_role_accuracy` number, required
            - `true_positives_role_accuracy_str` string, required
            - `score` number, required
        - `result` SingleCandidateIssueEntitiesEvaluationOutput, required
          - `all_true_entities` Entity[], required
            - `name` string, required
            - `type` string, required
            - `role` 'root_cause' | 'impacted' | 'unrelated', required
            - `role_reasoning` string, required
            - `description` string, required
            - `problem_caused` string, required
          - `all_predicted_entities` Entity[], required
            - `name` string, required
            - `type` string, required
            - `role` 'root_cause' | 'impacted' | 'unrelated', required
            - `role_reasoning` string, required
            - `description` string, required
            - `problem_caused` string, required
          - `predicted_entity_evaluations` PredictedEntityEvaluation[], required
            - `entity` Entity, required
              - …
            - `true_role` 'root_cause' | 'impacted' | 'unrelated', nullable, required — True role of the entity in the incident
            - `true_role_reasoning` string, required — Explanation of the true role of the entity in the incident
            - `is_correct_entity` boolean, required
            - `is_correct_role` boolean, required
          - `scope_all_entities` EntitiesEvaluationResult, required
            - `true_entities` Entity[], required
              - …
            - `predicted_entities` Entity[], required
              - …
            - `predicted_entity_evaluations` PredictedEntityEvaluation[], required
              - …
            - `predicted_true_positives` Entity[], required
              - …
            - `predicted_true_positives_with_correct_role` Entity[], required
              - …
            - `predicted_true_positives_with_wrong_role` Entity[], required
              - …
            - `predicted_false_positives` Entity[], required
              - …
            - `predicted_false_negatives` Entity[], required
              - …
            - `precision` number, required
            - `precision_str` string, required
            - `recall` number, required
            - `recall_str` string, required
            - `true_positives_role_accuracy` number, required
            - `true_positives_role_accuracy_str` string, required
            - `score` number, required
          - `scope_root_cause_entities` EntitiesEvaluationResult, required
            - `true_entities` Entity[], required
              - …
            - `predicted_entities` Entity[], required
              - …
            - `predicted_entity_evaluations` PredictedEntityEvaluation[], required
              - …
            - `predicted_true_positives` Entity[], required
              - …
            - `predicted_true_positives_with_correct_role` Entity[], required
              - …
            - `predicted_true_positives_with_wrong_role` Entity[], required
              - …
            - `predicted_false_positives` Entity[], required
              - …
            - `predicted_false_negatives` Entity[], required
              - …
            - `precision` number, required
            - `precision_str` string, required
            - `recall` number, required
            - `recall_str` string, required
            - `true_positives_role_accuracy` number, required
            - `true_positives_role_accuracy_str` string, required
            - `score` number, required
        - `score` number, required
    - `tools_results_evidence_items` EvidenceItemsEvaluatorOutput
      - `predicted_items` ContextualizedPredictedEvidenceItem[], required
        - `name` string — A specific name that uniquely identifies the evidence item. Copy from the evidence item if available. If not, infer from a number, title, or URL.
        - `causal_relation_to_incident` 'related' | 'unrelated', required — One of related | unrelated. Set to 'related' if the item is causally/symptomatically related to the incident or helps detect/explain its cause; otherwise 'unrelated' (e.g., remediation-only steps or item is not mentioned in the report).
        - `causal_relation_reason` string, required — Concise explanation justifying the causal classification. If 'related', explain how it detects/causes/explains the incident or is caused by the incident. If 'unrelated', explain why it does not contribute (e.g., outside window, not mentioned in the report, remediation-only,...).
        - `description` string — A short description of what the evidence item does; copy from evidence item description if available.
        - `context` string — The context in which the evidence item is mentioned—-often an excerpt from the postmortem, RCA analysis, notes, attachments, or conversations. Different from 'description'. Leave empty if the item is not in the report.
        - `context_field` string — Brief locator of where the context can be found (e.g., file name, notes, attachment, comments, problem record, RCA section, conversation thread).
        - `uuid` string — The UUID of the predicted evidence item
        - `source_tool` string, required
        - `item` union, required
          - ServiceNowCIMetricsEvidenceItem — unresolved $ref
          - AlertsEvidenceItem — unresolved $ref
          - SingleTimeSeriesMetricsEvidenceItem — unresolved $ref
          - PullRequestEvidenceItem — unresolved $ref
          - ElasticLogEvidenceItem — unresolved $ref
          - PanelSearchEvidenceItem — unresolved $ref
          - LogGroupEvidenceItem — unresolved $ref
          - TextEvidenceItem — unresolved $ref
          - NotionPageEvidenceItem — unresolved $ref
        - `item_type` 'metrics' | 'logs' | 'deployments' | 'alerts' | 'other', required — Types of investigation tools used for evidence collection.
      - `groundtruth_items` ContextualizedGroundTruthEvidenceItem[], required
        - `name` string — A specific name that uniquely identifies the evidence item. Copy from the evidence item if available. If not, infer from a number, title, or URL.
        - `causal_relation_to_incident` 'related' | 'unrelated', required — One of related | unrelated. Set to 'related' if the item is causally/symptomatically related to the incident or helps detect/explain its cause; otherwise 'unrelated' (e.g., remediation-only steps or item is not mentioned in the report).
        - `causal_relation_reason` string, required — Concise explanation justifying the causal classification. If 'related', explain how it detects/causes/explains the incident or is caused by the incident. If 'unrelated', explain why it does not contribute (e.g., outside window, not mentioned in the report, remediation-only,...).
        - `description` string — A short description of what the evidence item does; copy from evidence item description if available.
        - `context` string — The context in which the evidence item is mentioned—-often an excerpt from the postmortem, RCA analysis, notes, attachments, or conversations. Different from 'description'. Leave empty if the item is not in the report.
        - `context_field` string — Brief locator of where the context can be found (e.g., file name, notes, attachment, comments, problem record, RCA section, conversation thread).
        - `uuid` string — The UUID of the ground truth evidence item
        - `source` string, required
        - `item` union, required
          - CandidateDeployment — A single deployment / change window entry.
            - `uuid` string, required
            - `kind` 'deployments'
            - `deployment_content` string, required — Content of the deployment extracted from the tool report or postmortem
            - `deployment_time` string — Time of the deployment in ISO 8601 format.
            - `name` string — Name of the deployment
          - LogGroupInput — Structure representing a parsed log group from the log report or postmortem.
            - `kind` 'logs'
            - `query` string, required — The query used to pull the logs
            - `index` string, required — The Elasticsearch index of the log group
            - `uuid` string, required — The UUID of the log group
            - `anomaly_score` string, required — The anomaly score of the log group
            - `anomaly_range` string, required — The anomaly time range of the log group
            - `sample_log` string, required — The sample log of the log group
            - `message_fields` string, required — The message fields of the log group
            - `fields` string[], required — The fields of the log group
            - `service_graph_matches` string, required — The service graph matches associated with the log group
            - `internal_analysis` string, required — Analysis we include per log group
          - SingleMetricEvaluatorInput
            - `kind` 'metrics'
            - `dashboard_name` string, required — The name of the dashboard
            - `panel_name` string, required — The name of the panel
            - `query` string, required — The query used to pull the metric
            - `query_provenance_stats` string, required — Statistics and labels associated with the query
            - `description` string, required — The description of the metric
            - `timeseries_list` TimeSeries[], required — All time series associated with query
              - …
            - `service_graph_matches` string, required — Service graph matches associated with the metric
          - EvalAlert — Alert data from investigation.
            - `kind` 'alerts'
            - `title` string — Human-friendly title/name
            - `alert_number` string — Alert Number
            - `alert_description` string — Alert Description
            - `alert_metric_name` string — Metric / query name
            - `priority` string — Priority / severity text
            - `num_fires` integer — Number of fires in window
            - `first_fire` string — First fire ISO/UTC
            - `last_fire` string — Last fire ISO/UTC
            - `query` string — Query / rule
            - `configuration_item` string — CI name
            - `configuration_item_description` string — CI description
            - `alert_severity` string — Numeric or textual severity
            - `business_application_name` string — Primary business app
            - `business_applications` string[]
            - `services_with_same_alert` string[]
            - `common_tags` string[]
        - `item_type` 'metrics' | 'logs' | 'deployments' | 'alerts' | 'other', required — Types of investigation tools used for evidence collection.
      - `ground_truth_to_predicted_matches` GroundTruthToPredictedMatch[], required
        - `groundtruth_evidence_item` ContextualizedGroundTruthEvidenceItem, required
          - `name` string — A specific name that uniquely identifies the evidence item. Copy from the evidence item if available. If not, infer from a number, title, or URL.
          - `causal_relation_to_incident` 'related' | 'unrelated', required — One of related | unrelated. Set to 'related' if the item is causally/symptomatically related to the incident or helps detect/explain its cause; otherwise 'unrelated' (e.g., remediation-only steps or item is not mentioned in the report).
          - `causal_relation_reason` string, required — Concise explanation justifying the causal classification. If 'related', explain how it detects/causes/explains the incident or is caused by the incident. If 'unrelated', explain why it does not contribute (e.g., outside window, not mentioned in the report, remediation-only,...).
          - `description` string — A short description of what the evidence item does; copy from evidence item description if available.
          - `context` string — The context in which the evidence item is mentioned—-often an excerpt from the postmortem, RCA analysis, notes, attachments, or conversations. Different from 'description'. Leave empty if the item is not in the report.
          - `context_field` string — Brief locator of where the context can be found (e.g., file name, notes, attachment, comments, problem record, RCA section, conversation thread).
          - `uuid` string — The UUID of the ground truth evidence item
          - `source` string, required
          - `item` union, required
            - CandidateDeployment — A single deployment / change window entry.
              - …
            - LogGroupInput — Structure representing a parsed log group from the log report or postmortem.
              - …
            - SingleMetricEvaluatorInput
              - …
            - EvalAlert — Alert data from investigation.
              - …
          - `item_type` 'metrics' | 'logs' | 'deployments' | 'alerts' | 'other', required — Types of investigation tools used for evidence collection.
        - `matched_predicted_evidence_item` ContextualizedPredictedEvidenceItem, required
          - `name` string — A specific name that uniquely identifies the evidence item. Copy from the evidence item if available. If not, infer from a number, title, or URL.
          - `causal_relation_to_incident` 'related' | 'unrelated', required — One of related | unrelated. Set to 'related' if the item is causally/symptomatically related to the incident or helps detect/explain its cause; otherwise 'unrelated' (e.g., remediation-only steps or item is not mentioned in the report).
          - `causal_relation_reason` string, required — Concise explanation justifying the causal classification. If 'related', explain how it detects/causes/explains the incident or is caused by the incident. If 'unrelated', explain why it does not contribute (e.g., outside window, not mentioned in the report, remediation-only,...).
          - `description` string — A short description of what the evidence item does; copy from evidence item description if available.
          - `context` string — The context in which the evidence item is mentioned—-often an excerpt from the postmortem, RCA analysis, notes, attachments, or conversations. Different from 'description'. Leave empty if the item is not in the report.
          - `context_field` string — Brief locator of where the context can be found (e.g., file name, notes, attachment, comments, problem record, RCA section, conversation thread).
          - `uuid` string — The UUID of the predicted evidence item
          - `source_tool` string, required
          - `item` union, required
            - ServiceNowCIMetricsEvidenceItem — unresolved $ref
            - AlertsEvidenceItem — unresolved $ref
            - SingleTimeSeriesMetricsEvidenceItem — unresolved $ref
            - PullRequestEvidenceItem — unresolved $ref
            - ElasticLogEvidenceItem — unresolved $ref
            - PanelSearchEvidenceItem — unresolved $ref
            - LogGroupEvidenceItem — unresolved $ref
            - TextEvidenceItem — unresolved $ref
            - NotionPageEvidenceItem — unresolved $ref
          - `item_type` 'metrics' | 'logs' | 'deployments' | 'alerts' | 'other', required — Types of investigation tools used for evidence collection.
        - `match_reasoning` string, required — Why this predicted item matches the ground-truth item. Make reference to names, titles, descriptions, context, or item fields.
      - `stats` PredictionStats, required
        - `predicted_items` ContextualizedPredictedEvidenceItem[], required
          - `name` string — A specific name that uniquely identifies the evidence item. Copy from the evidence item if available. If not, infer from a number, title, or URL.
          - `causal_relation_to_incident` 'related' | 'unrelated', required — One of related | unrelated. Set to 'related' if the item is causally/symptomatically related to the incident or helps detect/explain its cause; otherwise 'unrelated' (e.g., remediation-only steps or item is not mentioned in the report).
          - `causal_relation_reason` string, required — Concise explanation justifying the causal classification. If 'related', explain how it detects/causes/explains the incident or is caused by the incident. If 'unrelated', explain why it does not contribute (e.g., outside window, not mentioned in the report, remediation-only,...).
          - `description` string — A short description of what the evidence item does; copy from evidence item description if available.
          - `context` string — The context in which the evidence item is mentioned—-often an excerpt from the postmortem, RCA analysis, notes, attachments, or conversations. Different from 'description'. Leave empty if the item is not in the report.
          - `context_field` string — Brief locator of where the context can be found (e.g., file name, notes, attachment, comments, problem record, RCA section, conversation thread).
          - `uuid` string — The UUID of the predicted evidence item
          - `source_tool` string, required
          - `item` union, required
            - ServiceNowCIMetricsEvidenceItem — unresolved $ref
            - AlertsEvidenceItem — unresolved $ref
            - SingleTimeSeriesMetricsEvidenceItem — unresolved $ref
            - PullRequestEvidenceItem — unresolved $ref
            - ElasticLogEvidenceItem — unresolved $ref
            - PanelSearchEvidenceItem — unresolved $ref
            - LogGroupEvidenceItem — unresolved $ref
            - TextEvidenceItem — unresolved $ref
            - NotionPageEvidenceItem — unresolved $ref
          - `item_type` 'metrics' | 'logs' | 'deployments' | 'alerts' | 'other', required — Types of investigation tools used for evidence collection.
        - `groundtruth_items` ContextualizedGroundTruthEvidenceItem[], required
          - `name` string — A specific name that uniquely identifies the evidence item. Copy from the evidence item if available. If not, infer from a number, title, or URL.
          - `causal_relation_to_incident` 'related' | 'unrelated', required — One of related | unrelated. Set to 'related' if the item is causally/symptomatically related to the incident or helps detect/explain its cause; otherwise 'unrelated' (e.g., remediation-only steps or item is not mentioned in the report).
          - `causal_relation_reason` string, required — Concise explanation justifying the causal classification. If 'related', explain how it detects/causes/explains the incident or is caused by the incident. If 'unrelated', explain why it does not contribute (e.g., outside window, not mentioned in the report, remediation-only,...).
          - `description` string — A short description of what the evidence item does; copy from evidence item description if available.
          - `context` string — The context in which the evidence item is mentioned—-often an excerpt from the postmortem, RCA analysis, notes, attachments, or conversations. Different from 'description'. Leave empty if the item is not in the report.
          - `context_field` string — Brief locator of where the context can be found (e.g., file name, notes, attachment, comments, problem record, RCA section, conversation thread).
          - `uuid` string — The UUID of the ground truth evidence item
          - `source` string, required
          - `item` union, required
            - CandidateDeployment — A single deployment / change window entry.
              - …
            - LogGroupInput — Structure representing a parsed log group from the log report or postmortem.
              - …
            - SingleMetricEvaluatorInput
              - …
            - EvalAlert — Alert data from investigation.
              - …
          - `item_type` 'metrics' | 'logs' | 'deployments' | 'alerts' | 'other', required — Types of investigation tools used for evidence collection.
        - `ground_truth_to_predicted_matches` GroundTruthToPredictedMatch[], required
          - `groundtruth_evidence_item` ContextualizedGroundTruthEvidenceItem, required
            - `name` string — A specific name that uniquely identifies the evidence item. Copy from the evidence item if available. If not, infer from a number, title, or URL.
            - `causal_relation_to_incident` 'related' | 'unrelated', required — One of related | unrelated. Set to 'related' if the item is causally/symptomatically related to the incident or helps detect/explain its cause; otherwise 'unrelated' (e.g., remediation-only steps or item is not mentioned in the report).
            - `causal_relation_reason` string, required — Concise explanation justifying the causal classification. If 'related', explain how it detects/causes/explains the incident or is caused by the incident. If 'unrelated', explain why it does not contribute (e.g., outside window, not mentioned in the report, remediation-only,...).
            - `description` string — A short description of what the evidence item does; copy from evidence item description if available.
            - `context` string — The context in which the evidence item is mentioned—-often an excerpt from the postmortem, RCA analysis, notes, attachments, or conversations. Different from 'description'. Leave empty if the item is not in the report.
            - `context_field` string — Brief locator of where the context can be found (e.g., file name, notes, attachment, comments, problem record, RCA section, conversation thread).
            - `uuid` string — The UUID of the ground truth evidence item
            - `source` string, required
            - `item` union, required
              - …
            - `item_type` 'metrics' | 'logs' | 'deployments' | 'alerts' | 'other', required — Types of investigation tools used for evidence collection.
          - `matched_predicted_evidence_item` ContextualizedPredictedEvidenceItem, required
            - `name` string — A specific name that uniquely identifies the evidence item. Copy from the evidence item if available. If not, infer from a number, title, or URL.
            - `causal_relation_to_incident` 'related' | 'unrelated', required — One of related | unrelated. Set to 'related' if the item is causally/symptomatically related to the incident or helps detect/explain its cause; otherwise 'unrelated' (e.g., remediation-only steps or item is not mentioned in the report).
            - `causal_relation_reason` string, required — Concise explanation justifying the causal classification. If 'related', explain how it detects/causes/explains the incident or is caused by the incident. If 'unrelated', explain why it does not contribute (e.g., outside window, not mentioned in the report, remediation-only,...).
            - `description` string — A short description of what the evidence item does; copy from evidence item description if available.
            - `context` string — The context in which the evidence item is mentioned—-often an excerpt from the postmortem, RCA analysis, notes, attachments, or conversations. Different from 'description'. Leave empty if the item is not in the report.
            - `context_field` string — Brief locator of where the context can be found (e.g., file name, notes, attachment, comments, problem record, RCA section, conversation thread).
            - `uuid` string — The UUID of the predicted evidence item
            - `source_tool` string, required
            - `item` union, required
              - …
            - `item_type` 'metrics' | 'logs' | 'deployments' | 'alerts' | 'other', required — Types of investigation tools used for evidence collection.
          - `match_reasoning` string, required — Why this predicted item matches the ground-truth item. Make reference to names, titles, descriptions, context, or item fields.
        - `overview` object, required — Human readable overview of the prediction stats.
        - `precision` number, required — Precision: correct_predictions / total_predictions.
        - `recall` number, required — Recall: number of ground truth items that have at least one match / total number of ground truth items.
        - `missed_groundtruths` ContextualizedGroundTruthEvidenceItem[], required — List of ground truth items that were not matched to any predicted item.
          - `name` string — A specific name that uniquely identifies the evidence item. Copy from the evidence item if available. If not, infer from a number, title, or URL.
          - `causal_relation_to_incident` 'related' | 'unrelated', required — One of related | unrelated. Set to 'related' if the item is causally/symptomatically related to the incident or helps detect/explain its cause; otherwise 'unrelated' (e.g., remediation-only steps or item is not mentioned in the report).
          - `causal_relation_reason` string, required — Concise explanation justifying the causal classification. If 'related', explain how it detects/causes/explains the incident or is caused by the incident. If 'unrelated', explain why it does not contribute (e.g., outside window, not mentioned in the report, remediation-only,...).
          - `description` string — A short description of what the evidence item does; copy from evidence item description if available.
          - `context` string — The context in which the evidence item is mentioned—-often an excerpt from the postmortem, RCA analysis, notes, attachments, or conversations. Different from 'description'. Leave empty if the item is not in the report.
          - `context_field` string — Brief locator of where the context can be found (e.g., file name, notes, attachment, comments, problem record, RCA section, conversation thread).
          - `uuid` string — The UUID of the ground truth evidence item
          - `source` string, required
          - `item` union, required
            - CandidateDeployment — A single deployment / change window entry.
              - …
            - LogGroupInput — Structure representing a parsed log group from the log report or postmortem.
              - …
            - SingleMetricEvaluatorInput
              - …
            - EvalAlert — Alert data from investigation.
              - …
          - `item_type` 'metrics' | 'logs' | 'deployments' | 'alerts' | 'other', required — Types of investigation tools used for evidence collection.
        - `matches_by_groundtruth_item` object, required
        - `relevant_predictions` ContextualizedPredictedEvidenceItem[], required — List of all predicted items that are causally related to the incident.
          - `name` string — A specific name that uniquely identifies the evidence item. Copy from the evidence item if available. If not, infer from a number, title, or URL.
          - `causal_relation_to_incident` 'related' | 'unrelated', required — One of related | unrelated. Set to 'related' if the item is causally/symptomatically related to the incident or helps detect/explain its cause; otherwise 'unrelated' (e.g., remediation-only steps or item is not mentioned in the report).
          - `causal_relation_reason` string, required — Concise explanation justifying the causal classification. If 'related', explain how it detects/causes/explains the incident or is caused by the incident. If 'unrelated', explain why it does not contribute (e.g., outside window, not mentioned in the report, remediation-only,...).
          - `description` string — A short description of what the evidence item does; copy from evidence item description if available.
          - `context` string — The context in which the evidence item is mentioned—-often an excerpt from the postmortem, RCA analysis, notes, attachments, or conversations. Different from 'description'. Leave empty if the item is not in the report.
          - `context_field` string — Brief locator of where the context can be found (e.g., file name, notes, attachment, comments, problem record, RCA section, conversation thread).
          - `uuid` string — The UUID of the predicted evidence item
          - `source_tool` string, required
          - `item` union, required
            - ServiceNowCIMetricsEvidenceItem — unresolved $ref
            - AlertsEvidenceItem — unresolved $ref
            - SingleTimeSeriesMetricsEvidenceItem — unresolved $ref
            - PullRequestEvidenceItem — unresolved $ref
            - ElasticLogEvidenceItem — unresolved $ref
            - PanelSearchEvidenceItem — unresolved $ref
            - LogGroupEvidenceItem — unresolved $ref
            - TextEvidenceItem — unresolved $ref
            - NotionPageEvidenceItem — unresolved $ref
          - `item_type` 'metrics' | 'logs' | 'deployments' | 'alerts' | 'other', required — Types of investigation tools used for evidence collection.
        - `irrelevant_predictions` ContextualizedPredictedEvidenceItem[], required — List of predicted items that did not match any ground truth item.
          - `name` string — A specific name that uniquely identifies the evidence item. Copy from the evidence item if available. If not, infer from a number, title, or URL.
          - `causal_relation_to_incident` 'related' | 'unrelated', required — One of related | unrelated. Set to 'related' if the item is causally/symptomatically related to the incident or helps detect/explain its cause; otherwise 'unrelated' (e.g., remediation-only steps or item is not mentioned in the report).
          - `causal_relation_reason` string, required — Concise explanation justifying the causal classification. If 'related', explain how it detects/causes/explains the incident or is caused by the incident. If 'unrelated', explain why it does not contribute (e.g., outside window, not mentioned in the report, remediation-only,...).
          - `description` string — A short description of what the evidence item does; copy from evidence item description if available.
          - `context` string — The context in which the evidence item is mentioned—-often an excerpt from the postmortem, RCA analysis, notes, attachments, or conversations. Different from 'description'. Leave empty if the item is not in the report.
          - `context_field` string — Brief locator of where the context can be found (e.g., file name, notes, attachment, comments, problem record, RCA section, conversation thread).
          - `uuid` string — The UUID of the predicted evidence item
          - `source_tool` string, required
          - `item` union, required
            - ServiceNowCIMetricsEvidenceItem — unresolved $ref
            - AlertsEvidenceItem — unresolved $ref
            - SingleTimeSeriesMetricsEvidenceItem — unresolved $ref
            - PullRequestEvidenceItem — unresolved $ref
            - ElasticLogEvidenceItem — unresolved $ref
            - PanelSearchEvidenceItem — unresolved $ref
            - LogGroupEvidenceItem — unresolved $ref
            - TextEvidenceItem — unresolved $ref
            - NotionPageEvidenceItem — unresolved $ref
          - `item_type` 'metrics' | 'logs' | 'deployments' | 'alerts' | 'other', required — Types of investigation tools used for evidence collection.
        - `f1_score` number, required — F1 score is the harmonic mean of precision and recall.
      - `stats_by_tool` object, required
      - `predicted_items_by_name` object, required
      - `score` number, required
    - `context_item_report_results` union
      - FiveWhysEvaluatorOutput
        - `score` number, required
        - `reason` string, required
        - `hypotheses_evaluations` FiveWhysSingleIssueEvaluationOutput[], required
          - `score` number, required
          - `reason` string, required
          - `full_evaluation_details` object, required
      - EntitiesEvaluatorOutput
        - `candidate_issue_evaluations` SingleCandidateIssueEntitiesEvaluationOutput[], required
          - `all_true_entities` Entity[], required
            - `name` string, required
            - `type` string, required
            - `role` 'root_cause' | 'impacted' | 'unrelated', required
            - `role_reasoning` string, required
            - `description` string, required
            - `problem_caused` string, required
          - `all_predicted_entities` Entity[], required
            - `name` string, required
            - `type` string, required
            - `role` 'root_cause' | 'impacted' | 'unrelated', required
            - `role_reasoning` string, required
            - `description` string, required
            - `problem_caused` string, required
          - `predicted_entity_evaluations` PredictedEntityEvaluation[], required
            - `entity` Entity, required
              - …
            - `true_role` 'root_cause' | 'impacted' | 'unrelated', nullable, required — True role of the entity in the incident
            - `true_role_reasoning` string, required — Explanation of the true role of the entity in the incident
            - `is_correct_entity` boolean, required
            - `is_correct_role` boolean, required
          - `scope_all_entities` EntitiesEvaluationResult, required
            - `true_entities` Entity[], required
              - …
            - `predicted_entities` Entity[], required
              - …
            - `predicted_entity_evaluations` PredictedEntityEvaluation[], required
              - …
            - `predicted_true_positives` Entity[], required
              - …
            - `predicted_true_positives_with_correct_role` Entity[], required
              - …
            - `predicted_true_positives_with_wrong_role` Entity[], required
              - …
            - `predicted_false_positives` Entity[], required
              - …
            - `predicted_false_negatives` Entity[], required
              - …
            - `precision` number, required
            - `precision_str` string, required
            - `recall` number, required
            - `recall_str` string, required
            - `true_positives_role_accuracy` number, required
            - `true_positives_role_accuracy_str` string, required
            - `score` number, required
          - `scope_root_cause_entities` EntitiesEvaluationResult, required
            - `true_entities` Entity[], required
              - …
            - `predicted_entities` Entity[], required
              - …
            - `predicted_entity_evaluations` PredictedEntityEvaluation[], required
              - …
            - `predicted_true_positives` Entity[], required
              - …
            - `predicted_true_positives_with_correct_role` Entity[], required
              - …
            - `predicted_true_positives_with_wrong_role` Entity[], required
              - …
            - `predicted_false_positives` Entity[], required
              - …
            - `predicted_false_negatives` Entity[], required
              - …
            - `precision` number, required
            - `precision_str` string, required
            - `recall` number, required
            - `recall_str` string, required
            - `true_positives_role_accuracy` number, required
            - `true_positives_role_accuracy_str` string, required
            - `score` number, required
        - `result` SingleCandidateIssueEntitiesEvaluationOutput, required
          - `all_true_entities` Entity[], required
            - `name` string, required
            - `type` string, required
            - `role` 'root_cause' | 'impacted' | 'unrelated', required
            - `role_reasoning` string, required
            - `description` string, required
            - `problem_caused` string, required
          - `all_predicted_entities` Entity[], required
            - `name` string, required
            - `type` string, required
            - `role` 'root_cause' | 'impacted' | 'unrelated', required
            - `role_reasoning` string, required
            - `description` string, required
            - `problem_caused` string, required
          - `predicted_entity_evaluations` PredictedEntityEvaluation[], required
            - `entity` Entity, required
              - …
            - `true_role` 'root_cause' | 'impacted' | 'unrelated', nullable, required — True role of the entity in the incident
            - `true_role_reasoning` string, required — Explanation of the true role of the entity in the incident
            - `is_correct_entity` boolean, required
            - `is_correct_role` boolean, required
          - `scope_all_entities` EntitiesEvaluationResult, required
            - `true_entities` Entity[], required
              - …
            - `predicted_entities` Entity[], required
              - …
            - `predicted_entity_evaluations` PredictedEntityEvaluation[], required
              - …
            - `predicted_true_positives` Entity[], required
              - …
            - `predicted_true_positives_with_correct_role` Entity[], required
              - …
            - `predicted_true_positives_with_wrong_role` Entity[], required
              - …
            - `predicted_false_positives` Entity[], required
              - …
            - `predicted_false_negatives` Entity[], required
              - …
            - `precision` number, required
            - `precision_str` string, required
            - `recall` number, required
            - `recall_str` string, required
            - `true_positives_role_accuracy` number, required
            - `true_positives_role_accuracy_str` string, required
            - `score` number, required
          - `scope_root_cause_entities` EntitiesEvaluationResult, required
            - `true_entities` Entity[], required
              - …
            - `predicted_entities` Entity[], required
              - …
            - `predicted_entity_evaluations` PredictedEntityEvaluation[], required
              - …
            - `predicted_true_positives` Entity[], required
              - …
            - `predicted_true_positives_with_correct_role` Entity[], required
              - …
            - `predicted_true_positives_with_wrong_role` Entity[], required
              - …
            - `predicted_false_positives` Entity[], required
              - …
            - `predicted_false_negatives` Entity[], required
              - …
            - `precision` number, required
            - `precision_str` string, required
            - `recall` number, required
            - `recall_str` string, required
            - `true_positives_role_accuracy` number, required
            - `true_positives_role_accuracy_str` string, required
            - `score` number, required
        - `score` number, required
    - `error` string, nullable, required — Legacy field, retained for backwards compatibility.
    - `evaluation_id` string, required — Legacy field, retained for backwards compatibility.
    - `evaluator_class` string, nullable, required — Legacy field, retained for backwards compatibility.

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/traversal/apis/fastapi.md) · [All operations](https://skmtc.net/traversal/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/traversal/fastapi/revisions/2134ebffd1ef/schema)
