For the complete documentation index, see llms.txt. This page is also available as Markdown.

Get Account Permissions

Get Account Permissions using the granular CAD v2 permissions API.

GET 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.

Read an account's permission snapshot in the authenticated community. accountId is the account UUID, not its community user ID, Discord ID, or Roblox ID. Resolve the UUID using Get Account when necessary.

The response includes permissions.version, permissions.grants, owner, migrated, and membership status (0 pending, 1 active; other statuses are not editable). Owner snapshots contain all catalog grants. migrated indicates the community's v2 permission storage is available; it does not indicate whether this individual account has been explicitly edited. Legacy-derived reads can also include permissions.legacy and permissions.legacyTemplates metadata.

A missing account returns HTTP 404. A failed read must never be treated as an empty grant list. Check the SDK response's success before using data or computing an update. See Replace Account Permissions to save a complete grant list.

Example Request

-- luarocks install sonoran.lua
-- For SonoranCADFiveM in-game usage, see the SonoranCADFiveM tab for the export-based client.
local Sonoran = require("sonoran")

local sonoran = Sonoran.createClient({
  product = Sonoran.productEnums.CAD,
  communityId = "YOUR_COMMUNITY_ID",
  apiKey = "YOUR_API_KEY",
  defaultServerId = 1
})

local response = sonoran.cad:getAccountPermissionsV2("00000000-0000-0000-0000-000000000000")

-- Inspect response.success, response.data, or response.reason as needed.
print(response.success)

Use this tab only when calling the v2 API from the server side of an in-game FiveM resource.

  • Sonoran.lua and Sonoran.js: use the sonorancad export to get the ready CAD client.

  • Sonoran.Net: FiveM exports do not return a .NET client. Read the Sonoran CAD convars and create a fresh client.

  • Sonoran.py: FiveM does not run Python resources; use the Python tab for external integrations.

The API key is stored in sonoran_apiKey as a protected FiveM convar. FiveM restricts a convar after add_convar_permission is configured, so only explicitly permitted resources can read it. Grant another resource access with add_convar_permission your-resource-name read sonoran_apiKey. If you change the API key in config.json, fully restart the sonorancad resource before reading the updated convar value.

Sonoran.lua

local cad = exports["sonorancad"]:getCadClient()

Sonoran.js

const cad = exports["sonorancad"].getCadClient();

Sonoran.Net

// dotnet add package Sonoran.Net
using CitizenFX.Core.Native;
using Sonoran;

var communityId = API.GetConvar("sonoran_communityID", "");
var apiKey = API.GetConvar("sonoran_apiKey", "");
var serverIdRaw = API.GetConvar("sonoran_serverId", "1");
var serverId = int.TryParse(serverIdRaw, out var parsedServerId) ? parsedServerId : 1;

using var sonoran = new SonoranClient(new SonoranClientOptions
{
    product = SonoranProduct.CAD,
    communityId = communityId,
    apiKey = apiKey,
    defaultServerId = serverId
});

After getting the Lua export client:

After getting the JavaScript export client:

After constructing the .NET client from protected convars:

Import this YAML into Postman with Import -> Raw text.

Response

Last updated

Was this helpful?