---
title: "Create policy rule delete intent"
method: DELETE
path: "/v1/intents/policies/{policy_id}/rules/{rule_id}"
tags: ["Intents"]
---

# Create policy rule delete intent

`DELETE /v1/intents/policies/{policy_id}/rules/{rule_id}`

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

## Path parameters

- `policy_id` string, required — ID of the policy.
- `rule_id` string, required — ID of the rule.

## Headers

- `privy-app-id` string, required — ID of your Privy app.
- `privy-request-expiry` string — Request expiry. Value is a Unix timestamp in milliseconds representing the deadline by which the request must be processed.

## Response `200`

Created rule delete intent.

- RuleDeleteIntentResponse — Response for a delete rule intent
  - `authorization_details` IntentAuthorization[], required — Detailed authorization information including key quorum members, thresholds, and signature status
    - `display_name` string — Display name of the key quorum
    - `members` IntentAuthorizationMember[], required — Members in this authorization quorum
      - union — A member of an intent authorization quorum. Can be a user, key, or nested key quorum.
        - object — A user member of an intent authorization quorum.
          - `signed_at` number, nullable, required — Unix timestamp when this member signed, or null if not yet signed.
          - `type` 'user', required
          - `user_id` string, required — User ID of the key quorum member
        - object — A key member of an intent authorization quorum.
          - `public_key` string, required — Public key of the key quorum member
          - `signed_at` number, nullable, required — Unix timestamp when this member signed, or null if not yet signed.
          - `type` 'key', required
        - object — A nested key quorum member of an intent authorization quorum.
          - `display_name` string — Display name for the child key quorum (if any)
          - `key_quorum_id` string, required — ID of the child key quorum member
          - `members` IntentAuthorizationKeyQuorumMember[], required — Members of this child quorum
            - union — A leaf member (user or key) of a nested key quorum in an intent authorization.
              - …
          - `threshold` number, required — Number of signatures required from this child quorum
          - `threshold_met` boolean, required — Whether this child key quorum has met its signature threshold
          - `type` 'key_quorum', required
    - `threshold` number, required — Number of signatures required to satisfy this quorum
  - `created_at` number, required — Unix timestamp when the intent was created
  - `created_by_display_name` string, required — Display name of the user who created the intent
  - `created_by_id` string — ID of the user who created the intent. If undefined, the intent was created using the app secret
  - `custom_expiry` boolean, required — Whether this intent has a custom expiry time set by the client. If false, the intent expires after a default duration.
  - `dismissal_reason` string — Human-readable reason for dismissal, present when status is 'dismissed'
  - `dismissed_at` number — Unix timestamp when the intent was dismissed, present when status is 'dismissed'
  - `expires_at` number, required — Unix timestamp when the intent expires
  - `intent_id` string, required — Unique ID for the intent
  - `rejected_at` number — Unix timestamp when the intent was rejected, present when status is 'rejected'
  - `resource_id` string, 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.
  - `action_result` object — Result of rule execution (only present if status is 'executed' or 'failed')
    - `authorized_by_display_name` string — Display name of the key quorum that authorized execution
    - `authorized_by_id` string — ID of the key quorum that authorized execution
    - `executed_at` number, required — Unix timestamp when the action was executed
    - `status_code` number, required — HTTP status code from the action execution
    - `prior_state` object, required — State of the rule immediately before execution. Undefined for create intents
      - `action` 'ALLOW' | 'DENY', required — The action to take when a policy rule matches.
      - `conditions` PolicyCondition[], required
        - union — A condition that must be true for the rule action to be applied.
          - object — The verbatim Ethereum transaction object in an eth_signTransaction or eth_sendTransaction request.
            - `field` 'to' | 'value' | 'chain_id', required — Ethereum transaction-level fields that can be referenced in a policy condition.
            - `field_source` 'ethereum_transaction', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — The decoded calldata in a smart contract interaction as the smart contract method's parameters. Note that 'ethereum_calldata' conditions must contain an abi parameter with the JSON ABI of the smart contract.
            - `abi` object[], required — A Solidity ABI definition for decoding smart contract calldata.
              - …
            - `field` string, required
            - `field_source` 'ethereum_calldata', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — Attributes from the signing domain that will verify the signature.
            - `field` 'chainId' | 'verifyingContract' | 'chain_id' | 'verifying_contract', required — Supported fields for Ethereum typed data domain conditions.
            - `field_source` 'ethereum_typed_data_domain', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — 'types' and 'primary_type' attributes of the TypedData JSON object defined in EIP-712.
            - `field` string, required
            - `field_source` 'ethereum_typed_data_message', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `typed_data` TypedDataInput, required — The typed data structure containing EIP-712 types and the primary type for typed data message policy conditions.
              - …
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — Allowed contract addresses for eth_sign7702Authorization requests.
            - `field` 'contract', required
            - `field_source` 'ethereum_7702_authorization', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — A Tempo (type 118) transaction-level field. Evaluated once per transaction (not per call).
            - `field` 'fee_token' | 'fee_payer_signature' | 'nonce_key' | 'valid_before' | 'valid_after', required — Tempo (type 118) transaction-level fields that can be referenced in a policy condition.
            - `field_source` 'tempo_transaction', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — Solana Program attributes, enables allowlisting Solana Programs.
            - `field` 'programId', required
            - `field_source` 'solana_program_instruction', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — Solana System Program attributes, including more granular Transfer instruction fields.
            - `field` 'instructionName' | 'Transfer.from' | 'Transfer.to' | 'Transfer.lamports', required — Supported fields for Solana System Program conditions including Transfer instruction fields.
            - `field_source` 'solana_system_program_instruction', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — Solana Token Program attributes, including more granular TransferChecked instruction fields.
            - `field` 'instructionName' | 'Transfer.source' | 'Transfer.destination' | 'Transfer.authority' | 'Transfer.amount' | 'TransferChecked.source' | 'TransferChecked.destination' | 'TransferChecked.authority' | 'TransferChecked.amount' | 'TransferChecked.mint' | 'Burn.account' | 'Burn.mint' | 'Burn.authority' | 'Burn.amount' | 'MintTo.mint' | 'MintTo.account' | 'MintTo.authority' | 'MintTo.amount' | 'CloseAccount.account' | 'CloseAccount.destination' | 'CloseAccount.authority' | 'InitializeAccount3.account' | 'InitializeAccount3.mint' | 'InitializeAccount3.owner', required — Supported fields for Solana Token Program conditions including Transfer, TransferChecked, Burn, MintTo, CloseAccount, and InitializeAccount3 instruction fields.
            - `field_source` 'solana_token_program_instruction', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — System attributes, including current unix timestamp (in seconds).
            - `field` 'current_unix_timestamp', required
            - `field_source` 'system', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — TRON transaction fields for TransferContract and TriggerSmartContract transaction types.
            - `field` 'TransferContract.to_address' | 'TransferContract.amount' | 'TriggerSmartContract.contract_address' | 'TriggerSmartContract.call_value' | 'TriggerSmartContract.token_id' | 'TriggerSmartContract.call_token_value', required — Supported TRON transaction fields for TransferContract and TriggerSmartContract in format "TransactionType.field_name".
            - `field_source` 'tron_transaction', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — Decoded calldata from a TRON TriggerSmartContract interaction.
            - `abi` object[], required — A Solidity ABI definition for decoding smart contract calldata.
              - …
            - `field` string, required
            - `field_source` 'tron_trigger_smart_contract_data', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — SUI transaction command attributes, enables allowlisting specific command types. Allowed commands: 'TransferObjects', 'SplitCoins', 'MergeCoins'. Only 'eq' and 'in' operators are supported.
            - `field` 'commandName', required
            - `field_source` 'sui_transaction_command', required
            - `operator` union, required — Operator to use for SUI transaction command conditions. Only 'eq' and 'in' are supported for command names.
              - …
            - `value` union, required — Command name(s) to match. Must be one of: 'TransferObjects', 'SplitCoins', 'MergeCoins'
              - …
          - object — SUI TransferObjects command attributes, including recipient and amount fields.
            - `field` 'recipient' | 'amount', required — Supported fields for SUI TransferObjects command conditions. Only 'recipient' and 'amount' are supported.
            - `field_source` 'sui_transfer_objects_command', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — Condition on the original wallet action API request body fields.
            - `field` string, required
            - `field_source` 'action_request_body', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — Condition referencing an aggregation value. The field must start with "aggregation." followed by the aggregation ID.
            - `field` string, required
            - `field_source` 'reference', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — Condition on the message being signed (e.g. in personal_sign).
            - `field` 'content' | 'byte_length', required — Supported fields for message signing conditions.
            - `field_source` 'message', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
      - `id` string, required
      - `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.
      - `name` string, required
    - `response_body` SuccessResponse — A simple success response.
      - `success` boolean, required
  - `current_resource_data` object — Current state of the rule before any changes. Undefined for create intents or if the rule was deleted
    - `action` 'ALLOW' | 'DENY', required — The action to take when a policy rule matches.
    - `conditions` PolicyCondition[], required
      - union — A condition that must be true for the rule action to be applied.
        - object — The verbatim Ethereum transaction object in an eth_signTransaction or eth_sendTransaction request.
          - `field` 'to' | 'value' | 'chain_id', required — Ethereum transaction-level fields that can be referenced in a policy condition.
          - `field_source` 'ethereum_transaction', required
          - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
          - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
            - string
            - string[]
        - object — The decoded calldata in a smart contract interaction as the smart contract method's parameters. Note that 'ethereum_calldata' conditions must contain an abi parameter with the JSON ABI of the smart contract.
          - `abi` object[], required — A Solidity ABI definition for decoding smart contract calldata.
            - `anonymous` boolean
            - `inputs` AbiParameter[]
              - …
            - `name` string
            - `outputs` AbiParameter[]
              - …
            - `stateMutability` 'pure' | 'view' | 'nonpayable' | 'payable'
            - `type` 'function' | 'constructor' | 'event' | 'fallback' | 'receive', required
          - `field` string, required
          - `field_source` 'ethereum_calldata', required
          - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
          - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
            - string
            - string[]
        - object — Attributes from the signing domain that will verify the signature.
          - `field` 'chainId' | 'verifyingContract' | 'chain_id' | 'verifying_contract', required — Supported fields for Ethereum typed data domain conditions.
          - `field_source` 'ethereum_typed_data_domain', required
          - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
          - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
            - string
            - string[]
        - object — 'types' and 'primary_type' attributes of the TypedData JSON object defined in EIP-712.
          - `field` string, required
          - `field_source` 'ethereum_typed_data_message', required
          - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
          - `typed_data` TypedDataInput, required — The typed data structure containing EIP-712 types and the primary type for typed data message policy conditions.
            - `primary_type` string, required
            - `types` TypedDataTypesInputParams, required — The type definitions for EIP-712 typed data signing.
          - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
            - string
            - string[]
        - object — Allowed contract addresses for eth_sign7702Authorization requests.
          - `field` 'contract', required
          - `field_source` 'ethereum_7702_authorization', required
          - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
          - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
            - string
            - string[]
        - object — A Tempo (type 118) transaction-level field. Evaluated once per transaction (not per call).
          - `field` 'fee_token' | 'fee_payer_signature' | 'nonce_key' | 'valid_before' | 'valid_after', required — Tempo (type 118) transaction-level fields that can be referenced in a policy condition.
          - `field_source` 'tempo_transaction', required
          - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
          - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
            - string
            - string[]
        - object — Solana Program attributes, enables allowlisting Solana Programs.
          - `field` 'programId', required
          - `field_source` 'solana_program_instruction', required
          - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
          - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
            - string
            - string[]
        - object — Solana System Program attributes, including more granular Transfer instruction fields.
          - `field` 'instructionName' | 'Transfer.from' | 'Transfer.to' | 'Transfer.lamports', required — Supported fields for Solana System Program conditions including Transfer instruction fields.
          - `field_source` 'solana_system_program_instruction', required
          - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
          - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
            - string
            - string[]
        - object — Solana Token Program attributes, including more granular TransferChecked instruction fields.
          - `field` 'instructionName' | 'Transfer.source' | 'Transfer.destination' | 'Transfer.authority' | 'Transfer.amount' | 'TransferChecked.source' | 'TransferChecked.destination' | 'TransferChecked.authority' | 'TransferChecked.amount' | 'TransferChecked.mint' | 'Burn.account' | 'Burn.mint' | 'Burn.authority' | 'Burn.amount' | 'MintTo.mint' | 'MintTo.account' | 'MintTo.authority' | 'MintTo.amount' | 'CloseAccount.account' | 'CloseAccount.destination' | 'CloseAccount.authority' | 'InitializeAccount3.account' | 'InitializeAccount3.mint' | 'InitializeAccount3.owner', required — Supported fields for Solana Token Program conditions including Transfer, TransferChecked, Burn, MintTo, CloseAccount, and InitializeAccount3 instruction fields.
          - `field_source` 'solana_token_program_instruction', required
          - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
          - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
            - string
            - string[]
        - object — System attributes, including current unix timestamp (in seconds).
          - `field` 'current_unix_timestamp', required
          - `field_source` 'system', required
          - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
          - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
            - string
            - string[]
        - object — TRON transaction fields for TransferContract and TriggerSmartContract transaction types.
          - `field` 'TransferContract.to_address' | 'TransferContract.amount' | 'TriggerSmartContract.contract_address' | 'TriggerSmartContract.call_value' | 'TriggerSmartContract.token_id' | 'TriggerSmartContract.call_token_value', required — Supported TRON transaction fields for TransferContract and TriggerSmartContract in format "TransactionType.field_name".
          - `field_source` 'tron_transaction', required
          - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
          - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
            - string
            - string[]
        - object — Decoded calldata from a TRON TriggerSmartContract interaction.
          - `abi` object[], required — A Solidity ABI definition for decoding smart contract calldata.
            - `anonymous` boolean
            - `inputs` AbiParameter[]
              - …
            - `name` string
            - `outputs` AbiParameter[]
              - …
            - `stateMutability` 'pure' | 'view' | 'nonpayable' | 'payable'
            - `type` 'function' | 'constructor' | 'event' | 'fallback' | 'receive', required
          - `field` string, required
          - `field_source` 'tron_trigger_smart_contract_data', required
          - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
          - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
            - string
            - string[]
        - object — SUI transaction command attributes, enables allowlisting specific command types. Allowed commands: 'TransferObjects', 'SplitCoins', 'MergeCoins'. Only 'eq' and 'in' operators are supported.
          - `field` 'commandName', required
          - `field_source` 'sui_transaction_command', required
          - `operator` union, required — Operator to use for SUI transaction command conditions. Only 'eq' and 'in' are supported for command names.
            - 'eq'
            - 'in'
          - `value` union, required — Command name(s) to match. Must be one of: 'TransferObjects', 'SplitCoins', 'MergeCoins'
            - 'TransferObjects' | 'SplitCoins' | 'MergeCoins' — SUI transaction commands allowlist for raw_sign endpoint policy evaluation
            - SuiCommandName[]
        - object — SUI TransferObjects command attributes, including recipient and amount fields.
          - `field` 'recipient' | 'amount', required — Supported fields for SUI TransferObjects command conditions. Only 'recipient' and 'amount' are supported.
          - `field_source` 'sui_transfer_objects_command', required
          - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
          - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
            - string
            - string[]
        - object — Condition on the original wallet action API request body fields.
          - `field` string, required
          - `field_source` 'action_request_body', required
          - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
          - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
            - string
            - string[]
        - object — Condition referencing an aggregation value. The field must start with "aggregation." followed by the aggregation ID.
          - `field` string, required
          - `field_source` 'reference', required
          - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
          - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
            - string
            - string[]
        - object — Condition on the message being signed (e.g. in personal_sign).
          - `field` 'content' | 'byte_length', required — Supported fields for message signing conditions.
          - `field_source` 'message', required
          - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
          - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
            - string
            - string[]
    - `id` string, required
    - `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.
    - `name` string, required
  - `intent_type` 'RULE', required
  - `policy` object — Parent policy containing this rule, including sibling rules for contextual display
    - `chain_type` 'ethereum' | 'solana' | 'cosmos' | 'stellar' | 'sui' | 'aptos' | 'movement' | 'tron' | 'bitcoin-segwit' | 'bitcoin-taproot' | 'pearl' | 'near' | 'ton' | 'starknet' | 'spark', required — The wallet chain types.
    - `created_at` number, required — Unix timestamp of when the policy was created in milliseconds.
    - `id` string, required — Unique ID of the created policy. This will be the primary identifier when using the policy in the future.
    - `name` string, required — Name to assign to policy.
    - `owner_id` string, cuid2, required — A unique identifier for a key quorum.
    - `rules` PolicyRuleResponse[], required
      - `action` 'ALLOW' | 'DENY', required — The action to take when a policy rule matches.
      - `conditions` PolicyCondition[], required
        - union — A condition that must be true for the rule action to be applied.
          - object — The verbatim Ethereum transaction object in an eth_signTransaction or eth_sendTransaction request.
            - `field` 'to' | 'value' | 'chain_id', required — Ethereum transaction-level fields that can be referenced in a policy condition.
            - `field_source` 'ethereum_transaction', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — The decoded calldata in a smart contract interaction as the smart contract method's parameters. Note that 'ethereum_calldata' conditions must contain an abi parameter with the JSON ABI of the smart contract.
            - `abi` object[], required — A Solidity ABI definition for decoding smart contract calldata.
              - …
            - `field` string, required
            - `field_source` 'ethereum_calldata', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — Attributes from the signing domain that will verify the signature.
            - `field` 'chainId' | 'verifyingContract' | 'chain_id' | 'verifying_contract', required — Supported fields for Ethereum typed data domain conditions.
            - `field_source` 'ethereum_typed_data_domain', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — 'types' and 'primary_type' attributes of the TypedData JSON object defined in EIP-712.
            - `field` string, required
            - `field_source` 'ethereum_typed_data_message', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `typed_data` TypedDataInput, required — The typed data structure containing EIP-712 types and the primary type for typed data message policy conditions.
              - …
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — Allowed contract addresses for eth_sign7702Authorization requests.
            - `field` 'contract', required
            - `field_source` 'ethereum_7702_authorization', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — A Tempo (type 118) transaction-level field. Evaluated once per transaction (not per call).
            - `field` 'fee_token' | 'fee_payer_signature' | 'nonce_key' | 'valid_before' | 'valid_after', required — Tempo (type 118) transaction-level fields that can be referenced in a policy condition.
            - `field_source` 'tempo_transaction', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — Solana Program attributes, enables allowlisting Solana Programs.
            - `field` 'programId', required
            - `field_source` 'solana_program_instruction', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — Solana System Program attributes, including more granular Transfer instruction fields.
            - `field` 'instructionName' | 'Transfer.from' | 'Transfer.to' | 'Transfer.lamports', required — Supported fields for Solana System Program conditions including Transfer instruction fields.
            - `field_source` 'solana_system_program_instruction', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — Solana Token Program attributes, including more granular TransferChecked instruction fields.
            - `field` 'instructionName' | 'Transfer.source' | 'Transfer.destination' | 'Transfer.authority' | 'Transfer.amount' | 'TransferChecked.source' | 'TransferChecked.destination' | 'TransferChecked.authority' | 'TransferChecked.amount' | 'TransferChecked.mint' | 'Burn.account' | 'Burn.mint' | 'Burn.authority' | 'Burn.amount' | 'MintTo.mint' | 'MintTo.account' | 'MintTo.authority' | 'MintTo.amount' | 'CloseAccount.account' | 'CloseAccount.destination' | 'CloseAccount.authority' | 'InitializeAccount3.account' | 'InitializeAccount3.mint' | 'InitializeAccount3.owner', required — Supported fields for Solana Token Program conditions including Transfer, TransferChecked, Burn, MintTo, CloseAccount, and InitializeAccount3 instruction fields.
            - `field_source` 'solana_token_program_instruction', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — System attributes, including current unix timestamp (in seconds).
            - `field` 'current_unix_timestamp', required
            - `field_source` 'system', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — TRON transaction fields for TransferContract and TriggerSmartContract transaction types.
            - `field` 'TransferContract.to_address' | 'TransferContract.amount' | 'TriggerSmartContract.contract_address' | 'TriggerSmartContract.call_value' | 'TriggerSmartContract.token_id' | 'TriggerSmartContract.call_token_value', required — Supported TRON transaction fields for TransferContract and TriggerSmartContract in format "TransactionType.field_name".
            - `field_source` 'tron_transaction', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — Decoded calldata from a TRON TriggerSmartContract interaction.
            - `abi` object[], required — A Solidity ABI definition for decoding smart contract calldata.
              - …
            - `field` string, required
            - `field_source` 'tron_trigger_smart_contract_data', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — SUI transaction command attributes, enables allowlisting specific command types. Allowed commands: 'TransferObjects', 'SplitCoins', 'MergeCoins'. Only 'eq' and 'in' operators are supported.
            - `field` 'commandName', required
            - `field_source` 'sui_transaction_command', required
            - `operator` union, required — Operator to use for SUI transaction command conditions. Only 'eq' and 'in' are supported for command names.
              - …
            - `value` union, required — Command name(s) to match. Must be one of: 'TransferObjects', 'SplitCoins', 'MergeCoins'
              - …
          - object — SUI TransferObjects command attributes, including recipient and amount fields.
            - `field` 'recipient' | 'amount', required — Supported fields for SUI TransferObjects command conditions. Only 'recipient' and 'amount' are supported.
            - `field_source` 'sui_transfer_objects_command', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — Condition on the original wallet action API request body fields.
            - `field` string, required
            - `field_source` 'action_request_body', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — Condition referencing an aggregation value. The field must start with "aggregation." followed by the aggregation ID.
            - `field` string, required
            - `field_source` 'reference', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
          - object — Condition on the message being signed (e.g. in personal_sign).
            - `field` 'content' | 'byte_length', required — Supported fields for message signing conditions.
            - `field_source` 'message', required
            - `operator` 'eq' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'in_condition_set' | 'contains' | 'starts_with' | 'ends_with', required — Operator to use for policy conditions.
            - `value` union, required — Value to compare against in a policy condition. Can be a single string or an array of strings.
              - …
      - `id` string, required
      - `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.
      - `name` string, required
    - `version` '1.0', required — Version of the policy. Currently, 1.0 is the only version.
  - `request_details` RuleIntentDeleteRequestDetails, required — Request details for deleting a rule via intent.
    - `body` object — Empty request body for a rule delete intent.
    - `method` 'DELETE', required
    - `url` string, required

---

[API](https://skmtc.net/privy-io/apis/privy-api.md) · [All operations](https://skmtc.net/privy-io/apis/privy-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/privy-io/privy-api/revisions/bb2eb34156cc/schema)
