---
title: "Register a person"
method: POST
path: "/api/v1/memory/speakers"
tags: ["speakers"]
---

# Register a person

`POST /api/v1/memory/speakers`

## Request

- Base URL: `https://api.wontopos.com`
- URL: `https://api.wontopos.com/api/v1/memory/speakers`
- Auth: API key in header `X-API-Key`

Speakers are explicit, like stores: register once, then store with metadata.speaker. "me" (the agent itself) is reserved, exact lowercase, never registered and never counted. Up to 50 people per store to start.

## Request body

- object
  - `user_id` string, required: The store to operate on. Stores are explicit: create one first or use the built-in "default". Use the id the store was created with: 1-64 ASCII letters, digits, ., _ or -, starting with a letter or digit. Ids that differ only by case name one store.
  - `speaker` string, required

## Response `200`

Already registered (idempotent).

- object
  - `user_id` string
  - `speaker` string
  - `status` 'exists'

## Other responses

- `201`: Registered.
- `400`: Reserved name ("me" in any casing), invalid name, or the store is at its cap — the error carries speaker_limit (50).
- `401`: Missing or invalid API key.
- `404`: Store (user_id) does not exist. Create it first: POST /api/v1/memory/collection.
- `429`: Rate limited (per-account, per-tier RPM). Retry after the indicated delay.

---

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