curl --silent --show-error --fail-with-body --request PUT \
--url 'https://api.sandbox.stateset.app/api/v1/agent-tasks/{taskId}/grants' \
--header 'Authorization: ApiKey YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"principal": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"role": "viewer"
}'
Root owner grants viewer or operator access to the task family
Root-family grant saved
PUT
/
api
/
v1
/
agent-tasks
/
{taskId}
/
grants
curl --silent --show-error --fail-with-body --request PUT \
--url 'https://api.sandbox.stateset.app/api/v1/agent-tasks/{taskId}/grants' \
--header 'Authorization: ApiKey YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"principal": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"role": "viewer"
}'
Confirm your deployment before running this request. This page describes an API contract;
a published reference does not establish hosted availability. Check the dated
host report and obtain your deployment URL and credentials.
Replace the example host if your provisioned service uses a different URL.
Path parameters
string (uuid)
required
Request body
AgentTaskGrantRequest
string
required
string
required
Allowed values:
'viewer', 'operator'.Response
No response body. Root-family grant saved.Status codes
| Code | Meaning |
|---|---|
200 | Root-family grant saved |
400 | Invalid task request or query |
401 | Authentication required |
403 | Insufficient scope, task role or sandbox permission |
404 | Task unavailable to this principal |
Using this contract
Read the source OpenAPI document for declared schemas and alternatives. This page also includes documented corrections from the spec overlays. Example IDs and values are illustrative; replace them with records from your workspace.curl --silent --show-error --fail-with-body --request PUT \
--url 'https://api.sandbox.stateset.app/api/v1/agent-tasks/{taskId}/grants' \
--header 'Authorization: ApiKey YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"principal": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"role": "viewer"
}'
Last modified on October 20, 2026