---
title: "Write Redditi Session"
method: PUT
path: "/api/autopilot/redditi/session"
tags: ["autopilot"]
---

# Write Redditi Session

`PUT /api/autopilot/redditi/session`

## Request

- Base URL: `https://api.taxcompass.it` (the document declares no server; this is the origin it was published from)
- URL: `https://api.taxcompass.it/api/autopilot/redditi/session`
- Auth: HTTP bearer

Save one step of that progress and hand back the row as stored.

The response is what the database returned, not the request echoed:
``completed_at`` is decided there (``COALESCE`` against what is already
stored), so a second "done" keeps the first completion's timestamp and
reopening the walkthrough clears it. A client that trusted its own payload
would report the wrong completion time for every save after the first.

No profile gate, unlike ``/estimate`` and ``/deadlines``: those compute
regime-specific money, while this stores progress markers — which rigo is
ticked off — and refusing to remember them until a profile is complete would
make the walkthrough unusable for exactly the people using it to find out what
their profile should say. The year gate stays, because a session for a year
with no verified parameters could never be filled in.

## Query parameters

- `tax_year` integer, required

## Request body

- RedditiSessionUpdate: ``PUT /api/autopilot/redditi/session`` — save one step of wizard progress. ``completed`` is the flag the wizard's final checklist sets; the store turns it into ``completed_at``, keeping the first completion's timestamp when it is re-sent and clearing it when the user reopens the walkthrough.
  - `step_state` object
  - `completed` boolean

## Response `200`

Successful Response

- RedditiSessionRead: ``GET /api/autopilot/redditi/session`` — the wizard's saved progress. ``completed_at`` is reported rather than folded into a boolean so the final checklist can say *when* the return was marked done; ``updated_at`` is what lets a second device tell whose copy of the progress is newer.
  - `tax_year` integer, required
  - `step_state` object
  - `completed_at` string, date-time, nullable
  - `updated_at` string, date-time, nullable

## Other responses

- `422`: Validation Error

---

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