---
title: "Claim a granted reward"
method: POST
path: "/api/rewards/grants/{id}/claim"
tags: ["Rewards"]
---

# Claim a granted reward

`POST /api/rewards/grants/{id}/claim`

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

Returns `expired` or `already_claimed` as a normal 200 result — both are states the app has copy for, and turning them into errors makes the claim button look broken. `next_action` tells the app where to go next.

## Path parameters

- `id` number, required

## Response `200`

- unknown

## Changes

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

[Operation history](https://skmtc.dev/rewritelifestyle/apis/rewrite-lifestyle-api/changes/api/rewards/grants/:id/claim/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)
