---
title: "PUT /v1/users/me/workflow-state/{workflowSlug}/facts"
method: PUT
path: "/v1/users/me/workflow-state/{workflowSlug}/facts"
tags: ["Users"]
---

# PUT /v1/users/me/workflow-state/{workflowSlug}/facts

`PUT /v1/users/me/workflow-state/{workflowSlug}/facts`

Shallow-merges facts into the authenticated user's workflow state for one workflow, creating the row as `active` on first write. Fact keys are validated per workflow; an unknown key is a 400. A write also advances the onboarding session's activity, so working via facts defers the idle recovery email. `result` beats and `skip_when` read these back from the onboarding-state resource.

## Path parameters

- `workflowSlug` union, required
  - 'review-skill'
  - 'review-code'

## Headers

- `Authorization` string

## Request body

- object

## Response `200`

Default Response

- object
  - `links` object, required
    - `self` string, uri, required
  - `data` object, required
    - `id` string, required
    - `type` 'workflow-state', required
    - `attributes` object, required
      - `workflowSlug` union, required
        - 'review-skill'
        - 'review-code'
      - `status` union, required
        - 'active'
        - 'completed'
        - 'abandoned'
      - `facts` object, required

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

## Changes

- **2026-08-27** `64ef6ca73e52` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/tessl/apis/tessl-api/changes/v1/users/me/workflow-state/:workflowSlug/facts/put.md)

---

[API](https://skmtc.dev/tessl/apis/tessl-api.md) · [All operations](https://skmtc.dev/tessl/apis/tessl-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/tessl/tessl-api/revisions/ffb03b5d287f/schema)
