Webbu Docs

Step 1: Create a Project

Create a project to organize your webhook buffers.

Projects group related buffers, for example production and staging. Every account gets a Default Project at sign-up; you can use it and skip to Step 2.

Create via API

When you create resources through the API you choose their IDs. IDs must be unique across Webbu, so add a random suffix in real use; the dashboard generates IDs like p_1767225600000_k3j9x2m1q. The examples below use short IDs for readability.

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"}'
const res = await fetch('https://webbu.dev/api/v1/admin/projects', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': process.env.WEBBU_API_KEY!,
  },
  body: JSON.stringify({ projectId: 'p_shop', name: 'Shop' }),
});
const project = await res.json();
console.log(res.status, project.projectId); // 201 "p_shop"
import os, requests

resp = requests.post(
    "https://webbu.dev/api/v1/admin/projects",
    headers={"X-API-Key": os.environ["WEBBU_API_KEY"]},
    json={"projectId": "p_shop", "name": "Shop"},
)
print(resp.status_code, resp.json()["projectId"])  # 201 p_shop
Try it in the API reference

Response (201 Created):

{
  "projectId": "p_shop",
  "customerId": "c_your_account",
  "name": "Shop",
  "enabled": true,
  "createdAt": 1767225600000,
  "updatedAt": 1767225600000
}

The project belongs to the account of the API key; you don't need to send customerId.

Common errors

StatusCauseFix
400projectId or name missingSend both fields
401Missing, invalid or revoked API keyCheck the X-API-Key header
403The key's role can't create projectsUse an admin or owner key
409A project with this projectId already existsChoose another ID

Create via dashboard

  1. Sign in at webbu.dev
  2. Click Projects in the sidebar
  3. Click New Project, enter a name and save

On this page