---
title: "Set a user's streak state directly"
method: POST
path: "/api/rewards/admin/qa/streak/{userId}"
tags: ["Rewards (QA)"]
---

# Set a user's streak state directly

`POST /api/rewards/admin/qa/streak/{userId}`

## Request

- Base URL: `https://api.rewritelifestyle.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.rewritelifestyle.ai/api/rewards/admin/qa/streak/{userId}`
- Auth: HTTP bearer

## Path parameters

- `userId` number, required

## Request body

- QaSetStreakDto
  - `current_days` number, required
  - `best_days` number: Defaults to current_days.
  - `last_active_date` string: Local date (YYYY-MM-DD) the streak is "active as of". Defaults to yesterday in the user's own timezone, not today — so a real log today naturally advances the streak by one, rather than being silently treated as already counted. Replaces what earlier streaks earned, then earns every stone up to current_days (badges, cosmetics, prizes, Huddle seat) without milestone points.

## Response `201`

## Changes

- **2026-09-12** `0d5ef02a4fbe`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api/changes/api/rewards/admin/qa/streak/:userId/post.md)

---

[API](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api.md) - [All operations](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api/llms.txt) - [OpenAPI document](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api/revisions/28695827f27a?raw)
