---
title: "Get Example By Id"
method: GET
path: "/api/v1/examples/{example_id}"
---

# Get Example By Id

`GET /api/v1/examples/{example_id}`

## Path parameters

- `example_id` string, required — The ID of the example

## Headers

- `authorization` string, nullable

## Cookies

- `modaic_session` string, nullable

## Response `200`

Successful Response

- PredictedExample — A predicted example from a arbiter. Used for both ingestion (POST) and retrieval (GET) of examples. Split contract: `"none"` is the ClickHouse marker for unannotated rows. Callers MUST NOT send `"none"` explicitly — omit `split` and let `get_split` decide. When `ground_truth` is set, `get_split` randomly assigns train/test (80/20); when it isn't, split is forced to `"none"`. Downstream consumers (GEPA, scoring, dataset export) filter on `split in ('train','test')`, so a row stuck at `"none"` is invisible to them. The same rule lives on `jobs/schemas.py::BatchExample`; if you change one, change the other.
  - `id` string, nullable
  - `alt_id` string, nullable
  - `arbiter_repo` string, required
  - `arbiter_hash` string
  - `input` union
    - object
    - string
  - `ground_truth` string, nullable
  - `ground_reasoning` string
  - `messages` object[], nullable
  - `serialized_output` string, nullable
  - `reasoning` string, nullable
  - `error` string
  - `split` 'train' | 'test' | 'none', nullable
  - `version` integer, nullable
  - `prediction_timestamp` string, date-time
  - `confidence` number, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/modaic-ai/apis/modaic-api.md) · [All operations](https://skmtc.net/modaic-ai/apis/modaic-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/modaic-ai/modaic-api/versions/43a90513ac59/schema)
