---
title: "Mark a claimed prize delivered"
method: POST
path: "/api/rewards/admin/grants/{id}/fulfil"
tags: ["Rewards (admin)"]
---

# Mark a claimed prize delivered

`POST /api/rewards/admin/grants/{id}/fulfil`

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

Sets status fulfilled and delivered_at, and ends the prize's data-access consent (revoke_reason "delivered"). 404 unknown grant; 409 already delivered, or pending / expired / revoked. Returns the row in the queue's shape.

## Path parameters

- `id` number, required

## Request body

- FulfilGrantDto
  - `note` string: Kept on the grant as fulfilment_meta.note.

## Response `201`

## Changes

- **2026-10-27** `5231b7914987`: 1 breaking, 1 info
  - added required request body
  - api operation id `RewardsAdminController_markDelivered` removed and replaced with `RewardsAdminController_fulfilGrant`
- **2026-10-19** `0c72870a5acb`: 1 info
  - endpoint added

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