Upsert company notification preferences
Phase 3.3. Body: `{events: [{event_name, enabled?, emails?}]}`. Upserts each event row. Returns the full refreshed event list for the company.
Authorization
bearerAuth Supabase JWT bearer token for dashboard / user-scoped endpoints. Role-derived scopes: ROOT/ADMIN → full admin; USER → read-only treasury.
In: header
Response Body
application/json
application/json
application/json
application/json
curl -X PATCH "https://loading/v1/auth/companies/notification-preferences"{
"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
}
}Update email sender identity
Partial update — only fields present in the body are touched. Passing null clears a field back to the platform default. Sending from a custom address requires domain verification, which is wired separately.
Update the caller company's public Easy-profile fields
Phase 3.4 follow-up. Partial update — only fields present in the body are touched. Passing null (or an empty string) clears a field back to its default (registered `name` for display_name; no bio / no logo for the others). Body: `{display_name?, bio?, logo_url?}`.