Seqera Labs workspaces API
Workspaces in an organization context
Workspaces in an organization context
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/seqera-labs-workspaces-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
contact:
email: info@seqera.io
url: https://seqera.io
description: Seqera Platform services API
title: Seqera actions Workspaces API
version: 1.181.0
servers:
- url: https://api.cloud.seqera.io
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- description: Workspaces in an organization context
name: workspaces
paths:
/orgs/{orgId}/workspaces:
get:
description: Lists the organization workspaces in `orgId` to which the requesting user belongs.
operationId: ListWorkspaces
parameters:
- description: Organization numeric identifier
in: path
name: orgId
required: true
schema:
format: int64
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ListWorkspacesResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
security:
- BearerAuth: []
summary: List organization workspaces
tags:
- workspaces
post:
description: Creates a new organization workspace.
operationId: CreateWorkspace
parameters:
- description: Organization numeric identifier
in: path
name: orgId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkspaceRequest'
description: Workspace create request
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkspaceResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Duplicate element
security:
- BearerAuth: []
summary: Create workspace
tags:
- workspaces
/orgs/{orgId}/workspaces/validate:
get:
description: Confirms the validity of the given workspace name. Append `?name=<your_workspace_name>`.
operationId: ValidateWorkspaceName
parameters:
- description: Organization numeric identifier
in: path
name: orgId
required: true
schema:
format: int64
type: integer
- description: Workspace name to validate
in: query
name: name
schema:
type: string
responses:
'204':
description: OK - No content
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Duplicate element
security:
- BearerAuth: []
summary: Validate workspace name
tags:
- workspaces
/orgs/{orgId}/workspaces/{workspaceId}:
delete:
description: Deletes the workspace identified by the given `workspaceId`.
operationId: DeleteWorkspace
parameters:
- description: Organization numeric identifier
in: path
name: orgId
required: true
schema:
format: int64
type: integer
- description: Workspace numeric identifier
in: path
name: workspaceId
required: true
schema:
format: int64
type: integer
responses:
'204':
description: OK - No content
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
security:
- BearerAuth: []
summary: Delete workspace
tags:
- workspaces
get:
description: Retrieves the details of the workspace identified by the given `workspaceId`.
operationId: DescribeWorkspace
parameters:
- description: Organization numeric identifier
in: path
name: orgId
required: true
schema:
format: int64
type: integer
- description: Workspace numeric identifier
in: path
name: workspaceId
required: true
schema:
format: int64
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeWorkspaceResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
security:
- BearerAuth: []
summary: Describe workspace
tags:
- workspaces
put:
description: Updates the details of the workspace identified by the given `workspaceId`.
operationId: UpdateWorkspace
parameters:
- description: Organization numeric identifier
in: path
name: orgId
required: true
schema:
format: int64
type: integer
- description: Workspace numeric identifier
in: path
name: workspaceId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkspaceRequest'
description: Workspace update request
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DescribeWorkspaceResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Duplicate name
security:
- BearerAuth: []
summary: Update workspace
tags:
- workspaces
/orgs/{orgId}/workspaces/{workspaceId}/participants:
delete:
description: Removes the requesting user from the given workspace.
operationId: LeaveWorkspaceParticipant
parameters:
- description: Organization numeric identifier
in: path
name: orgId
required: true
schema:
format: int64
type: integer
- description: Workspace numeric identifier
in: path
name: workspaceId
required: true
schema:
format: int64
type: integer
responses:
'204':
description: OK - No content
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
security:
- BearerAuth: []
summary: Leave workspace
tags:
- workspaces
get:
description: Lists the participants of the workspace identified by the given `workspaceId`.
operationId: ListWorkspaceParticipants
parameters:
- description: Organization numeric identifier
in: path
name: orgId
required: true
schema:
format: int64
type: integer
- description: Workspace numeric identifier
in: path
name: workspaceId
required: true
schema:
format: int64
type: integer
- description: Pagination max results
in: query
name: max
schema:
format: int32
type: integer
- description: Pagination offset
in: query
name: offset
schema:
format: int32
type: integer
- description: Filter search parameter
in: query
name: search
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ListParticipantsResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
security:
- BearerAuth: []
summary: List workspace participants
tags:
- workspaces
/orgs/{orgId}/workspaces/{workspaceId}/participants/add:
put:
description: Adds a new participant to the workspace identified by the given `workspaceId`.
operationId: CreateWorkspaceParticipant
parameters:
- description: Organization numeric identifier
in: path
name: orgId
required: true
schema:
format: int64
type: integer
- description: Workspace numeric identifier
in: path
name: workspaceId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AddParticipantRequest'
description: Participant addition request
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AddParticipantResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Duplicate element or collaborator not permitted for organization with active SSO
security:
- BearerAuth: []
summary: Create workspace participant
tags:
- workspaces
/orgs/{orgId}/workspaces/{workspaceId}/participants/{participantId}:
delete:
description: Deletes the given participant from the given workspace.
operationId: DeleteWorkspaceParticipant
parameters:
- description: Organization numeric identifier
in: path
name: orgId
required: true
schema:
format: int64
type: integer
- description: Workspace numeric identifier
in: path
name: workspaceId
required: true
schema:
format: int64
type: integer
- description: Participant numeric identifier
in: path
name: participantId
required: true
schema:
format: int64
type: integer
responses:
'204':
description: OK - No content
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
security:
- BearerAuth: []
summary: Delete workspace participant
tags:
- workspaces
/orgs/{orgId}/workspaces/{workspaceId}/participants/{participantId}/role:
put:
description: Updates the role of the given participant in the given workspace.
operationId: UpdateWorkspaceParticipantRole
parameters:
- description: Organization numeric identifier
in: path
name: orgId
required: true
schema:
format: int64
type: integer
- description: Workspace numeric identifier
in: path
name: workspaceId
required: true
schema:
format: int64
type: integer
- description: Participant numeric identifier
in: path
name: participantId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateParticipantRoleRequest'
description: Participant role update request
required: true
responses:
'204':
description: OK - No content
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
security:
- BearerAuth: []
summary: Update participant role
tags:
- workspaces
/orgs/{orgId}/workspaces/{workspaceId}/settings/studios:
get:
description: Retrieves the Studios settings of the workspace identified by the given `workspaceId`.
operationId: FindDataStudiosWorkspaceSettings
parameters:
- description: Organization numeric identifier
in: path
name: orgId
required: true
schema:
format: int64
type: integer
- description: Workspace numeric identifier
in: path
name: workspaceId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWorkspaceRequest'
description: Workspace update request
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioWorkspaceSettingsResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Duplicate element
security:
- BearerAuth: []
summary: List workspace Studios settings
tags:
- workspaces
put:
description: Updates the Studios settings of the workspace identified by the given `workspaceId`.
operationId: UpdateDataStudiosWorkspaceSettings
parameters:
- description: Organization numeric identifier
in: path
name: orgId
required: true
schema:
format: int64
type: integer
- description: Workspace numeric identifier
in: path
name: workspaceId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioWorkspaceSettingsRequest'
description: Workspace update request
required: true
responses:
'204':
description: OK - No content
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Duplicate element
security:
- BearerAuth: []
summary: Update workspace Studios settings
tags:
- workspaces
/orgs/{orgId}/workspaces/{workspaceId}/users/{userId}:
delete:
description: Deletes the given user (member or collaborator) from the given workspace.
operationId: DeleteWorkspaceUser
parameters:
- description: Organization numeric identifier
in: path
name: orgId
required: true
schema:
format: int64
type: integer
- description: Workspace numeric identifier
in: path
name: workspaceId
required: true
schema:
format: int64
type: integer
- description: User numeric identifier
in: path
name: userId
required: true
schema:
format: int64
type: integer
responses:
'204':
description: OK - No content
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
security:
- BearerAuth: []
summary: Delete workspace user
tags:
- workspaces
/user/{userId}/workspaces:
get:
description: Lists the workspaces and organizations to which the user identified by the given `userId` belongs.
operationId: ListWorkspacesUser
parameters:
- description: User numeric identifier
in: path
name: userId
required: true
schema:
format: int64
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ListWorkspacesAndOrgResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
security:
- BearerAuth: []
summary: List user workspaces and organizations
tags:
- workspaces
components:
schemas:
DataStudioWorkspaceSettingsResponse:
properties:
containerRepository:
type:
- string
- 'null'
lifespanHours:
format: int32
type: integer
nameStrategy:
type:
- string
- 'null'
orgId:
format: int64
type: integer
privateStudioByDefault:
type: boolean
wspId:
format: int64
type: integer
type: object
Visibility:
enum:
- PRIVATE
- SHARED
type: string
DataStudioWorkspaceSettingsRequest:
properties:
containerRepository:
description: Container repository where Wave pushes images built for Studios in this workspace (e.g. 'cr.seqera.io/my-org/studios'). When null, the platform default is used.
type:
- string
- 'null'
lifespanHours:
description: Maximum number of hours a Studio session may run before it is automatically stopped. Use 0 for unlimited lifespan.
format: int32
type: integer
nameStrategy:
description: Wave image naming strategy applied to container images built for Studios in this workspace. When null, the platform default strategy is used.
enum:
- none
- tagPrefix
- imageSuffix
type:
- string
- 'null'
privateStudioByDefault:
description: When true, newly created Studio sessions are private by default and only accessible to their creator.
type: boolean
type: object
DescribeWorkspaceResponse:
properties:
workspace:
$ref: '#/components/schemas/Workspace'
type: object
CreateWorkspaceRequest:
properties:
workspace:
$ref: '#/components/schemas/Workspace'
type: object
ParticipantResponseDto:
properties:
email:
type: string
firstName:
type: string
lastName:
type: string
memberId:
format: int64
type: integer
orgRole:
$ref: '#/components/schemas/OrgRole'
participantId:
format: int64
type: integer
teamAvatarUrl:
type: string
teamId:
format: int64
type: integer
teamName:
type: string
type:
$ref: '#/components/schemas/ParticipantType'
userAvatarUrl:
type: string
userName:
type: string
wspRole:
type: string
type: object
UpdateWorkspaceRequest:
properties:
description:
type: string
fullName:
type: string
name:
type: string
visibility:
$ref: '#/components/schemas/Visibility'
type: object
Workspace:
properties:
dateCreated:
format: date-time
type: string
description:
maxLength: 1000
type: string
fullName:
maxLength: 100
type: string
id:
format: int64
type:
- integer
- 'null'
lastUpdated:
format: date-time
type: string
name:
maxLength: 40
pattern: ^[a-zA-Z\d](?:[a-zA-Z\d]|[-_](?=[a-zA-Z\d])){1,38}$
type: string
visibility:
$ref: '#/components/schemas/Visibility'
required:
- fullName
- name
- visibility
type: object
ListParticipantsResponse:
properties:
participants:
items:
$ref: '#/components/schemas/ParticipantResponseDto'
type: array
totalSize:
format: int64
type: integer
type: object
AddParticipantResponse:
properties:
participant:
$ref: '#/components/schemas/ParticipantResponseDto'
type: object
UpdateParticipantRoleRequest:
properties:
role:
type: string
type: object
ListWorkspacesResponse:
properties:
workspaces:
items:
$ref: '#/components/schemas/WorkspaceDbDto'
type: array
type: object
CreateWorkspaceResponse:
properties:
workspace:
$ref: '#/components/schemas/Workspace'
type: object
OrgAndWorkspaceDto:
properties:
orgId:
format: int64
type: integer
orgLogoUrl:
type: string
orgName:
type: string
orgType:
$ref: '#/components/schemas/OrgType'
roles:
items:
type: string
type: array
visibility:
$ref: '#/components/schemas/Visibility'
workspaceFullName:
type: string
workspaceId:
format: int64
type: integer
workspaceName:
type: string
type: object
ListWorkspacesAndOrgResponse:
properties:
orgsAndWorkspaces:
items:
$ref: '#/components/schemas/OrgAndWorkspaceDto'
type: array
type: object
WorkspaceDbDto:
properties:
description:
type: string
fullName:
type: string
id:
format: int64
type: integer
name:
type: string
visibility:
$ref: '#/components/schemas/Visibility'
type: object
OrgType:
enum:
- academic
- evaluating
- pro
- basic
- internal
type: string
x-enum-varnames:
- academic
- evaluating
- pro
- basic
- internal
OrgRole:
enum:
- owner
- member
- collaborator
type: string
x-enum-varnames:
- owner
- member
- collaborator
ParticipantType:
enum:
- MEMBER
- TEAM
- COLLABORATOR
type: string
AddParticipantRequest:
properties:
memberId:
format: int64
type: integer
teamId:
format: int64
type: integer
userNameOrEmail:
type: string
type: object
ErrorResponse:
properties:
message:
type: string
required:
- message
type: object
securitySchemes:
BearerAuth:
bearerFormat: jwt
scheme: bearer
type: http