Skip to content

Create an organization

POST
/v1/organizations
curl -X POST "https://api.summerbase.com/v1/organizations" \
-H "Authorization: Bearer sb_..." \
-H "Content-Type: application/json" \
-d '{
"accept_terms": true,
"name": "Acme Analytics",
"region_code": "us"
}'

Create an organization. Whoever creates it is its owner, and it starts with one project carrying the organization’s name, so there is somewhere to work.

A slug is derived from the name unless you name one.

Its data is kept in region_code and is never moved.

Media typeapplication/json
object
accept_terms
required

That the person creating the organization accepts the Terms of Service and the Privacy Policy on its behalf. Anything but true is refused.

boolean
name
required

The company’s name, as it appears throughout Summerbase.

string
>= 1 characters <= 255 characters
region_code
required

Where the organization’s data is kept: eu or us. The request is refused if that region is not open to new organizations.

string
Allowed values: eu us
slug

How the organization is addressed in a readable URL — the acme in app.summerbase.com/organizations/acme, and in its projects’ app.summerbase.com/projects/production@acme. Lowercase letters, digits, hyphens and underscores, and never shaped like an id.

Unique across every Summerbase organization, and derived from the name when you do not choose one. Changing it is allowed and breaks every address that used the old one.

string
>= 1 characters <= 100 characters

Example

{
"accept_terms": true,
"name": "Acme Analytics",
"region_code": "us"
}

Returns the organization object.

Media typeapplication/json

Example

{
"cell_code": "us1",
"created_at": "2025-09-08T14:02:37Z",
"id": "0198f1a2-6c3d-7e41-9a2b-5c8d1e4f7a90",
"name": "Acme Analytics",
"object": "organization",
"slug": "acme-analytics"
}