Create Community Link
Create a short-lived community user link code.
POST https://api.sonorancad.com/v2/general/links
Rate limit:
30 requests per minuteAuthenticated v2 endpoints are rate limited per API key rather than per IP address.
Create a 4-character code for a communityUserId. The code is scoped to the authenticated community and expires after 10 minutes.
Request Body
{
"communityUserId": "player_12345"
}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:createCommunityLinkV2({
communityUserId = 'player_12345',
})
-- 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
sonorancadexport 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:
Import this YAML into Postman with Import -> Raw text to create a single-endpoint request collection for this route.
Response
Successful requests return application/json.
Linking Account
Once a link code is created, direct the user to sonorancad.com/id?code=ENTERCODEHERE.
If the user is not logged in, they will be automatically redirected. The 4-digit code will be automatically entered into the ID page, processed, and the user's communityUserId will be linked to the community account.
Once linked, the communityUserId parameter can be used with any applicable v2 API endpoint.
To detect that link completion immediately, listen for the Community Link Verified push event or poll Check Community Link when needed.


Last updated
Was this helpful?

