Skip to content

Customer.activated

Emitted each time a Customer is activated.

Customer.activate emits Customer.activated when it completes on a Customer.

PropertyValue
Emitted byCustomer.activate
NounCustomer
MovesCustomer trialing to activated
WakesNone.

Payload

Each delivery is an Event record. data holds what Customer.activate returns.

FieldTypeRequiredDescription
namestringrequiredCustomer.activated.
atdatetimerequiredWhen it happened.
seqintegerIts position in the namespace, one more than the Event before; any seq is a cursor into the history.
datajsonrequiredThe Thing as the Action left it.
data.customerCustomerrequiredThe activated Customer.
data.customer.sincedatetimerequiredWhen the party first accepted an Offer.
data.customer.outsidebooleanComputed: true when it shares no owner, account, or sibling chain with the Startup.
data.customer.statusstringOne of trialing, activated, atRisk, churned, or wonBack, computed from Events and never set by hand; atRisk reads customer health.
data.customer.billingEmailemailWhere Invoices and receipts go, when it differs from the sign-in email.
data.customer.billingAddresstextThe address printed on new Invoices; Stripe Tax reads it to compute tax.
data.customer.taxIdsstring[]The Customer’s tax ids, such as a VAT number, printed on new Invoices and read by Stripe Tax.
data.customer.creditRechargejsonWhen unspent credit falls below below, buy amount of the credit Offer with the default Payment Source.

Example

JSON
{
  "$id": "https://api.sb/kilnbakery.com/events/event_1",
  "$type": "Event",
  "name": "Customer.activated",
  "at": "2026-10-22T12:00:00Z",
  "data": {
    "customer": {
      "$id": "https://api.sb/kilnbakery.com/customers/customer_1",
      "$type": "Customer",
      "since": "2026-10-22T12:00:00Z",
      "outside": true,
      "status": "trialing",
      "billingEmail": "tomas@kilnbakery.com",
      "billingAddress": "Example billing address",
      "taxIds": [
        "Example tax ids"
      ],
      "creditRecharge": {}
    }
  },
  "seq": 1
}