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

# Create a workspace

> Create a new workspace — a database plus the apps built on it.

A [workspace](/concepts/workspaces) is a database plus the apps built on it. The new workspace starts
empty (a database with no tables). Add tables with the [Database API](/api/overview), or let your code
create them once you're in a [build session](/build-api/sessions/open-session).


## OpenAPI

````yaml build-api/openapi.json POST /workspaces
openapi: 3.0.1
info:
  title: Zite Build API
  description: >-
    Create, build, and deploy Zite apps programmatically — the REST equivalent
    of the Zite MCP build tools. Use it from a script, a CI pipeline, or your
    own agent.


    ## Authentication


    All requests require a Bearer API key from your Developer settings:

    ```

    Authorization: Bearer YOUR_API_KEY

    ```

    The key acts as you — it can only see and change workspaces you have access
    to, and every change is attributed to you.


    ## Base URL


    https://api.zite.com/v1


    ## Errors


    Errors return `{ "statusCode": 404, "error": "Not Found", "message":
    "Workspace not found" }`. Notable statuses: `401` (bad or missing key),
    `402` (the build tools aren't in your plan), `404`, `409` (a commit push
    conflict — pull, rebase, and commit again), and `400` for validation
    failures and publishing before a build is green.
  version: 1.0.0
servers:
  - url: https://api.zite.com/v1
    description: Zite Build API
security:
  - bearerAuth: []
tags:
  - name: Workspaces
    description: Create workspaces and inspect the apps in them.
  - name: Build sessions
    description: >-
      Open an isolated checkout of a workspace, create apps, edit files, check,
      and commit.
  - name: Deployments
    description: Publish built apps, manage versions, roll back, and read runtime logs.
paths:
  /workspaces:
    post:
      tags:
        - Workspaces
      summary: Create a workspace
      description: >-
        Creates a new workspace — a database plus the apps built on it. The new
        workspace starts empty (a database with no tables). Add tables with the
        Database API, or let your code create them once you're in a build
        session.
      operationId: createWorkspace
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - name
              properties:
                name:
                  type: string
                  description: The workspace (and database) name.
                  example: Helpdesk
            example:
              name: Helpdesk
      responses:
        '201':
          description: The created workspace
          content:
            application/json:
              schema:
                type: object
                properties:
                  workspace:
                    $ref: '#/components/schemas/WorkspaceDetail'
              example:
                id: wsp_8bce4d1edc51710
                name: Helpdesk
                url: https://app.zite.com/database/8bce4d1edc51710
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    WorkspaceDetail:
      type: object
      properties:
        id:
          type: string
          example: wsp8bce4d1edc51710
        name:
          type: string
          example: Helpdesk
        updatedAt:
          type: string
          format: date-time
        apps:
          type: array
          items:
            $ref: '#/components/schemas/AppSummary'
        forms:
          type: array
          items:
            $ref: '#/components/schemas/AppSummary'
        overview:
          type: string
          nullable: true
          description: >-
            The project root `overview.md`, included when a `sessionId` query
            parameter is provided.
    AppSummary:
      type: object
      properties:
        id:
          type: string
          example: app_a1b2c3
        name:
          type: string
          example: Agent console
        type:
          type: string
          description: '`zite` for apps; forms keep their form type.'
          example: zite
        updatedAt:
          type: string
          format: date-time
    Error:
      type: object
      properties:
        statusCode:
          type: integer
          example: 404
        error:
          type: string
          example: Not Found
        message:
          type: string
          example: Workspace not found
  responses:
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: UNAUTHORIZED
              message: Missing or invalid API key.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Enter your Zite API key. Format: Bearer <api_key>'

````