---
title: "Unlock Item"
method: POST
path: "/api/gamification/items/unlock"
tags: ["gamification"]
---

# Unlock Item

`POST /api/gamification/items/unlock`

Unlock an item for the user without spending tokens.

- **item_key**: The unique key of the item to unlock (e.g., 'theme_premium_dark', 'icon_special_event')

This endpoint is for unlocking premium items, special event items, or other
items that don't require token payment. No transaction is created.

## Headers

- `x-user-id` string, nullable

## Request body

- ItemActionRequest — Request for item actions (purchase/unlock).
  - `item_key` string, required — The unique key of the item

## Response `200`

Successful Response

- ItemActionResponse — Item action response (purchase/unlock).
  - `success` boolean, required
  - `message` string, required
  - `item` ItemResponse — Item response model for shop display.
    - `id` string, required
    - `key` string, required
    - `name` string, required
    - `description` string, nullable
    - `item_type` string, required
    - `unlock_type` 'free' | 'purchasable' | 'premium' | 'special', required — Item unlock types.
    - `token_price` integer, nullable
    - `available_from` string, date-time, nullable
    - `available_until` string, date-time, nullable
    - `sort_order` integer
    - `created_at` string, date-time, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/usecreed/apis/creed-api.md) · [All operations](https://skmtc.net/usecreed/apis/creed-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/usecreed/creed-api/versions/523833f9e819/schema)
