Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/seqera-labs-studios-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
OpenAPI Specification
openapi: 3.2.0
info:
contact:
email: info@seqera.io
url: https://seqera.io
description: Seqera Platform services API
title: Seqera actions Studios 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: Studios and Studio sessions
name: studios
paths:
/studios:
get:
description: Lists all available Studios in a user context. Append `?workspaceId` to list Studios in a workspace context.
operationId: ListDataStudios
parameters:
- description: Workspace numeric identifier
in: query
name: workspaceId
schema:
format: int64
type: integer
- description: 'Optional search criteria, allowing free text search on name and templateUrl and keywords: `userId`, `computeEnvId` and `status`.'
in: query
name: search
schema:
type: string
- 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: 'Optional attribute values to be included in the response (`labels`). Returns an empty value (`labels: null`) if omitted.'
in: query
name: attributes
schema:
items:
$ref: '#/components/schemas/DataStudioQueryAttribute'
type: array
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioListResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: BadRequest
'403':
description: Operation not allowed.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: NotFound, when the workspace is not found or when the API is disabled for the workspace.
security:
- BearerAuth: []
summary: List Studios
tags:
- studios
post:
description: Creates a new Studio environment, starting it by default. Default behavior can be changed using the query parameter `autoStart=false`.
operationId: CreateDataStudio
parameters:
- description: Workspace numeric identifier
in: query
name: workspaceId
schema:
format: int64
type: integer
- description: Optionally disable the Studio's automatic launch when it is created.
in: query
name: autoStart
schema:
type: boolean
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioCreateRequest'
description: Create Studio request
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioCreateResponse'
description: CreateDataStudio 200 response
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioCreateResponse'
description: Created
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: BadRequest
'403':
description: Operation not allowed.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: NotFound, when the workspace or compute environment is not found or when the API is disabled.
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Conflict - duplicated name
security:
- BearerAuth: []
summary: Create Studio
tags:
- studios
/studios/data-links:
get:
description: Lists the IDs of all available data-links mounted in existing Studios. Append `orgId` or `?workspaceId` to list mounted data-links in an organization or workspace context, respectively.
operationId: ListMountedDataLinkIds
parameters:
- description: Organization numeric identifier
in: query
name: orgId
schema:
format: int64
type: integer
- description: Workspace numeric identifier
in: query
name: workspaceId
schema:
format: int64
type: integer
- description: Optional Studio status
in: query
name: status
schema:
type: string
- description: Optional Studio session ID to exclude in the request.
in: query
name: exclude
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioMountedLinksResponse'
description: OK
'403':
description: Operation not allowed.
security:
- BearerAuth: []
summary: List mounted data-links
tags:
- studios
/studios/templates:
get:
description: Returns the list of available, configured Studio templates.
operationId: ListDataStudioTemplates
parameters:
- description: Workspace identifier
in: query
name: workspaceId
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
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioTemplatesListResponse'
description: Ok - paginated list of available Studio templates.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: BadRequest
'403':
description: Operation not allowed.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: NotFound, when the API is disabled for the workspace.
security:
- BearerAuth: []
summary: List available Studio templates
tags:
- studios
/studios/validate:
get:
description: Confirms the availability of the given name for a Studio in the user context. Append `?workspaceId=` to validate the name in a workspace context.
operationId: ValidateDataStudioName
parameters:
- description: Workspace identifier
in: query
name: workspaceId
schema:
format: int64
type: integer
- description: Studio name to validate
in: query
name: name
schema:
type: string
responses:
'204':
description: Ok - No content, if the name is valid and available.
'400':
description: Bad request, if the name is not valid.
'403':
description: Operation not allowed.
'409':
description: Conflict, name duplicated in the given context.
security:
- BearerAuth: []
summary: Validate Studio name
tags:
- studios
/studios/{sessionId}:
delete:
description: Deletes the Studio associated with the given Studio session ID.
operationId: DeleteDataStudio
parameters:
- description: Studio session numeric identifier
in: path
name: sessionId
required: true
schema:
type: string
- description: Workspace numeric identifier
in: query
name: workspaceId
schema:
format: int64
type: integer
responses:
'204':
description: OK - No content
'403':
description: Operation not allowed.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: NotFound, when the Studio is not found or when the API is disabled for the workspace.
security:
- BearerAuth: []
summary: Delete Studio
tags:
- studios
get:
description: Retrieves the details of the Studio session identified by the given `sessionId`.
operationId: DescribeDataStudio
parameters:
- description: Studio session numeric identifier
in: path
name: sessionId
required: true
schema:
type: string
- description: Workspace numeric identifier
in: query
name: workspaceId
schema:
format: int64
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioDto'
description: OK
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioDto'
description: Accepted, when the Studio is fetching mounted data links in the background.
'403':
description: Operation not allowed.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: NotFound, when the Studio is not found or when the API is disabled for the workspace.
security:
- BearerAuth: []
summary: Describe Studio
tags:
- studios
put:
description: Updates the given Studio session ID. Can only update non-running Studios. The compute environment can be changed by setting `computeEnvId` to a CE compatible with the Studio's current one; see `GET /studios/{sessionId}/compatible-ce`.
operationId: UpdateDataStudio
parameters:
- description: Studio session numeric identifier
in: path
name: sessionId
required: true
schema:
type: string
- description: Workspace numeric identifier
in: query
name: workspaceId
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioUpdateRequest'
description: Fields to update on the studio.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioDto'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: BadRequest
'403':
description: Operation not allowed.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: NotFound, when the Studio is not found or when the API is disabled for the workspace.
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Conflict - duplicated name
security:
- BearerAuth: []
summary: Update a Studio
tags:
- studios
/studios/{sessionId}/checkpoints:
get:
description: Retrieves the list of checkpoints for the given Studio session ID, sorted by creation date in descending order.
operationId: ListDataStudioCheckpoints
parameters:
- description: Studio session numeric identifier
in: path
name: sessionId
required: true
schema:
type: string
- description: Workspace numeric identifier
in: query
name: workspaceId
schema:
format: int64
type: integer
- description: 'Optional search criteria, allowing free text search on name and keywords: `status`, `before` and `after` for saved date'
in: query
name: search
schema:
type: string
- 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
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioListCheckpointsResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: BadRequest
'403':
description: Operation not allowed.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: NotFound, when the Studio is not found or when the API is disabled for the workspace.
security:
- BearerAuth: []
summary: List Studio checkpoints
tags:
- studios
/studios/{sessionId}/checkpoints/{checkpointId}:
get:
description: Retrieves the details of the given Studio checkpoint ID.
operationId: GetDataStudioCheckpoint
parameters:
- description: Studio session numeric identifier
in: path
name: sessionId
required: true
schema:
type: string
- description: Numeric identifier of the checkpoint.
in: path
name: checkpointId
required: true
schema:
format: int64
type: integer
- description: Workspace numeric identifier
in: query
name: workspaceId
schema:
format: int64
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioCheckpointDto'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: BadRequest
'403':
description: Operation not allowed.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: NotFound, when the studio or the checkpoint is not found or when the API is disabled for the workspace
security:
- BearerAuth: []
summary: Get Studio checkpoint
tags:
- studios
put:
description: Updates the name of the given Studio checkpoint ID.
operationId: UpdateDataStudioCheckpoint
parameters:
- description: Studio session numeric identifier
in: path
name: sessionId
required: true
schema:
type: string
- description: Numeric identifier of the checkpoint.
in: path
name: checkpointId
required: true
schema:
format: int64
type: integer
- description: Workspace numeric identifier
in: query
name: workspaceId
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioCheckpointUpdateRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioCheckpointDto'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: BadRequest
'403':
description: Operation not allowed.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: NotFound, when the studio or the checkpoint is not found or when the API is disabled for the workspace
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Conflict, when the checkpoint name conflicts with an existing checkpoint for the same Studio.
security:
- BearerAuth: []
summary: Update Studio checkpoint name
tags:
- studios
/studios/{sessionId}/compatible-ce:
get:
description: Lists the compute environments in the same workspace as the given Studio that are compatible with its compute environment.
operationId: ListDataStudioCompatibleComputeEnvs
parameters:
- description: Studio session numeric identifier
in: path
name: sessionId
required: true
schema:
type: string
- description: Workspace numeric identifier
in: query
name: workspaceId
schema:
format: int64
type: integer
- description: 'Additional attribute values to include in the response (`labels`, `resources`). Returns an empty value (ex. `labels: null`) if omitted.'
explode: false
in: query
name: attributes
schema:
items:
$ref: '#/components/schemas/ComputeEnvQueryAttribute'
type: array
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ListComputeEnvsResponse'
description: OK
'403':
description: Operation not allowed.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: NotFound, when the Studio is not found, has no compute environment, or when the API is disabled for the workspace.
security:
- BearerAuth: []
summary: List compute environments compatible with a Studio
tags:
- studios
/studios/{sessionId}/lifespan:
post:
description: Extends the lifespan of the given Studio session ID.
operationId: ExtendDataStudioLifespan
parameters:
- description: Studio session numeric identifier
in: path
name: sessionId
required: true
schema:
type: string
- description: Workspace numeric identifier
in: query
name: workspaceId
schema:
format: int64
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioDto'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: BadRequest
'403':
description: Operation not allowed.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: NotFound, when the Studio is not found or when the API is disabled for the workspace.
security:
- BearerAuth: []
tags:
- studios
/studios/{sessionId}/start:
put:
description: Starts the given Studio session ID.
operationId: StartDataStudio
parameters:
- description: Studio session numeric identifier
in: path
name: sessionId
required: true
schema:
type: string
- description: Workspace numeric identifier
in: query
name: workspaceId
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioStartRequest'
description: An optional overriding configuration for the studio to be started.
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioStartResponse'
description: OK
'403':
description: Operation not allowed.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: NotFound, when the Studio is not found or when the API is disabled for the workspace.
security:
- BearerAuth: []
summary: Starts a Studio
tags:
- studios
/studios/{sessionId}/stop:
put:
description: Stops the given Studio session ID.
operationId: StopDataStudio
parameters:
- description: Studio session numeric identifier
in: path
name: sessionId
required: true
schema:
type: string
- description: Workspace numeric identifier
in: query
name: workspaceId
schema:
format: int64
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DataStudioStopResponse'
description: OK
'403':
description: Operation not allowed.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: NotFound, when the Studio is not found or when the API is disabled for the workspace.
security:
- BearerAuth: []
summary: Stop Studio
tags:
- studios
components:
schemas:
DataStudioTemplatesListResponse:
properties:
templates:
items:
$ref: '#/components/schemas/DataStudioTemplate'
type: array
totalSize:
format: int64
type: integer
required:
- templates
- totalSize
type: object
DataStudioStartResponse:
properties:
jobSubmitted:
type: boolean
sessionId:
type: string
statusInfo:
$ref: '#/components/schemas/DataStudioStatusInfo'
required:
- jobSubmitted
- sessionId
- statusInfo
type: object
ListComputeEnvsResponse:
properties:
computeEnvs:
items:
$ref: '#/components/schemas/ListComputeEnvsResponse.Entry'
type: array
type: object
ComputeEnvQueryAttribute:
enum:
- labels
- resources
type: string
x-enum-varnames:
- labels
- resources
DataStudioStatus:
enum:
- starting
- running
- stopping
- stopped
- errored
- building
- buildFailed
type: string
x-enum-varnames:
- starting
- running
- stopping
- stopped
- errored
- building
- buildFailed
DataLinkDto:
properties:
credentials:
items:
$ref: '#/components/schemas/DataLinkCredentials'
type: array
description:
type: string
hidden:
type: boolean
id:
type: string
message:
type: string
name:
type: string
provider:
$ref: '#/components/schemas/DataLinkProvider'
publicAccessible:
type: boolean
region:
type: string
resourceRef:
type: string
status:
allOf:
- $ref: '#/components/schemas/DataLink.Status'
readOnly: true
type:
$ref: '#/components/schemas/DataLinkType'
type: object
DataStudioDto:
properties:
activeConnections:
items:
$ref: '#/components/schemas/ActiveConnection'
type: array
baseImage:
type: string
computeEnv:
$ref: '#/components/schemas/DataStudioComputeEnvDto'
configuration:
$ref: '#/components/schemas/DataStudioConfiguration'
customImage:
type: boolean
dateCreated:
format: date-time
type: string
description:
type: string
effectiveLifespanHours:
format: int32
type: integer
isPrivate:
type: boolean
labels:
items:
$ref: '#/components/schemas/LabelDbDto'
type:
- array
- 'null'
lastStarted:
format: date-time
type: string
lastUpdated:
format: date-time
type: string
mountedDataLinks:
items:
$ref: '#/components/schemas/DataLinkDto'
type: array
name:
type: string
parentCheckpoint:
$ref: '#/components/schemas/DataStudioDto.ParentCheckpoint'
progress:
items:
$ref: '#/components/schemas/DataStudioProgressStep'
type: array
remoteConfig:
$ref: '#/components/schemas/StudioRemoteConfiguration'
sessionId:
type: string
sshDetails:
allOf:
- $ref: '#/components/schemas/StudioSshDetailsDto'
statusInfo:
$ref: '#/components/schemas/DataStudioStatusInfo'
studioUrl:
type: string
template:
$ref: '#/components/schemas/DataStudioTemplate'
user:
$ref: '#/components/schemas/UserInfo'
waveBuildUrl:
type: string
workspaceId:
format: int64
type: integer
type: object
DataStudioUpdateRequest:
properties:
computeEnvId:
type:
- string
- 'null'
configuration:
allOf:
- $ref: '#/components/schemas/DataStudioConfiguration'
description:
maxLength: 2048
type:
- string
- 'null'
labelIds:
items:
format: int64
type: integer
type:
- array
- 'null'
name:
maxLength: 80
minLength: 1
type:
- string
- 'null'
type: object
DataStudioStopResponse:
properties:
jobSubmitted:
type: boolean
sessionId:
type: string
statusInfo:
$ref: '#/components/schemas/DataStudioStatusInfo'
required:
- jobSubmitted
- sessionId
- statusInfo
type: object
ComputeEnv.Status:
enum:
- CREATING
- AVAILABLE
- DISABLED
- DELETING
- ERRORED
- INVALID
- DELETED
type: string
DataStudioTemplate:
properties:
icon:
type: string
repository:
type: string
status:
$ref: '#/components/schemas/DataStudioVersionStatus'
tool:
type: string
type: object
DataLinkCredentials:
properties:
id:
type: string
name:
type: string
provider:
$ref: '#/components/schemas/DataLinkProvider'
required:
- id
- name
- provider
type: object
DataLink.Status:
enum:
- VALID
- INVALID
readOnly: true
type: string
LabelDbDto:
properties:
dateCreated:
format: date-time
type: string
id:
format: int64
type: integer
isDefault:
type: boolean
isDynamic:
type: boolean
isInterpolated:
type: boolean
name:
type: string
resource:
type: boolean
value:
type: string
type: object
DataStudioDto.ParentCheckpoint:
properties:
checkpointId:
format: int64
type: integer
checkpointName:
type: string
sessionId:
type: string
studioName:
type: string
type: object
DataStudioCreateRequest:
properties:
computeEnvId:
minLength: 1
type: string
configuration:
$ref: '#/components/schemas/DataStudioConfiguration'
dataStudioToolUrl:
type: string
description:
maxLength: 2048
type: string
initialCheckpointId:
format: int64
type: integer
isPrivate:
type: boolean
labelIds:
items:
format: int64
type: integer
type:
- array
- 'null'
name:
maxLength: 80
minLength: 1
type: string
remoteConfig:
allOf:
- $ref: '#/components/schemas/StudioRemoteConfiguration'
spot:
type:
- boolean
- 'null'
required:
- computeEnvId
- name
type: object
DataStudioProgressStep.Status:
enum:
- pending
- in-progress
- succeeded
- errored
type: string
ActiveConnection:
allOf:
- $ref: '#/components/schemas/UserInfo'
- properties:
lastActive:
format: date-time
type: string
type: object
type: object
DataStudioStartRequest:
properties:
configuration:
allOf:
- $ref: '#/components/schemas/DataStudioConfiguration'
description:
type:
- string
- 'null'
labelIds:
items:
format: int64
type: integer
type:
- array
- 'null'
name:
maxLength: 80
minLength: 1
type:
- string
- 'null'
spot:
type:
- boolean
- 'null'
type: object
ComputeEnvResources:
properties:
cpus:
format: int32
type:
- integer
- 'null'
diskSize:
format: int32
type:
- integer
- 'null'
estimatedPrice:
format: float
type:
- number
- 'null'
gpuEnabled:
type:
- boolean
- 'null'
gpus:
format: int32
type:
- integer
- 'null'
instanceType:
type:
- string
- 'null'
memory:
format: int32
type:
- integer
- 'null'
type: object
DataStudioStatusInfo:
properties:
lastUpdate:
format: date-time
type: string
message:
type: string
status:
$ref: '#/components/schemas/DataStudioStatus'
stopReason:
$ref: '#/components/schemas/DataStudioStopReason'
type: object
DataStudioProgressStep:
properties:
message:
type: string
status:
$ref: '#/components/schemas/DataStudioProgressStep.Status'
warnings:
items:
type: string
type: array
type: object
DataStudioConfiguration:
properties:
condaEnvironment:
maxLength: 2048
type: string
cpu:
format: int32
minimum: 0
type: integer
environment:
additionalProperties:
type: string
type:
- object
- 'null'
gpu:
format: int32
minimum: 0
type: integer
lifespanHours:
format: int32
minimum: 0
type: integer
memory:
format: int32
minimum: 0
ty
# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/seqera-labs/refs/heads/main/openapi/seqera-labs-studios-api-openapi.yml