Webhook Events

Complete catalog of all webhook event types and their payloads

This page documents all webhook events available in RevKeen. Subscribe to specific events or use wildcards (*) to receive all events.

Event Naming Convention

Events follow the pattern: resource.action

  • customer.created — A customer was created
  • invoice.paid — An invoice was paid
  • subscription.cancelled — A subscription was cancelled

Customer Events

customer.created

Triggered when a new customer is created.

{
  "id": "evt_xxxxxxxx",
  "type": "customer.created",
  "created": "2025-01-15T10:30:00Z",
  "data": {
    "id": "cus_xxxxxxxx",
    "email": "john@example.com",
    "name": "John Doe",
    "companyName": "Acme Inc",
    "createdAt": "2025-01-15T10:30:00Z"
  }
}

customer.updated

Triggered when customer details are modified.

{
  "id": "evt_xxxxxxxx",
  "type": "customer.updated",
  "created": "2025-01-15T10:30:00Z",
  "data": {
    "id": "cus_xxxxxxxx",
    "email": "john@example.com",
    "name": "John Smith",
    "updatedAt": "2025-01-15T10:30:00Z"
  }
}

customer.deleted

Triggered when a customer is deleted.

{
  "id": "evt_xxxxxxxx",
  "type": "customer.deleted",
  "created": "2025-01-15T10:30:00Z",
  "data": {
    "id": "cus_xxxxxxxx"
  }
}

Subscription Events

subscription.created

Triggered when a new subscription starts.

{
  "id": "evt_xxxxxxxx",
  "type": "subscription.created",
  "created": "2025-01-15T10:30:00Z",
  "data": {
    "id": "sub_xxxxxxxx",
    "customerId": "cus_xxxxxxxx",
    "productId": "prod_xxxxxxxx",
    "status": "active",
    "currentPeriodStart": "2025-01-15T00:00:00Z",
    "currentPeriodEnd": "2025-02-15T00:00:00Z",
    "createdAt": "2025-01-15T10:30:00Z"
  }
}

subscription.updated

Triggered when subscription details change (plan change, proration, etc.).

{
  "id": "evt_xxxxxxxx",
  "type": "subscription.updated",
  "created": "2025-01-15T10:30:00Z",
  "data": {
    "id": "sub_xxxxxxxx",
    "customerId": "cus_xxxxxxxx",
    "productId": "prod_yyyyyyyy",
    "status": "active",
    "previousProductId": "prod_xxxxxxxx",
    "updatedAt": "2025-01-15T10:30:00Z"
  }
}

subscription.cancelled

Triggered when a subscription is cancelled.

{
  "id": "evt_xxxxxxxx",
  "type": "subscription.cancelled",
  "created": "2025-01-15T10:30:00Z",
  "data": {
    "id": "sub_xxxxxxxx",
    "customerId": "cus_xxxxxxxx",
    "status": "cancelled",
    "cancelAtPeriodEnd": true,
    "cancelledAt": "2025-01-15T10:30:00Z"
  }
}

subscription.paused

Triggered when a subscription is paused.

{
  "id": "evt_xxxxxxxx",
  "type": "subscription.paused",
  "created": "2025-01-15T10:30:00Z",
  "data": {
    "id": "sub_xxxxxxxx",
    "customerId": "cus_xxxxxxxx",
    "status": "paused",
    "resumeAt": "2025-03-01T00:00:00Z"
  }
}

subscription.resumed

Triggered when a paused subscription resumes.

{
  "id": "evt_xxxxxxxx",
  "type": "subscription.resumed",
  "created": "2025-01-15T10:30:00Z",
  "data": {
    "id": "sub_xxxxxxxx",
    "customerId": "cus_xxxxxxxx",
    "status": "active"
  }
}

subscription.trial_ending

Triggered 3 days before a trial ends.

{
  "id": "evt_xxxxxxxx",
  "type": "subscription.trial_ending",
  "created": "2025-01-15T10:30:00Z",
  "data": {
    "id": "sub_xxxxxxxx",
    "customerId": "cus_xxxxxxxx",
    "status": "trialing",
    "trialEnd": "2025-01-18T00:00:00Z"
  }
}

subscription.past_due

Triggered when a payment fails and subscription becomes past due.

{
  "id": "evt_xxxxxxxx",
  "type": "subscription.past_due",
  "created": "2025-01-15T10:30:00Z",
  "data": {
    "id": "sub_xxxxxxxx",
    "customerId": "cus_xxxxxxxx",
    "status": "past_due",
    "latestInvoiceId": "inv_xxxxxxxx"
  }
}

Invoice Events

invoice.created

Triggered when an invoice is created.

{
  "id": "evt_xxxxxxxx",
  "type": "invoice.created",
  "created": "2025-01-15T10:30:00Z",
  "data": {
    "id": "inv_xxxxxxxx",
    "invoiceNumber": "INV-2025-0001",
    "customerId": "cus_xxxxxxxx",
    "status": "draft",
    "totalMinor": 9900,
    "currency": "USD",
    "createdAt": "2025-01-15T10:30:00Z"
  }
}

invoice.sent

Triggered when an invoice is emailed to the customer.

{
  "id": "evt_xxxxxxxx",
  "type": "invoice.sent",
  "created": "2025-01-15T10:30:00Z",
  "data": {
    "id": "inv_xxxxxxxx",
    "invoiceNumber": "INV-2025-0001",
    "customerId": "cus_xxxxxxxx",
    "status": "sent",
    "sentAt": "2025-01-15T10:30:00Z",
    "sentTo": "john@example.com"
  }
}

invoice.paid

Triggered when an invoice is fully paid.

{
  "id": "evt_xxxxxxxx",
  "type": "invoice.paid",
  "created": "2025-01-15T10:30:00Z",
  "data": {
    "id": "inv_xxxxxxxx",
    "invoiceNumber": "INV-2025-0001",
    "customerId": "cus_xxxxxxxx",
    "status": "paid",
    "totalMinor": 9900,
    "amountPaidMinor": 9900,
    "currency": "USD",
    "paidAt": "2025-01-15T10:30:00Z"
  }
}

invoice.payment_failed

Triggered when a payment attempt fails.

{
  "id": "evt_xxxxxxxx",
  "type": "invoice.payment_failed",
  "created": "2025-01-15T10:30:00Z",
  "data": {
    "id": "inv_xxxxxxxx",
    "invoiceNumber": "INV-2025-0001",
    "customerId": "cus_xxxxxxxx",
    "status": "open",
    "attemptCount": 2,
    "lastPaymentError": "card_declined"
  }
}

All Events Summary

EventDescription
customer.createdCustomer was created
customer.updatedCustomer details changed
customer.deletedCustomer was deleted
subscription.createdSubscription started
subscription.updatedSubscription changed
subscription.cancelledSubscription cancelled
subscription.pausedSubscription paused
subscription.resumedSubscription resumed
subscription.trial_endingTrial ends in 3 days
subscription.past_duePayment failed
subscription.expiredSubscription ended
invoice.createdInvoice created
invoice.sentInvoice emailed
invoice.paidInvoice fully paid
invoice.payment_failedPayment attempt failed
checkout.session.completedCheckout completed
checkout.session.expiredCheckout session expired