Set website key public access
Sets the row of a website key's Binding. A key is public only where this row says enabled: true, for the agent it was enabled for, and enabling needs a workspace admin and a hard daily budget on the key that covers every session it may run at once. Re-binding the key to an agent turns it off again.
Requires an API key with the public_access:write scope.
apiKeyAuthorizationBearer <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.
bindingId*stringThe website key Binding id.
uuidif-match?stringThe version of the row this edit was made from. A stale one is refused with 409 version_conflict instead of overwriting a newer change. Leave it out when creating a row.
1 <= length <= 20application/json- body
The settings to put on one website key.
settings*The fields to set; any you leave out inherit from the level above.
note?stringWhy the change was made; kept in the change log.
length <= 500The row after the change
application/json- response
id*stringuuidscopeKind*string"workspace""agent""binding"agentId*|uuidbindingId*|uuidenabledForAgentId*|uuidsettings*version*integerupdatedBy*stringupdatedAt*stringdate-timecurl -X PUT "https://api.vlayers.ai/v1/public-access/settings/bindings/$BINDING_ID" \ -H "Authorization: Bearer $VOICELAYER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "settings": { "sessionsPerDay": 20 } }'{ "id": "0192f5c1-5e6f-7a8b-9c0d-1e2f3a4b5c67", "scopeKind": "binding", "agentId": null, "bindingId": "0192f5a9-2b3c-7d4e-9f5a-6b7c8d9e0f12", "enabledForAgentId": "0192f5c2-6f7a-7b9c-8d1e-2f3a4b5c6d78", "settings": { "enabled": true, "concurrentSessions": 2, "challengeKeySource": { "kind": "connection", "connectionId": "0192f5c3-7a8b-7cad-9e2f-3a4b5c6d7e89" } }, "version": 4, "updatedBy": "user_2abc", "updatedAt": "2026-10-20T15:04:05.000Z"}