Runtime API
Runtime endpoints serve the active published Live Config version for a project, environment, profile, and visibility.
Client visibility
Client visibility returns only public replicated values.
GET https://api-rocontrol.duckdns.org/runtime/projects/{projectId}/config?environment=production&visibility=clientRoblox example:
local HttpService = game:GetService("HttpService")
local endpoint = "https://api-rocontrol.duckdns.org/runtime/projects/PROJECT_ID/config?environment=production&visibility=client"
local response = HttpService:GetAsync(endpoint)
local payload = HttpService:JSONDecode(response)
return payload.configServer visibility
Server visibility can include private values and should be called only from Roblox server code with the runtime key.
GET https://api-rocontrol.duckdns.org/runtime/projects/{projectId}/config?environment=production&visibility=serverExample with a key header:
local HttpService = game:GetService("HttpService")
local endpoint = "https://api-rocontrol.duckdns.org/runtime/projects/PROJECT_ID/config?environment=production&visibility=server"
local headers = {
["x-rocontrol-runtime-key"] = "PROJECT_RUNTIME_KEY"
}
local response = HttpService:RequestAsync({
Url = endpoint,
Method = "GET",
Headers = headers
})
if not response.Success then
error("RoControl config failed: " .. response.StatusCode)
end
local payload = HttpService:JSONDecode(response.Body)
return payload.configQuery parameters
| Parameter | Required | Example |
|---|---|---|
environment | Yes | studio, production |
visibility | Yes | client, server |
profileId | No | Profile-specific runtime fetch |
Expected response
{
"ok": true,
"environment": "production",
"visibility": "client",
"config": {
"event": {
"enabled": true,
"name": "Lucky Weekend"
}
}
}Runtime safety
- Cache config in Roblox code when possible.
- Use a short retry policy instead of blocking gameplay forever.
- Fetch server visibility only on the server.
- Keep runtime keys out of replicated code.