---
title: "Release Page"
method: GET
path: "/optimisation/releases"
tags: ["optimisation"]
---

# Release Page

`GET /optimisation/releases`

## Request

- Base URL: `https://api.os3robotics.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.os3robotics.com/optimisation/releases`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Optimisations and standalone LLM decisions, newest first, in the last 30 days by
default. Pass the returned `since` and `next` as `since` and `after` for the next page.

## Query parameters

- `workspace_id` string, uuid, required
- `since` string, date-time, nullable
- `after` string, nullable
- `limit` integer

## Response `200`

Successful Response

- ReleasePage
  - `items` ReleaseItem[], required
    - `cycle` Cycle, required
      - `id` string, uuid, required
      - `task_id` string, uuid, required
      - `workspace_id` string, uuid, required
      - `state` string, required
      - `trigger` string, required
      - `trigger_evidence` object, required
      - `rung` integer, required
      - `eval_set_id` string, uuid, nullable, required
      - `candidate_ref` string, nullable, required
      - `desired_job_id` string, uuid, nullable, required
      - `release_decision_id` string, uuid, nullable, required
      - `reason` string, nullable, required
      - `evidence` object, nullable, required
      - `opened_by` string, required
      - `opened_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `closed_at` string, date-time, nullable, required
    - `decision` ReleaseDecision, required
      - `id` string, uuid, required
      - `workspace_id` string, uuid, required
      - `kind` 'llm_specialist' | 'robot_policy', required
      - `candidate_ref` string, required
      - `model_version_id` string, uuid, nullable, required
      - `from_version_id` string, uuid, nullable, required
      - `task` string, nullable, required
      - `claim` 'same_quality' | 'economy' | 'improvement', required
      - `tolerance` number, required
      - `gate` object, required
      - `candidate_eval_id` string, uuid, required
      - `baseline_eval_id` string, uuid, required
      - `safety_eval_id` string, uuid, nullable, required
      - `runtime_ref` string, nullable, required
      - `suite_ref` string, nullable, required
      - `suite_sha256` string, nullable, required
      - `passed` boolean, required
      - `verdict` string, required
      - `failed_criteria` string[], required
      - `reasons` object, required
      - `item_flips` object, nullable, required
      - `accuracy` object, nullable, required
      - `canary_percent` integer, required
      - `approved_at` string, date-time, nullable, required
      - `approved_by` string, nullable, required
      - `created_by` string, required
      - `created_at` string, date-time, required
      - `adapter_version_id` string, uuid, nullable
      - `from_adapter_version_id` string, uuid, nullable
      - `general_eval_id` string, uuid, nullable
      - `forgetting` object, nullable
      - `contract_id` string, uuid, nullable
      - `all_in_cost` object, nullable
      - `route_state` string, nullable
      - `task_id` string, nullable
      - `replaced` Reinstated: The release the rolled-back click replaced, which serves the task again.
        - `release_decision_id` string, uuid, required
        - `candidate_ref` string, required
      - `safety_origin` 'os3_run' | 'customer_reported', nullable
      - `canary_traffic` CanaryTraffic: A live canary's traffic since it started, as the canary guard last looked at it. A canary sends a share of its task's subjects to the candidate (a request's subject is its x-os3-subject, else its x-os3-session, else its gateway key), not a share of its requests, so the candidate's share of the requests is what its subjects send.
        - `at` string, date-time, required
        - `candidate_requests` integer, required
        - `incumbent_requests` integer, required
        - `candidate_subjects` integer, nullable, required
        - `incumbent_subjects` integer, nullable, required
        - `share` number, nullable, required
        - `one_subject` boolean, required
      - `thinking_pick` boolean, nullable
      - `keep` number, nullable, required: The quality setting it was decided under (its gate's); null: none (same quality, or a claim declared without one).
      - `stage` string, required: rejected | rolled_back (its canary) | released | awaiting_operator (robot) | canary | awaiting_customer.
  - `next` string, nullable, required
  - `since` string, date-time, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/os3robotics/apis/os3-api.md) - [All operations](https://skmtc.dev/os3robotics/apis/os3-api/llms.txt) - [OpenAPI document](https://skmtc.dev/os3robotics/apis/os3-api/revisions/af32cd4f14bb?raw)
