Seqera Labs identities API
The identities API from Seqera Labs — 4 operation(s) for identities.
The identities API from Seqera Labs — 4 operation(s) for identities.
openapi: 3.0.1
info:
contact:
email: info@seqera.io
url: https://seqera.io
description: Seqera Platform services API
title: Seqera actions identities API
version: 1.181.0
tags:
- name: identities
paths:
/identities:
get:
description: List all Managed Identities in an organization.
operationId: ListManagedIdentities
parameters:
- description: Organization numeric identifier
in: query
name: orgId
schema:
format: int64
type: integer
- description: 'Optional search criteria, allowing free text search on name and keywords: `platform:`'
in: query
name: search
schema:
nullable: true
type: string
- description: Pagination max results
in: query
name: max
schema:
format: int32
nullable: true
type: integer
- description: Pagination offset
in: query
name: offset
schema:
format: int32
nullable: true
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ListManagedIdentitiesResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
security:
- BearerAuth: []
summary: List Managed Identities
tags:
- identities
post:
description: Create a new Managed Identity in an organization.
operationId: CreateManagedIdentity
parameters:
- description: Organization numeric identifier
in: query
name: orgId
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateManagedIdentityRequest'
description: Managed Identity create request
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateManagedIdentityResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
security:
- BearerAuth: []
summary: Create Managed Identity
tags:
- identities
/identities/{managedIdentityId}:
delete:
description: Delete a Managed Identity identified by the given ID.
operationId: DeleteManagedIdentity
parameters:
- description: Managed Identity numeric identifier
in: path
name: managedIdentityId
required: true
schema:
format: int64
type: integer
- description: Organization numeric identifier
in: query
name: orgId
schema:
format: int64
type: integer
- description: If deletion of associated Managed Credentials will be blocked by running jobs that depend on them
in: query
name: checked
schema:
nullable: true
type: boolean
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/DeleteManagedCredentialsConflictResponse'
description: Running jobs block the deletion of this Managed Identity
security:
- BearerAuth: []
summary: Delete a Managed Identity
tags:
- identities
get:
description: Describe a Managed Identity in an organization.
operationId: DescribeManagedIdentity
parameters:
- description: Managed Identity numeric identifier
in: path
name: managedIdentityId
required: true
schema:
format: int64
type: integer
- description: Organization numeric identifier
in: query
name: orgId
schema:
format: int64
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateManagedIdentityResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
security:
- BearerAuth: []
summary: Describe a Managed Identity
tags:
- identities
put:
description: Update a Managed Identity identified by the given ID.
operationId: UpdateManagedIdentity
parameters:
- description: Organization numeric identifier
in: query
name: orgId
schema:
format: int64
type: integer
- description: Managed Identity numeric identifier
in: path
name: managedIdentityId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateManagedIdentityRequest'
description: Managed Identity 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 a Managed Identity
tags:
- identities
/identities/{managedIdentityId}/credentials:
get:
description: List Managed Credentials belonging to a Managed Identity.
operationId: ListManagedCredentials
parameters:
- description: Managed Identity numeric identifier
in: path
name: managedIdentityId
required: true
schema:
format: int64
type: integer
- description: Organization numeric identifier
in: query
name: orgId
schema:
format: int64
type: integer
- description: User numeric identifier to filter records by
in: query
name: userId
schema:
format: int64
nullable: true
type: integer
- description: 'Optional filtering on Managed Credentials for the given Managed Identity: Allows free text search on `userName` or `firstName + lastName`. Accepts keywords: `is:missing` or `is:added` to filter on credentials status. If not provided (or both provided), all are returned.'
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/ListManagedCredentialsResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
security:
- BearerAuth: []
summary: List Managed Credentials
tags:
- identities
post:
description: Creates Managed Credentials for the given Managed Identity
operationId: CreateManagedCredentials
parameters:
- description: Managed Identity numeric identifier
in: path
name: managedIdentityId
required: true
schema:
format: int64
type: integer
- description: Organization numeric identifier
in: query
name: orgId
schema:
format: int64
type: integer
- description: User numeric identifier
in: query
name: userId
schema:
format: int64
nullable: true
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateManagedCredentialsRequest'
description: Managed Credentials create request
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateManagedCredentialsResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'403':
description: Operation not allowed
security:
- BearerAuth: []
summary: Creates Managed Credentials
tags:
- identities
/identities/{managedIdentityId}/credentials/{managedCredentialsId}:
delete:
description: Delete Managed Credentials
operationId: DeleteManagedCredentials
parameters:
- description: Managed Identity numeric identifier
in: path
name: managedIdentityId
required: true
schema:
format: int64
type: integer
- description: Managed Credentials numeric identifier
in: path
name: managedCredentialsId
required: true
schema:
format: int64
nullable: true
type: integer
- description: Organization numeric identifier
in: query
name: orgId
schema:
format: int64
type: integer
- description: If Managed Credentials deletion will be blocked by running jobs that depend on them
in: query
name: checked
schema:
nullable: true
type: boolean
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/DeleteManagedCredentialsConflictResponse'
description: Running jobs block the deletion of this Managed Credentials
security:
- BearerAuth: []
summary: Delete a user's Managed Credentials record belonging to a Managed Identity
tags:
- identities
put:
description: Update Managed Credentials for the given Managed Identity
operationId: UpdateManagedCredentials
parameters:
- description: Managed Identity numeric identifier
in: path
name: managedIdentityId
required: true
schema:
format: int64
type: integer
- description: Managed Credentials numeric identifier
in: path
name: managedCredentialsId
required: true
schema:
format: int64
type: integer
- description: Organization numeric identifier
in: query
name: orgId
schema:
format: int64
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateManagedCredentialsRequest'
description: Managed Credentials 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: Updates Managed Credentials
tags:
- identities
components:
schemas:
CreateManagedIdentityResponse:
properties:
config:
$ref: '#/components/schemas/ComputeConfig'
id:
format: int64
type: integer
name:
type: string
platform:
type: string
type: object
AzureCloudKeys:
allOf:
- $ref: '#/components/schemas/AzureSecurityKeys'
- properties:
clientId:
type: string
clientSecret:
type: string
writeOnly: true
discriminator:
type: string
storageName:
type: string
subscriptionId:
type: string
tenantId:
type: string
type: object
title: Azure Cloud credentials
type: object
AltairPbsComputeConfig:
allOf:
- $ref: '#/components/schemas/AbstractGridConfig'
title: Altair PBS configuration
type: object
AzBatchConfig:
allOf:
- $ref: '#/components/schemas/ComputeConfig'
- properties:
autoPoolMode:
deprecated: true
type: boolean
deleteJobsOnCompletion:
allOf:
- $ref: '#/components/schemas/JobCleanupPolicy'
nullable: true
readOnly: true
deleteJobsOnCompletionEnabled:
nullable: true
type: boolean
deletePoolsOnCompletion:
type: boolean
deleteTasksOnCompletion:
nullable: true
type: boolean
forge:
$ref: '#/components/schemas/AzBatchForgeConfig'
fusion2Enabled:
type: boolean
headJobCpus:
description: Number of CPU slots reserved on the head pool VM for the Nextflow head job. Defaults to 1 so multiple head jobs can share a head pool VM; increase to dedicate more CPU and memory to each head job.
example: 1
format: int32
nullable: true
type: integer
headJobMemoryMb:
description: Memory in MiB reserved for the Nextflow head job container. When omitted, the value is derived from the head pool VM size as the per-slot share (vmMemory / vmCpus) multiplied by the requested slot count.
example: 4096
format: int32
nullable: true
type: integer
headPool:
type: string
jobMaxWallClockTime:
description: 'Maximum wall clock time for Azure Batch jobs before automatic termination. Accepts human-readable duration syntax (e.g., ''7d'', ''1d1h1m''). Defaults to 7d when not specified. Maximum: 180 days.'
example: 7d
nullable: true
type: string
managedIdentityClientId:
nullable: true
type: string
managedIdentityHeadResourceId:
nullable: true
type: string
managedIdentityPoolClientId:
nullable: true
type: string
managedIdentityPoolResourceId:
nullable: true
type: string
region:
type: string
subnetId:
description: Azure VNet subnet resource ID for private network isolation. Requires Entra (service principal) credentials.
example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRg/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet
nullable: true
type: string
terminateJobsOnCompletion:
nullable: true
type: boolean
tokenDuration:
type: string
waveEnabled:
type: boolean
workerPool:
type: string
type: object
title: Azure Batch configuration
type: object
SecurityKeys:
discriminator:
mapping:
aws: '#/components/schemas/AwsSecurityKeys'
azure: '#/components/schemas/AzureSecurityKeys'
azure-cloud: '#/components/schemas/AzureCloudKeys'
azure_entra: '#/components/schemas/AzureEntraKeys'
azurerepos: '#/components/schemas/AzureReposSecurityKeys'
bitbucket: '#/components/schemas/BitBucketSecurityKeys'
codecommit: '#/components/schemas/CodeCommitSecurityKeys'
container-reg: '#/components/schemas/ContainerRegistryKeys'
gitea: '#/components/schemas/GiteaSecurityKeys'
github: '#/components/schemas/GitHubSecurityKeys'
github_app: '#/components/schemas/GitHubAppSecurityKeys'
gitlab: '#/components/schemas/GitLabSecurityKeys'
google: '#/components/schemas/GoogleSecurityKeys'
k8s: '#/components/schemas/K8sSecurityKeys'
local: '#/components/schemas/LocalSecurityKeys'
s3: '#/components/schemas/S3SecurityKeys'
seqeracompute: '#/components/schemas/SeqeraComputeSecurityKeys'
ssh: '#/components/schemas/SSHSecurityKeys'
tw-agent: '#/components/schemas/AgentSecurityKeys'
propertyName: discriminator
oneOf:
- $ref: '#/components/schemas/AwsSecurityKeys'
- $ref: '#/components/schemas/GoogleSecurityKeys'
- $ref: '#/components/schemas/GitHubSecurityKeys'
- $ref: '#/components/schemas/GitHubAppSecurityKeys'
- $ref: '#/components/schemas/GitLabSecurityKeys'
- $ref: '#/components/schemas/BitBucketSecurityKeys'
- $ref: '#/components/schemas/GiteaSecurityKeys'
- $ref: '#/components/schemas/SSHSecurityKeys'
- $ref: '#/components/schemas/K8sSecurityKeys'
- $ref: '#/components/schemas/AzureSecurityKeys'
- $ref: '#/components/schemas/AzureCloudKeys'
- $ref: '#/components/schemas/AzureReposSecurityKeys'
- $ref: '#/components/schemas/ContainerRegistryKeys'
- $ref: '#/components/schemas/AgentSecurityKeys'
- $ref: '#/components/schemas/CodeCommitSecurityKeys'
- $ref: '#/components/schemas/AzureEntraKeys'
- $ref: '#/components/schemas/SeqeraComputeSecurityKeys'
- $ref: '#/components/schemas/S3SecurityKeys'
- $ref: '#/components/schemas/LocalSecurityKeys'
properties:
discriminator:
type: string
type: object
SSHSecurityKeys:
allOf:
- $ref: '#/components/schemas/SecurityKeys'
- properties:
discriminator:
type: string
passphrase:
type: string
writeOnly: true
privateKey:
type: string
writeOnly: true
type: object
title: SSH credentials
type: object
ListManagedCredentialsRespDto:
properties:
avatarUrl:
type: string
firstName:
type: string
lastName:
type: string
managedCredentialsId:
format: int64
type: integer
metadata:
$ref: '#/components/schemas/ManagedCredentialsMetadata'
provider:
enum:
- ssh
type: string
userId:
format: int64
type: integer
userName:
type: string
type: object
GitHubSecurityKeys:
allOf:
- $ref: '#/components/schemas/GitKeys'
- properties:
discriminator:
type: string
password:
type: string
writeOnly: true
token:
type: string
username:
type: string
type: object
title: GitHub credentials
type: object
UpdateManagedCredentialsRequest:
properties:
credentials:
$ref: '#/components/schemas/Credentials'
metadata:
$ref: '#/components/schemas/ManagedCredentialsMetadata'
provider:
enum:
- ssh
type: string
type: object
ForgeConfig:
properties:
allocStrategy:
enum:
- BEST_FIT
- BEST_FIT_PROGRESSIVE
- SPOT_CAPACITY_OPTIMIZED
- SPOT_PRICE_CAPACITY_OPTIMIZED
type: string
allowBuckets:
items:
type: string
type: array
arm64Enabled:
type: boolean
bidPercentage:
format: int32
type: integer
disposeOnDeletion:
type: boolean
dragenAmiId:
type: string
dragenEnabled:
type: boolean
dragenInstanceType:
type: string
ebsAutoScale:
type: boolean
ebsBlockSize:
format: int32
type: integer
ebsBootSize:
format: int32
type: integer
ec2KeyPair:
type: string
ecsConfig:
type: string
efsCreate:
type: boolean
efsId:
type: string
efsMount:
type: string
fargateHeadEnabled:
type: boolean
fsxMount:
type: string
fsxName:
type: string
fsxSize:
format: int32
type: integer
fusionEnabled:
type: boolean
gpuEnabled:
type: boolean
imageId:
type: string
instanceTypes:
items:
type: string
type: array
maxCpus:
format: int32
type: integer
minCpus:
format: int32
type: integer
securityGroups:
items:
type: string
type: array
subnets:
items:
type: string
type: array
type:
enum:
- SPOT
- EC2
type: string
vpcId:
type: string
type: object
Map.Entry_String.String_:
properties:
key:
type: string
value:
type: string
type: object
GoogleSecurityKeys:
allOf:
- $ref: '#/components/schemas/SecurityKeys'
- properties:
data:
type: string
writeOnly: true
discriminator:
type: string
serviceAccountEmail:
type: string
tokenAudience:
type: string
workloadIdentityProvider:
type: string
type: object
title: Google credentials
type: object
AzureEntraKeys:
allOf:
- $ref: '#/components/schemas/AzureSecurityKeys'
- properties:
clientId:
type: string
clientSecret:
type: string
writeOnly: true
discriminator:
type: string
tenantId:
type: string
type: object
title: Azure Entra credentials
type: object
DeleteManagedCredentialsConflictResponse.Conflict:
properties:
id:
type: string
name:
type: string
type:
type: string
url:
type: string
type: object
ConfigEnvVariable:
properties:
compute:
type: boolean
head:
type: boolean
name:
type: string
value:
type: string
type: object
LocalComputeConfig:
allOf:
- $ref: '#/components/schemas/ComputeConfig'
- properties:
fusion2Enabled:
type: boolean
schedConfig:
$ref: '#/components/schemas/SchedConfig'
schedEnabled:
type: boolean
waveEnabled:
type: boolean
type: object
title: Local execution configuration
type: object
PodCleanupPolicy:
enum:
- on_success
- always
- never
type: string
x-enum-varnames:
- on_success
- always
- never
BitBucketSecurityKeys:
allOf:
- $ref: '#/components/schemas/GitKeys'
- properties:
discriminator:
type: string
password:
type: string
writeOnly: true
token:
type: string
writeOnly: true
username:
type: string
type: object
title: BitBucket credentials
type: object
LsfComputeConfig:
allOf:
- $ref: '#/components/schemas/AbstractGridConfig'
- properties:
perJobMemLimit:
type: boolean
perTaskReserve:
type: boolean
unitForLimits:
type: string
type: object
title: IBM LSF configuration
type: object
AgentSecurityKeys:
allOf:
- $ref: '#/components/schemas/SecurityKeys'
- properties:
connectionId:
type: string
discriminator:
type: string
shared:
type: boolean
workDir:
type: string
type: object
title: Tower Agent credentials
type: object
EksComputeConfig:
allOf:
- $ref: '#/components/schemas/K8sComputeConfig'
- properties:
clusterName:
description: The AWS EKS cluster name
type: string
fusion2Enabled:
type: boolean
region:
description: AWS region
type: string
waveEnabled:
type: boolean
type: object
title: Amazon EKS cluster configuration
type: object
SeqeraComputeCloudInstanceTypeSize:
enum:
- SMALL
- MEDIUM
- LARGE
type: string
CreateManagedCredentialsResponse:
properties:
managedCredentials:
$ref: '#/components/schemas/ManagedCredentialsDbDto'
type: object
ManagedCredentialsDbDto:
properties:
id:
format: int64
type: integer
type: object
Credentials:
properties:
baseUrl:
maxLength: 200
pattern: ''
type: string
category:
maxLength: 20
type: string
dateCreated:
format: date-time
readOnly: true
type: string
deleted:
readOnly: true
type: boolean
description:
type: string
id:
maxLength: 22
type: string
keys:
$ref: '#/components/schemas/SecurityKeys'
lastUpdated:
format: date-time
readOnly: true
type: string
lastUsed:
format: date-time
readOnly: true
type: string
lastValidated:
description: Timestamp of the most recent completed validation probe (success or authoritative fail). Null until first probe. NOT advanced on transient probe outcomes.
format: date-time
readOnly: true
type: string
message:
description: Provider-supplied error detail captured when status transitions to INVALID. Cleared (null) whenever status returns to AVAILABLE. Truncated to 4096 characters with a trailing " (truncated)" suffix when the underlying provider message exceeds that limit.
maxLength: 4096
readOnly: true
type: string
name:
maxLength: 100
type: string
provider:
enum:
- aws
- azure
- azure_entra
- google
- github
- github_app
- gitlab
- bitbucket
- ssh
- k8s
- container-reg
- tw-agent
- codecommit
- gitea
- azurerepos
- seqeracompute
- azure-cloud
- s3
maxLength: 16
type: string
status:
allOf:
- $ref: '#/components/schemas/Credentials.Status'
description: Validation health for these credentials. AVAILABLE = last probe succeeded (or no probe has been attempted yet). INVALID = the last probe was authoritatively rejected by the provider (see message). Transient probe failures (network / 5xx) leave this field untouched.
readOnly: true
required:
- name
- provider
type: object
ErrorResponse:
properties:
message:
type: string
required:
- message
type: object
SchedConfig:
properties:
backendStrategy:
description: Backend used by Intelligent Compute to run tasks. 'ECS' (AWS only, default) delegates task execution to AWS ECS; 'EC2' (AWS only) runs tasks directly on AWS EC2 instances; 'VM' runs tasks on cloud VMs (provider-agnostic).
enum:
- ECS
- EC2
- VM
type: string
diskAllocation:
type: string
fusionSnapshots:
description: Enable Fusion snapshots so interrupted (e.g. spot-reclaimed) tasks can resume from a snapshot instead of restarting from scratch.
type: boolean
machineTypes:
description: EC2 instance types for compute nodes. Leave empty to automatically select the most cost-effective types for each task.
items:
type: string
type: array
nvmeEnabled:
description: When true, only use instance types providing local SSD (NVMe) storage. Maps to diskAllocation='nvme'.
type: boolean
pool:
allOf:
- $ref: '#/components/schemas/SchedConfig.Pool'
description: Warm-pool configuration. When present and enabled, the scheduler maintains a pool of idle VMs ready to absorb incoming tasks with sub-5s start latency.
predictionModel:
description: 'Resource-prediction model used by Intelligent Compute to size tasks. Suggested values: ''none'' (default), ''qr/v1'', ''qr/v2''. Any other string is accepted.'
type: string
provisioningModel:
enum:
- spot
- spotFirst
- ondemand
type: string
type: object
AwsCredentialsMode:
enum:
- keys
- role
type: string
x-enum-varnames:
- keys
- role
x-type: String
DeleteManagedCredentialsConflictResponse:
properties:
conflicts:
items:
$ref: '#/components/schemas/DeleteManagedCredentialsConflictResponse.Conflict'
type: array
managedCredentialsId:
type: string
type: object
GiteaSecurityKeys:
allOf:
- $ref: '#/components/schemas/GitKeys'
- properties:
discriminator:
type: string
password:
type: string
writeOnly: true
token:
type: string
username:
type: string
type: object
title: Gitea credentials
type: object
ContainerRegistryKeys:
allOf:
- $ref: '#/components/schemas/SecurityKeys'
- properties:
discriminator:
type: string
password:
type: string
writeOnly: true
registry:
type: string
userName:
type: string
type: object
title: Container registry credentials
type: object
GkeComputeConfig:
allOf:
- $ref: '#/components/schemas/K8sComputeConfig'
- properties:
clusterName:
description: The GKE cluster name
type: string
fusion2Enabled:
type: boolean
region:
description: The GKE cluster region - or - zone
type: string
waveEnabled:
type: boolean
type: object
title: Google GKE cluster configuration
type: object
GoogleBatchConfig:
allOf:
- $ref: '#/components/schemas/ComputeConfig'
- properties:
bootDiskImage:
type: string
bootDiskSizeGb:
# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/seqera-labs/refs/heads/main/openapi/seqera-labs-identities-api-openapi.yml