Generate a key
Dashboard → API Keys → Generate Key. Name the key and optionally set a project label. Copy the full secret when prompted — it is only shown once and stored as a hash on NEX.
nex_dev_xxxxxxxxxxxxxxxxxxxxxxxx
Verify endpoint
POST https://developer.nexrbx.com/api/developer/api-keys/verify
Send the key in JSON or as a Bearer token:
{ "key": "nex_dev_…" }
Or header: Authorization: Bearer nex_dev_…
Successful response
{
"success": true,
"valid": true,
"name": "Production game server",
"project": "My experience"
}
Expired auto-delivered keys return { "valid": false, "reason": "expired" }.
Licensed keys
Keys tied to a license product return extra fields on verify — product SKU, device usage, expiry, and paid update channel (update.downloadUrl). Send hwid and robloxUserId to enforce binding:
{
"key": "nex_dev_…",
"hwid": "device-fingerprint",
"robloxUserId": "123456789"
}
You can also use POST /api/developer/licenses/verify for the full license response.
Examples
Check a player-provided or server-stored key before granting in-game access.
Project files
- ServerScriptService/
- NexKeyVerify.server.lua
local HttpService = game:GetService("HttpService")
local VERIFY_URL = "https://developer.nexrbx.com/api/developer/api-keys/verify"
local function verifyNexApiKey(key)
local ok, response = pcall(function()
return HttpService:PostAsync(
VERIFY_URL,
HttpService:JSONEncode({ key = key }),
Enum.HttpContentType.ApplicationJson
)
end)
if not ok then return false end
local data = HttpService:JSONDecode(response)
return data.valid == true
end
When a webhook has an API key required filter, include your key on every POST. See Request filters.
Project files
- ServerScriptService/
- NexSignedWebhook.server.lua
HttpService:PostAsync(
proxyUrl,
HttpService:JSONEncode({
source = "roblox",
event = "purchase",
api_key = "nex_dev_…",
}),
Enum.HttpContentType.ApplicationJson,
false,
{ ["X-Nex-Api-Key"] = "nex_dev_…" }
)
Revoke a key
Use Revoke in the dashboard. Revoked keys fail verification immediately and cannot be restored.