curl --request GET \
--url https://api.privy.io/v1/intents \
--header 'Authorization: Basic <encoded-value>' \
--header 'privy-app-id: <privy-app-id>'HttpResponse<String> response = Unirest.get("https://api.privy.io/v1/intents")
.header("privy-app-id", "<privy-app-id>")
.header("Authorization", "Basic <encoded-value>")
.asString();const options = {
method: 'GET',
headers: {'privy-app-id': '<privy-app-id>', Authorization: 'Basic <encoded-value>'}
};
fetch('https://api.privy.io/v1/intents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.privy.io/v1/intents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"privy-app-id: <privy-app-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.privy.io/v1/intents"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("privy-app-id", "<privy-app-id>")
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"data": [
{
"intent_id": "clpq1234567890abcdefghij",
"intent_type": "RPC",
"created_by_display_name": "developer@example.com",
"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>"
}List intents
List intents for an app. Returns a paginated list with each intent’s current status and details. Requests authenticated with an app secret can retrieve all intents for the app. Requests authenticated with a user token return only intents that the authenticated user created, must approve, or has signed. Query parameters only narrow this scoped result set.
curl --request GET \
--url https://api.privy.io/v1/intents \
--header 'Authorization: Basic <encoded-value>' \
--header 'privy-app-id: <privy-app-id>'HttpResponse<String> response = Unirest.get("https://api.privy.io/v1/intents")
.header("privy-app-id", "<privy-app-id>")
.header("Authorization", "Basic <encoded-value>")
.asString();const options = {
method: 'GET',
headers: {'privy-app-id': '<privy-app-id>', Authorization: 'Basic <encoded-value>'}
};
fetch('https://api.privy.io/v1/intents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.privy.io/v1/intents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"privy-app-id: <privy-app-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.privy.io/v1/intents"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("privy-app-id", "<privy-app-id>")
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"data": [
{
"intent_id": "clpq1234567890abcdefghij",
"intent_type": "RPC",
"created_by_display_name": "developer@example.com",
"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>"
}Authorizations
Basic Auth header with your app ID as the username and your app secret as the password.
Headers
ID of your Privy app.
Query Parameters
Cursor returned by the previous page.
1 - 512x <= 100Current status of an intent.
pending, processing, executed, failed, expired, rejected, dismissed Type of intent.
KEY_QUORUM, POLICY, RULE, RPC, TRANSFER, WALLET Filter by creator user ID. For user-token requests, Privy uses the authenticated user ID to scope intent visibility. This filter only narrows that scoped result.
Filter by a user whose approval is still pending. For user-token requests, Privy uses the authenticated user ID to scope intent visibility. This filter only narrows that scoped result.
true, false created_at_desc, expires_at_asc, updated_at_desc Response
List of intents.
Response for an RPC intent
- RpcIntentResponse
- TransferIntentResponse
- WalletIntentResponse
- PolicyIntentResponse
- RuleIntentResponse
- KeyQuorumIntentResponse
Show child attributes
Show child attributes
{ "intent_id": "clpq1234567890abcdefghij", "intent_type": "RPC", "created_by_display_name": "developer@example.com", "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 } } } } }
Was this page helpful?

