> ## Documentation Index
> Fetch the complete documentation index at: https://docs.postbreeze.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create workspace

> Creates a new workspace and makes you the owner.

Workspaces are how you keep brands or clients separate — each one gets its own calendar, social accounts, team members, and media library. Workspaces are free and unlimited on every plan, so make as many as you need.

If your API key is scoped to specific workspaces, this endpoint is blocked. Use a key with full access (or the dashboard) to create new workspaces.



## OpenAPI

````yaml /openapi.json post /workspaces
openapi: 3.0.0
info:
  title: Postbreeze API
  description: >-
    Public REST API for scheduling and managing social posts. Authenticate every
    request with `Authorization: Bearer pb_live_…`. All endpoints are scoped to
    a single workspace; an API key issued for workspace A cannot access
    workspace B.
  version: 1.0.0
  contact: {}
servers:
  - url: http://localhost:4100/api/v1
security:
  - bearer: []
tags: []
paths:
  /workspaces:
    post:
      tags:
        - Workspaces
      summary: Create workspace
      description: >-
        Creates a new workspace and makes you the owner.


        Workspaces are how you keep brands or clients separate — each one gets
        its own calendar, social accounts, team members, and media library.
        Workspaces are free and unlimited on every plan, so make as many as you
        need.


        If your API key is scoped to specific workspaces, this endpoint is
        blocked. Use a key with full access (or the dashboard) to create new
        workspaces.
      operationId: WorkspacesController_create
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWorkspaceDto'
      responses:
        '201':
          description: Workspace created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Prefixed cuid identifier.
                  name:
                    type: string
                    description: Display name.
                  slug:
                    type: string
                    description: Globally unique URL slug.
                  ownerUserId:
                    type: string
                    description: User id of the workspace owner.
                  timezone:
                    type: string
                    description: IANA timezone the workspace is scheduled against.
                  timeFormat:
                    type: string
                    enum:
                      - H24
                      - H12
                    description: Hour format used in the UI.
                  brandColor:
                    type: string
                    nullable: true
                    description: >-
                      Brand hex color used in the dashboard chrome. `null` when
                      unset.
                  logoUrl:
                    type: string
                    nullable: true
                    description: Workspace logo URL. `null` when unset.
                  deletedAt:
                    type: string
                    format: date-time
                    nullable: true
                    description: >-
                      Set when the workspace has been soft-deleted; otherwise
                      `null`.
                  createdAt:
                    type: string
                    format: date-time
                  updatedAt:
                    type: string
                    format: date-time
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: integer
                    example: 400
                  code:
                    type: string
                    example: VALIDATION_FAILED
                  message:
                    type: string
                  requestId:
                    type: string
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: integer
                    example: 401
                  message:
                    type: string
                    example: Unauthorized
                  requestId:
                    type: string
        '403':
          description: Scoped API keys cannot create new workspaces.
components:
  schemas:
    CreateWorkspaceDto:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 80
          example: Acme Co
          description: Display name for the workspace.
        slug:
          type: string
          description: >-
            Globally unique URL slug. Lowercase letters, digits, and dashes
            only. Generated from `name` when omitted.
        timezone:
          type: string
          description: IANA timezone. Defaults to `UTC`.
        timeFormat:
          type: string
          enum:
            - H24
            - H12
          description: Hour format shown in the UI. Doesn't affect stored UTC instants.
      required:
        - name
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: API key
      type: http
      description: Your Postbreeze API key

````