Skip to main content
POST
Create draft policy

Authorizations

X-API-Key
string
header
required

Headers

API-Version
enum<string>
default:v1

API version (defaults to the latest supported version if omitted).

Available options:
v1
Idempotency-Key
string
required

Unique key (1-255 printable ASCII chars) used to safely retry write operations. Same key + body returns the cached response; same key + different body returns 409.

Required string length: 1 - 255

Body

application/json
name
string
required

Human-readable name of the policy (2–100 characters).

Required string length: 2 - 100
Example:

"High-value transfer review"

category
enum<string>

Policy category controlling how it is evaluated; defaults to "access" when omitted.

Available options:
access,
whitelist,
limits,
approvals,
velocity,
compliance,
quorum
Example:

"approvals"

description
string

Optional free-text summary of the policy's intent.

Maximum string length: 1000
Example:

"Require approval for transfers above $10k"

rules
object[]

Optional list of inline rules; rules can also be added later via the rule endpoints.

Response

Created

category
string

Policy category controlling how it is evaluated: access, whitelist, limits, approvals, velocity, compliance, or quorum.

Example:

"approvals"

created_at
string<date-time>

Timestamp when the policy was created.

Example:

"2026-05-16T10:30:00Z"

created_by
string

Identifier of the user who created the policy.

Example:

"3f1a2b3c-4d5e-6f7a-8b9c-0d1e2f3a4b5c"

created_by_name
string

Display name of the user who created the policy.

Example:

"Jane Doe"

description
string

Optional free-text summary of the policy's intent.

Example:

"Require approval for transfers above $10k"

id
string

Unique identifier of the policy.

Example:

"a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d"

is_active
boolean
deprecated

Deprecated: derived from status (true when status is "enforced"). Read status instead.

Example:

false

is_template
boolean

Whether this policy is a reusable template.

Example:

false

name
string

Human-readable name of the policy.

Example:

"High-value transfer review"

object
string

Object type discriminator; always "policy".

Example:

"policy"

priority
integer

Evaluation priority of the policy relative to other policies.

Example:

100

rule_count
integer

Number of rules contained in the policy.

Example:

2

rules
object[]

The policy's rules, when expanded.

status
string

Canonical lifecycle status: draft, enforced, or archived.

Example:

"draft"

template_id
string

Identifier of the template this policy was created from, if any.

Example:

"f47ac10b-58cc-4372-a567-0e02b2c3d479"

updated_at
string<date-time>

Timestamp when the policy was last updated.

Example:

"2026-05-16T10:30:00Z"