Intents

intents

Methods

List Intents -> Cursor<>
get/v1/intents

List intents for an app. Returns a paginated list of intents with their current status and details.

Get Intent ->
get/v1/intents/{intent_id}

Retrieve an intent by ID. Returns the intent details including its current status, authorization details, and execution result if applicable.

path Parameters
intent_id: string

ID of the intent.

Response fields
Request example
200Example
Create Rpc Intent ->
post/v1/intents/wallets/{wallet_id}/rpc

Create an intent to execute an RPC method on a wallet. The intent must be authorized by either the wallet owner or signers before it can be executed.

Create Wallet Update Intent ->
patch/v1/intents/wallets/{wallet_id}

Create an intent to update a wallet. The intent must be authorized by the wallet owner before it can be executed.

Create Policy Update Intent ->
patch/v1/intents/policies/{policy_id}

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

Create Policy Rule Intent ->
post/v1/intents/policies/{policy_id}/rules

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

Create Policy Rule Update Intent ->
patch/v1/intents/policies/{policy_id}/rules/{rule_id}

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

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.

Create Key Quorum Update Intent ->
patch/v1/intents/key_quorums/{key_quorum_id}

Create an intent to update a key quorum. The intent must be authorized by the key quorum members before it can be executed.

Domain types

BaseActionResult = { executed_at, status_code, authorized_by_display_name, 1 more... }

Common fields for intent action execution results.

IntentAuthorization = { members, threshold, display_name }

Authorization quorum for an intent

IntentAuthorizationKeyQuorumMember = { signed_at, type, user_id } | { public_key, signed_at, type }

A leaf member (user or key) of a nested key quorum in an intent authorization.

IntentAuthorizationMember = { signed_at, type, user_id } | { public_key, signed_at, type } | { key_quorum_id, members, threshold, 3 more... }

A member of an intent authorization quorum. Can be a user, key, or nested key quorum.

Response for an intent object

IntentStatus = "pending" | "executed" | "failed" | 3 more...

Current status of an intent.

IntentType = "KEY_QUORUM" | "POLICY" | "RULE" | 2 more...

Type of intent.

KeyQuorumIntentResponse = { authorization_details, created_at, created_by_display_name, 12 more... }

Response for a key quorum intent

PolicyIntentRequestDetails = { body, method, url }

Request details for a policy intent.

PolicyIntentResponse = { authorization_details, created_at, created_by_display_name, 12 more... }

Response for a policy intent

RpcIntentRequestDetails = { body, method, url }

Request details for an RPC intent.

RpcIntentResponse = { authorization_details, created_at, created_by_display_name, 12 more... }

Response for an RPC intent

RuleIntentCreateRequestDetails = { body, method, url }

Request details for creating a rule via intent.

RuleIntentDeleteRequestDetails = { method, url, body }

Request details for deleting a rule via intent.

The original rule request. Method is POST (create), PATCH (update), or DELETE (delete)

RuleIntentResponse = { authorization_details, created_at, created_by_display_name, 13 more... }

Response for a rule intent

RuleIntentUpdateRequestDetails = { body, method, url }

Request details for updating a rule via intent.

WalletIntentResponse = { authorization_details, created_at, created_by_display_name, 12 more... }

Response for a wallet intent