---
title: "Patch Setup"
method: PATCH
path: "/api/me/setup"
tags: ["setup"]
---

# Patch Setup

`PATCH /api/me/setup`

## Request

- Base URL: `https://app.thinqos.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.thinqos.com/api/me/setup`
- Auth: none declared

Merge a step mark, role, picks, mind path, completion, or a rerun reset.

## Headers

- `x-impersonate-identity-id` string, nullable

## Request body

- SetupPatch: A merge, not a replacement. Every field is optional on purpose.
  - `steps` object, nullable
  - `role` string, nullable
  - `role_source` 'inferred' | 'confirmed', nullable
  - `picks` string[], nullable
  - `mind_path` 'judgment' | 'full' | 'later', nullable
  - `completed` boolean, nullable
  - `reset` boolean
  - `job` SetupJob: TOS-5094: the first job the person handed their Subconscious in setup. ``key`` is a catalog key (``services/home_jobs.py``) or ``custom``; ``text`` is the person's own words when they typed them; ``run_id`` is the ad-hoc run on their self chat; ``result_at`` is stamped once that run's ``home_job_result`` has been read back. Additive: a record without it reads as ``None``.
    - `key` string, nullable
    - `text` string, nullable
    - `run_id` string, uuid, nullable
    - `result_at` string, date-time, nullable
  - `business` string, nullable
  - `team_size` '1' | '2-5' | '6-15' | '16+', nullable
  - `not_for_me` string[], nullable
  - `mind_interview` 'requested' | 'done' | 'not_for_me', nullable
  - `handoff_seen` boolean, nullable

## Response `200`

Successful Response

- SetupStatus
  - `record` SetupRecord, required: The persisted setup record, normalised. Unknown keys are dropped.
    - `version` integer
    - `started_at` string, date-time, nullable
    - `completed_at` string, date-time, nullable
    - `steps` object
    - `role` string, nullable
    - `role_source` 'inferred' | 'confirmed', nullable
    - `picks` string[]
    - `mind_path` 'judgment' | 'full' | 'later', nullable
    - `job` SetupJob: TOS-5094: the first job the person handed their Subconscious in setup. ``key`` is a catalog key (``services/home_jobs.py``) or ``custom``; ``text`` is the person's own words when they typed them; ``run_id`` is the ad-hoc run on their self chat; ``result_at`` is stamped once that run's ``home_job_result`` has been read back. Additive: a record without it reads as ``None``.
      - `key` string, nullable
      - `text` string, nullable
      - `run_id` string, uuid, nullable
      - `result_at` string, date-time, nullable
    - `business` string, nullable
    - `team_size` '1' | '2-5' | '6-15' | '16+', nullable
    - `not_for_me` string[]
    - `mind_interview` 'requested' | 'done' | 'not_for_me', nullable
    - `home_last_seen_at` string, date-time, nullable
    - `handoff_seen_at` string, date-time, nullable
  - `state` 'never' | 'in_progress' | 'completed', required
  - `steps_done` integer, required
  - `steps_total` integer
  - `badge_count` integer
  - `first_run_stage` integer

## Other responses

- `422`: Validation Error

---

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