---
title: "Register a trial mail org from an Ed25519 keypair (unauthenticated)."
method: POST
path: "/v1/mail/agents/register"
---

# Register a trial mail org from an Ed25519 keypair (unauthenticated).

`POST /v1/mail/agents/register`

## Request

- Base URL: `https://api.lettera.dev`
- URL: `https://api.lettera.dev/v1/mail/agents/register`
- Auth: none declared

Every unauthenticated registration is receive-only with a 24-hour expiry. Sign lettera-mail:register:{public_key}:{timestamp}. Rate limit: 5 per IP per hour. Alias path: POST /v1/mail/agents/register-trial.

## Request body

- object
  - `public_key` string, required: base58 of the 32-byte Ed25519 public key
  - `timestamp` integer, required: unix seconds, within 300s of server time
  - `signature` string, required: base64 Ed25519 signature
  - `label` string: optional human label for the org

## Response `201`

registered

- object
  - `org_id` string
  - `agent_id` integer
  - `api_key` string: shown exactly once
  - `key_prefix` string
  - `trial` boolean
  - `expires_in_hours` integer
  - `note` string

---

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