Platform Documentation
Breadcrumbs

Workspaces API

Workspaces are the top-level organizational unit in RunWhen. Each workspace contains SLXs, run sessions, issues, workflows, and other resources scoped to a specific environment or team. Workspaces are backed by a Git repository that stores their declarative configuration.


List Workspaces

Retrieve all workspaces accessible to the authenticated user.



Method

GET

Path

/api/v3/workspaces/

Auth

Bearer token required

Query Parameters

Parameter

Type

Required

Description

page

integer

No

Page number for pagination

Response 200 OK

JSON
{
  "count": 5,
  "next": null,
  "previous": null,
  "results": [
    {
      "name": "my-workspace",
      "displayName": "My Workspace",
      "owner": "user@example.com",
      "enabledLocations": ["location-1"],
      "createdAt": "2026-01-15T10:00:00Z",
      "updatedAt": "2026-02-20T14:30:00Z"
    }
  ]
}

Create Workspace

Create a new workspace.



Method

POST

Path

/api/v3/workspaces/

Auth

Bearer token required

Request Body

JSON
{
  "name": "my-new-workspace",
  "displayName": "My New Workspace"
}

Field

Type

Required

Description

name

string

Yes

Unique workspace identifier (lowercase, hyphens allowed)

displayName

string

No

Human-readable display name

Response 201 Created

Returns the newly created workspace object.


Get Workspace

Retrieve details of a specific workspace.



Method

GET

Path

/api/v3/workspaces/{workspace_name}

Auth

Bearer token required

Path Parameters

Parameter

Type

Description

workspace_name

string

The unique name of the workspace

Response 200 OK

JSON
{
  "name": "my-workspace",
  "displayName": "My Workspace",
  "owner": "user@example.com",
  "configProvided": {},
  "secretsProvided": {},
  "enabledLocations": ["location-1", "location-2"],
  "slxGroups": {},
  "createdAt": "2026-01-15T10:00:00Z",
  "updatedAt": "2026-02-20T14:30:00Z"
}

Update Workspace

Replace the full workspace configuration.



Method

PUT

Path

/api/v3/workspaces/{workspace_name}

Auth

Bearer token required

Path Parameters

Parameter

Type

Description

workspace_name

string

The unique name of the workspace

Request Body

Provide the complete workspace object. All fields not included will be reset to defaults.

Response 200 OK

Returns the updated workspace object.


Partial Update Workspace

Update specific fields on a workspace without replacing the entire object.



Method

PATCH

Path

/api/v3/workspaces/{workspace_name}

Auth

Bearer token required

Path Parameters

Parameter

Type

Description

workspace_name

string

The unique name of the workspace

Request Body

JSON
{
  "displayName": "Updated Display Name",
  "enabledLocations": ["us-east-1", "eu-west-1"]
}

Only include the fields you want to modify.

Response 200 OK

Returns the updated workspace object.


Delete Workspace

Permanently delete a workspace and all of its associated resources (SLXs, run sessions, issues, etc.).



Method

DELETE

Path

/api/v3/workspaces/{workspace_name}

Auth

Bearer token required

Path Parameters

Parameter

Type

Description

workspace_name

string

The unique name of the workspace

Response 204 No Content

This operation is irreversible. All child resources within the workspace will be permanently removed.


Get Workspace Status

Retrieve the overall status of a workspace.



Method

GET

Path

/api/v3/workspaces/{workspace_name}/status

Auth

Bearer token required

Path Parameters

Parameter

Type

Description

workspace_name

string

The unique name of the workspace

Response 200 OK

Returns the current health and readiness state of the workspace.


Get Workspace Health

Retrieve detailed health information for a workspace.



Method

GET

Path

/api/v3/workspaces/{workspace_name}/health

Auth

Bearer token required

Path Parameters

Parameter

Type

Description

workspace_name

string

The unique name of the workspace

Query Parameters

Parameter

Type

Required

Description

include_details

string

No

Set to true to include detailed service information

include_metrics

string

No

Set to true to include performance metrics

Response 200 OK

Returns workspace health status with optional detail and metrics breakdowns.


Upload Workspace Configuration

Retrieve a presigned upload URL for pushing workspace configuration bundles.



Method

GET

Path

/api/v3/workspaces/{workspace_name}/upload

Auth

Bearer token required

Path Parameters

Parameter

Type

Description

workspace_name

string

The unique name of the workspace

Response 200 OK

Returns a presigned upload URL. Uses GCS signed URLs on cloud deployments or MinIO presigned URLs on local/k3s deployments.


Get Upload Config

Generate a workspace builder configuration file for uploading workspace data.



Method

GET

Path

/api/v3/workspaces/{workspace_name}/generate-workspace-builder-config

Auth

Bearer token required

Path Parameters

Parameter

Type

Description

workspace_name

string

The unique name of the workspace

Query Parameters

Parameter

Type

Required

Description

hours

string

No

Token validity duration in hours

Response 200 OK

Returns a workspace builder configuration payload.


Get Default Manifest

Retrieve a default resource manifest template for a workspace.



Method

GET

Path

/api/v3/workspaces/{workspace_name}/default-manifest/{type}

Auth

Bearer token required

Path Parameters

Parameter

Type

Description

workspace_name

string

The unique name of the workspace

type

string

The manifest type to retrieve

Response 200 OK

Returns a default manifest template for the specified resource type.


Get Runner Token

Retrieve the authentication token used by runners in this workspace.



Method

GET

Path

/api/v3/workspaces/{workspace_name}/runner-token

Auth

Bearer token required

Path Parameters

Parameter

Type

Description

workspace_name

string

The unique name of the workspace

Response 200 OK

Returns the runner authentication token for the workspace.


Get SLX Select Options

Retrieve a list of SLX names formatted as select options for use in UI dropdowns or integrations.



Method

GET

Path

/api/v3/workspaces/{workspace_name}/slxoptions

Auth

Bearer token required

Path Parameters

Parameter

Type

Description

workspace_name

string

The unique name of the workspace

Response 200 OK

Returns a list of SLX option objects suitable for select inputs.


Integrate Slack

Connect a Slack workspace to this RunWhen workspace.



Method

POST

Path

/api/v3/workspaces/{workspace_name}/integrate-slack

Auth

Bearer token required

Path Parameters

Parameter

Type

Description

workspace_name

string

The unique name of the workspace

Response 200 OK

Returns Slack integration status and configuration.


Get AgentFarm Params

Retrieve resolved configuration parameters for AgentFarm integrations, including LLM config with workspace-to-org-to-platform default fallback.



Method

GET

Path

/api/v3/workspaces/{workspace_name}/agentfarm-params

Auth

Bearer token required

Path Parameters

Parameter

Type

Description

workspace_name

string

The unique name of the workspace

Response 200 OK

JSON
{
  "llmConfig": { ... },
  "organization": { ... },
  "permissions": { ... },
  "repoUrl": "https://...",
  "branch": "main"
}