---
title: "Claim email address"
method: POST
path: "/v1/email/claim"
tags: ["email"]
---

# Claim email address

`POST /v1/email/claim`

## Request

- Base URL: `https://agentlair.dev`
- URL: `https://agentlair.dev/v1/email/claim`
- Auth: HTTP bearer

Explicitly claim an `@agentlair.dev` address for this account before emails arrive.
Optionally provide an X25519 `public_key` (base64url, 32 bytes) to enable E2E encryption:
inbound emails will be encrypted and only decryptable by the holder of the matching
private key.

## Request body

- object
  - `address` string, required
  - `public_key` string: Optional. Base64url-encoded X25519 public key (32 bytes) to enable E2E encryption

## Response `201`

Address claimed

- object
  - `address` string
  - `claimed` boolean
  - `already_owned` boolean
  - `account_id` string
  - `e2e_enabled` boolean

## Other responses

- `400`: Invalid address
- `403`: Address reserved or limit reached
- `409`: Address claimed by another account

---

[API](https://skmtc.dev/agentlair/apis/agentlair-api.md) · [All operations](https://skmtc.dev/agentlair/apis/agentlair-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentlair/apis/agentlair-api/revisions/fac95ff4995d?raw)
