Read effective public access
GET
Resolves what a session on a website key gets right now: whether it is open, why not when it is not, each cap, whether the bot check applies, and which level (platform, plan, workspace, agent or key) decided each value. Levels only tighten: a cap is the lowest of them and any "off" wins.
Requires an API key with the public_access:read scope.
apiKeyheader
AuthorizationBearer <token>A secret API key from the dashboard (Developers → API keys): vl_live_…, or vl_test_… for test mode. Each operation says which scope the key needs.
keyId*stringThe publishable website key to resolve.
Length
1 <= length <= 200The values a session on this key gets now, and the level that set each
application/json- response
keyId*stringopen*booleanoffReason*|Value in
"operator_off""workspace_off""agent_off""binding_not_enabled""binding_agent_mismatch""no_challenge_keys""key_unbound"nullsessionsPerDay?integerconcurrentSessions?integerperIpPerHour?integermaxCallMinutes?integerbotCheck?stringValue in
"on""off"challengeKeySource?||nullsources?botCheckOptional?booleanceilings?botOffCeilings?curl "https://api.vlayers.ai/v1/public-access/effective?keyId=$WEBSITE_KEY_ID" \ -H "Authorization: Bearer $VOICELAYER_API_KEY"Example Response
{ "keyId": "key_9b3d42", "open": true, "offReason": null, "sessionsPerDay": 50, "concurrentSessions": 2, "perIpPerHour": 3, "maxCallMinutes": 3, "botCheck": "on", "challengeKeySource": { "kind": "connection", "connectionId": "0192f5c3-7a8b-7cad-9e2f-3a4b5c6d7e89" }, "sources": { "enabled": "binding", "sessionsPerDay": "operator", "concurrentSessions": "binding", "perIpPerHour": "operator", "maxCallMinutes": "operator", "botCheck": "operator", "challengeKeySource": "workspace" }, "botCheckOptional": false, "ceilings": { "sessionsPerDay": 50, "concurrentSessions": 3, "perIpPerHour": 3, "maxCallMinutes": 3 }, "botOffCeilings": { "sessionsPerDay": 10, "concurrentSessions": 1, "perIpPerHour": 1 }}