---
title: "Create a new organization and switch to it (session only)"
method: POST
path: "/v1/organizations"
tags: ["discovery"]
---

# Create a new organization and switch to it (session only)

`POST /v1/organizations`

## Request

- Base URL: `https://postbag.dev`
- URL: `https://postbag.dev/v1/organizations`
- Auth: HTTP bearer

Session only. Creates the organization (the caller becomes its owner), the same default settings + 'Default' project every signup gets, then makes it this session's active organization.

## Request body

- object
  - `name` string, required
  - `slug` string

## Response `201`

created

- OrganizationSummary
  - `id` string, required
  - `slug` string, required
  - `name` string, required
  - `role` 'owner' | 'admin' | 'member' | 'null', nullable, required: The caller's role in this organization. Null when the caller is an API key — keys are org-scoped, not user-scoped, so they have no membership role of their own.
  - `is_active` boolean, required

## Other responses

- `400`: Error
- `401`: Error
- `403`: Error
- `404`: Not found
- `409`: Error
- `422`: Error

---

[API](https://skmtc.dev/postbag/apis/postbag-api.md) · [All operations](https://skmtc.dev/postbag/apis/postbag-api/llms.txt) · [OpenAPI document](https://skmtc.dev/postbag/apis/postbag-api/revisions/3da976524695?raw)
