Your app can fetch an intent from the Privy API to check its current status, view approval progress, and retrieve execution results.
Usage
To fetch an intent, make a GET request to:GET https://api.privy.io/v1/intents/{intent_id}
curl https://api.privy.io/v1/intents/{intent_id} \
-H "Authorization: Basic <encoded-credentials>" \
-H "privy-app-id: <your-app-id>"
{
"intent_id": "clpq1234567890abcdefghij",
"intent_type": "RPC",
"created_by_display_name": "[email protected]",
"created_by_id": "did:privy:clabcd123",
"created_at": 1741834854578,
"resource_id": "xs76o3pi0v5syd62ui1wmijw",
"authorization_details": [
{
"members": [
{
"type": "user",
"user_id": "did:privy:clabcd123",
"display_name": "[email protected]",
"signed_at": null
}
],
"threshold": 1,
"display_name": "Admin Key Quorum"
}
],
"status": "pending",
"expires_at": 1741921254578,
"request_details": {
"method": "POST",
"url": "https://api.privy.io/v1/wallets/xs76o3pi0v5syd62ui1wmijw/rpc",
"body": {
"method": "eth_sendTransaction",
"caip2": "eip155:8453",
"chain_type": "ethereum",
"params": {
"transaction": {
"to": "0x0000000000000000000000000000000000000000",
"value": 1
}
}
}
}
}
Response fields
Unique identifier for the intent.
intent_type
'RPC' | 'TRANSFER' | 'WALLET' | 'POLICY' | 'RULE' | 'KEY_QUORUM'
The type of action the intent proposes.
Email address of the team member who proposed the intent. May be null for intents proposed via
the API.
The Privy DID of the team member who proposed the intent.
UNIX timestamp (ms) for when the intent was created.
ID of the resource the intent targets (e.g., a wallet ID or policy ID).
List of key quorums assigned to the intent.Show authorization_details properties
authorization_details[].display_name
Name of the key quorum.
authorization_details[].threshold
Number of approvals required from this quorum.
authorization_details[].members
Members of the quorum.
The member type (e.g., 'user').
The Privy DID of the member.
Email address of the member.
Timestamp of when this member signed. Null if they have yet to sign.
status
'pending' | 'granted' | 'processing' | 'executed' | 'rejected' | 'expired' | 'dismissed'
UNIX timestamp (ms) for when the intent expires.
The full request for the proposed action, including HTTP method, URL, and body.
Response body from execution, if the intent has completed. For transaction intents, this contains
the transaction hash.
For transaction intents, your app can read the transaction hash from action_result to track the
transaction on-chain.
API reference
Get intent
View the full API reference for fetching an intent.