PUT https://api.sonorancad.com/v2/general/permissions/accounts/{accountId}
Authenticate with your community API key using Authorization: Bearer YOUR_API_KEY. All SDK examples use the existing authenticated request and rate-limit handling.
Replace the account’s complete explicit grant list in the authenticated community. accountId is the account UUID, not a community user ID. This operation does not add to the existing list: omitted grants are removed. The request must contain grants; version is 2 (the server also defaults an omitted version to 2).
Use exact, case-sensitive grant IDs from Get Permission Catalog. To retain existing permissions, first read the account, check that the read succeeded, and build the complete desired list. Concurrent replacements can overwrite each other; coordinate writers.
Only pending or active non-owner memberships can be edited. Nonempty grants activate pending memberships, subject to the community member limit. An empty array clears grants and makes an active membership pending. This endpoint does not ban, unban, restore removed memberships, or reactivate expired memberships. Unknown grants, owner edits, missing/noneditable accounts, and membership-limit failures return HTTP 400.
A granular replacement ends legacy category inheritance for future record templates. Refresh the catalog and explicitly grant access to new templates when needed. Existing legacy integrations remain supported, but new integrations should use this endpoint.
Selecting limited editing
After the catalog exposesrecord.<templateId>.edit.selected, include that grant to permit only fields marked Allow limited editing on another account’s records. Include read and required page access separately. Retain or add edit.own only if own-record editing is also intended. Remove that template’s edit.any grant when limiting access: full editing takes precedence, regardless of field opt-in. Preserve every unrelated grant when building the replacement list.
supervise remains an additional requirement for supervisor-only fields, including opted-in fields. It does not expand a selected-field user’s editable field list. Existing records and field flags need no migration. Existing Edit any grants are retained and mean full editing on the updated backend. Do not send this new grant to a server whose catalog does not include it.
Request Body
Example Request
- Sonoran.lua
- SonoranCADFiveM
- Sonoran.js
- Sonoran.py
- Sonoran.Net
- OpenAPI
- cURL

