---
title: "Update Quest Definition"
method: PUT
path: "/admin/quest-definitions/{quest_id}"
tags: ["admin"]
---

# Update Quest Definition

`PUT /admin/quest-definitions/{quest_id}`

Update a quest definition.
Only admins can access this endpoint.

## Path parameters

- `quest_id` string, required

## Request body

- QuestDefinitionBase — Base model for quest definitions
  - `name` string, required
  - `description_template` string, required
  - `category` 'exercises_completed' | 'chat_messages_sent' | 'exercises_rated_or_noted' | 'streak_days', required
  - `base_target` integer, required
  - `target_variance_percent` number, required
  - `xp_reward` integer, required
  - `image_url` string, nullable
  - `is_active` boolean

## Response `200`

Successful Response

- QuestDefinitionResponse
  - `id` string, required
  - `name` string, required
  - `description_template` string, required
  - `category` string, required
  - `base_target` integer, required
  - `target_variance_percent` number, required
  - `xp_reward` integer, required
  - `image_url` string, required
  - `is_active` boolean, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/excellence-ai/apis/excellence-learning.md) · [All operations](https://skmtc.dev/excellence-ai/apis/excellence-learning/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/excellence-ai/excellence-learning/revisions/c407f3b5a05b/schema)
