REST API
Use the Webbu API with cURL or any HTTP client.
Base URL: https://webbu.dev/api. Management calls need X-API-Key; ingest doesn't. Every endpoint is listed in the API Reference.
export WEBBU_API_KEY="wbk_your_key_here"Ingest a webhook
POST /v1/ingest/{projectId}/{bufferId}
curl -X POST https://webbu.dev/api/v1/ingest/p_shop/b_orders \
-H "Content-Type: application/json" \
-d '{"event": "order.created", "customerId": "cus_789"}'curl -X POST https://webbu.dev/api/v1/ingest/p_shop/b_orders \
-H "Content-Type: application/json" \
-H "X-API-Key: $WEBBU_API_KEY" \
-H "X-Idempotency-Key: evt_unique_123" \
-d '{"event": "order.created", "customerId": "cus_789", "orderId": "ord_100"}'202: {"status": "accepted", "messageId": "evt_unique_123", "itemId": "0e6d1c2b-…"}
Errors: 400 (group key missing, buffer disabled, invalid JSON), 401 (invalid key or source signature), 403, 404, 429 (insufficient credits). See Error Codes.
Projects
# List
curl -H "X-API-Key: $WEBBU_API_KEY" https://webbu.dev/api/v1/admin/projects
# Create (admin or owner)
curl -X POST https://webbu.dev/api/v1/admin/projects \
-H "Content-Type: application/json" -H "X-API-Key: $WEBBU_API_KEY" \
-d '{"projectId": "p_shop", "name": "Shop"}'
# Get
curl -H "X-API-Key: $WEBBU_API_KEY" https://webbu.dev/api/v1/admin/projects/p_shop
# Update name or enabled (admin or owner)
curl -X PATCH https://webbu.dev/api/v1/admin/projects/p_shop \
-H "Content-Type: application/json" -H "X-API-Key: $WEBBU_API_KEY" \
-d '{"name": "Shop (production)"}'
# Delete; the project must have no buffers (admin or owner)
curl -X DELETE -H "X-API-Key: $WEBBU_API_KEY" https://webbu.dev/api/v1/admin/projects/p_shopBuffers
Create
curl -X POST https://webbu.dev/api/v1/admin/buffers \
-H "Content-Type: application/json" -H "X-API-Key: $WEBBU_API_KEY" \
-d '{
"bufferId": "b_orders",
"projectId": "p_shop",
"name": "Order events",
"groupKey": { "mode": "jsonpath", "path": "$.customerId" },
"batch": { "maxItems": 100, "idleTimeoutMs": 5000, "maxWaitFromFirstMs": 30000 },
"delivery": { "url": "https://your-app.example.com/webhooks/batch" }
}'All fields are described in Create a Buffer.
Try it in the API referenceList, get, update, clone, test, delete
# List (optionally for one project)
curl -H "X-API-Key: $WEBBU_API_KEY" "https://webbu.dev/api/v1/admin/buffers?projectId=p_shop"
# Get
curl -H "X-API-Key: $WEBBU_API_KEY" https://webbu.dev/api/v1/admin/buffers/b_orders
# Update: send whole sections (batch, delivery, groupKey, …); a section you send replaces the stored one
curl -X PATCH https://webbu.dev/api/v1/admin/buffers/b_orders \
-H "Content-Type: application/json" -H "X-API-Key: $WEBBU_API_KEY" \
-d '{"batch": {"maxItems": 200, "maxBytes": 262144, "idleTimeoutMs": 5000, "maxWaitFromFirstMs": 30000}}'
# Clone (new ID, optional new name)
curl -X POST https://webbu.dev/api/v1/admin/buffers/b_orders/clone \
-H "Content-Type: application/json" -H "X-API-Key: $WEBBU_API_KEY" \
-d '{"name": "Order events (staging)"}'
# Send a test payload straight to the destination
curl -X POST https://webbu.dev/api/v1/admin/buffers/b_orders/test \
-H "Content-Type: application/json" -H "X-API-Key: $WEBBU_API_KEY" \
-d '{"payload": {"test": true}}'
# Delete (pending items are not delivered)
curl -X DELETE -H "X-API-Key: $WEBBU_API_KEY" https://webbu.dev/api/v1/admin/buffers/b_ordersAnalytics
# Today's totals and trend vs. yesterday
curl -H "X-API-Key: $WEBBU_API_KEY" https://webbu.dev/api/v1/analytics/summary
# Daily series; days defaults to 7; filter by projectId or bufferId
curl -H "X-API-Key: $WEBBU_API_KEY" \
"https://webbu.dev/api/v1/analytics/timeseries?days=7&projectId=p_shop"Dead letter queue
# List (optionally for one buffer; limit defaults to 100, max 500)
curl -H "X-API-Key: $WEBBU_API_KEY" "https://webbu.dev/api/v1/dlq?bufferId=b_orders"
# Retry (admin or owner): flushes the entry's group now and removes the entry
curl -X POST -H "X-API-Key: $WEBBU_API_KEY" https://webbu.dev/api/v1/dlq/DLQ_ID/retry
# Delete (admin or owner)
curl -X DELETE -H "X-API-Key: $WEBBU_API_KEY" https://webbu.dev/api/v1/dlq/DLQ_IDCredits
curl -H "X-API-Key: $WEBBU_API_KEY" https://webbu.dev/api/v1/admin/credits
curl -H "X-API-Key: $WEBBU_API_KEY" https://webbu.dev/api/v1/admin/credits/transactionsStatus codes
| Code | Meaning |
|---|---|
200 | Success |
201 | Created |
202 | Accepted (ingest) |
204 | Deleted |
400 | Invalid request |
401 | Missing or invalid credentials |
403 | Not allowed (role, scope or account) |
404 | Not found |
409 | Conflict (ID taken, key limit, already revoked) |
429 | Insufficient credits (ingest) |
500 | Server error |