Skip to main content

Event Types

Event types define what events your platform publishes. Each event type has a unique identifier (e.g., order.created), a human-readable name, a category for grouping, and an optional example payload.

Creating Event Types

Via Dashboard

  1. Navigate to Webhooks-as-a-Service and click your application
  2. On the Event Types tab, click Register Event Type
  3. Fill in the fields:
    • Event Type — Dot-notation identifier (e.g., order.created, invoice.paid)
    • Name — Human-readable name (e.g., "Order Created")
    • Category — Grouping label (e.g., "orders", "billing")
    • Description — Optional explanation of when this event fires
    • Example Payload — Optional JSON example for documentation
  4. Click Create

Via API

curl -X POST https://api.zyphr.dev/v1/waas/applications/{app_id}/event-types \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"event_type": "order.created",
"name": "Order Created",
"description": "Fired when a new order is placed",
"category": "orders",
"example_payload": {
"order_id": "ord_123",
"total": 99.99,
"currency": "USD"
}
}'

Naming Conventions

Use dot-notation to create a consistent taxonomy:

PatternExamples
resource.actionorder.created, user.updated, invoice.paid
resource.sub.actionorder.item.added, payment.refund.completed

Rules:

  • Lowercase only
  • Dots separate levels
  • Hyphens allowed within segments (credit-note.created)
  • Maximum 255 characters

Categories

Categories group related event types in the dashboard and embeddable portal. Common categories:

  • orders — Order lifecycle events
  • billing — Payment and invoice events
  • users — User account events
  • inventory — Stock and warehouse events

Categories are free-form strings — use whatever makes sense for your domain.

Example Payloads

Providing an example payload for each event type:

  • Pre-fills the Publish tab in the dashboard for testing
  • Documents the expected schema for your API consumers
  • Helps your customers understand what data each event delivers
{
"order_id": "ord_456",
"customer_id": "cust_789",
"total": 149.99,
"currency": "USD",
"items": [
{ "sku": "WIDGET-1", "name": "Blue Widget", "qty": 3, "price": 49.99 }
],
"created_at": "2026-03-05T12:00:00Z"
}

Updating Event Types

You can update the name, description, category, and example payload of an existing event type. The event type identifier itself cannot be changed after creation.

Via API

curl -X PATCH https://api.zyphr.dev/v1/waas/applications/{app_id}/event-types/{event_type_id} \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Order Created (v2)",
"description": "Updated description with new fields"
}'

Deprecating Event Types

When an event type is no longer supported, deprecate it instead of deleting it. Deprecated event types:

  • Stop accepting new endpoint subscriptions
  • Continue delivering to existing subscribers
  • Show a "deprecated" badge in the dashboard and portal
curl -X POST https://api.zyphr.dev/v1/waas/applications/{app_id}/event-types/{event_type_id}/deprecate \
-H "Authorization: Bearer YOUR_API_KEY"

Deleting Event Types

Deleting an event type removes it permanently. Endpoints subscribed to it will no longer receive deliveries for that event type.

caution

Deletion is irreversible. Consider deprecating first to give your customers time to migrate.

Plan Limits

PlanEvent Types per Application
Free5
Starter25
Pro100
Scale500
EnterpriseUnlimited

Next Steps