RevKeen Docs
Webhooks

Webhooks

Receive and verify RevKeen webhook events

Webhooks push event notifications to your application when something changes in RevKeen — a payment succeeded, an invoice was paid, a subscription renewed. They are the correct way to keep your system in sync without polling.

Test webhook delivery in Staging. The mock server does not emit events.

Operational model

  1. Create an endpoint in the dashboard or via the Webhook Endpoints API. Select the event types you care about.
  2. RevKeen signs and POSTs each event as it occurs.
  3. Your server verifies the signature, logs the event ID, and returns 2xx quickly.
  4. Downstream work happens asynchronously after acknowledgement.

The event envelope

Every webhook delivery uses the same envelope:

{
  "id": "evt_1a2b3c4d5e6f",
  "type": "payment.succeeded",
  "created": 1705689600,
  "livemode": true,
  "data": {
    "object": {
      /* the affected resource — a Payment, Invoice, Subscription, etc. */
    },
    "previous_attributes": {
      /* for update events, the values that changed */
    }
  }
}
FieldTypeDescription
idstringUnique event identifier. Use this for deduplication.
typestringEvent type using dot notation (e.g., payment.succeeded).
createdintegerUnix timestamp when the event was created.
livemodebooleantrue for production, false for staging.
data.objectobjectThe resource that triggered the event.
data.previous_attributesobjectOn *.updated events only — the changed fields.

What's next

On this page