Skip to main content
POST
Create workspace
Creates a workspace and returns it with 201. The calling account becomes the owner.
Workspaces are containers for computers. Use them to separate projects, environments, or teams.
A workspace-scoped API key can call this, and it gets a new workspace it is not scoped to. Key scope is not enforced on this endpoint. See Authentication.

Request

string
required
Workspace name. Leading and trailing whitespace is trimmed. The name must not match one you already own, compared case-insensitively. Names of workspaces shared with you do not conflict. Missing, non-string, or whitespace-only values are rejected with 400.
string
Optional URL of an icon for the workspace. Stored as given and not validated. Omit it and the workspace is created with icon_url: null.
string
default:"active"
Optional. Defaults to active when omitted. The product understands active and inactive. The field is stored as given and is not validated against that list.

Response

string
Workspace identifier. Use it as workspace_id when creating computers.
string
Workspace name, trimmed.
string
User ID of the owner, which is your account.
string
Workspace status.
string
Icon URL, or null when none was sent.
string
ISO 8601 timestamp.
The create response does not include updated_at, owner_tier, owner_email, or desktops. Get workspace returns those.

Example

Response

Errors

Some error bodies on this endpoint carry a code alongside error. Branch on code where it is present. It is stable, and the error string is not.

Authorizations

Authorization
string
header
required

API key authentication. Get your key at orgo.ai/workspaces

Body

application/json
name
string
required

Workspace name. Must be unique within your account.

Minimum string length: 1
Example:

"my-workspace"

icon_url
string

Optional icon URL

status
enum<string>
default:active
Available options:
active,
inactive

Response

Workspace created

id
string

Unique workspace identifier

Example:

"550e8400-e29b-41d4-a716-446655440000"

name
string

Workspace name

Example:

"production"

user_id
string

Owner user ID

status
enum<string>
Available options:
active,
inactive
Example:

"active"

icon_url
string | null

Icon URL for the workspace, or null when none is set.

created_at
string<date-time>
updated_at
string<date-time>