Skip to content

The Agent Permissions API lets you list pending permission requests, respond to permission prompts, and inspect per-tool permission overrides. Use these endpoints to programmatically manage how the AI agent requests and receives authorization for actions such as file edits, shell commands, and web fetches within a workspace.

GET /api/v1/workspaces/{workspaceID}/config/permission

Section titled “GET /api/v1/workspaces/{workspaceID}/config/permission”

Get permission and yolo overrides from the workspace config only (not merged with global).

NameInTypeRequiredDescription
workspaceIDpathstringYesThe workspace identifier

Returns the workspace-level permission and yolo overrides.

{
"permission": {
"edit": "allow",
"bash": "ask",
"webfetch": "allow"
},
"yolo": false,
"tool_wake_policy": {
"webfetch": "auto",
"bash": "next_turn"
}
}
Terminal window
curl https://api.hoody.com/api/v1/workspaces/wks_abc123/config/permission \
-H "Authorization: Bearer <token>"

GET /api/v1/workspaces/{workspaceID}/permissions

Section titled “GET /api/v1/workspaces/{workspaceID}/permissions”

Get all pending permission requests across all sessions in the workspace.

NameInTypeRequiredDescription
workspaceIDpathstringYesThe workspace identifier

Returns an array of pending permission requests.

[
{
"id": "per_abc123def456",
"sessionID": "507f1f77bcf86cd799439011",
"permission": "edit",
"patterns": ["*.ts", "*.tsx"],
"metadata": {
"filepath": "/home/user/project/src/index.ts"
},
"always": [],
"tool": {
"messageID": "msg_xyz789",
"callID": "call_456abc"
}
},
{
"id": "per_def456ghi789",
"sessionID": "507f1f77bcf86cd799439012",
"permission": "bash",
"patterns": ["rm -rf *", "sudo *"],
"metadata": {
"command": "sudo systemctl restart nginx"
},
"always": ["npm install *"]
}
]
Terminal window
curl https://api.hoody.com/api/v1/workspaces/wks_abc123/permissions \
-H "Authorization: Bearer <token>"

POST /api/v1/workspaces/{workspaceID}/permissions/{requestID}/reply

Section titled “POST /api/v1/workspaces/{workspaceID}/permissions/{requestID}/reply”

Approve or deny a permission request from the AI assistant.

NameInTypeRequiredDescription
workspaceIDpathstringYesThe workspace identifier
requestIDpathstringYesThe permission request identifier
FieldTypeRequiredDescription
replystringYesThe decision for this request. One of once, always, or reject.
messagestringNoAn optional message accompanying the decision.
{
"reply": "once",
"message": "Approved for this edit only"
}

Permission processed successfully. Returns a boolean indicating success.

true
Terminal window
curl -X POST https://api.hoody.com/api/v1/workspaces/wks_abc123/permissions/per_abc123def456/reply \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"reply": "once", "message": "Approved for this edit only"}'