Update communication preferences
Partially update communication preferences. Only provided fields are changed. Writes to locked channels return 403 LOCKED_CHANNEL_WRITE. Returns updated values + policy matrix.
Authorization
bearerAuth Supabase JWT bearer token for dashboard / user-scoped endpoints. Role-derived scopes: ROOT/ADMIN → full admin; USER → read-only treasury.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://loading/v1/auth/comm-prefs/" \ -H "Content-Type: application/json" \ -d '{}'{
"success": true,
"timestamp": "2019-08-24T14:15:22Z",
"data": null,
"message": "string",
"pagination": {
"total": 0,
"limit": 1,
"offset": 0,
"has_more": true,
"truncated": true,
"cursors": {
"first": "string",
"last": "string"
}
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}Get communication preferences
Fetch the authenticated user's communication preferences. Response includes current channel values and per-channel policy (locked/lock_reason). Locked channels are forced-on for owner/super-admin roles and cannot be disabled.
Get the authenticated user's company addresses
Returns active treasury addresses for the current environment plus the rolodex of cross-company saved addresses. Replaces the dashboard's direct Supabase reads (Phase 3.2).