Workspaces

A Workspace is a simplified tool for researchers to conduct experiments, build AI models, access standard MLOps tools, and collaborate with their peers. Workspaces abstract complex concepts related to running containerized workloads in a Kubernetes environment and are built from predefined setups that include networking, storage, secrets and other resources. All the setup and configurations for research, including container images, data sets, resource requests, as well as all tools are included. for the research, in a single place. It answers the research needs while ensuring infrastructure owners keep control and allocation efficiency. A workspace is associated with a specific Run:ai project and you can have multiple workspaces under a specific project. For more information, see Workspaces.

Create a workspace [Experimental]

Create a new workspace in a specific project in the cluster.

SecuritybearerAuth
Request
Request Body schema: application/json
name
required
string (WorkloadName) non-empty

The name of the workload.

useGivenNameAsPrefix
boolean
Default: false

When true, the requested name will be treated as a prefix. The final name of the workload will be composed of the name followed by a random set of characters.

projectId
required
string (ProjectId2)

The id of the project.

clusterId
required
string <uuid> (ClusterId)

The id of the cluster.

object or null (CommonFlatFields)

Container overrideable fields. In the context of assets,these are environment asset fields that can be overriden in the submit workload request.

Responses
200

Request completed successfully.

400

Bad submission request.

401

Unauthorized

403

Forbidden

503

unexpected error

post/api/v1/workloads/workspaces
Request samples
application/json
{
  • "name": "my-workload-name",
  • "useGivenNameAsPrefix": true,
  • "projectId": 1,
  • "clusterId": "71f69d83-ba66-4822-adf5-55ce55efd210",
  • "spec": {
    }
}
Response samples
application/json
{
  • "name": "my-workload-name",
  • "requestedName": "string",
  • "workloadId": "06d16c5d-4728-42fa-b573-3b11820d999f",
  • "projectId": 1,
  • "departmentId": 2,
  • "clusterId": "71f69d83-ba66-4822-adf5-55ce55efd210",
  • "createdBy": "test@lab.com",
  • "createdAt": "2022-01-01T03:49:52.531Z",
  • "desiredPhase": "Running",
  • "actualPhase": "Creating",
  • "spec": {
    }
}

Delete a workspace [Experimental]

Delete a workspace using the workspace id.

SecuritybearerAuth
Request
path Parameters
workloadId
required
string <uuid>

Unique identifier of the workload.

Responses
204

No Content.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

delete/api/v1/workloads/workspaces/{workloadId}
Response samples
application/json
{
  • "code": 401,
  • "message": "Issuer is not familiar."
}

Get workspace data [Experimental]

Retrieve workspace details using a workload id.

SecuritybearerAuth
Request
path Parameters
workloadId
required
string <uuid>

Unique identifier of the workload.

Responses
200

Executed successfully.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

get/api/v1/workloads/workspaces/{workloadId}
Response samples
application/json
{
  • "name": "my-workload-name",
  • "requestedName": "string",
  • "workloadId": "06d16c5d-4728-42fa-b573-3b11820d999f",
  • "projectId": 1,
  • "departmentId": 2,
  • "clusterId": "71f69d83-ba66-4822-adf5-55ce55efd210",
  • "createdBy": "test@lab.com",
  • "createdAt": "2022-01-01T03:49:52.531Z",
  • "desiredPhase": "Running",
  • "actualPhase": "Creating",
  • "spec": {
    }
}

Suspend a workspace [Experimental]

Suspend a workspace using the workspace id.

SecuritybearerAuth
Request
path Parameters
workloadId
required
string <uuid>

Unique identifier of the workload.

Responses
202

Accepted.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

post/api/v1/workloads/workspaces/{workloadId}/suspend
Response samples
application/json
{
  • "code": 202,
  • "message": "Request has been accepted."
}

Resume a workspace [Experimental]

Resume the workspace operation using the workspace id.

SecuritybearerAuth
Request
path Parameters
workloadId
required
string <uuid>

Unique identifier of the workload.

Responses
202

Accepted.

401

Unauthorized

403

Forbidden

404

The specified resource was not found

500

unexpected error

503

unexpected error

post/api/v1/workloads/workspaces/{workloadId}/resume
Response samples
application/json
{
  • "code": 202,
  • "message": "Request has been accepted."
}