Account API

Workspaces API

Create the billing container an account's projects live in.

View as Markdown ↗

All-access key. These endpoints act on your account rather than inside one project, so a project-scoped key can't reach them. How keys and scopes work.

Endpoints

GET/v1/workspaces
POST/v1/workspaces

A workspace is the billing boundary: one plan, one bill, and one or more projects inside it. Create a second workspace when something needs its own separate bill.

Create a workspace

Creating a workspace also creates a same-named starter project inside it on the free plan, and returns both — so there's something to send from straight away.

Body parameters

namestringrequired

Display name for the workspace.

cURL
curl -X POST https://emailbump.com/api/v1/workspaces \
  -H "Authorization: Bearer ebk_all_access_key" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Acme Agency" }'
200 response
{
  "workspace": { "id": "b1c2…", "name": "Acme Agency", "slug": "acme-agency-3f9a2b" },
  "project":   { "id": "7a10…", "workspace_id": "b1c2…", "name": "Acme Agency", "slug": "acme-agency-3f9a2b" }
}

Free accounts can own up to 3 workspaces (the one made at signup counts) and open up to 2 new ones in any 24 hours. Past either, this returns 403 with a one-sentence error saying which — don't retry it; repeated refusals are treated as automated creation. Paid accounts aren't limited.

List workspaces

Every workspace the key's owner belongs to, with its projects:

cURL
curl https://emailbump.com/api/v1/workspaces \
  -H "Authorization: Bearer ebk_all_access_key"
200 response
{ "data": [ { "workspace": { … }, "projects": [ { … } ] } ] }

Those project ids are what you put in X-Project-Id to use the project API with this same key.