owner_email.
GET — list commitments
OptionalappId and status (open | done | missed | cancelled) filters.
POST — create a commitment
Created via the API,
source is manual. Returns { "data": { "commitment": {...} } } with 201.
PATCH — update a commitment
Send only the fields you want to change:body, dueAt, status. Setting status to anything other than open stamps resolvedAt. Returns the updated { commitment }, or 404 if not found.
DELETE — cancel a commitment
cancelled (never hard-deletes).
Automatic capture
In chat (web / Slack / Telegram), when you say you’ll do something the agent callsrecord_commitment for you — resolving “this week”/“Friday”/“tomorrow” to a real dueAt. Open and overdue commitments are then injected into the next briefings so it follows up under a 🤝 You said you'd line.
