Skip to content
Book a demo

Atlas documentation

All documentation
Documentation

Workspaces API

On this page

Create and arrange workspaces and configure their storage. See Workspaces.

Paths are relative to https://<your-atlas-host>/api/v1. For the API key and headers every request needs, see Authentication.

Scroll horizontally to see the full table.

Endpoint

What it does

POST /workspaces/

Create a new workspace

GET /workspaces/

List all workspaces (flat list ordered by tree path)

GET /workspaces/{workspace_id}

Get a workspace by ID

PATCH /workspaces/{workspace_id}

Update a workspace

DELETE /workspaces/{workspace_id}

Delete a workspace

GET /workspaces/{workspace_id}/move/preview

Preview the storage/access impact of a proposed move (read-only)

POST /workspaces/{workspace_id}/move

Move a workspace under a new parent

GET /workspaces/{workspace_id}/descendants

Get all descendants of a workspace

POST /workspace-storage/

Create storage configuration for a root workspace

GET /workspace-storage/

List all workspace storage configurations for your organization

GET /workspace-storage/{storage_id}

Get workspace storage by ID

PATCH /workspace-storage/{storage_id}

Update workspace storage configuration

DELETE /workspace-storage/{storage_id}

Delete workspace storage

GET /workspace-storage/workspace/{workspace_id}

Get storage configuration for a workspace (works for any depth)

POST /workspace-storage/{storage_id}/health-check

Run health check on workspace storage

Create workspace

POST /workspaces/

Create a new workspace.

Request body

Scroll horizontally to see the full table.

Field

Type

Required

Description

display_name

string

Yes

description

string

labels

object

Key-value tags, usable in row filters as workspace.labels.<key>.

parent_id

UUID

Parent workspace; null creates a top-level one. Up to 10 levels deep.

Response

Scroll horizontally to see the full table.

Field

Type

id

UUID

name

string

display_name

string

description

string

labels

object

depth

integer

parent_id

UUID

children_count

integer

path

string

created_at

datetime

updated_at

datetime

List workspaces

GET /workspaces/

List all workspaces (flat list ordered by tree path).

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Description

flat

query

boolean

Return flat list vs roots only

limit

query

integer

offset

query

integer

Response A page of results (items, total, limit, offset). Each item:

Scroll horizontally to see the full table.

Field

Type

id

UUID

name

string

display_name

string

description

string

labels

object

depth

integer

parent_id

UUID

children_count

integer

path

string

created_at

datetime

updated_at

datetime

Get workspace

GET /workspaces/{workspace_id}

Get a workspace by ID.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

workspace_id

path

UUID

Yes

Response

Scroll horizontally to see the full table.

Field

Type

id

UUID

name

string

display_name

string

description

string

labels

object

depth

integer

parent_id

UUID

children_count

integer

path

string

created_at

datetime

updated_at

datetime

Update workspace

PATCH /workspaces/{workspace_id}

Update a workspace.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

workspace_id

path

UUID

Yes

Request body

Scroll horizontally to see the full table.

Field

Type

display_name

string

description

string

labels

object

Response

Scroll horizontally to see the full table.

Field

Type

id

UUID

name

string

display_name

string

description

string

labels

object

depth

integer

parent_id

UUID

children_count

integer

path

string

created_at

datetime

updated_at

datetime

Delete workspace

DELETE /workspaces/{workspace_id}

Delete a workspace.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

Description

workspace_id

path

UUID

Yes

cascade

query

boolean

Delete descendants too

Response

The raw file content.

Preview move workspace

GET /workspaces/{workspace_id}/move/preview

Preview the storage/access impact of a proposed move (read-only).

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

workspace_id

path

UUID

Yes

new_parent_id

query

UUID

position

query

string

Response

Scroll horizontally to see the full table.

Field

Type

workspace_id

UUID

target_parent_id

UUID

position

string

valid

boolean

validation_errors

list of string

requires_confirmation

boolean

crosses_storage_anchor

boolean

storage_impact

object

access_impact

object

Move workspace

POST /workspaces/{workspace_id}/move

Move a workspace under a new parent.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

workspace_id

path

UUID

Yes

Request body

Scroll horizontally to see the full table.

Field

Type

Description

new_parent_id

UUID

Workspace to move under; null makes it a top-level workspace.

position

string

Ignored; sibling order is set automatically.

confirm_impact

boolean

Confirm a move that changes storage or access; without it such a move returns 422 with the impact.

Response

Scroll horizontally to see the full table.

Field

Type

id

UUID

name

string

display_name

string

description

string

labels

object

depth

integer

parent_id

UUID

children_count

integer

path

string

created_at

datetime

updated_at

datetime

Get workspace descendants

GET /workspaces/{workspace_id}/descendants

Get all descendants of a workspace.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

workspace_id

path

UUID

Yes

limit

query

integer

offset

query

integer

Response A page of results (items, total, limit, offset). Each item:

Scroll horizontally to see the full table.

Field

Type

id

UUID

name

string

display_name

string

description

string

labels

object

depth

integer

parent_id

UUID

children_count

integer

path

string

created_at

datetime

updated_at

datetime

Create workspace storage

POST /workspace-storage/

Create storage configuration for a root workspace.

Request body

Scroll horizontally to see the full table.

Field

Type

Required

display_name

string

Yes

workspace_id

UUID

Yes

config_type

string

Yes

config

object

credentials

object

is_managed

boolean

region

string

Response

Scroll horizontally to see the full table.

Field

Type

id

UUID

display_name

string

workspace_id

UUID

config_type

string

config

object

is_active

boolean

is_managed

boolean

region

string

health_status

string

last_health_check_at

datetime

created_at

datetime

updated_at

datetime

List workspace storages

GET /workspace-storage/

List all workspace storage configurations for your organization.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

limit

query

integer

offset

query

integer

Response A page of results (items, total, limit, offset). Each item:

Scroll horizontally to see the full table.

Field

Type

id

UUID

display_name

string

workspace_id

UUID

config_type

string

config

object

is_active

boolean

is_managed

boolean

region

string

health_status

string

last_health_check_at

datetime

created_at

datetime

updated_at

datetime

Get workspace storage

GET /workspace-storage/{storage_id}

Get workspace storage by ID.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

storage_id

path

UUID

Yes

Response

Scroll horizontally to see the full table.

Field

Type

id

UUID

display_name

string

workspace_id

UUID

config_type

string

config

object

is_active

boolean

is_managed

boolean

region

string

health_status

string

last_health_check_at

datetime

created_at

datetime

updated_at

datetime

Update workspace storage

PATCH /workspace-storage/{storage_id}

Update workspace storage configuration.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

storage_id

path

UUID

Yes

Request body

Scroll horizontally to see the full table.

Field

Type

display_name

string

config

object

credentials

object

is_active

boolean

Response

Scroll horizontally to see the full table.

Field

Type

id

UUID

display_name

string

workspace_id

UUID

config_type

string

config

object

is_active

boolean

is_managed

boolean

region

string

health_status

string

last_health_check_at

datetime

created_at

datetime

updated_at

datetime

Delete workspace storage

DELETE /workspace-storage/{storage_id}

Delete workspace storage.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

storage_id

path

UUID

Yes

Response

The raw file content.

Get storage for workspace

GET /workspace-storage/workspace/{workspace_id}

Get storage configuration for a workspace (works for any depth).

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

workspace_id

path

UUID

Yes

Response

Scroll horizontally to see the full table.

Field

Type

id

UUID

display_name

string

workspace_id

UUID

config_type

string

config

object

is_active

boolean

is_managed

boolean

region

string

health_status

string

last_health_check_at

datetime

created_at

datetime

updated_at

datetime

Check storage health

POST /workspace-storage/{storage_id}/health-check

Run health check on workspace storage.

Parameters

Scroll horizontally to see the full table.

Name

In

Type

Required

storage_id

path

UUID

Yes

Response

The raw file content.

What’s next?

  • API overview: authentication, worked examples, and error handling

  • Webhooks: get events pushed to your systems instead of polling

  • Service accounts: create the key an integration uses