---
title: "Edit a challenge — 409 once it has started anywhere"
method: PATCH
path: "/api/rewards/admin/challenges/{id}"
tags: ["Rewards (admin)"]
---

# Edit a challenge — 409 once it has started anywhere

`PATCH /api/rewards/admin/challenges/{id}`

## 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/challenges/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` number, required

## Request body

- ChallengeDto
  - `title` string
  - `description` object
  - `start_date` object
  - `end_date` object
  - `announce_date` object
  - `rule_type` string
  - `rule_params` object
  - `reward_points` number
  - `reward_cosmetic_key` object
  - `audiences` string[]
  - `test_user_ids` string[]: Test mode: only these users are in. [] = normal.
  - `join_mode` 'opt_in' | 'auto': opt_in: users join; auto: everyone eligible is in
  - `tracker_style` string
  - `notifications` object

## Response `200`

## Changes

- **2026-11-10** `0d22636dfcb9`: 1 info
  - added the new optional request property `join_mode`
- **2026-11-09** `a76676b4df4a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api/changes/api/rewards/admin/challenges/:id/patch.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/0d22636dfcb9?raw)
