Skip to main content
POST
Add a new rule to a policy

Authorizations

x-api-key
string
header
required

Headers

x-idempotency-key
string<uuid>
required

Unique key to ensure request idempotency. If the same key is used within a certain time window, the original response will be returned instead of executing the request again.

Path Parameters

policy_id
string
required

Unique identifier of the policy

Body

application/json
signatures
string[]
required

List of signatures over the intent

Cryptographic signature over the intent, base64-encoded. For an ES256 signer this is the ASN.1 DER ECDSA signature over the SHA-256 of the canonical intent. For a WEBAUTHN signer this is the base64 of the WebAuthn assertion JSON (id, rawId, type, and response.authenticatorData / clientDataJSON / signature). See the WebAuthn & Passkey Signing guide.

intent
object
required

The intent being endorsed

Response

Policy rule created successfully

id
string
required

Unique identifier for the policy

Example:

"pol_2N4YkKpKu7M3mKpGYmF8kcJ8oZT"

version
integer<int32>
required

Version number of the policy (incremented on rule changes)

Example:

1

name
string
required

Human-readable name for the policy

Example:

"High Value Transaction Policy"

created_at
integer
required

Unix timestamp when the policy was created

Example:

1640995200

updated_at
integer
required

Unix timestamp when the policy was last updated

Example:

1640995200

client_id
string

KSUID is a 27-character globally unique ID that combines a timestamp with a random component. Used for all entity identifiers in the Dakota platform.

Required string length: 27
Pattern: ^[0-9A-Za-z]{27}$
Example:

"1NFHrqBHb3cTfLVkFSGmHZqdDPi"

signer_group_id
string | null

ID of the signer group that governs mutations of this policy. Members of this group must endorse any add_policy_rule, update_policy_rule, remove_policy_rule, or delete_policy intent.

Example:

"grp_2N4YkKpKu7M3mKpGYmF8kcJ8oZT"

description
string | null

Optional description of the policy's purpose

Example:

"Requires approval for transactions above $10,000"

rules
object[]

Rules that make up this policy