Skip to content

Policies Endpoints

The Policies API provides endpoints for managing access policies that define expected access patterns and governance rules.

Base URL

All endpoints are relative to /api/v1/policies.


List Policies

Retrieve a paginated list of policies.

http
GET /api/v1/policies

::: note Administrator Only This endpoint requires Administrator role. :::

Query Parameters

ParameterTypeDescription
searchstringSearch by policy name
typestringFilter by policy type
statusstringFilter by status (active, inactive, draft)
limitnumberNumber of items to return
offsetnumberOffset for pagination

Response

json
{
  "policies": [
    {
      "id": "pol-123",
      "name": "Engineering Access Policy",
      "type": "role_based_access",
      "status": "active",
      "priority": 100,
      "created_at": "2024-01-15T10:30:00Z"
    }
  ],
  "total": 25,
  "limit": 10,
  "offset": 0
}

Get Policy

Retrieve details for a specific policy.

http
GET /api/v1/policies/{id}

::: note Administrator Only This endpoint requires Administrator role. :::

Path Parameters

ParameterTypeDescription
idstringPolicy ID

Response

json
{
  "id": "pol-123",
  "name": "Engineering Access Policy",
  "description": "Defines expected access for engineering roles",
  "type": "role_based_access",
  "status": "active",
  "priority": 100,
  "rules": [
    {
      "condition": "role.department == 'Engineering'",
      "effect": "allow",
      "resources": ["app-github", "app-jira"]
    }
  ],
  "associated_roles": ["role-eng-senior", "role-eng-junior"],
  "target_applications": ["app-github", "app-jira"],
  "target_groups": [],
  "auto_approve": true,
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-02-01T14:22:00Z"
}

Create Policy

Create a new access policy.

http
POST /api/v1/policies

::: note Administrator Only This endpoint requires Administrator role. :::

Request Body

json
{
  "name": "Finance Access Policy",
  "description": "Defines expected access for finance roles",
  "type": "role_based_access",
  "priority": 90,
  "rules": [
    {
      "condition": "role.department == 'Finance'",
      "effect": "allow",
      "resources": ["app-sap", "app-netsuite"]
    }
  ],
  "associated_roles": ["role-finance-analyst"],
  "target_applications": ["app-sap", "app-netsuite"],
  "auto_approve": false
}

Policy Types

TypeDescription
role_based_accessPolicies based on role assignments
owner_account_approvalPolicies for owner-account relationships
application_accessPolicies for application-specific access
group_membershipPolicies for group membership rules

Response

Returns the created policy object.


Update Policy

Update an existing policy.

http
PUT /api/v1/policies/{id}

::: note Administrator Only This endpoint requires Administrator role. :::

Path Parameters

ParameterTypeDescription
idstringPolicy ID

Request Body

Include only the fields to update.

Response

Returns the updated policy object.


Delete Policy

Delete a policy.

http
DELETE /api/v1/policies/{id}

::: note Administrator Only This endpoint requires Administrator role. :::

Path Parameters

ParameterTypeDescription
idstringPolicy ID

Response

Returns 204 No Content on success.


Evaluate Policies

Evaluate policies for an owner.

http
POST /api/v1/policies/evaluate

::: note Administrator Only This endpoint requires Administrator role. :::

Request Body

json
{
  "owner_id": "own-123"
}

Response

json
{
  "owner_id": "own-123",
  "evaluations": [
    {
      "policy_id": "pol-123",
      "policy_name": "Engineering Access Policy",
      "result": "compliant",
      "matching_rules": 2,
      "violations": []
    }
  ]
}

Get Policies by Role

Retrieve all policies associated with a role.

http
GET /api/v1/policies/by-role/{roleId}

::: note Administrator Only This endpoint requires Administrator role. :::

Path Parameters

ParameterTypeDescription
roleIdstringRole ID

Response

json
{
  "policies": [
    {
      "id": "pol-123",
      "name": "Engineering Access Policy",
      "type": "role_based_access",
      "status": "active"
    }
  ]
}

Generate Policy from Role

Generate a policy based on a role's access patterns.

http
POST /api/v1/policies/generate-from-role

::: note Administrator Only This endpoint requires Administrator role. :::

Request Body

json
{
  "role_id": "role-123"
}

Response

Returns the generated policy object based on the role's common applications and groups.


Policy Status Values

StatusDescription
draftPolicy is being configured
activePolicy is active and being evaluated
inactivePolicy is disabled

Error Responses

Status CodeDescription
400Bad Request - Invalid policy configuration
401Unauthorized - Authentication required
403Forbidden - Insufficient permissions
404Not Found - Policy does not exist
409Conflict - Policy name already exists
500Internal Server Error

Hydden Documentation and Training Hub