The auth.* family (1 verb). Every verb enters through the one front door: it is capability-checked, permission-checked, scope-checked and audited before it runs (see Security & permissions). Each entry below lists its capability, risk class (which fixes the minimum autonomy level), the minimum caller permission, its availability tier, whether it is idempotent, and any outbound egress.
Setauth.credentials.set
| Property | Value |
|---|---|
| Capability | actor.write |
| Risk class | Sensitive - autonomy L2 |
| Min. permission | Member |
| Availability | On demand (MCP tier 2) |
| Idempotent | No |
| Egress | None - in-box (pure Postgres, no outbound call) |
, SELF. Set the ACTING actor’s email + password (the
legitimate-login credential, CC-OPBOX 9 D1). { email, password, currentPassword? }. A first-time set
(no password yet) needs no currentPassword; a CHANGE requires the matching currentPassword. The
password is argon2id-hashed (never plaintext, never returned); the email is globally unique (a
cross-account collision -> a clean Conflict). A CHANGE bumps session_version (re-login, legacy parity);
a first set does NOT (the caller’s current bearer keeps working). HUMAN actors only.
Call POST /v/auth.credentials.set with a JSON body; returns JSON (or { error, code }). Also exposed as the MCP tool auth.credentials.set.