Ciklek

Webhook Events Reference

All webhook payloads share a common envelope:

{
  "id": "evt_abc123",
  "type": "order.picked_up",
  "created_at": "2026-03-10T09:15:00Z",
  "data": { ... }
}

Order Events

order.created

Fired when a new order is created (via portal, CSR, or API).

{
  "id": "evt_001",
  "type": "order.created",
  "data": {
    "order_id": "ord_abc123",
    "order_number": "BS-2026-0042",
    "status": "pending",
    "part_count": 8,
    "pickup_window_start": "2026-03-15T08:00:00Z"
  }
}

order.scheduled

Pickup window confirmed by Operations.

order.picked_up

Driver has collected the parts.

order.in_service

Parts checked in at the service center.

order.ready

Parts processed and ready for return delivery.

order.delivered

Parts returned to the customer.

order.completed

Order closed (invoice issued).

order.cancelled

Order cancelled.


Invoice Events

invoice.created

New invoice generated.

{
  "type": "invoice.created",
  "data": {
    "invoice_id": "inv_abc123",
    "invoice_number": "INV-2026-0041",
    "total_cents": 19200,
    "due_date": "2026-04-08"
  }
}

invoice.paid

Payment confirmed.

invoice.overdue

Invoice past due date without payment.


Part Events

part.wear_alert

A part's wear level has dropped to 4 or below.

{
  "type": "part.wear_alert",
  "data": {
    "part_id": "part_abc123",
    "internal_label": "Line 3 Slicer",
    "wear_level": 3,
    "recommendation": "replace_soon"
  }
}

part.retired

A part has been taken out of service.


Subscription Events

subscription.activated

Subscription moved to active after trial or payment.

subscription.renewed

Subscription successfully renewed for another billing period.

subscription.payment_failed

Renewal payment failed — retry scheduled.

subscription.cancelled

Subscription cancelled by customer or admin.


System Events

test.ping

Sent when you click "Send Test Event". Use to verify your endpoint is receiving correctly.

{
  "type": "test.ping",
  "data": { "message": "Hello from Ciklek!" }
}