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

# Create Workspace

> Create a workspace and make the creator its first admin when they belong to the organization.

The slug is derived from the name when omitted and must be unique within the organization.

Required permission: `workspaces.create`.



## OpenAPI

````yaml /lib/api-spec/openapi.yaml post /api/v1/organizations/{org_id}/workspaces
openapi: 3.1.0
info:
  title: airmux Control Plane API
  description: >
    Manage airmux organizations, workspaces, management keys, provider
    credentials, and data-plane synchronization.


    Organization and workspace targets are part of each URL. Successful
    responses wrap their result in

    `{"data": ...}`. Authenticate with a control-plane management key or a
    browser session as documented by

    each operation. Inference keys authenticate model requests at the data plane
    and are not accepted here.
  version: 0.1.0
servers: []
security: []
tags:
  - name: Auth
    description: Sign in human users, manage browser sessions, and authorize the CLI
    x-displayName: Authentication
  - name: Enrollment
    description: List a user's organizations and create their personal organization
  - name: Instance Organizations
    description: List and create organizations on this airmux instance
    x-displayName: Organizations
  - name: Instance Users
    description: Manage human users and service accounts across the instance
    x-displayName: Users
  - name: Instance Management Keys
    description: >-
      List management keys across the instance, issue instance-scoped
      credentials, and revoke keys
    x-displayName: Management Keys
  - name: Instance Model Catalog
    description: Manage the providers and models available through this airmux instance
    x-displayName: Model Catalog
  - name: Instance Provider Credentials
    description: Manage provider API keys available across the airmux instance
    x-displayName: Provider Credentials
  - name: Data Plane Instances
    description: Inspect connected data-plane instances
    x-displayName: Data Planes
  - name: Instance Activity
    description: Inspect recent audited changes across the instance
    x-displayName: Activity
  - name: OSS
    description: Bootstrap a new self-hosted airmux deployment
    x-displayName: Self-hosting
  - name: Organization Settings
    description: View, update, and delete one organization
    x-displayName: Settings
  - name: Organization Members
    description: Manage organization membership and organization roles
    x-displayName: Members
  - name: Organization Service Accounts
    description: >-
      Create and delete organization-managed machine principals and their
      initial management credentials
    x-displayName: Service Accounts
  - name: Organization Invitations
    description: Invite human users to an organization and optionally one workspace
    x-displayName: Invitations
  - name: Organization Workspaces
    description: List and create workspaces within an organization
    x-displayName: Workspaces
  - name: Organization Management Keys
    description: >-
      List management keys within an organization, issue organization-scoped
      credentials, and revoke keys
    x-displayName: Management Keys
  - name: Organization Provider Credentials
    description: Manage provider API keys available across an organization
    x-displayName: Provider Credentials
  - name: Organization Usage Events
    description: Inspect usage events across an organization
    x-displayName: Usage Events
  - name: Organization Reports
    description: Explore usage and requests across an organization or one workspace
    x-displayName: Reports
  - name: Organization Activity
    description: Inspect recent audited changes in an organization
    x-displayName: Activity
  - name: Organization Model Catalog
    description: Inspect the provider and model catalog available to an organization
    x-displayName: Model Catalog
  - name: Workspace Settings
    description: View, update, and delete one workspace
    x-displayName: Settings
  - name: Workspace Policies
    description: Manage workspace inference restrictions and fallbacks
    x-displayName: Policies
  - name: Workspace Members
    description: Manage workspace membership and workspace roles
    x-displayName: Members
  - name: Workspace Management Keys
    description: List and issue management keys scoped to a workspace and revoke keys
    x-displayName: Management Keys
  - name: Workspace Playground
    description: Create and end short-lived browser sessions for playground model requests
    x-displayName: Playground
  - name: Workspace Inference Keys
    description: Issue and revoke credentials for model requests to a workspace
    x-displayName: Inference Keys
  - name: Workspace Provider Credentials
    description: Manage provider API keys available to one workspace
    x-displayName: Provider Credentials
  - name: Workspace Usage Events
    description: Inspect usage events for one workspace
    x-displayName: Usage Events
  - name: Workspace Model Catalog
    description: Inspect the provider and model catalog available to a workspace
    x-displayName: Model Catalog
  - name: Data Plane API
    description: Poll bundles, ingest usage events, and record data-plane heartbeats
    x-displayName: Synchronization
paths:
  /api/v1/organizations/{org_id}/workspaces:
    post:
      tags:
        - Organization Workspaces
      summary: Create Workspace
      description: >-
        Create a workspace and make the creator its first admin when they belong
        to the organization.


        The slug is derived from the name when omitted and must be unique within
        the organization.


        Required permission: `workspaces.create`.
      operationId: create_workspace
      parameters:
        - name: org_id
          in: path
          required: true
          schema:
            type: string
            title: Org Id
          description: Organization ID or slug
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkspaceCreate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope_WorkspaceOut_'
        '401':
          description: Authentication failed
        '403':
          description: The credential does not have the required permission
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - ManagementKey: []
        - SessionCookie: []
components:
  schemas:
    WorkspaceCreate:
      properties:
        name:
          type: string
          maxLength: 200
          minLength: 1
          title: Name
          description: Workspace name, e.g. Staging
        slug:
          type: string
          maxLength: 63
          pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
          title: Slug
          description: >-
            Workspace handle, unique in the org and usable in place of the id;
            derived from the name when omitted
          default: ''
      additionalProperties: false
      type: object
      required:
        - name
      title: WorkspaceCreate
    Envelope_WorkspaceOut_:
      properties:
        data:
          $ref: '#/components/schemas/WorkspaceOut'
      type: object
      required:
        - data
      title: Envelope[WorkspaceOut]
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    WorkspaceOut:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        org_id:
          type: string
          format: uuid
          title: Org Id
        name:
          type: string
          title: Name
        slug:
          type: string
          title: Slug
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
      type: object
      required:
        - id
        - org_id
        - name
        - slug
        - created_at
        - updated_at
      title: WorkspaceOut
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    ManagementKey:
      type: http
      description: >-
        A control-plane management key using the `sk-cp-` prefix. Inference keys
        are not accepted by control-plane endpoints.
      scheme: bearer
    SessionCookie:
      type: apiKey
      in: cookie
      name: airmux_session
      description: >-
        Browser session cookie returned by login or signup. Browser requests
        must also send `X-Requested-With`.

````