Create MAIP Policy
MAIP Policies
Create MAIP Policy
Create a new agent enforcement policy with conditional rules for runtime access control
POST
Create MAIP Policy
Create MAIP Policy
POST /v1/maip/policies
Creates a new MAIP agent enforcement policy for the authenticated tenant. Policies define runtime rules that are evaluated when agents request access to scoped resources via the Evaluate Policy endpoint.
MAIP policies are different from RBAC issuance
policies. MAIP policies govern machine
agent behavior at runtime based on trust scores, delegation depth, scopes,
and agent type. RBAC policies govern credential issuance and human user
access.
Authentication
RequiresX-API-Key header or Bearer JWT token. Tenant-scoped via cookie or JWT claim.
Request Body
Human-readable policy name. Used in denial messages and audit logs when the
policy blocks an action. Must be unique per tenant. Maximum 256 characters.
Detailed description of what the policy enforces and why. Maximum 2048
characters.
Policy category for organizational purposes. One of:
"scope"— Restricts access based on scopes or resources"trust"— Restricts access based on trust scores"rate"— Restricts access frequency or volume"custom"— Custom enforcement logic
"custom" if omitted.Evaluation priority. Lower numbers are evaluated first. Range: 1-1000.
Defaults to
100 if omitted. Multiple policies at the same priority are
evaluated in creation order.JSON array of policy rules. Each rule is evaluated independently. If any rule with Condition fields:
Operators:
Effects:
"effect": "deny" matches, the action is denied.Rule schema:| Field | Type | Operators | Description |
|---|---|---|---|
trust_score | number | lt, gt, le, ge | Agent’s current trust score (0.0-1.0) |
scope | string | eq, ne, in, contains | The scope being accessed (e.g., "data:write") |
agent_type | string | eq, ne, in | Agent type (e.g., "llm", "worker", "orchestrator") |
delegation_depth | number | gt, ge, lt, le | Agent’s position in the delegation chain (0 = direct) |
| Operator | Description | Example value |
|---|---|---|
eq | Equals | "data:write" |
ne | Not equals | "system" |
lt | Less than | 0.5 |
gt | Greater than | 3 |
le | Less than or equal | 0.3 |
ge | Greater than or equal | 0.7 |
in | Matches any value in a list | ["llm", "worker"] |
contains | String contains substring | "write" |
"allow"— Explicitly allow (does not override denials)"deny"— Block the action. First deny wins."require_approval"— Require human approval before proceeding
Response
Returns the created policy object with server-generated fields (id, tenant_id, status, timestamps).
UUID primary key of the created policy.
UUID of the owning tenant.
Policy name as provided.
Policy description, if provided.
Policy category.
Always
"active" on creation.Evaluation priority.
The rules array as provided.
ISO 8601 creation timestamp.
ISO 8601 last-updated timestamp.
Example
Authorizations
API key for machine-to-machine authentication
Body
application/json
Human-readable policy name
Maximum string length:
256Array of policy rules
Detailed description of the policy
Maximum string length:
2048Policy category
Available options:
scope, trust, rate, custom Evaluation priority (lower = first)
Required range:
1 <= x <= 1000Response
Policy created
UUID primary key
UUID of the owning tenant
Human-readable policy name
Detailed policy description
Policy category
Available options:
scope, trust, rate, custom Policy lifecycle status
Available options:
active, disabled, archived Evaluation priority (lower = first)
Array of policy rules

