Skip to main content
WEBHOOK
intent.created
{
  "type": "intent.created",
  "intent_id": "cm5abc123def456ghi789jkl",
  "intent_type": "WALLET",
  "status": "pending",
  "created_by_id": "did:privy:cfbsvtqo2c22202mo08847jdux2z",
  "created_by_display_name": "[email protected]",
  "resource_id": "fmfdj6yqly31huorjqzq38zc",
  "created_at": "2026-02-27T12:00:00.000Z",
  "expires_at": "2026-03-02T12:00:00.000Z",
  "authorizers": [
    {
      "threshold": 2,
      "display_name": "Admin Key Quorum",
      "members": [
        {
          "type": "user",
          "user_id": "did:privy:cfbsvtqo2c22202mo08847jdux2z"
        },
        {
          "type": "user",
          "user_id": "did:privy:xyzabc123def456ghi789"
        },
        {
          "type": "key",
          "public_key": "0x04abc123..."
        }
      ]
    }
  ]
}

Body

application/json

Payload for the intent.created webhook event.

type
enum<string>
required

The type of webhook event.

Available options:
intent.created
intent_id
string
required

The unique ID of the intent.

intent_type
enum<string>
required

The type of resource the intent modifies.

Available options:
KEY_QUORUM,
POLICY,
RULE,
RPC,
WALLET
status
string
required

The current status of the intent.

created_at
string
required

ISO 8601 timestamp when the intent was created.

expires_at
string
required

ISO 8601 timestamp when the intent expires.

created_by_id
string

The ID of the user who created the intent.

created_by_display_name
string

Display name of the user who created the intent.

authorizers
IntentAuthorizer · object[]

Key quorums that can authorize this intent, including their thresholds and members.

Response

200

Return a 200 status to indicate that the webhook was received successfully.