v46

latestOpenAPI 3.1.0raw.githubusercontent.com2026-07-211591,0051.4 MB
Intents

Create policy rule intent

Create an intent to add a rule to a policy. The intent must be authorized by the policy owner before it can be executed.

post/v1/intents/policies/{policy_id}/rules

Path parameters

policy_idstring required

ID of the policy.

Headers

privy-app-idstring required

ID of your Privy app.

privy-request-expirystring

Request expiry. Value is a Unix timestamp in milliseconds representing the deadline by which the request must be processed.

Request body

action'ALLOW' | 'DENY' required

The action to take when a policy rule matches.

method'eth_sendTransaction' | 'eth_signTransaction' | 'eth_signUserOperation' | 'eth_signTypedData_v4' | 'personal_sign' | 'eth_sign7702Authorization' | 'wallet_sendCalls' | 'signTransaction' | 'signAndSendTransaction' | 'signMessage' | 'exportPrivateKey' | 'exportSeedPhrase' | 'signTransactionBytes' | 'signRawMessageBytes' | 'tron_sendTransaction' | 'tron_signTransaction' | 'earn_deposit' | 'earn_withdraw' | 'transfer' | '*' required

Method the rule applies to.

namestring required

Example request

{
  "conditions": [
    {
      "field": "content"
    }
  ]
}

Response

Created rule intent.

created_atnumber required

Unix timestamp when the intent was created

created_by_display_namestring required

Display name of the user who created the intent

created_by_idstring

ID of the user who created the intent. If undefined, the intent was created using the app secret

custom_expiryboolean required

Whether this intent has a custom expiry time set by the client. If false, the intent expires after a default duration.

dismissal_reasonstring

Human-readable reason for dismissal, present when status is 'dismissed'

dismissed_atnumber

Unix timestamp when the intent was dismissed, present when status is 'dismissed'

expires_atnumber required

Unix timestamp when the intent expires

intent_idstring required

Unique ID for the intent

rejected_atnumber

Unix timestamp when the intent was rejected, present when status is 'rejected'

resource_idstring required

ID of the resource being modified (wallet_id, policy_id, etc)

status'pending' | 'processing' | 'executed' | 'failed' | 'expired' | 'rejected' | 'dismissed' required

Current status of an intent.

intent_type'RULE' required