Skip to Content

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=client

Roblox 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.config

Server 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=server

Example 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.config

Query parameters

ParameterRequiredExample
environmentYesstudio, production
visibilityYesclient, server
profileIdNoProfile-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.