Skip to main content
GET
/
v1
/
intents
List intents
curl --request GET \
  --url https://api.privy.io/v1/intents \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'privy-app-id: <privy-app-id>'
{
  "data": [
    {
      "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",
              "signed_at": null
            }
          ],
          "threshold": 1,
          "display_name": "Admin Key Quorum"
        }
      ],
      "status": "pending",
      "custom_expiry": false,
      "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
            }
          }
        }
      }
    }
  ],
  "next_cursor": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.privy.io/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Basic Auth header with your app ID as the username and your app secret as the password.

Headers

privy-app-id
string
required

ID of your Privy app.

Query Parameters

cursor
string
Minimum string length: 1
limit
number | null
Required range: x <= 100
status
enum<string>

Current status of an intent.

Available options:
pending,
executed,
failed,
expired,
rejected,
dismissed
intent_type
enum<string>

Type of intent.

Available options:
KEY_QUORUM,
POLICY,
RULE,
RPC,
TRANSFER,
WALLET
created_by_id
string
pending_member_id
string
resource_id
string
current_user_has_signed
enum<string>
Available options:
true,
false
sort_by
enum<string>
Available options:
created_at_desc,
expires_at_asc,
updated_at_desc

Response

200 - application/json

List of intents.

data
(RpcIntentResponse · object | TransferIntentResponse · object | WalletIntentResponse · object | PolicyIntentResponse · object | RuleIntentResponse · object | KeyQuorumIntentResponse · object)[]
required

Response for an RPC intent

Example:
{
"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",
"signed_at": null
}
],
"threshold": 1,
"display_name": "Admin Key Quorum"
}
],
"status": "pending",
"custom_expiry": false,
"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
}
}
}
}
}
next_cursor
string | null