Set agent public access
PUT
Sets one agent's row: off for this agent, or caps tighter than the workspace's. Same rules as the workspace row: a key may tighten, an admin may loosen.
Requires an API key with the public_access:write 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.
agentId*stringThe agent id.
Format
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.
Length
1 <= length <= 20application/json- body
The settings to put on one agent.
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
length <= 500The row after the change
application/json- response
id*stringFormat
uuidscopeKind*stringValue in
"workspace""agent""binding"agentId*|Format
uuidbindingId*|Format
uuidenabledForAgentId*|Format
uuidsettings*version*integerupdatedBy*stringupdatedAt*stringFormat
date-timecurl -X PUT "https://api.vlayers.ai/v1/public-access/settings/agents/$AGENT_ID" \ -H "Authorization: Bearer $VOICELAYER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "settings": { "concurrentSessions": 1 } }'Example Response
{ "id": "0192f5c1-5e6f-7a8b-9c0d-1e2f3a4b5c67", "scopeKind": "agent", "agentId": "0192f5c2-6f7a-7b9c-8d1e-2f3a4b5c6d78", "bindingId": null, "enabledForAgentId": null, "settings": { "concurrentSessions": 1 }, "version": 4, "updatedBy": "user_2abc", "updatedAt": "2026-10-20T15:04:05.000Z"}