Skip to main content
Version: 23.4

API

The Seqera Platform services API is a programmatic interface for all operations available in the Platform web UI. This allows organizations to integrate Platform seamlessly into existing processes.

API reference

The Platform API reference is an interactive list of all API endpoints and includes request and response payload examples to test requests in the browser.

The API requires authentication with a Platform access token to perform requests.

The API and its interactive reference is built on the OpenAPI standard. Download the current OpenAPI schema file here:

For more information on the OpenAPI standard, see OpenAPI.

Encoding and formatting standards

  • The API can be accessed from https://api.cloud.seqera.io.
  • All API endpoints use HTTPS, and all request and response payloads use JSON encoding.
  • All timestamps use the ISO 8601 date-time standard format: YYYY-MM-DDTHH:MM:SSZ.

From version 23.4, the Platform API is live on https://api.cloud.seqera.io. The legacy API https://api.tower.nf remains fully operational, so existing API integrations will continue to perform as expected. Deprecation of the legacy API will be communicated well in advance to avoid any breaking changes to your integrations.

Programmatic API

Both the Platform CLI and seqerakit are built on the Platform API and provide a programmatic automation layer for operations in Platform.

You can also use tools such as openapi-python-client to generate your own programmatic API for a particular language (such as Python) based on the OpenAPI schema. However, we do not guarantee that any OpenAPI client generators will work with the Platform API.

Authentication

The API requires an authentication token to be specified in each API request using the Bearer HTTP header.

Once created, use your access token to authenticate requests to the API via cURL, Postman, or within your code.

The token is only displayed once when it is created. Store your token in a safe place.

cURL example

curl -H "Authorization: Bearer eyJ...YTk0" https://api.cloud.seqera.io/workflow

Your access token must be included in every API call.

Parameters

Some API GET methods will accept standard query parameters, which are defined in the documentation. Optional parameters such as page size, number (when available), and file name can be submitted as query parameters. POST, PUT, and DELETE requests require additional parameters to be provided in your request body.

Several head parameters are also accepted, such as Authorization for bearer access tokens or Accept-Version to indicate the desired API version to use (default version 1):

curl -H "Authorization: Bearer QH..E5M="
-H "Accept-Version:1"
-X POST https://api.cloud.seqera.io/domain/{item_id}?queryString={value}
-d { params: { "key":"value" } }

Client errors

Two typical standard errors (i.e., response statuses other than 200 or 204) are returned by the API.

Bad Request

The request payload is not properly defined or the query parameters are invalid.

{
"message": "Unexpected error while processing - Error ID: 54apnFENQxbvCr23JaIjLb"
}

Forbidden

Your access token is invalid or expired. This response may also imply that the endpoint you are trying to access is not available. Check your request syntax for typos, and confirm that your access token is valid.

Status: 403 Forbidden

Rate limiting

For all API requests, there is a limit of 20 calls per second, per access token (72000 calls per hour).