Skip to main content

Create a policy

POST /v1/policies Creates a compliance policy that defines the rules investors and wallets must satisfy to be granted access to an asset. Policies are referenced by asset_policy_id when requesting a compliance decision.
All requests to this endpoint require a valid API key in the Authorization header.

Request body

string
required
A human-readable display name for the policy (e.g. "US Accredited Only").
boolean
required
If true, the investor’s kyc_status must be "verified" for a decision to be "allow".
boolean
required
If true, the investor’s accredited_status must be true for a decision to be "allow".
string[]
An allowlist of 2-letter ISO country codes. If non-empty, only investors from these countries can receive an "allow" decision. Defaults to [].
string[]
A blocklist of 2-letter ISO country codes. Investors from these countries are always denied. Defaults to [].
boolean
required
If true, the wallet’s screening_status must be "verified" for a decision to be "allow".
string
Whether the policy is active. Must be "active" or "inactive". Defaults to "active".
When allowed_countries is [] (empty), no country restriction is applied — investors from any country can pass this check. Only set allowed_countries when you want to explicitly restrict access to specific countries.

Response fields

string
Unique policy ID. Format: pol_...
string
The policy display name.
boolean
Whether KYC verification is required.
boolean
Whether accreditation is required.
string[]
Allowlisted country codes. Empty array means no restriction.
string[]
Blocklisted country codes.
boolean
Whether wallet screening must be "verified".
string
"active" or "inactive".
string
ISO 8601 timestamp of when the policy was created.

Example

201 — Created