Every open quota for the user
The Quotas surface. A quota is "how often", not "when" — four workouts a
week, one date night a month — and is a task carrying progress_target
greater than 1 OR is_tracked true. The flag exists so a target of one
can still be a quota rather than a deadline.
A quota has NO due date (since 2026-09-08): due_at and
original_due_at are always null, creating or updating one with a date
is a 400, and snoozing one is a 400. "Four times this week" cannot be
late on a Tuesday. The period a quota counts within is named by its
rrule's FREQ, and the current period's start is progress_period_start
on the task — that field is the period anchor; use it, not due_at, for
pace.
A quota is also absent from GET /api/tasks-backed list surfaces in the
app — it appears on this endpoint and in the Track panel and nowhere
else — but GET /api/tasks itself still returns quotas, so clients that
build their own Track view from the full corpus keep working.
Order is deliberately NOT specified here. Clients sort quotas
alphabetically so that logging progress on one never reorders the others
under the user's finger.
Authorizations
API token created via POST /api/tokens or the db:create-token CLI command
Responses
The user's open quotas
