Policies API
List Policies
GET /api/v1/policiesResponse:
{
"data": [
{
"name": "cursor-access",
"principal": "agent:cursor-agent",
"resources": ["openai/*", "anthropic/*"],
"actions": ["retrieve"],
"max_ttl": 300,
"created_at": "2026-02-10T23:19:00Z"
}
]
}Create Policy
POST /api/v1/policiesBody:
{
"name": "cursor-access",
"principal": "agent:cursor-agent",
"resources": ["openai/*", "anthropic/*"],
"actions": ["retrieve"],
"max_ttl": 300
}Response: 201 Created
Delete Policy
DELETE /api/v1/policies/:nameResponse: 204 No Content
Simulate Policy
POST /api/v1/policies/simulateTest a policy decision without making a real access request.
Body:
{
"agent": "cursor-agent",
"resource": "openai/api_key",
"action": "retrieve"
}Response:
{
"data": {
"allowed": true,
"policy_name": "cursor-access",
"lease_ttl": 300
}
}