{"query":"Retrieve Benchmark Results","corpusVersion":"local","generatedAt":"2026-11-02T06:32:36.720Z","results":[{"blockId":"public-api.benchmark-results#retrieve-benchmark-results","pageId":"public-api.benchmark-results","title":"Retrieve Benchmark Results","pageTitle":"Retrieve Benchmark Results","url":"https://teammately.ai/docs/public-api/benchmark-results.md","humanUrl":"https://teammately.ai/docs/public-api/benchmark-results#retrieve-benchmark-results","markdownUrl":"https://teammately.ai/docs/public-api/benchmark-results.md","sectionId":"retrieve-benchmark-results","kind":"api","productArea":"public_api","score":1457.8511296471909,"reasons":["search_match","title_match","term_match","prefix_or_fuzzy_match"],"markdown":"# Retrieve Benchmark Results"},{"blockId":"public-api.benchmark-results#example-read-evaluation-results","pageId":"public-api.benchmark-results","title":"Example: Read evaluation results","pageTitle":"Retrieve Benchmark Results","url":"https://teammately.ai/docs/public-api/benchmark-results.md","humanUrl":"https://teammately.ai/docs/public-api/benchmark-results#example-read-evaluation-results","markdownUrl":"https://teammately.ai/docs/public-api/benchmark-results.md","sectionId":"example-read-evaluation-results","kind":"api","productArea":"public_api","score":963.1244616882188,"reasons":["search_match","page_title_match","term_match"],"markdown":"### Example: Read evaluation results\n\n```sh\ncurl --fail-with-body \\\n  --header \"Authorization: Bearer ${TEAMMATELY_API_KEY}\" \\\n  \"${BENCHMARK_URL}/runs/${RUN_ID}/evaluation-results?limit=20&offset=0\"\n```\n\n```python\nimport os\nfrom urllib.parse import quote, urlencode\nfrom urllib.request import HTTPRedirectHandler, Request, build_opener\n\nclass NoRedirect(HTTPRedirectHandler):\n    def redirect_request(self, req, fp, code, msg, headers, newurl):\n        return None\n\nopener = build_opener(NoRedirect())\napi_key = os.environ[\"TEAMMATELY_API_KEY\"]\n\nurl = os.environ[\"BENCHMARK_URL\"] + \"/runs/\" + quote(os.environ[\"RUN_ID\"], safe=\"\") + \"/evaluation-results\"\nurl += \"?\" + urlencode({\"limit\": \"20\", \"offset\": \"0\"})\nheaders = {\"Authorization\": \"Bearer \" + api_key}\nrequest = Request(url, headers=headers, method=\"GET\")\nwith opener.open(request) as response:\n    print(response.read().decode(\"utf-8\"))\n```\n\n```typescript\nconst apiKey = process.env.TEAMMATELY_API_KEY!;\n\n{\n  const url = new URL(process.env.BENCHMARK_URL! + \"/runs/\" + encodeURIComponent(process.env.RUN_ID!) + \"/evaluation-results\");\n  url.searchParams.set(\"limit\", \"20\");\n  url.searchParams.set(\"offset\", \"0\");\n  const response = await fetch(url, {\n    method: \"GET\",\n    redirect: \"error\",\n    headers: {\n      Authorization: `Bearer ${apiKey}`,\n    },\n  });\n  if (!response.ok) throw new Error(`HTTP ${response.status}`);\n  console.log(await response.text());\n}\n```\n\n```go\npackage main\n\nimport (\n    \"context\"\n    \"fmt\"\n    \"io\"\n    \"log\"\n    \"net/http\"\n    \"net/url\"\n    \"os\"\n)\n\nfunc main() {\n    if err := run(context.Background()); err != nil { log.Fatal(err) }\n}\n\nfunc run(ctx context.Context) error {\n    client := &http.Client{\n        CheckRedirect: func(req *http.Request, via []*http.Request) error {\n            return http.ErrUseLastResponse\n        },\n    }\n    {\n        target := os.Getenv(\"BENCHMARK_URL\") + \"/runs/\" + url.PathEscape(os.Getenv(\"RUN_ID\")) + \"/evaluation-results\"\n        query := url.Values{}\n        query.Set(\"limit\", \"20\")\n        query.Set(\"offset\", \"0\")\n        target += \"?\" + query.Encode()\n        request, err := http.NewRequestWithContext(ctx, \"GET\", target, nil)\n        if err != nil { return err }\n        request.Header.Set(\"Authorization\", \"Bearer \" + os.Getenv(\"TEAMMATELY_API_KEY\"))\n        response, err := client.Do(request)\n        if err != nil { return err }\n        payloadBytes, readErr := io.ReadAll(response.Body)\n        response.Body.Close()\n        if readErr != nil { return readErr }\n        fmt.Println(string(payloadBytes))\n        if response.StatusCode < 200 || response.StatusCode >= 300 { return fmt.Errorf(\"HTTP %d\", response.StatusCode) }\n    }\n    return nil\n}\n```\n\nUse the child Trial's `runId`. The `data` payload holds the page. `limit` accepts 1–100 (default 20); `offset` is nonnegative. Page through the returned population instead of treating one page as all results.\n\n| Query | Selection |\n| --- | --- |\n| `result` | `passed`, `failed` or `missing` rubric observations |\n| `case_id`, `policy_id` | One Case or Policy |\n| `case_rubric_pair_id` | One Case/Rubric pair |\n| `dimension_id`, `ontology_id` | Declared coverage population |\n\nThe same filters apply to `evaluation-context`. Unknown/repeated parameters are rejected. Run and instruction reads take no query parameters."},{"blockId":"public-api.benchmark-results#definition","pageId":"public-api.benchmark-results","title":"Definition","pageTitle":"Retrieve Benchmark Results","url":"https://teammately.ai/docs/public-api/benchmark-results.md","humanUrl":"https://teammately.ai/docs/public-api/benchmark-results#definition","markdownUrl":"https://teammately.ai/docs/public-api/benchmark-results.md","sectionId":"definition","kind":"api","productArea":"public_api","score":717.3334956154397,"reasons":["search_match","page_title_match","term_match","prefix_or_fuzzy_match"],"markdown":"## Definition\n\nUnder the organization/project/Benchmark/Version prefix, current gateway routes include:\n\n```http\nGET /version-context\nGET /runs/{runId}\nGET /runs/{runId}/evaluation-context\nGET /runs/{runId}/evaluation-results\nGET /runs/{runId}/evaluation-instructions\nGET /comparison/{runId}/summary\nGET /comparison/{runId}/cases\n```\n\nExternal Group/child reads additionally use their returned nested links."},{"blockId":"public-api.benchmark-results#read-a-bounded-page","pageId":"public-api.benchmark-results","title":"Read a bounded page","pageTitle":"Retrieve Benchmark Results","url":"https://teammately.ai/docs/public-api/benchmark-results.md","humanUrl":"https://teammately.ai/docs/public-api/benchmark-results#read-a-bounded-page","markdownUrl":"https://teammately.ai/docs/public-api/benchmark-results.md","sectionId":"read-a-bounded-page","kind":"api","productArea":"public_api","score":694.0772674567048,"reasons":["search_match","page_title_match","term_match"],"markdown":"## Read a bounded page"},{"blockId":"public-api.benchmark-results#related-reference-pages","pageId":"public-api.benchmark-results","title":"Related reference pages","pageTitle":"Retrieve Benchmark Results","url":"https://teammately.ai/docs/public-api/benchmark-results.md","humanUrl":"https://teammately.ai/docs/public-api/benchmark-results#related-reference-pages","markdownUrl":"https://teammately.ai/docs/public-api/benchmark-results.md","sectionId":"related-reference-pages","kind":"api","productArea":"public_api","score":614.3403865922347,"reasons":["search_match","page_title_match","term_match","prefix_or_fuzzy_match"],"markdown":"## Related reference pages\n\n{% related-card-grid title=\"Related reference pages\" %}\n- [Result Serialization](/docs/public-api/result-schema)\n- [Submit External Evaluation Outputs](/docs/public-api/evaluation-outputs)\n- [Evaluation Results](/docs/benchmark-evaluations/results)\n{% /related-card-grid %}"},{"blockId":"public-api.benchmark-results#read-the-exact-population","pageId":"public-api.benchmark-results","title":"Read the exact population","pageTitle":"Retrieve Benchmark Results","url":"https://teammately.ai/docs/public-api/benchmark-results.md","humanUrl":"https://teammately.ai/docs/public-api/benchmark-results#read-the-exact-population","markdownUrl":"https://teammately.ai/docs/public-api/benchmark-results.md","sectionId":"read-the-exact-population","kind":"api","productArea":"public_api","score":607.6779745247984,"reasons":["search_match","page_title_match","term_match","prefix_or_fuzzy_match"],"markdown":"## Read the exact population\n\nVerify that the individual Run belongs to the selected Benchmark Version. Read available Case outputs, rubric judgments, native interpretation, rationale and incomplete state. Page through the authoritative filtered result population rather than treating the first page as all results.\n\nInstructions and context orient the coding agent; neither is a mutation or a completed evaluation."},{"blockId":"public-api.benchmark-results#compare","pageId":"public-api.benchmark-results","title":"Compare","pageTitle":"Retrieve Benchmark Results","url":"https://teammately.ai/docs/public-api/benchmark-results.md","humanUrl":"https://teammately.ai/docs/public-api/benchmark-results#compare","markdownUrl":"https://teammately.ai/docs/public-api/benchmark-results.md","sectionId":"compare","kind":"api","productArea":"public_api","score":550.0706491512332,"reasons":["search_match","page_title_match","term_match"],"markdown":"## Compare\n\nComparisons preserve individual Run grain and recorded conditions. Missing outputs, profile drift or unavailable native results can prevent a definitive comparison. A later independent Run does not silently replace the reference chosen before outcomes were known.\n\nRecord the exact starting and candidate Run IDs. Do not interpret legacy compatibility columns as mandatory binary rules when the current Regime supplies native point/gate meaning."},{"blockId":"public-api.benchmark-results#example-compare-two-trials","pageId":"public-api.benchmark-results","title":"Example: Compare two Trials","pageTitle":"Retrieve Benchmark Results","url":"https://teammately.ai/docs/public-api/benchmark-results.md","humanUrl":"https://teammately.ai/docs/public-api/benchmark-results#example-compare-two-trials","markdownUrl":"https://teammately.ai/docs/public-api/benchmark-results.md","sectionId":"example-compare-two-trials","kind":"api","productArea":"public_api","score":546.7030739846424,"reasons":["search_match","page_title_match","term_match"],"markdown":"### Example: Compare two Trials\n\n```sh\ncurl --fail-with-body --get \\\n  --header \"Authorization: Bearer ${TEAMMATELY_API_KEY}\" \\\n  --data-urlencode \"target_run_id=${TARGET_RUN_ID}\" \\\n  \"${BENCHMARK_URL}/comparison/${BASELINE_RUN_ID}/summary\"\n```\n\n```python\nimport os\nfrom urllib.parse import quote, urlencode\nfrom urllib.request import HTTPRedirectHandler, Request, build_opener\n\nclass NoRedirect(HTTPRedirectHandler):\n    def redirect_request(self, req, fp, code, msg, headers, newurl):\n        return None\n\nopener = build_opener(NoRedirect())\napi_key = os.environ[\"TEAMMATELY_API_KEY\"]\n\nurl = os.environ[\"BENCHMARK_URL\"] + \"/comparison/\" + quote(os.environ[\"BASELINE_RUN_ID\"], safe=\"\") + \"/summary\"\nurl += \"?\" + urlencode({\"target_run_id\": os.environ[\"TARGET_RUN_ID\"]})\nheaders = {\"Authorization\": \"Bearer \" + api_key}\nrequest = Request(url, headers=headers, method=\"GET\")\nwith opener.open(request) as response:\n    print(response.read().decode(\"utf-8\"))\n```\n\n```typescript\nconst apiKey = process.env.TEAMMATELY_API_KEY!;\n\n{\n  const url = new URL(process.env.BENCHMARK_URL! + \"/comparison/\" + encodeURIComponent(process.env.BASELINE_RUN_ID!) + \"/summary\");\n  url.searchParams.set(\"target_run_id\", process.env.TARGET_RUN_ID!);\n  const response = await fetch(url, {\n    method: \"GET\",\n    redirect: \"error\",\n    headers: {\n      Authorization: `Bearer ${apiKey}`,\n    },\n  });\n  if (!response.ok) throw new Error(`HTTP ${response.status}`);\n  console.log(await response.text());\n}\n```\n\n```go\npackage main\n\nimport (\n    \"context\"\n    \"fmt\"\n    \"io\"\n    \"log\"\n    \"net/http\"\n    \"net/url\"\n    \"os\"\n)\n\nfunc main() {\n    if err := run(context.Background()); err != nil { log.Fatal(err) }\n}\n\nfunc run(ctx context.Context) error {\n    client := &http.Client{\n        CheckRedirect: func(req *http.Request, via []*http.Request) error {\n            return http.ErrUseLastResponse\n        },\n    }\n    {\n        target := os.Getenv(\"BENCHMARK_URL\") + \"/comparison/\" + url.PathEscape(os.Getenv(\"BASELINE_RUN_ID\")) + \"/summary\"\n        query := url.Values{}\n        query.Set(\"target_run_id\", os.Getenv(\"TARGET_RUN_ID\"))\n        target += \"?\" + query.Encode()\n        request, err := http.NewRequestWithContext(ctx, \"GET\", target, nil)\n        if err != nil { return err }\n        request.Header.Set(\"Authorization\", \"Bearer \" + os.Getenv(\"TEAMMATELY_API_KEY\"))\n        response, err := client.Do(request)\n        if err != nil { return err }\n        payloadBytes, readErr := io.ReadAll(response.Body)\n        response.Body.Close()\n        if readErr != nil { return readErr }\n        fmt.Println(string(payloadBytes))\n        if response.StatusCode < 200 || response.StatusCode >= 300 { return fmt.Errorf(\"HTTP %d\", response.StatusCode) }\n    }\n    return nil\n}\n```\n\nUse `/cases` for paged changes, with `limit` and `offset`. Both child IDs must belong to the scope. Inspect comparability and incompleteness before interpreting a delta."}]}