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

# Implementation notes

> Reference notes about routing, storage and behavior.

* The API base URL is `https://app.letterbucket.com/api/v1/`.
* The newsletter is resolved from the API key — you do not pass a newsletter ID.
* `name` is stored internally as `first_name` + `last_name`, split on the first space.
* `status` is optional in `POST /api/v1/subscribers`, `POST /api/v1/subscribers/bulk` and `PUT /api/v1/subscribers/{id}`.
* Allowed input status values are `active` and `pending`.
* Response status values are strings: `pending`, `active` and `unsubscribed`.
* `GET /api/v1/subscribers` supports `?status=active`, `?status=pending` and `?status=unsubscribed`.
* Invalid status filter values return `400` with a descriptive message.
* Subscriber list and get endpoints are cached in Redis with a 1 hour TTL.
* Duplicate email within the same newsletter returns `422` with code `email_already_subscribed`.
* The API key scope is limited to the newsletter it was created for.
