Documentation Index
Fetch the complete documentation index at: https://docs.fluxomail.com/llms.txt
Use this file to discover all available pages before exploring further.
Fluxomail supports one‑click unsubscribe (RFC 8058) and token‑based preference management. You can also manage subscriptions via API.
To add a custom unsubscribe page, set the HTTP URL in the app under Settings → Organization → Footer & Unsubscribe.
Unsubscribe (public)
Linked in headers/footer; verifies a secure token and records suppression.
Preferences API — GET
Endpoint: GET /api/v1/preferences
Headers
| Header | Type | Required | Description |
|---|
| Authorization | string | no | Bearer <api_key> (optional; enables scope checks) |
Query
| Parameter | Type | Required | Description |
|---|
| token | string | no | Secure token for contact lookup |
| email | string | no | Email address to look up |
Get current preferences by token or email
BASE=https://api.fluxomail.com
curl -X GET "$BASE/api/v1/preferences?token=$TOKEN" \
-H "Authorization: Bearer $API_KEY" # optional, if you want to use scopes
Response
{
"contact": { "id": "contacts_...", "email": "user@example.com" },
"categories": [ { "key": "product", "name": "Product updates" } ],
"subscriptions": [ { "categoryKey": "product", "subscribed": true } ]
}
Status codes
200 success
401 invalid API key (when provided)
403 missing preferences_read scope (when authenticated)
404 contact not found
Preferences API — POST
Endpoint: POST /api/v1/preferences
Headers
| Header | Type | Required | Description |
|---|
| Content-Type | string | yes | application/json |
| Authorization | string | no | Required when using scopes on an API key |
Body
| Parameter | Type | Required | Description |
|---|
| token | string | no | Secure token issued for the contact |
| email | string | no | Email address to update |
| subscriptions | array of objects | yes | { categoryKey: string, subscribed: boolean } pairs |
Update subscriptions (token or email). Requires preferences_manage when using a key:
curl -X POST "$BASE/api/v1/preferences" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"token": "...",
"subscriptions": [
{ "categoryKey": "product", "subscribed": false },
{ "categoryKey": "newsletters", "subscribed": true }
]
}'
Response
Status codes
200 success
401 invalid API key (when provided)
403 missing preferences_manage scope (when authenticated)
404 contact not found
400/500 invalid payload/server error
Scopes: preferences_read, preferences_manage