---
title: "Apply a volume-knob choice from a Briefing footer link"
method: POST
path: "/api/auth/user/preferences/from-email"
tags: ["v1", "auth"]
---

# Apply a volume-knob choice from a Briefing footer link

`POST /api/auth/user/preferences/from-email`

Apply one footer choice, authorised by the token in the link.

Deliberately not `Security(requires_user)`. The session is the wrong
authority here: the settings page applies this on arrival, so a
session-authenticated write would let any third party change a logged-in
reader's preferences just by getting them to follow a link. The HMAC binds
the choice to the recipient we sent it to, exactly as the unsubscribe link
does, and works whether or not they happen to be signed in.

## Query parameters

- `choice` string, required
- `token` string, required

## Response `200`

Successful Response

- NotificationPreference — The volume knob from the Briefing footer, not a checkbox list. Billing and account messages are service mail and are not represented here — they are sent regardless of these settings.
  - `user_id` string, required
  - `email` string, email, required
  - `briefing_frequency` 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'OFF'
  - `alerts_enabled` boolean
  - `store_verdicts_enabled` boolean
  - `daily_limit` integer

## Other responses

- `422` — Validation Error

## Changes

- **2026-08-26** `8bb6e38d9e24` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server/changes/api/auth/user/preferences/from-email/post.md)

---

[API](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server.md) · [All operations](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server/llms.txt) · [OpenAPI document](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server/revisions/5f27fa9d6c03?raw)
