---
title: "Set Thinking"
method: PUT
path: "/optimisation/tasks/{task_id}/thinking"
tags: ["optimisation"]
---

# Set Thinking

`PUT /optimisation/tasks/{task_id}/thinking`

## 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/tasks/{task_id}/thinking`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Pick thinking on or off for the task's specialist in the workspace, or go back to OS3's
choice (null): an owner or admin, signed in; a pick only once both modes of the specialist
served now were measured (409 not_measured).

## Path parameters

- `task_id` string, uuid, required

## Request body

- ThinkingIn: The task's specialist served with thinking on (true) or off (false) in the workspace; null goes back to OS3's choice (the release gate's).
  - `workspace_id` string, uuid, required
  - `thinking` boolean, nullable, required

## Response `200`

Successful Response

- TaskThinking: The task's thinking pick in the workspace, the mode its specialist answers in now and both modes' measured numbers.
  - `task_id` string, uuid, required
  - `workspace_id` string, uuid, required
  - `pick` boolean, nullable, required
  - `picked_by` string, nullable, required
  - `picked_at` string, date-time, nullable, required
  - `served` boolean, nullable, required
  - `comparison` ThinkingComparison, required: The task's newest comparison of one adapter version served thinking on vs off.
    - `decision_id` string, uuid, required
    - `adapter_version_id` string, uuid, required
    - `current` boolean, required
    - `measure` 'pass_rate' | 'accuracy' | 'win_rate', required
    - `n` integer, required
    - `on` ThinkingMode, required: One mode's measured numbers: quality (a share, 0 to 1) and its 95% interval, the all-in cost a case (USD; null: unknown) and the p95 latency (ms).
      - `quality` number, nullable, required
      - `quality_low` number, nullable, required
      - `quality_high` number, nullable, required
      - `cost_per_case` string, nullable, required
      - `p95_ms` number, required
    - `off` ThinkingMode, required: One mode's measured numbers: quality (a share, 0 to 1) and its 95% interval, the all-in cost a case (USD; null: unknown) and the p95 latency (ms).
      - `quality` number, nullable, required
      - `quality_low` number, nullable, required
      - `quality_high` number, nullable, required
      - `cost_per_case` string, nullable, required
      - `p95_ms` number, required
    - `passed` boolean, required
    - `failed_criteria` string[], required
    - `thinking_pick` boolean, nullable, required
    - `route_state` string, nullable, required
    - `decided_at` string, date-time, required
  - `cycle` ThinkingCycle, required
    - `id` string, uuid, required
    - `asked` 'pick' | 'compare', required
    - `state` string, required
  - `traffic` ThinkingTraffic, required: Of the task's newest requests (at most 1,000), those that set their own reasoning_effort, or, under a pick of thinking on, max tokens under ``room``: they keep them, whatever the pick.
    - `requests` integer, required
    - `overriding` integer, required
    - `room` integer, 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)
