Mandates

Mandate approval succeeded

Triggered when a mandate approval succeeds. The mandate's status becomes approval_succeeded, its source is set, and it is now usable.

postWebhookacceptanceMandateApprovalSucceeded

Payload

eventIdstring uuid required

Unique identifier for this webhook event. Use this for idempotency.

timestampstring date-time required

When this event occurred (ISO 8601 format).

eventType'acceptance.mandate.approval_succeeded' required

The type of webhook event.

Example payload

{
  "eventId": "423e4567-e89b-12d3-a456-426614174003",
  "timestamp": "2025-06-15T12:05:00Z",
  "eventType": "acceptance.mandate.approval_succeeded",
  "data": {
    "mandate": {
      "mandateId": "mandate_82c879c1-84e1-44ed-a8c2-1ac239cf09ad",
      "asset": "usdc",
      "source": {
        "address": "0xAbC1234567890aBcDeF1234567890AbCdEf123456",
        "network": "base",
        "asset": "usdc"
      },
      "policy": {
        "maxPerAuthorization": "50.00",
        "maxPerPeriod": {
          "amount": "500.00",
          "period": "month"
        }
      },
      "status": "approval_succeeded",
      "expiresAt": "2027-06-15T12:00:00.000Z",
      "revocationUrl": "https://payments.coinbase.com/mandates/mandate_82c879c1-84e1-44ed-a8c2-1ac239cf09ad/revoke",
      "approvedAt": "2025-06-15T12:05:00.000Z",
      "createdAt": "2025-06-15T12:00:00.000Z",
      "updatedAt": "2025-06-15T12:05:00.000Z"
    },
    "approval": {
      "approvalId": "approval_5f0e9d8c-7b6a-4321-fedc-ba0987654321",
      "status": "succeeded",
      "source": {
        "address": "0xAbC1234567890aBcDeF1234567890AbCdEf123456",
        "network": "base",
        "asset": "usdc"
      },
      "onchainTransactions": [
        {
          "transactionHash": "0xabc123def456789012345678901234567890abcdef1234567890abcdef123456",
          "network": "base"
        }
      ],
      "createdAt": "2025-06-15T12:04:00.000Z",
      "updatedAt": "2025-06-15T12:05:00.000Z"
    }
  }
}

Response

Webhook received and processed successfully.

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.