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.

get/v1/intents

Request

  • Base URL
    https://api.privy.io
  • URL
    https://api.privy.io/v1/intents
  • Auth
    HTTP basic

Query parameters

cursorstring

Cursor returned by the previous page.

limitinteger
status'pending' | 'processing' | 'executed' | 'failed' | 'expired' | 'rejected' | 'dismissed'

Current status of an intent.

'CONDITION_SET' | 'CONDITION_SET_ITEM' | 'KEY_QUORUM' | 'POLICY' | 'RAW_SIGN' | 'RULE' | 'RPC' | 'TRANSFER' | 'WALLET'
OR
string
created_by_idstring

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.

pending_member_idstring

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.

resource_idstring
current_user_has_signed'true' | 'false'
sort_by'created_at_desc' | 'expires_at_asc' | 'updated_at_desc'

Headers

privy-app-idstring required

ID of your Privy app.

Response

List of intents.

next_cursorstring nullable

Example response

{
  "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
            }
          }
        }
      }
    }
  ]
}

Changes

    • warning

      added the new earn_incentive_claim enum value to the ////////// response property for the response status

    • warning

      added the new earn_incentive_claim enum value to the ////////// response property for the response status

    • warning

      added the new earn_incentive_claim enum value to the //////// response property for the response status

    • warning

      added the new earn_incentive_claim enum value to the ///////// response property for the response status

    • warning

      added the new earn_incentive_claim enum value to the //////// response property for the response status

    • warning

      added the new earn_incentive_claim enum value to the //////// response property for the response status

    • warning

      added the new earn_incentive_claim enum value to the ////// response property for the response status

    • warning

      added the new earn_incentive_claim enum value to the //////// response property for the response status

    • warning

      added the new earn_incentive_claim enum value to the /////// response property for the response status

    • warning

      added the new earn_incentive_claim enum value to the /////// response property for the response status

    • breaking

      for the query request parameter limit, the type changed from number null to integer

    • warning

      for the query request parameter limit, the min was set to 1.00