Ask for an invitation
Menu

Webhook event

customer.updated

A customer was changed, including a new refund address or a change of credit_balance.

Type
customer.updated
The object it carries
the customer object
Subscribe with
customer.updated, customer.* or *

Example payload

The body of the request your endpoint receives, shown here over several lines. On the wire it is compact JSON; check its signature over the bytes exactly as they arrive.

Example payload

{
  "id": "evt_snhwfcqrpcraxds78qgz51fg",
  "object": "event",
  "livemode": true,
  "created": "2026-10-12T08:00:00.000Z",
  "type": "customer.updated",
  "api_version": "2026-10-11",
  "data": {
    "object": {
      "id": "cus_8ea07c40qsvv19f7rgmeb8ha",
      "object": "customer",
      "livemode": true,
      "created": "2026-10-01T08:00:00.000Z",
      "updated": "2026-10-12T08:00:00.000Z",
      "name": "Jane Doe",
      "email": "jane@example.com",
      "description": "Wholesale buyer, net 14",
      "billing_address": {
        "line1": "12 Market Street",
        "line2": null,
        "city": "Portland",
        "region": "OR",
        "postal_code": "97201",
        "country": "US"
      },
      "refund_addresses": [
        {
          "asset": "ethereum:usdc",
          "address": "0xdbF03B407c01E7cD3CBea99509d93f8DDDC8C6FB",
          "added": "2026-10-01T08:00:00.000Z"
        }
      ],
      "credit_balance": {
        "amount": "0.00",
        "currency": "USD"
      },
      "locale": "en",
      "metadata": {
        "crm_id": "88213"
      }
    },
    "previous_attributes": {
      "description": "Wholesale buyer"
    }
  },
  "request": {
    "id": null,
    "idempotency_key": null
  },
  "pending_webhooks": 1
}

Fields of data.object

Fields of data.object in customer.updated
FieldIn this example
id"cus_8ea07c40qsvv19f7rgmeb8ha"
object"customer"
livemodetrue
created"2026-10-01T08:00:00.000Z"
updated"2026-10-12T08:00:00.000Z"
name"Jane Doe"
email"jane@example.com"
description"Wholesale buyer, net 14"
billing_addressAn object with line1, line2, city, region, postal_code, country
refund_addressesA list of 1 item
credit_balanceAn object with amount, currency
locale"en"
metadataAn object with crm_id

What each field means is on the page of the customer object. data.previous_attributes holds the old values of exactly the fields that changed: here description.

Endpoints behind it

Calls that change customers. An event is also sent when a payer, the network, a timer or a person in the dashboard causes the change; the sentence above says which.