Create an Agent Access grant.
curl --request POST \ --url https://auth.example.com/api/admin/agent-grants \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "client_id": "example", "machine_principal_id": "example", "delegation_mode": "user_consent", "delegator_id": "example", "task_set_id": "example", "task_set_version": 1, "scope_policy_id": "example", "scope_policy_version": 1, "authorization_details": [ { "additionalProperty": "example" } ], "purpose": "example", "expires_at": 1 }'Creates a tenant-bound delegation after validating the OAuth client, human grantor, client registration for every resolved Agent scope, delegator eligibility, optional Machine Principal boundary, and all permission ceilings. Every Grant must pin a Task Set and Scope Policy pair; the server resolves Tool, permission, scope, resource, and risk snapshots and never accepts caller-supplied permission or scope strings. Grants are never permanent: expires_at defaults to 30 days and must be between one hour and 90 days from creation.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”object
Admin preauthorization requires a Machine Principal and atomically records both delegation and OAuth-client authorization evidence for Mode B.
object
Recertification deadline in epoch milliseconds; defaults to 30 days and cannot exceed 90 days.
Responses
Section titled “ Responses ”Agent Grant created. User-consent grants still require interactive consent; admin preauthorized Mode B grants include their authorization records atomically.
object
Example
{ "status": "active"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}Error response.
object
Example generated
{ "error": "example", "message": "example", "error_description": "example"}