> ## Documentation Index
> Fetch the complete documentation index at: https://usenaive.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Claim Device

> The owner binds an announced Tower to their company; the device polls the same path until claimed.

Claiming a Tower has two sides:

* **The device polls** `GET /v1/devices/claim/{code}` until an owner claims it.
* **The owner claims** with `POST /v1/devices/claim/{code}`, binding the device to
  their company. Company-authenticated: send either a dashboard session cookie
  (the panel `/claim` page) or an API-key Bearer token. This mirrors the
  developer-dashboard sign-in — the owner claims the Tower by signing in or
  registering, and completes KYC + kit selection.

### Poll claim status

```bash theme={"theme":"css-variables"}
curl https://api.usenaive.ai/v1/devices/claim/TWR-4F2A-9CD1
```

```json 200 theme={"theme":"css-variables"}
{ "device_id": "dev_01H...", "status": "unclaimed", "claimed": false }
```

### Claim (owner)

<RequestExample>
  ```bash theme={"theme":"css-variables"}
  curl -X POST https://api.usenaive.ai/v1/devices/claim/TWR-4F2A-9CD1 \
    -H "Authorization: Bearer nv_sk_live_..."
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={"theme":"css-variables"}
  {
    "device_id": "dev_01H...",
    "status": "claimed",
    "kyc": "verified"
  }
  ```
</ResponseExample>

<Note>
  The registration lock means a Tower can be claimed **once**; re-claiming a
  claimed device is rejected. See
  [claim & provisioning](/docs/self-hosting/claim-and-provisioning) for the full
  flow, and [Revoke](/docs/api-reference/devices/revoke) to release a device.
</Note>
