Skip to main content
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

Requires X-API-Key header or Bearer JWT token. Tenant-scoped via cookie or JWT claim.

Request Body

string
required
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.
string
Detailed description of what the policy enforces and why. Maximum 2048 characters.
string
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
Defaults to "custom" if omitted.
integer
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.
object
required
JSON array of policy rules. Each rule is evaluated independently. If any rule with "effect": "deny" matches, the action is denied.Rule schema:
Condition fields:Operators:Effects:
  • "allow" — Explicitly allow (does not override denials)
  • "deny" — Block the action. First deny wins.
  • "require_approval" — Require human approval before proceeding
All conditions within a single rule are AND-ed. Multiple rules within a policy are evaluated independently.

Response

Returns the created policy object with server-generated fields (id, tenant_id, status, timestamps).
string
UUID primary key of the created policy.
string
UUID of the owning tenant.
string
Policy name as provided.
string
Policy description, if provided.
string
Policy category.
string
Always "active" on creation.
integer
Evaluation priority.
object
The rules array as provided.
string
ISO 8601 creation timestamp.
string
ISO 8601 last-updated timestamp.

Example

Authorizations

X-API-Key
string
header
required

API key for machine-to-machine authentication

Body

application/json
name
string
required

Human-readable policy name

Maximum string length: 256
rules
object[]
required

Array of policy rules

description
string

Detailed description of the policy

Maximum string length: 2048
category
enum<string>
default:custom

Policy category

Available options:
scope,
trust,
rate,
custom
priority
integer
default:100

Evaluation priority (lower = first)

Required range: 1 <= x <= 1000

Response

Policy created

id
string<uuid>

UUID primary key

tenant_id
string<uuid>

UUID of the owning tenant

name
string

Human-readable policy name

description
string

Detailed policy description

category
enum<string>

Policy category

Available options:
scope,
trust,
rate,
custom
status
enum<string>

Policy lifecycle status

Available options:
active,
disabled,
archived
priority
integer

Evaluation priority (lower = first)

rules
object[]

Array of policy rules

created_at
string<date-time>
updated_at
string<date-time>