---
title: "Claim the offer. Idempotent — a repeat claim returns the existing grant with already_claimed: true. Eligibility is re-checked here; 409 means the user no longer qualifies. Send `address` when the campaign has `requires_address`."
method: POST
path: "/api/campaigns/{id}/claim"
tags: ["Campaigns"]
---

# Claim the offer. Idempotent — a repeat claim returns the existing grant with already_claimed: true. Eligibility is re-checked here; 409 means the user no longer qualifies. Send \`address\` when the campaign has \`requires_address\`.

`POST /api/campaigns/{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/campaigns/{id}/claim`
- Auth: HTTP bearer

## Path parameters

- `id` number, required

## Query parameters

- `country` string

## Request body

- ClaimCampaignDto
  - `address` CampaignClaimAddressDto
    - `recipient_name` string
    - `address_line1` string
    - `address_line2` string
    - `city` string
    - `state` string
    - `postal_code` string
    - `country` string: ISO-3166-1 alpha-2
    - `phone` string

## Response `201`

---

[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)
